Forum JCR Structure
1 Overview
eXo Forum is a JCR based application. Forum information is saved in eXo-JCR under ForumService data directory.
2 Forum System
Forum system node creates from nodetype exo:forumSystem. That is defined as a child node of ForumService and can store nodes with nodetype as exo:banIP, exo:forumUserProfile, exo:statistic, exo:administration under forum system.
/exo:applications/ForumService/ForumSystem
2.1 Ban IP address and Ban IP address home
Storing information about banned IP address access forum. Node type is exo:banIP, exo:banIPHome
The banIP stores under ForumSystem node
/exo:applications/ForumService/ForumSystem/exo:banIPHome/exo:banIP
2.2 User profile and User profile home
Storing information of each user, user profile is auto created by a listener when user register to organization service. Private message can be added to user profile as a child node. Node type is exo:forumUserProfile, exo:userProfileHome. Private message exo:privateMessage define as child node of exo:forumUserProfile
The user profile stores under ForumSystem node
/exo:applications/ForumService/ForumSystem/exo:userProfileHome/exo:forumUserProfile
2.3 Statistic and Statistic home
Storing Statistic information of forum as number of posts, topics, users, active users, … Node type is exo:forumStatistic, exo:statisticHome
The Statistic stores under ForumSystem node
/exo:applications/ForumService/ForumSystem/exo:statisticHome/exo:forumStatistic
2.4 Administration and Administration home
Storing informations for setting the layout, email notify format and censor works. Node type is exo:administration, exo:administrationHome
The Administration stores under ForumSystem node
/exo:applications/ForumService/ForumSystem/exo:administrationHome/exo:administration
3 Forum Data
Forum data node creates from nodetype exo:forumData. The data nodes as category, forum, topic, post, tag, BBcode, topic type will store under forum data node.
/exo:applications/ForumService/ForumData
3.1 Category and Category home
Category home is defined for stores all categories of forum, this node is a child node of ForumData node and only category nodetype can be added to category home. Node type is exo:categoryHome
/exo:applications/ForumService/ForumData/CategoryHome
Category (node type is exo:forumCategory) is a child node of category home, this nodetype defined to allow add child nodes as exo:forum and exo:forumRSS
/exo:applications/ForumService/ForumData/CategoryHome/Category736e99dec0a8014701622a1157719bb4
3.2 Forum
Forum node is defined as child node of category and allowed add child nodes as Topic and RSS type. Node type is exo:forum
/exo:applications/ForumService/ForumData/CategoryHome/Category736e99dec0a8014701622a1157719bb4/Forum1622a1157719bb4736e99dec0a801470
3.3 Topic
Topic nodetype is defined as child node of Forum and allowed add child nodes as Topic, Poll and RSS type. Node type is exo:topic, exo:poll
/exo:applications/ForumService/ForumData/CategoryHome/Category736e99dec0a8014701622a1157719bb4/Forum1622a1157719bb4736e99dec0a801470/Topica8014701622a1157719bb4736e99dec0
3.4 Post
Post nodetype is defined as child node of Topic and allowed add only attachment type child node. Node type is exo:post, exo:forumAttachment
/exo:applications/ForumService/ForumData/CategoryHome/Category736e99dec0a8014701622a1157719bb4/Forum1622a1157719bb4736e99dec0a801470/Topica8014701622a1157719bb4736e99dec0/Posta157719bb4736e99dec08014701622a1
3.5 Tag and Tag home
Tag is storing in formation about name, topic that tag added, number of user used this tag, number of tag in used. Node type is exo:forumTag, exo:tagHome
/exo:applications/ForumService/ForumData/TagHome/tag2a1157719bb4736e99dec0a801470162
3.6 BBCode and BBCode home
Defined BBCode that is using in forum, Node type is exo:forumBBCode, exo:forumBBCodeHome
/exo:applications/ForumService/ForumData/forumBBCode/${bbcode_name}
3.7 Topic type and Topic type home
Node type is exo:topicType, exo:topicTypeHome
/exo:applications/ForumService/ForumData/TopicTypeHome/topicType2ec0a801470162a1157719bb4736e99d