Concepts and Definitions¶
ContentNode¶
High-level abstraction for representing different content kinds, such as Topic, Video, Audio, Exercise, and Document, and can be easily extended to support new content kinds. With multiple ContentNode objects, it supports grouping, arranging them in tree structure, and symmetric and asymmetric relationship between two ContentNode objects.
File¶
Model that stores details about a source file such as the language, size, format, and location.
ContentDB diagram¶
PK = Primary Key
FK = Foreign Key
M2M = ManyToManyField
ContentTag¶
This model is used to establish a filtering system for all ContentNode objects.
ChannelMetadata¶
Model in each content database that stores the database readable names, description and author for each channel.
ChannelMetadataCache¶
This class stores the channel metadata cached/denormed into the default database.