Entités et Doctrine
Chamilo 2.0 compte 314 entités Doctrine réparties sur deux bundles. Ce qui suit ne mentionne que les principales.
Organisation des Entités
Entités de CoreBundle (213)
Entités au niveau de la plateforme :
Utilisateurs
User, UserRelUser, AccessUrl, AccessUrlRelUser
Cours
Course, CourseCategory, CourseRelUser
Sessions
Session, SessionRelUser, SessionRelCourse, SessionRelCourseRelUser
Ressources
ResourceNode, ResourceFile, ResourceLink, ResourceType
Paramètres
SettingsCurrent, SettingsOptions
Messages
Message, MessageRelUser, MessageAttachment
Suivi
TrackELogin, TrackEOnline, TrackEDefault
Compétences
Skill, SkillRelUser, SkillRelProfile
IA
AiRequests
Plugins
Plugin, AccessUrlRelPlugin
Social
Usergroup, UsergroupRelUser
xAPI
XApiObject, XApiResult, XApiActivityState
Entités de CourseBundle (101)
Entités de contenu de cours — toutes préfixées par C :
Documents
CDocument
Exercices
CQuiz, CQuizQuestion, CQuizAnswer, CQuizQuestionCategory
Parcours d'apprentissage
CLp, CLpItem, CLpView, CLpItemView, CLpCategory
Forums
CForum, CForumCategory, CForumThread, CForumPost
Devoirs
CStudentPublication, CStudentPublicationAssignment, CStudentPublicationComment
Sondages
CSurvey, CSurveyQuestion, CSurveyAnswer, CSurveyInvitation
Présences
CAttendance, CAttendanceCalendar, CAttendanceResult
Blogs
CBlog, CBlogPost, CBlogComment, CBlogTask
Autres
CCalendarEvent, CGlossary, CLink, CLinkCategory, CNotebook, CWiki
Convention de Nommage
Entités de CoreBundle : PascalCase standard (par exemple,
User,Course,Session)Entités de CourseBundle : préfixées par
C(par exemple,CDocument,CQuiz,CLp)
Ce préfixe distingue les entités de contenu spécifiques à un cours des entités au niveau de la plateforme (en accord avec la nomenclature des tables de base de données héritées). Cette distinction pourrait disparaître à long terme à mesure que davantage d'outils seront convertis en outils globaux sans lien fort avec un cours spécifique.
Relations Clés
Les relations sont généralement indiquées par le séparateur Rel.
Utilisateur ↔ Cours
CourseRelUser stocke le statut d'inscription (TEACHER = 1, STUDENT = 5).
Utilisateur ↔ Session ↔ Cours
ResourceNode (Abstraction de Contenu)
Toutes les entités de contenu de cours se connectent au système de ressources via ResourceNode :
Voir Système de Ressources pour plus de détails.
Extensions Doctrine
Chamilo utilise les extensions Doctrine de Gedmo (via stof/doctrine-extensions-bundle) :
Tree — Données hiérarchiques (ResourceNode utilise le chemin matérialisé)
Timestampable — Champs automatiques
createdAt/updatedAtSluggable — Slugs adaptés aux URL
Sortable — Collections ordonnables
Mis à jour
Ce contenu vous a-t-il été utile ?