Collection Definition
Attribute | Definition | Details |
---|---|---|
HierarchyStructure | type: “json”, | Hierarchy structure of the collection. It contains information like what object types and categories are allowed at each level. This information will be used by editors & players for rendering and by the platform for enforcing the structure. |
Composition |
| These details are computed by the platform on every publish. |
Enum Values:
Attribute | Enum Values |
---|---|
Status | "Draft", "Review", "Flagged", "Live", "Unlisted", "Retired", "Processing", "FlagDraft", "FlagReview", "Failed" |
MimeType | "application/vnd.ekstep.content-collection" |
Hierarchy Structure
{
"minDepth": 2, // this collection must have atleast two levels of units
"maxDepth": 2, // this collection can have upto two levels of units
"hierarchy": {
"1": {
"unit": "Chapter", // first level units will have category as "Chapter"
"metadata": {
// metadata definition (similar to primary category definition, for this unit)
}
"children": ["Quiz", "RevisionTest"] // objects of "Quiz" and "Revision" categories can be added to level 1 units
},
"2": {
"unit": "Sub-Chapter", // second level units category should be "Sub-Chapter"
"children": ["ExplanationResource", "LessonPlan", "PracticeSet"]
}
},
"children": ["eTextbook", "QuestionPaper"] // objects of "eTextbook" and "QuestionPaper" categories can be added to root node
}
Q: do we need to support units of different types in one level? i.e. will there be a scenario where a collection will have some units as “modules” & some units as “sections” in one level?
{
"maxDepth": 2, // no minDepth defined, hence the collection have 0, 1 or 2 levels of units
"hierarchy": {
"1": {
"unit": "Chapter",
"children": null // no child resources allowed
},
"2": {
"unit": "Sub-Chapter",
"children": "*" // any object can be added
}
},
"children": ["eTextbook", "QuestionPaper"]
}
{
// minDepth and maxDepth are not defined, collection can have any number of levels
"hierarchy": {
"*": {
"unit": "Module", // units in any level will have the category as "Module"
"children": "*" // any object can be added as a child at all the levels
}
},
"children": ["Assessment"]
}