Service - Forum Tree
Revision as of 02:34, 25 March 2025 by Sven the Barbarian (talk | contribs)
Overview
Tree used to categorize forum topics. Forum topics can then be the hasPrimarySubject of a comment to begin a new topic in the forum.
Many forum trees can be created with their own forum topic hierarchy.
Forum topics can be linked to by anywhere in any forumTree.
Repository
https://bitbucket.org/izara-core-shared/izara-core-shared-forum-tree
Object Schemas
- Additional Information
- Per Service Schemas
objType
forumTree
{
objectType: "forumTree",
canDelete: false,
addOnDataStructure: [
{
type:"versionedData",
versionedDataLabel: "forumTreeConfig",
storageResourceTag : "myGraph",
fieldNames: {
"forumName":{
type: "string",
requiredOnCreate: true
canUpdate: true,
},
}
},
],
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
fieldNames: {
forumTreeId: {
type: "string",
randomOnCreate: true,
canUpdate: false,
storageResourceTags: ['myGraph']
}
},
identifiers: [
{
type: "identifier",
fieldName: "forumTreeId"
}
]
}
forumTopicLink
{
objectType: "forumTopicLink",
canDelete: true,
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
fieldNames: {
forumTopicLinkId: {
type: "string",
randomOnCreate: true,
canUpdate: false,
storageResourceTags: ['myGraph']
}
},
identifiers: [
{
type: "identifier",
fieldName: "forumTopicLinkId"
}
]
}
- Links a forumTopic as a child of another forumTopic or under a forumTree
forumTopic
{
objectType: "forumTopic",
canDelete: true,
addOnDataStructure: [
{
type:"versionedData",
versionedDataLabel: "forumTopicConfig",
storageResourceTag : "myGraph",
fieldNames: {
"forumTopicName":{
type: "string",
requiredOnCreate: true
canUpdate: true,
},
}
},
],
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
fieldNames: {
forumTopicId: {
type: "string",
randomOnCreate: true,
canUpdate: false,
storageResourceTags: ['myGraph']
}
},
identifiers: [
{
type: "identifier",
fieldName: "forumTopicId"
}
]
}
Object Relationships
hasChildTopic
{
"hasChildTopic": { // also "hasDisabledChildTopic"
fieldNames: {
},
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
links: [
{
storageResourceTags: ["myGraph"],
from: {
objType: {
serviceTag: "forumTree",
objectType: "forumTree"
},
linkType: "many",
handler: true
},
to: {
objType: {
serviceTag: "forumTree",
objectType: "forumTopicLink"
},
linkType: "many"
}
}
{
storageResourceTags: ["myGraph"],
from: {
objType: {
serviceTag: "forumTree",
objectType: "forumTopic"
},
linkType: "many",
handler: true
},
to: {
objType: {
serviceTag: "forumTree",
objectType: "forumTopicLink"
},
linkType: "many"
}
}
]
}
}
isTopic
{
"isTopic": {
fieldNames: {
},
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
links: [
{
storageResourceTags: ["myGraph"],
from: {
objType: {
serviceTag: "forumTree",
objectType: "forumTopicLink"
},
linkType: "many",
handler: true
},
to: {
objType: {
serviceTag: "forumTree",
objectType: "forumTopic"
},
linkType: "many"
}
}
{
storageResourceTags: ["myGraph"],
from: {
objType: {
serviceTag: "forumTree",
objectType: "forumTopic"
},
linkType: "many",
handler: true
},
to: {
objType: {
serviceTag: "forumTree",
objectType: "forumTopic"
},
linkType: "many"
}
}
]
}
}