3.3.5.1. Category

Sub-category

The system will automatically create the Category Home node under the FAQ application node at the first time the user launches application. All users-created categories are the sub-categories of Category Home. The home of the Category node is automatically created in/exo:applications/faqApp/categories.

In fact, Sub-category is also a category. FAQ has defined a mixin node type called mix:faqSubCategory to allow adding a node having the same type with category to an existing category. When a category is created, this mixin node type will be mixed to that category.

The node type exo:faqCategory has the following properties:

Properties nameRequired typeMultipleDescription
exo:idStringfalseThe sub-category Id.
exo:nameStringfalseName of the sub-category.
exo:userPrivateStringtrueThe list of user Ids that are restricted from the category.
exo:descriptionStringfalseThe description of the sub-category.
exo:isModerateQuestionsBooleanfalseThe question post moderation status. All questions posted in the sub-category will have wait for moderation if the value is set to "true".
exo:isModerateAnswersBooleanfalseThe answer post moderation status. All answers posted in the sub-category will have to wait for moderation if the value is set to "true".
exo:isViewBooleanfalseThe category is shown/hidden. The category will be shown if the value is set to "true".
exo:viewAuthorInforBooleanfalseThe category enables user to view the information of questions poster if the value is set to "true'.
exo:moderatorsStringtrueThe list of user ids who are the category moderator.
exo:createdDateDatefalseThe time when the sub-category is created.
exo:indexLongfalseThe index number of the category.
RSS

Each category has a RSS child node that stores a RSS feed representing all questions in this category as the binary data type. The RSS node is stored in /exo:applications/faqApp/categories/ks.rss and its node type is exo:faqRSS.

Properties nameRequired typeMultipleDescription
exo:contentBinaryfalseThe content of RSS.
Question and Question Home

The Question Home node is created from the exo:faqQuestionHome node type that is defined as a child node of category. This node cantains all question nodes that created in side a category. Only the Question node type exo:faqQuestion can be added to the question Home. The Question Home node is created as a child node of Categories /exo:applications/faqApp/categories/questions.

Question node is created from exo:faqQuestion node type under the Question Home node. The Answers, Comments and Attachments node are defined as child nodes of the Question node. The Question node is created under the Question Home: /exo:applications/faqApp/categories/questions/%Question-id%.

  • The exo:faqQuestion node type has the following properties:

Properties nameRequired typeMultipleDescription
exo:idStringfalseThe question Id.
exo:languageStringfalseThe language of the question.
exo:nameStringfalseThe question details.
exo:titleStringfalseThe question title.
exo:authorStringfalseThe user Id of the question poster.
exo:emailStringfalseThe email of the question author
exo:isActivatedBooleanfalseThe question status: activated/inactivated. The question is activated if the value is set to "true".
exo:isApprovedBooleanfalseThe state of the question: approved/unapproved. The question is approved to be published if the value is set to "true".
exo:categoryIdStringfalseThe Id of the category containing the question.
exo:createdDateDatefalseThe date and time when the question was submitted.
exo:relativesStringtrueThe list of the related questions Ids.
exo:usersVoteStringtrueThe list of user Ids who voted.
exo:markVoteDoublefalseThe average vote scores of the question.
exo:topicIdDiscussStringfalseThe topic Id in the forum where the question is discussed.
exo:nameAttachsStringtrueThe file name of attachments in the question.
exo:lastActivityStringfalseThe user Id and time when the last activity of the question was made.
exo:numberOfPublicAnswersLongfalseThe number of all posted answers that has been published.
exo:linkStringfalseThe link to open the question.
exo:responsesStringtrueThe responses of the question.
exo:dateResponseDatetrueThe date when the question received the answer.
exo:responseByStringtrueThe user Id of the answer poster.
Multilanguages

A question can support multilanguages, all other languages are stored as a child node of the question and can be add to the question via a mixin node type called mix:faqi18n. After the mixin node type mix:faqi18n is added to the question, the node type exo:questionLanguageHome can be added to the question node and this node type will contain all languages node with the node type exo:faqLanguage. All display properties of the question are defined in the node type exo:faqLanguage.

  • The node type exo:faqLanguage has the following properties:

Properties nameRequired typeMultipleDescription
exo:languageStringfalseThe language of the question.
exo:nameStringfalseThe name of the language.
exo:titleStringfalseThe title of the question in the selected language.
exo:questionIdStringfalseThe Id of the question.
exo:categoryIdStringfalseThe Id of the category.
Answer, Comment and Attachment

The Answer, Comment and Attachment node is defined as the child nodes of the Question node. Attachment node is defined as a nt:file node type and stored right under the Question node. Answers and comments node are stored under the Answer home and the Comment home node.

  • The Answer node is stored in /exo:applications/faqApp/categories/questions/%Question-id%/faqAnswerHome/%Answer-id% and its node type has the following properties:

Properties nameRequired typeMultipleDescription
exo:idStringfalseThe Id of the answer.
exo:answerPathStringfalseThe path to the answer.
exo:questionIdStringfalseThe Id of the question.
exo:categoryIdStringfalseThe Id of the category containing the question.
exo:responsesStringfalseThe content of the answer.
exo:dateResponseDatefalseThe date when the response was posted.
exo:responseByStringfalseThe Id of the user who responded the answer.
exo:responseLanguageStringfalseThe language of the answer response.
exo:approveResponsesBooleanfalseThe response is pending for approval if the value is set to "false".
exo:activateResponsesBooleanfalseThe state of the answer: activated/deactivated .
exo:usersVoteAnswerStringtrueThe list of user Ids who voted for the answer.
exo:MarkVotesLongfalseThe average vote scores of the answer.
exo:postIdStringfalseThe post Id.
exo:fullNameStringfalseThe answer author's full name.
  • The Comment node is stored in /exo:applications/faqApp/categories/questions/%Question-id%/faqCommentHome/%Comment-id% and its node type has the following properties:

Properties nameRequired typeMultipleDescription
exo:idStringfalseThe comment Id.
exo:commentsStringfalseThe comment contents.
exo:dateCommentDatefalseThe date when the comment is posted.
exo:commentByStringfalseThe user Id of the comment poster.
exo:postIdStringfalseThe Id of the post.
exo:fullNameStringfalseThe full name of the comment poster.
exo:categoryIdStringfalseThe Id of the category in which the comment is posted.
exo:questionIdStringfalseThe Id of the question in which the comment is posted.
exo:commentLanguageStringfalseThe language of the comment.
  • The Attachment node is stored in /exo:applications/faqApp/categories/questions/%Question-id%/faqAttachment and its node type has the following properties:

Properties nameRequired typeMultipleDescription
exo:fileNameStringfalseThe name of the attachment file.
Copyright ©. All rights reserved. eXo Platform SAS
blog comments powered byDisqus