エンティティとDoctrine
Chamilo 2.0には、2つのバンドルにわたって314のDoctrineエンティティがあります。以下では主なもののみを紹介します。
エンティティの構成
CoreBundle エンティティ (213)
プラットフォームレベルのエンティティ:
ユーザー
User, UserRelUser, AccessUrl, AccessUrlRelUser
コース
Course, CourseCategory, CourseRelUser
セッション
Session, SessionRelUser, SessionRelCourse, SessionRelCourseRelUser
リソース
ResourceNode, ResourceFile, ResourceLink, ResourceType
設定
SettingsCurrent, SettingsOptions
メッセージ
Message, MessageRelUser, MessageAttachment
トラッキング
TrackELogin, TrackEOnline, TrackEDefault
スキル
Skill, SkillRelUser, SkillRelProfile
AI
AiRequests
プラグイン
Plugin, AccessUrlRelPlugin
ソーシャル
Usergroup, UsergroupRelUser
xAPI
XApiObject, XApiResult, XApiActivityState
CourseBundle エンティティ (101)
コースコンテンツエンティティ — すべて「C」で始まります:
ドキュメント
CDocument
演習
CQuiz, CQuizQuestion, CQuizAnswer, CQuizQuestionCategory
学習パス
CLp, CLpItem, CLpView, CLpItemView, CLpCategory
フォーラム
CForum, CForumCategory, CForumThread, CForumPost
課題
CStudentPublication, CStudentPublicationAssignment, CStudentPublicationComment
アンケート
CSurvey, CSurveyQuestion, CSurveyAnswer, CSurveyInvitation
出席
CAttendance, CAttendanceCalendar, CAttendanceResult
ブログ
CBlog, CBlogPost, CBlogComment, CBlogTask
その他
CCalendarEvent, CGlossary, CLink, CLinkCategory, CNotebook, CWiki
命名規則
CoreBundle エンティティ:標準的なPascalCase(例:
User,Course,Session)CourseBundle エンティティ:
Cで始まる(例:CDocument,CQuiz,CLp)
このプレフィックスは、コース範囲のコンテンツエンティティをプラットフォームレベルのエンティティと区別するために使用されます(従来のデータベーステーブルの命名に準拠)。この区別は、将来的に多くのツールが特定のコースに強く結びつかないグローバルツールに変換されるにつれて、なくなる可能性があります。
主要な関係性
関係性は通常、Relセパレーターによって示されます。
ユーザー ↔ コース
CourseRelUserには登録ステータスが保存されます(TEACHER = 1, STUDENT = 5)。
ユーザー ↔ セッション ↔ コース
ResourceNode (コンテンツ抽象化)
すべてのコースコンテンツエンティティは、ResourceNodeを通じてリソースシステムに接続されています:
詳細については、リソースシステムを参照してください。
Doctrine拡張機能
ChamiloはGedmo Doctrine Extensions(stof/doctrine-extensions-bundle経由)を使用しています:
Tree — 階層データ(ResourceNodeはマテリアライズドパスを使用)
Timestampable — 自動的な
createdAt/updatedAtフィールドSluggable — URLフレンドリーなスラッグ
Sortable — 順序付け可能なコレクション
最終更新
役に立ちましたか?