Learning Management System (LMS)

A comprehensive ALPS (Application-Level Profile Semantics) profile that defines the complete semantic vocabulary and interaction model for an enterprise-grade Learning Management System. This specification covers all aspects of online education including user management (students, instructors, administrators), course creation and delivery, content management, assessments, grading, communication tools, collaboration features, analytics, and accessibility. The profile is organized into semantic descriptors, state transitions, and navigation patterns to support standardized implementation and interoperability across educational technology platforms.

View:
Tags:
Semantic
Safe
Unsafe
Idempotent

Semantic Descriptors

Type ID Title Contained Extra Info
accessibilityFeature Accessibility Feature def:schema.org/accessibilityFea...
administrator Administrator adminPermissions
adminPermissions Administrative Permissions
analytics User Analytics loginFrequency
contentViewed
timeSpent
assignmentCompletionTime
AnalyticsDashboard Analytics Dashboard analytics
student
course
goFilterAnalytics
goCourseDetail
doExportAnalytics
tag:analytics instructor-tools
AnnouncementCreation Create Announcement Page notification
goCourseDetail
doCreateAnnouncement
tag:communication instructor-tools
assignment Assignment assignmentId
assignmentTitle
assignmentDescription
assignmentType
dueDate
maxScore
weightage
assignmentCompletionTime Time to Complete Assignments
AssignmentCreation Assignment Creation Page assignment
assignmentType
rubric
goAssignmentList
doCreateAssignment
doCreateRubric
tag:assessment content-creation
assignmentDescription Assignment Description def:schema.org/description
AssignmentDetail Assignment Details Page assignment
rubric
submission
goSubmissionList
goAssignmentList
doSubmitAssignment
doUpdateAssignment
doDeleteAssignment
tag:assessment
assignmentId Assignment Identifier
AssignmentList Course Assignments Page assignment
goFilterAssignments
goAssignmentDetail
goCreateAssignment
goCourseDetail
tag:assessment
assignmentTitle Assignment Title def:schema.org/name
assignmentType Assignment Type
ClassProgress Class Progress Dashboard student
course
progress
goFilterStudents
goStudentProgress
goCourseDetail
tag:progress-tracking instructor-tools
content Course Content contentId
contentTitle
contentDescription
contentType
contentData
contentStatus
contentAccessibility
contentAccessibility Content Accessibility Features
ContentCreation Content Creation Page content
contentType
contentAccessibility
goPreviewContent
goModuleDetail
doCreateContent
doSaveDraftContent
tag:content-creation
contentData Content Data
contentDescription Content Description def:schema.org/description
ContentDetail Content Detail Page content
goPreviewContent
goModuleDetail
doUpdateContent
doDeleteContent
tag:content-creation
contentId Content Identifier
contentStatus Content Status
contentTitle Content Title def:schema.org/name
contentType Content Type
contentViewed Content Viewed
course Course courseId
courseTitle
courseDescription
courseCategory
startDate
endDate
enrollmentCapacity
difficultyLevel
courseStatus
prerequisites
def:schema.org/Course
courseCategory Course Category def:schema.org/courseCategory
CourseCreation Course Creation Page course
goCourseList
doCreateCourse
doSaveDraftCourse
tag:course-management content-creation
courseDescription Course Description def:schema.org/description
CourseDetail Course Details Page course
module
assignment
discussion
instructor
goModuleDetail
goAssignmentList
goDiscussionList
goEditCourse
goCourseList
goProgressDashboard
goWebinarSchedule
goAnalyticsDashboard
goAnnouncementCreation
goGradebook
doEnrollCourse
tag:course-management
CourseEdit Course Edit Page course
goCourseDetail
doUpdateCourse
doDeleteCourse
doSaveDraftCourse
doPublishCourse
tag:course-management content-creation
courseId Course Identifier def:schema.org/identifier
CourseList Course Listing Page course
goFilterCourses
goCourseDetail
goCreateCourse
goHome
tag:course-management
courseStatus Course Status
courseTitle Course Title def:schema.org/name
difficultyLevel Difficulty Level
discussion Discussion Forum discussionId
discussionTitle
discussionDescription
posts
discussionDescription Discussion Description def:schema.org/description
DiscussionDetail Discussion Thread Page discussion
post
goDiscussionList
doCreatePost
doReplyToPost
tag:communication
discussionId Discussion Identifier
DiscussionList Course Discussions Page discussion
goFilterDiscussions
goDiscussionDetail
goCreateDiscussion
goCourseDetail
tag:communication
discussionTitle Discussion Title def:schema.org/name
doAddGroupMember Add Group Member groupId
userId
rt:GroupDetail
doAttachFile Attach File to Message messageId
messageAttachments
rt:MessageDetail
doCalculateOverallGrades Calculate Overall Grades courseId rt:Gradebook
doCreateAnnouncement Create Announcement courseId
notificationContent
rt:CourseDetail
doCreateAssignment Create Assignment courseId
assignmentTitle
assignmentDescription
assignmentType
dueDate
maxScore
rt:AssignmentDetail
doCreateContent Create Content moduleId
contentTitle
contentDescription
contentType
contentData
contentAccessibility
rt:ContentDetail
doCreateCourse Create New Course courseTitle
courseDescription
courseCategory
startDate
endDate
enrollmentCapacity
difficultyLevel
rt:CourseDetail
doCreateDiscussion Create Discussion courseId
discussionTitle
discussionDescription
rt:DiscussionDetail
doCreateGroup Create Student Group courseId
groupName
groupMembers
rt:GroupDetail
doCreateModule Create Course Module courseId
moduleTitle
moduleDescription
moduleOrder
rt:ModuleDetail
doCreatePost Create Discussion Post discussionId
postContent
rt:DiscussionDetail
doCreateRubric Create Grading Rubric assignmentId
rubricTitle
rubricCriteria
rt:AssignmentDetail
doCreateUser Create User userName
userEmail
userPassword
userRole
rt:UserDetail
doCreateWebinar Create Webinar courseId
webinarTitle
webinarDescription
webinarDate
webinarDuration
webinarUrl
rt:WebinarDetail
doDeleteAssignment Delete Assignment assignmentId rt:AssignmentList
doDeleteContent Delete Content contentId rt:ModuleDetail
doDeleteCourse Delete Course courseId rt:CourseList
doDeleteGroup Delete Group groupId rt:GroupManagement
doDeleteModule Delete Module moduleId rt:ModuleList
doDeleteUser Delete User userId rt:UserList
doDeleteWebinar Delete Webinar webinarId rt:WebinarSchedule
doDownloadContent Download Content for Offline Access contentId rt:MobileAccess
doEnableNotifications Enable Mobile Notifications rt:MobileAccess
doEnrollCourse Enroll in Course courseId
userId
rt:EnrolledCourses
doExportAnalytics Export Analytics Data courseId rt:AnalyticsDashboard
doExportGrades Export Grades courseId rt:Gradebook
doExportReport Export Report Data reportId rt:ReportDetail
doExtendDeadline Extend Deadline courseId
userId
endDate
rt:StudentProgress
doGenerateReport Generate System Report reportTitle
reportType
startDate
endDate
rt:ReportDetail
doGradeSubmission Grade Submission submissionId
gradeValue
feedback
rt:SubmissionDetail
doJoinWebinar Join Webinar webinarId
webinarUrl
rt:WebinarView
doLogin Login to System rt:Home
doLogout Logout from System rt:Login
doProvideFeedback Provide Feedback submissionId
feedback
rt:SubmissionDetail
doPublishCourse Publish Course courseId rt:CourseDetail
doRegister Register New User userName
userEmail
userPassword
userRole
rt:Login
doRemoveGroupMember Remove Group Member groupId
userId
rt:GroupDetail
doReplyToMessage Reply to Message messageId
messageContent
rt:MessageDetail
doReplyToPost Reply to Post postId
postContent
rt:DiscussionDetail
doResetPassword Reset Password userEmail rt:Login
doSaveDraftContent Save Content as Draft rt:ContentCreation
doSaveDraftCourse Save Course as Draft rt:CourseEdit
doSubmitAssignment Submit Assignment assignmentId
submissionContent
rt:AssignmentDetail
doUnenrollCourse Unenroll from Course courseId
userId
rt:EnrolledCourses
doUpdateAssignment Update Assignment assignmentId
assignmentTitle
assignmentDescription
assignmentType
dueDate
maxScore
rt:AssignmentDetail
doUpdateContent Update Content contentId
contentTitle
contentDescription
contentType
contentData
contentAccessibility
rt:ContentDetail
doUpdateCourse Update Course courseId
courseTitle
courseDescription
courseCategory
startDate
endDate
enrollmentCapacity
difficultyLevel
rt:CourseDetail
doUpdateGroup Update Group groupId
groupName
rt:GroupDetail
doUpdateModule Update Module moduleId
moduleTitle
moduleDescription
moduleOrder
rt:ModuleDetail
doUpdateProfile Update User Profile userName
userEmail
userPassword
userPreferences
rt:UserProfile
doUpdateSettings Update Settings language
accessibilityFeature
userPreferences
rt:Settings
doUpdateUser Update User userId
userName
userEmail
userRole
adminPermissions
rt:UserDetail
doUpdateWebinar Update Webinar webinarId
webinarTitle
webinarDescription
webinarDate
webinarDuration
webinarUrl
rt:WebinarDetail
dueDate Due Date def:schema.org/endDate
endDate End Date def:schema.org/endDate
EnrolledCourses Enrolled Courses Page course
progress
goCourseDetail
goHome
tag:enrollment
enrolledCourses Enrolled Courses
enrollmentCapacity Enrollment Capacity def:schema.org/maximumEnrollment
External External System
feedback Feedback
goAnalyticsDashboard Go to Analytics Dashboard rt:AnalyticsDashboard
goAnnouncementCreation Go to Announcement Creation rt:AnnouncementCreation
goAssignmentDetail View Assignment Details assignmentId rt:AssignmentDetail
goAssignmentList View Assignment List courseId rt:AssignmentList
goClassProgress View Class Progress courseId rt:ClassProgress
goContentDetail View Content Details contentId rt:ContentDetail
goCourseDetail View Course Details courseId rt:CourseDetail
goCourseList View Course List rt:CourseList
goCreateAssignment Go to Assignment Creation rt:AssignmentCreation
goCreateContent Go to Content Creation rt:ContentCreation
goCreateCourse Go to Course Creation rt:CourseCreation
goCreateDiscussion Go to Discussion Creation rt:DiscussionDetail
goCreateMessage Go to Create Message rt:MessageDetail
goDiscussionDetail View Discussion Details discussionId rt:DiscussionDetail
goDiscussionList View Discussion List courseId rt:DiscussionList
goEditCourse Go to Course Edit courseId rt:CourseEdit
goEnrolledCourses View Enrolled Courses rt:EnrolledCourses
goFilterAnalytics Filter Analytics Data courseId
startDate
endDate
rt:AnalyticsDashboard
goFilterAssignments Filter Assignment List courseId
dueDate
rt:AssignmentList
goFilterCourses Filter Course List courseCategory
instructor
courseStatus
rt:CourseList
goFilterDiscussions Filter Discussion List courseId rt:DiscussionList
goFilterMessages Filter Messages messageSender
messageDate
rt:MessageCenter
goFilterStudents Filter Student List courseId rt:ClassProgress
goFilterSubmissions Filter Submission List assignmentId
submissionStatus
rt:SubmissionList
goGradebook Go to Gradebook rt:Gradebook
goGroupDetail View Group Details groupId rt:GroupDetail
goGroupManagement Go to Group Management courseId rt:GroupManagement
goHome Go to Home Page rt:Home
goLogin Go to Login Page rt:Login
goMessageCenter Go to Message Center rt:MessageCenter
goMessageDetail View Message Details messageId rt:MessageDetail
goModuleDetail View Module Details moduleId rt:ModuleDetail
goModuleList View Module List courseId rt:ModuleList
goNotifications View Notifications rt:MessageCenter
goPreviewContent Preview Content contentId rt:ContentDetail
goProgressDashboard Go to Progress Dashboard rt:ProgressDashboard
goRegister Go to Registration Page rt:Register
goReportCenter Go to Report Center rt:ReportCenter
goReportDetail Go to Report Detail reportId rt:ReportDetail
goSettings Go to Settings Page rt:Settings
goStudentProgress View Student Progress courseId
userId
rt:StudentProgress
goSubmissionDetail View Submission Details submissionId rt:SubmissionDetail
goSubmissionList View Submission List assignmentId rt:SubmissionList
goUserDetail View User Details userId rt:UserDetail
goUserList View User List rt:UserList
goUserProfile View User Profile rt:UserProfile
goViewRecording View Webinar Recording webinarId
webinarRecording
rt:RecordingView
goWebinarDetail View Webinar Details webinarId rt:WebinarDetail
goWebinarSchedule View Webinar Schedule courseId rt:WebinarSchedule
grade Grade gradeId
gradeValue
feedback
gradedDate
Gradebook Course Gradebook student
assignment
grade
doCalculateOverallGrades
goSubmissionDetail
goCourseDetail
doExportGrades
tag:assessment grading
gradedDate Graded Date
gradeId Grade Identifier
grades Student Grades
gradeValue Grade Value
group Student Group groupId
groupName
groupMembers
groupWorkspace
GroupDetail Group Detail Page group
groupWorkspace
goGroupManagement
doAddGroupMember
doRemoveGroupMember
tag:collaboration
groupId Group Identifier
GroupManagement Group Management Page group
goGroupDetail
goCourseDetail
doCreateGroup
doUpdateGroup
doDeleteGroup
tag:collaboration
groupMembers Group Members
groupName Group Name def:schema.org/name
groupWorkspace Shared Workspace
Home Home Page course
notification
goCourseList
goUserProfile
goMessageCenter
goNotifications
goSettings
goReportCenter
instructor Instructor taughtCourses
instructorExpertise
instructorExpertise Areas of Expertise
language Interface Language def:schema.org/inLanguage
Login Login Page userEmail
userPassword
goRegister
doLogin
doResetPassword
tag:user-management
loginFrequency Login Frequency
maxScore Maximum Score
message Direct Message messageId
messageContent
messageDate
messageSender
messageRecipient
messageAttachments
messageAttachments Message Attachments
MessageCenter Messaging Center message
goFilterMessages
goCreateMessage
goMessageDetail
goHome
tag:communication
messageContent Message Content def:schema.org/text
messageDate Message Date def:schema.org/dateCreated
MessageDetail Message Detail Page message
goMessageCenter
doReplyToMessage
doAttachFile
tag:communication
messageId Message Identifier
messageRecipient Message Recipient
messageSender Message Sender
MobileAccess Mobile Application State course
notification
offlineContent
goHome
goCourseList
goEnrolledCourses
doDownloadContent
doEnableNotifications
tag:mobile-access
module Course Module moduleId
moduleTitle
moduleDescription
moduleOrder
moduleDescription Module Description def:schema.org/description
ModuleDetail Module Details Page module
content
goContentDetail
goCreateContent
goModuleList
doUpdateModule
doDeleteModule
tag:course-management content-creation
moduleId Module Identifier
ModuleList Course Modules Page module
goModuleDetail
goCourseDetail
doCreateModule
tag:course-management content-creation
moduleOrder Module Order
moduleTitle Module Title def:schema.org/name
notification Notification notificationId
notificationContent
notificationType
notificationDate
notificationStatus
notificationContent Notification Content
notificationDate Notification Date def:schema.org/dateCreated
notificationId Notification Identifier
notificationStatus Notification Status
notificationType Notification Type
offlineContent Offline Content
post Discussion Post postId
postContent
postDate
postAuthor
replies
postAuthor Post Author def:schema.org/author
postContent Post Content def:schema.org/text
postDate Post Date def:schema.org/dateCreated
postId Post Identifier
posts Discussion Posts
prerequisites Prerequisites
progress Learning Progress
ProgressDashboard Learning Progress Dashboard course
module
progress
goCourseDetail
goModuleDetail
goEnrolledCourses
tag:progress-tracking
RecordingView Recording Viewing Page webinarRecording
goWebinarDetail
tag:communication
Register Registration Page userName
userEmail
userPassword
userRole
goLogin
doRegister
tag:user-management
replies Post Replies
report System Report reportId
reportTitle
reportType
reportData
reportDate
ReportCenter Reporting Center report
goReportDetail
goHome
doGenerateReport
doExportReport
tag:analytics admin-tools
reportData Report Data
reportDate Report Generation Date def:schema.org/dateCreated
ReportDetail Report Detail Page report
goReportCenter
doExportReport
tag:analytics admin-tools
reportId Report Identifier
reportTitle Report Title
reportType Report Type
rubric Grading Rubric rubricId
rubricTitle
rubricCriteria
rubricCriteria Rubric Criteria
rubricId Rubric Identifier
rubricTitle Rubric Title
Settings User Settings Page language
accessibilityFeature
userPreferences
goUserProfile
doUpdateSettings
tag:accessibility user-management
startDate Start Date def:schema.org/startDate
student Student enrolledCourses
progress
grades
StudentProgress Individual Student Progress student
course
module
progress
goClassProgress
doExtendDeadline
tag:progress-tracking instructor-tools
submission Assignment Submission submissionId
submissionContent
submissionDate
submissionStatus
submissionContent Submission Content
submissionDate Submission Date def:schema.org/dateCreated
SubmissionDetail Submission Detail Page submission
grade
feedback
rubric
goSubmissionList
doGradeSubmission
doProvideFeedback
tag:assessment grading
submissionId Submission Identifier
SubmissionList Assignment Submissions Page submission
goFilterSubmissions
goSubmissionDetail
goAssignmentDetail
tag:assessment grading
submissionStatus Submission Status
taughtCourses Courses Taught
timeSpent Time Spent on Platform
user User userId
userName
userEmail
userPassword
userRole
userPreferences
def:schema.org/Person
UserDetail User Details Page user
goUserList
doUpdateUser
doDeleteUser
tag:user-management admin-tools
userEmail User Email def:schema.org/email
userId User Identifier def:schema.org/identifier
UserList User Management Page user
goUserDetail
goHome
doCreateUser
doDeleteUser
doUpdateUser
tag:user-management admin-tools
userName User Name def:schema.org/name
userPassword User Password
userPreferences User Preferences
UserProfile User Profile Page user
goHome
goEnrolledCourses
doUpdateProfile
tag:user-management
userRole User Role
webinar Online Session webinarId
webinarTitle
webinarDescription
webinarDate
webinarDuration
webinarUrl
webinarRecording
webinarDate Webinar Date def:schema.org/startDate
webinarDescription Webinar Description def:schema.org/description
WebinarDetail Webinar Detail Page webinar
webinarRecording
goViewRecording
goWebinarSchedule
doJoinWebinar
tag:communication
webinarDuration Webinar Duration def:schema.org/duration
webinarId Webinar Identifier
webinarRecording Webinar Recording
WebinarSchedule Webinar Schedule Page webinar
goWebinarDetail
goCourseDetail
doCreateWebinar
doUpdateWebinar
doDeleteWebinar
tag:communication instructor-tools
webinarTitle Webinar Title def:schema.org/name
webinarUrl Webinar URL def:schema.org/url
WebinarView Webinar Viewing Page webinar
goWebinarDetail
tag:communication
weightage Weightage in Overall Grade

Profile

<alps version="1.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="https://alps-io.github.io/schemas/alps.xsd">
    <title>Learning Management System (LMS)</title>
    <doc>A comprehensive ALPS (Application-Level Profile Semantics) profile that defines the complete semantic vocabulary and interaction model for an enterprise-grade Learning Management System. This specification covers all aspects of online education including user management (students, instructors, administrators), course creation and delivery, content management, assessments, grading, communication tools, collaboration features, analytics, and accessibility. The profile is organized into semantic descriptors, state transitions, and navigation patterns to support standardized implementation and interoperability across educational technology platforms.</doc>
    <!-- SECTION 1: SEMANTIC DEFINITIONS (ONTOLOGY) -->

    <!-- Core User Types -->
    <descriptor id="user" title="User" def="https://schema.org/Person">
        <descriptor id="userId" title="User Identifier" def="https://schema.org/identifier"/>
        <descriptor id="userName" title="User Name" def="https://schema.org/name"/>
        <descriptor id="userEmail" title="User Email" def="https://schema.org/email"/>
        <descriptor id="userPassword" title="User Password"/>
        <descriptor id="userRole" title="User Role"/>
        <descriptor id="userPreferences" title="User Preferences"/>
    </descriptor>

    <descriptor id="student" title="Student" doc="Individual who registers for courses, accesses content, and submits assignments">
        <descriptor id="enrolledCourses" title="Enrolled Courses"/>
        <descriptor id="progress" title="Learning Progress"/>
        <descriptor id="grades" title="Student Grades"/>
    </descriptor>

    <descriptor id="instructor" title="Instructor" doc="Educator who creates and manages courses, evaluates student progress">
        <descriptor id="taughtCourses" title="Courses Taught"/>
        <descriptor id="instructorExpertise" title="Areas of Expertise"/>
    </descriptor>

    <descriptor id="administrator" title="Administrator" doc="Person who oversees the entire system, manages user accounts and course catalog">
        <descriptor id="adminPermissions" title="Administrative Permissions"/>
    </descriptor>

    <!-- Course Related -->
    <descriptor id="course" title="Course" def="https://schema.org/Course">
        <descriptor id="courseId" title="Course Identifier" def="https://schema.org/identifier"/>
        <descriptor id="courseTitle" title="Course Title" def="https://schema.org/name"/>
        <descriptor id="courseDescription" title="Course Description" def="https://schema.org/description"/>
        <descriptor id="courseCategory" title="Course Category" def="https://schema.org/courseCategory"/>
        <descriptor id="startDate" title="Start Date" def="https://schema.org/startDate"/>
        <descriptor id="endDate" title="End Date" def="https://schema.org/endDate"/>
        <descriptor id="enrollmentCapacity" title="Enrollment Capacity" def="https://schema.org/maximumEnrollment"/>
        <descriptor id="difficultyLevel" title="Difficulty Level"/>
        <descriptor id="courseStatus" title="Course Status"/>
        <descriptor id="prerequisites" title="Prerequisites"/>
    </descriptor>

    <descriptor id="module" title="Course Module" doc="Section of a course to organize content in logical order">
        <descriptor id="moduleId" title="Module Identifier"/>
        <descriptor id="moduleTitle" title="Module Title" def="https://schema.org/name"/>
        <descriptor id="moduleDescription" title="Module Description" def="https://schema.org/description"/>
        <descriptor id="moduleOrder" title="Module Order"/>
    </descriptor>

    <descriptor id="content" title="Course Content" doc="Teaching materials in various formats">
        <descriptor id="contentId" title="Content Identifier"/>
        <descriptor id="contentTitle" title="Content Title" def="https://schema.org/name"/>
        <descriptor id="contentDescription" title="Content Description" def="https://schema.org/description"/>
        <descriptor id="contentType" title="Content Type"/>
        <descriptor id="contentData" title="Content Data"/>
        <descriptor id="contentStatus" title="Content Status" doc="Draft or published"/>
        <descriptor id="contentAccessibility" title="Content Accessibility Features"/>
    </descriptor>

    <!-- Assessment Related -->
    <descriptor id="assignment" title="Assignment" doc="Task assigned to students to assess learning">
        <descriptor id="assignmentId" title="Assignment Identifier"/>
        <descriptor id="assignmentTitle" title="Assignment Title" def="https://schema.org/name"/>
        <descriptor id="assignmentDescription" title="Assignment Description" def="https://schema.org/description"/>
        <descriptor id="assignmentType" title="Assignment Type"/>
        <descriptor id="dueDate" title="Due Date" def="https://schema.org/endDate"/>
        <descriptor id="maxScore" title="Maximum Score"/>
        <descriptor id="weightage" title="Weightage in Overall Grade"/>
    </descriptor>

    <descriptor id="submission" title="Assignment Submission" doc="Student's response to an assignment">
        <descriptor id="submissionId" title="Submission Identifier"/>
        <descriptor id="submissionContent" title="Submission Content"/>
        <descriptor id="submissionDate" title="Submission Date" def="https://schema.org/dateCreated"/>
        <descriptor id="submissionStatus" title="Submission Status"/>
    </descriptor>

    <descriptor id="grade" title="Grade" doc="Evaluation of a student's submission">
        <descriptor id="gradeId" title="Grade Identifier"/>
        <descriptor id="gradeValue" title="Grade Value"/>
        <descriptor id="feedback" title="Feedback"/>
        <descriptor id="gradedDate" title="Graded Date"/>
    </descriptor>

    <descriptor id="rubric" title="Grading Rubric" doc="Criteria for evaluating student work">
        <descriptor id="rubricId" title="Rubric Identifier"/>
        <descriptor id="rubricTitle" title="Rubric Title"/>
        <descriptor id="rubricCriteria" title="Rubric Criteria"/>
    </descriptor>

    <!-- Communication Related -->
    <descriptor id="discussion" title="Discussion Forum" doc="Platform for questions and answers">
        <descriptor id="discussionId" title="Discussion Identifier"/>
        <descriptor id="discussionTitle" title="Discussion Title" def="https://schema.org/name"/>
        <descriptor id="discussionDescription" title="Discussion Description" def="https://schema.org/description"/>
        <descriptor id="posts" title="Discussion Posts"/>
    </descriptor>

    <descriptor id="post" title="Discussion Post" doc="Message in a discussion forum">
        <descriptor id="postId" title="Post Identifier"/>
        <descriptor id="postContent" title="Post Content" def="https://schema.org/text"/>
        <descriptor id="postDate" title="Post Date" def="https://schema.org/dateCreated"/>
        <descriptor id="postAuthor" title="Post Author" def="https://schema.org/author"/>
        <descriptor id="replies" title="Post Replies"/>
    </descriptor>

    <descriptor id="notification" title="Notification" doc="System message to inform users">
        <descriptor id="notificationId" title="Notification Identifier"/>
        <descriptor id="notificationContent" title="Notification Content"/>
        <descriptor id="notificationType" title="Notification Type"/>
        <descriptor id="notificationDate" title="Notification Date" def="https://schema.org/dateCreated"/>
        <descriptor id="notificationStatus" title="Notification Status"/>
    </descriptor>

    <descriptor id="message" title="Direct Message" doc="Private communication between users">
        <descriptor id="messageId" title="Message Identifier"/>
        <descriptor id="messageContent" title="Message Content" def="https://schema.org/text"/>
        <descriptor id="messageDate" title="Message Date" def="https://schema.org/dateCreated"/>
        <descriptor id="messageSender" title="Message Sender"/>
        <descriptor id="messageRecipient" title="Message Recipient"/>
        <descriptor id="messageAttachments" title="Message Attachments"/>
    </descriptor>

    <descriptor id="group" title="Student Group" doc="Collection of students for collaboration">
        <descriptor id="groupId" title="Group Identifier"/>
        <descriptor id="groupName" title="Group Name" def="https://schema.org/name"/>
        <descriptor id="groupMembers" title="Group Members"/>
        <descriptor id="groupWorkspace" title="Shared Workspace"/>
    </descriptor>

    <descriptor id="webinar" title="Online Session" doc="Real-time virtual class session">
        <descriptor id="webinarId" title="Webinar Identifier"/>
        <descriptor id="webinarTitle" title="Webinar Title" def="https://schema.org/name"/>
        <descriptor id="webinarDescription" title="Webinar Description" def="https://schema.org/description"/>
        <descriptor id="webinarDate" title="Webinar Date" def="https://schema.org/startDate"/>
        <descriptor id="webinarDuration" title="Webinar Duration" def="https://schema.org/duration"/>
        <descriptor id="webinarUrl" title="Webinar URL" def="https://schema.org/url"/>
        <descriptor id="webinarRecording" title="Webinar Recording"/>
    </descriptor>

    <!-- Analytics Related -->
    <descriptor id="analytics" title="User Analytics" doc="Data on user engagement and activity">
        <descriptor id="loginFrequency" title="Login Frequency"/>
        <descriptor id="contentViewed" title="Content Viewed"/>
        <descriptor id="timeSpent" title="Time Spent on Platform"/>
        <descriptor id="assignmentCompletionTime" title="Time to Complete Assignments"/>
    </descriptor>

    <descriptor id="report" title="System Report" doc="Aggregated data for analysis">
        <descriptor id="reportId" title="Report Identifier"/>
        <descriptor id="reportTitle" title="Report Title"/>
        <descriptor id="reportType" title="Report Type"/>
        <descriptor id="reportData" title="Report Data"/>
        <descriptor id="reportDate" title="Report Generation Date" def="https://schema.org/dateCreated"/>
    </descriptor>

    <!-- Accessibility & Mobile -->
    <descriptor id="language" title="Interface Language" def="https://schema.org/inLanguage"/>

    <descriptor id="accessibilityFeature" title="Accessibility Feature" def="https://schema.org/accessibilityFeature"/>

    <descriptor id="offlineContent" title="Offline Content" doc="Downloaded content for access without internet"/>

    <!-- SECTION 2: CONTAINMENT RELATIONSHIPS (TAXONOMY) -->

    <!-- Main Application States -->
    <descriptor id="Home" title="Home Page" doc="System landing page">
        <descriptor href="#course"/>
        <descriptor href="#notification"/>
        <descriptor href="#goCourseList"/>
        <descriptor href="#goUserProfile"/>
        <descriptor href="#goMessageCenter"/>
        <descriptor href="#goNotifications"/>
        <descriptor href="#goSettings"/>
        <descriptor href="#goReportCenter"/>
    </descriptor>

    <!-- User Management States -->
    <descriptor id="Login" title="Login Page" tag="user-management">
        <descriptor href="#userEmail"/>
        <descriptor href="#userPassword"/>
        <descriptor href="#doLogin"/>
        <descriptor href="#goRegister"/>
        <descriptor href="#doResetPassword"/>
    </descriptor>

    <descriptor id="Register" title="Registration Page" tag="user-management">
        <descriptor href="#userName"/>
        <descriptor href="#userEmail"/>
        <descriptor href="#userPassword"/>
        <descriptor href="#userRole"/>
        <descriptor href="#doRegister"/>
        <descriptor href="#goLogin"/>
    </descriptor>

    <descriptor id="UserProfile" title="User Profile Page" tag="user-management">
        <descriptor href="#user"/>
        <descriptor href="#doUpdateProfile"/>
        <descriptor href="#goHome"/>
        <descriptor href="#goEnrolledCourses"/>
    </descriptor>

    <descriptor id="UserList" title="User Management Page" tag="user-management admin-tools">
        <descriptor href="#user"/>
        <descriptor href="#doCreateUser"/>
        <descriptor href="#doDeleteUser"/>
        <descriptor href="#doUpdateUser"/>
        <descriptor href="#goUserDetail"/>
        <descriptor href="#goHome"/>
    </descriptor>

    <descriptor id="UserDetail" title="User Details Page" tag="user-management admin-tools">
        <descriptor href="#user"/>
        <descriptor href="#doUpdateUser"/>
        <descriptor href="#doDeleteUser"/>
        <descriptor href="#goUserList"/>
    </descriptor>

    <!-- Course Management States -->
    <descriptor id="CourseList" title="Course Listing Page" tag="course-management">
        <descriptor href="#course"/>
        <descriptor href="#goFilterCourses"/>
        <descriptor href="#goCourseDetail"/>
        <descriptor href="#goCreateCourse"/>
        <descriptor href="#goHome"/>
    </descriptor>

    <descriptor id="CourseDetail" title="Course Details Page" tag="course-management">
        <descriptor href="#course"/>
        <descriptor href="#module"/>
        <descriptor href="#assignment"/>
        <descriptor href="#discussion"/>
        <descriptor href="#instructor"/>
        <descriptor href="#doEnrollCourse"/>
        <descriptor href="#goModuleDetail"/>
        <descriptor href="#goAssignmentList"/>
        <descriptor href="#goDiscussionList"/>
        <descriptor href="#goEditCourse"/>
        <descriptor href="#goCourseList"/>
        <descriptor href="#goProgressDashboard"/>
        <descriptor href="#goWebinarSchedule"/>
        <descriptor href="#goAnalyticsDashboard"/>
        <descriptor href="#goAnnouncementCreation"/>
        <descriptor href="#goGradebook"/>
    </descriptor>

    <descriptor id="CourseCreation" title="Course Creation Page" tag="course-management content-creation">
        <descriptor href="#course"/>
        <descriptor href="#doCreateCourse"/>
        <descriptor href="#doSaveDraftCourse"/>
        <descriptor href="#goCourseList"/>
    </descriptor>

    <descriptor id="CourseEdit" title="Course Edit Page" tag="course-management content-creation">
        <descriptor href="#course"/>
        <descriptor href="#doUpdateCourse"/>
        <descriptor href="#doDeleteCourse"/>
        <descriptor href="#doSaveDraftCourse"/>
        <descriptor href="#doPublishCourse"/>
        <descriptor href="#goCourseDetail"/>
    </descriptor>

    <descriptor id="ModuleList" title="Course Modules Page" tag="course-management content-creation">
        <descriptor href="#module"/>
        <descriptor href="#doCreateModule"/>
        <descriptor href="#goModuleDetail"/>
        <descriptor href="#goCourseDetail"/>
    </descriptor>

    <descriptor id="ModuleDetail" title="Module Details Page" tag="course-management content-creation">
        <descriptor href="#module"/>
        <descriptor href="#content"/>
        <descriptor href="#doUpdateModule"/>
        <descriptor href="#doDeleteModule"/>
        <descriptor href="#goContentDetail"/>
        <descriptor href="#goCreateContent"/>
        <descriptor href="#goModuleList"/>
    </descriptor>

    <descriptor id="ContentCreation" title="Content Creation Page" tag="content-creation">
        <descriptor href="#content"/>
        <descriptor href="#contentType"/>
        <descriptor href="#contentAccessibility"/>
        <descriptor href="#doCreateContent"/>
        <descriptor href="#doSaveDraftContent"/>
        <descriptor href="#goPreviewContent"/>
        <descriptor href="#goModuleDetail"/>
    </descriptor>

    <descriptor id="ContentDetail" title="Content Detail Page" tag="content-creation">
        <descriptor href="#content"/>
        <descriptor href="#doUpdateContent"/>
        <descriptor href="#doDeleteContent"/>
        <descriptor href="#goPreviewContent"/>
        <descriptor href="#goModuleDetail"/>
    </descriptor>

    <!-- Enrollment and Progress States -->
    <descriptor id="EnrolledCourses" title="Enrolled Courses Page" tag="enrollment">
        <descriptor href="#course"/>
        <descriptor href="#progress"/>
        <descriptor href="#goCourseDetail"/>
        <descriptor href="#goHome"/>
    </descriptor>

    <descriptor id="ProgressDashboard" title="Learning Progress Dashboard" tag="progress-tracking">
        <descriptor href="#course"/>
        <descriptor href="#module"/>
        <descriptor href="#progress"/>
        <descriptor href="#goCourseDetail"/>
        <descriptor href="#goModuleDetail"/>
        <descriptor href="#goEnrolledCourses"/>
    </descriptor>

    <descriptor id="ClassProgress" title="Class Progress Dashboard" tag="progress-tracking instructor-tools">
        <descriptor href="#student"/>
        <descriptor href="#course"/>
        <descriptor href="#progress"/>
        <descriptor href="#goFilterStudents"/>
        <descriptor href="#goStudentProgress"/>
        <descriptor href="#goCourseDetail"/>
    </descriptor>

    <descriptor id="StudentProgress" title="Individual Student Progress" tag="progress-tracking instructor-tools">
        <descriptor href="#student"/>
        <descriptor href="#course"/>
        <descriptor href="#module"/>
        <descriptor href="#progress"/>
        <descriptor href="#doExtendDeadline"/>
        <descriptor href="#goClassProgress"/>
    </descriptor>

    <!-- Assessment States -->
    <descriptor id="AssignmentList" title="Course Assignments Page" tag="assessment">
        <descriptor href="#assignment"/>
        <descriptor href="#goFilterAssignments"/>
        <descriptor href="#goAssignmentDetail"/>
        <descriptor href="#goCreateAssignment"/>
        <descriptor href="#goCourseDetail"/>
    </descriptor>

    <descriptor id="AssignmentCreation" title="Assignment Creation Page" tag="assessment content-creation">
        <descriptor href="#assignment"/>
        <descriptor href="#assignmentType"/>
        <descriptor href="#rubric"/>
        <descriptor href="#doCreateAssignment"/>
        <descriptor href="#doCreateRubric"/>
        <descriptor href="#goAssignmentList"/>
    </descriptor>

    <descriptor id="AssignmentDetail" title="Assignment Details Page" tag="assessment">
        <descriptor href="#assignment"/>
        <descriptor href="#rubric"/>
        <descriptor href="#submission"/>
        <descriptor href="#doUpdateAssignment"/>
        <descriptor href="#doDeleteAssignment"/>
        <descriptor href="#doSubmitAssignment"/>
        <descriptor href="#goSubmissionList"/>
        <descriptor href="#goAssignmentList"/>
    </descriptor>

    <descriptor id="SubmissionList" title="Assignment Submissions Page" tag="assessment grading">
        <descriptor href="#submission"/>
        <descriptor href="#goFilterSubmissions"/>
        <descriptor href="#goSubmissionDetail"/>
        <descriptor href="#goAssignmentDetail"/>
    </descriptor>

    <descriptor id="SubmissionDetail" title="Submission Detail Page" tag="assessment grading">
        <descriptor href="#submission"/>
        <descriptor href="#grade"/>
        <descriptor href="#feedback"/>
        <descriptor href="#rubric"/>
        <descriptor href="#doGradeSubmission"/>
        <descriptor href="#doProvideFeedback"/>
        <descriptor href="#goSubmissionList"/>
    </descriptor>

    <descriptor id="Gradebook" title="Course Gradebook" tag="assessment grading">
        <descriptor href="#student"/>
        <descriptor href="#assignment"/>
        <descriptor href="#grade"/>
        <descriptor href="#doExportGrades"/>
        <descriptor href="#doCalculateOverallGrades"/>
        <descriptor href="#goSubmissionDetail"/>
        <descriptor href="#goCourseDetail"/>
    </descriptor>

    <!-- Communication States -->
    <descriptor id="DiscussionList" title="Course Discussions Page" tag="communication">
        <descriptor href="#discussion"/>
        <descriptor href="#goFilterDiscussions"/>
        <descriptor href="#goDiscussionDetail"/>
        <descriptor href="#goCreateDiscussion"/>
        <descriptor href="#goCourseDetail"/>
    </descriptor>

    <descriptor id="DiscussionDetail" title="Discussion Thread Page" tag="communication">
        <descriptor href="#discussion"/>
        <descriptor href="#post"/>
        <descriptor href="#doCreatePost"/>
        <descriptor href="#doReplyToPost"/>
        <descriptor href="#goDiscussionList"/>
    </descriptor>

    <descriptor id="External" title="External System" doc="Represents an external system or URL outside the LMS"/>

    <descriptor id="AnnouncementCreation" title="Create Announcement Page" tag="communication instructor-tools">
        <descriptor href="#notification"/>
        <descriptor href="#doCreateAnnouncement"/>
        <descriptor href="#goCourseDetail"/>
    </descriptor>

    <descriptor id="MessageCenter" title="Messaging Center" tag="communication">
        <descriptor href="#message"/>
        <descriptor href="#goFilterMessages"/>
        <descriptor href="#goCreateMessage"/>
        <descriptor href="#goMessageDetail"/>
        <descriptor href="#goHome"/>
    </descriptor>

    <descriptor id="MessageDetail" title="Message Detail Page" tag="communication">
        <descriptor href="#message"/>
        <descriptor href="#doReplyToMessage"/>
        <descriptor href="#doAttachFile"/>
        <descriptor href="#goMessageCenter"/>
    </descriptor>

    <descriptor id="GroupManagement" title="Group Management Page" tag="collaboration">
        <descriptor href="#group"/>
        <descriptor href="#doCreateGroup"/>
        <descriptor href="#doUpdateGroup"/>
        <descriptor href="#doDeleteGroup"/>
        <descriptor href="#goGroupDetail"/>
        <descriptor href="#goCourseDetail"/>
    </descriptor>

    <descriptor id="GroupDetail" title="Group Detail Page" tag="collaboration">
        <descriptor href="#group"/>
        <descriptor href="#groupWorkspace"/>
        <descriptor href="#doAddGroupMember"/>
        <descriptor href="#doRemoveGroupMember"/>
        <descriptor href="#goGroupManagement"/>
    </descriptor>

    <descriptor id="WebinarSchedule" title="Webinar Schedule Page" tag="communication instructor-tools">
        <descriptor href="#webinar"/>
        <descriptor href="#doCreateWebinar"/>
        <descriptor href="#doUpdateWebinar"/>
        <descriptor href="#doDeleteWebinar"/>
        <descriptor href="#goWebinarDetail"/>
        <descriptor href="#goCourseDetail"/>
    </descriptor>

    <descriptor id="WebinarDetail" title="Webinar Detail Page" tag="communication">
        <descriptor href="#webinar"/>
        <descriptor href="#webinarRecording"/>
        <descriptor href="#doJoinWebinar"/>
        <descriptor href="#goViewRecording"/>
        <descriptor href="#goWebinarSchedule"/>
    </descriptor>

    <!-- Analytics and Reports States -->
    <descriptor id="AnalyticsDashboard" title="Analytics Dashboard" tag="analytics instructor-tools">
        <descriptor href="#analytics"/>
        <descriptor href="#student"/>
        <descriptor href="#course"/>
        <descriptor href="#goFilterAnalytics"/>
        <descriptor href="#doExportAnalytics"/>
        <descriptor href="#goCourseDetail"/>
    </descriptor>

    <descriptor id="ReportCenter" title="Reporting Center" tag="analytics admin-tools">
        <descriptor href="#report"/>
        <descriptor href="#doGenerateReport"/>
        <descriptor href="#doExportReport"/>
        <descriptor href="#goReportDetail"/>
        <descriptor href="#goHome"/>
    </descriptor>

    <descriptor id="ReportDetail" title="Report Detail Page" tag="analytics admin-tools">
        <descriptor href="#report"/>
        <descriptor href="#doExportReport"/>
        <descriptor href="#goReportCenter"/>
    </descriptor>

    <!-- Accessibility and Settings -->
    <descriptor id="Settings" title="User Settings Page" tag="accessibility user-management">
        <descriptor href="#language"/>
        <descriptor href="#accessibilityFeature"/>
        <descriptor href="#userPreferences"/>
        <descriptor href="#doUpdateSettings"/>
        <descriptor href="#goUserProfile"/>
    </descriptor>

    <!-- States for External Content -->
    <descriptor id="WebinarView" title="Webinar Viewing Page" tag="communication">
        <descriptor href="#webinar"/>
        <descriptor href="#goWebinarDetail"/>
    </descriptor>

    <descriptor id="RecordingView" title="Recording Viewing Page" tag="communication">
        <descriptor href="#webinarRecording"/>
        <descriptor href="#goWebinarDetail"/>
    </descriptor>

    <descriptor id="MobileAccess" title="Mobile Application State" tag="mobile-access">
        <descriptor href="#course"/>
        <descriptor href="#notification"/>
        <descriptor href="#offlineContent"/>
        <descriptor href="#doDownloadContent"/>
        <descriptor href="#doEnableNotifications"/>
        <descriptor href="#goHome"/>
        <descriptor href="#goCourseList"/>
        <descriptor href="#goEnrolledCourses"/>
    </descriptor>

    <!-- SECTION 3: STATE TRANSITIONS (CHOREOGRAPHY) -->

    <!-- Authentication Transitions -->
    <descriptor id="doLogin" type="unsafe" title="Login to System" rt="#Home"/>

    <descriptor id="doRegister" type="unsafe" title="Register New User" rt="#Login">
        <descriptor href="#userName"/>
        <descriptor href="#userEmail"/>
        <descriptor href="#userPassword"/>
        <descriptor href="#userRole"/>
    </descriptor>

    <descriptor id="doResetPassword" type="unsafe" title="Reset Password" rt="#Login">
        <descriptor href="#userEmail"/>
    </descriptor>

    <descriptor id="doLogout" type="idempotent" title="Logout from System" rt="#Login"/>

    <!-- Navigation Transitions -->
    <descriptor id="goHome" type="safe" title="Go to Home Page" rt="#Home"/>

    <descriptor id="goLogin" type="safe" title="Go to Login Page" rt="#Login"/>

    <descriptor id="goRegister" type="safe" title="Go to Registration Page" rt="#Register"/>

    <descriptor id="goSettings" type="safe" title="Go to Settings Page" rt="#Settings"/>

    <descriptor id="goReportCenter" type="safe" title="Go to Report Center" rt="#ReportCenter"/>

    <descriptor id="goProgressDashboard" type="safe" title="Go to Progress Dashboard" rt="#ProgressDashboard"/>

    <descriptor id="goAnalyticsDashboard" type="safe" title="Go to Analytics Dashboard" rt="#AnalyticsDashboard"/>

    <descriptor id="goAnnouncementCreation" type="safe" title="Go to Announcement Creation" rt="#AnnouncementCreation"/>

    <descriptor id="goGradebook" type="safe" title="Go to Gradebook" rt="#Gradebook"/>

    <descriptor id="goReportDetail" type="safe" title="Go to Report Detail" rt="#ReportDetail">
        <descriptor href="#reportId"/>
    </descriptor>

    <descriptor id="goUserProfile" type="safe" title="View User Profile" rt="#UserProfile"/>

    <descriptor id="goUserList" type="safe" title="View User List" rt="#UserList"/>

    <descriptor id="goUserDetail" type="safe" title="View User Details" rt="#UserDetail">
        <descriptor href="#userId"/>
    </descriptor>

    <descriptor id="goCourseList" type="safe" title="View Course List" rt="#CourseList"/>

    <descriptor id="goCourseDetail" type="safe" title="View Course Details" rt="#CourseDetail">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="goCreateCourse" type="safe" title="Go to Course Creation" rt="#CourseCreation"/>

    <descriptor id="goEditCourse" type="safe" title="Go to Course Edit" rt="#CourseEdit">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="goModuleList" type="safe" title="View Module List" rt="#ModuleList">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="goModuleDetail" type="safe" title="View Module Details" rt="#ModuleDetail">
        <descriptor href="#moduleId"/>
    </descriptor>

    <descriptor id="goCreateContent" type="safe" title="Go to Content Creation" rt="#ContentCreation"/>

    <descriptor id="goContentDetail" type="safe" title="View Content Details" rt="#ContentDetail">
        <descriptor href="#contentId"/>
    </descriptor>

    <descriptor id="goEnrolledCourses" type="safe" title="View Enrolled Courses" rt="#EnrolledCourses"/>

    <descriptor id="goAssignmentList" type="safe" title="View Assignment List" rt="#AssignmentList">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="goCreateAssignment" type="safe" title="Go to Assignment Creation" rt="#AssignmentCreation"/>

    <descriptor id="goAssignmentDetail" type="safe" title="View Assignment Details" rt="#AssignmentDetail">
        <descriptor href="#assignmentId"/>
    </descriptor>

    <descriptor id="goSubmissionList" type="safe" title="View Submission List" rt="#SubmissionList">
        <descriptor href="#assignmentId"/>
    </descriptor>

    <descriptor id="goSubmissionDetail" type="safe" title="View Submission Details" rt="#SubmissionDetail">
        <descriptor href="#submissionId"/>
    </descriptor>

    <descriptor id="goDiscussionList" type="safe" title="View Discussion List" rt="#DiscussionList">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="goDiscussionDetail" type="safe" title="View Discussion Details" rt="#DiscussionDetail">
        <descriptor href="#discussionId"/>
    </descriptor>

    <descriptor id="goCreateDiscussion" type="safe" title="Go to Discussion Creation" rt="#DiscussionDetail"/>

    <descriptor id="goMessageCenter" type="safe" title="Go to Message Center" rt="#MessageCenter"/>

    <descriptor id="goCreateMessage" type="safe" title="Go to Create Message" rt="#MessageDetail"/>

    <descriptor id="goMessageDetail" type="safe" title="View Message Details" rt="#MessageDetail">
        <descriptor href="#messageId"/>
    </descriptor>

    <descriptor id="goGroupManagement" type="safe" title="Go to Group Management" rt="#GroupManagement">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="goGroupDetail" type="safe" title="View Group Details" rt="#GroupDetail">
        <descriptor href="#groupId"/>
    </descriptor>

    <descriptor id="goWebinarSchedule" type="safe" title="View Webinar Schedule" rt="#WebinarSchedule">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="goWebinarDetail" type="safe" title="View Webinar Details" rt="#WebinarDetail">
        <descriptor href="#webinarId"/>
    </descriptor>

    <descriptor id="goNotifications" type="safe" title="View Notifications" rt="#MessageCenter"/>

    <descriptor id="goClassProgress" type="safe" title="View Class Progress" rt="#ClassProgress">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="goStudentProgress" type="safe" title="View Student Progress" rt="#StudentProgress">
        <descriptor href="#courseId"/>
        <descriptor href="#userId"/>
    </descriptor>

    <!-- Course Management Transitions -->
    <descriptor id="doCreateCourse" type="unsafe" title="Create New Course" rt="#CourseDetail">
        <descriptor href="#courseTitle"/>
        <descriptor href="#courseDescription"/>
        <descriptor href="#courseCategory"/>
        <descriptor href="#startDate"/>
        <descriptor href="#endDate"/>
        <descriptor href="#enrollmentCapacity"/>
        <descriptor href="#difficultyLevel"/>
    </descriptor>

    <descriptor id="doUpdateCourse" type="idempotent" title="Update Course" rt="#CourseDetail">
        <descriptor href="#courseId"/>
        <descriptor href="#courseTitle"/>
        <descriptor href="#courseDescription"/>
        <descriptor href="#courseCategory"/>
        <descriptor href="#startDate"/>
        <descriptor href="#endDate"/>
        <descriptor href="#enrollmentCapacity"/>
        <descriptor href="#difficultyLevel"/>
    </descriptor>

    <descriptor id="doDeleteCourse" type="idempotent" title="Delete Course" rt="#CourseList">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="doCreateModule" type="unsafe" title="Create Course Module" rt="#ModuleDetail">
        <descriptor href="#courseId"/>
        <descriptor href="#moduleTitle"/>
        <descriptor href="#moduleDescription"/>
        <descriptor href="#moduleOrder"/>
    </descriptor>

    <descriptor id="doUpdateModule" type="idempotent" title="Update Module" rt="#ModuleDetail">
        <descriptor href="#moduleId"/>
        <descriptor href="#moduleTitle"/>
        <descriptor href="#moduleDescription"/>
        <descriptor href="#moduleOrder"/>
    </descriptor>

    <descriptor id="doDeleteModule" type="idempotent" title="Delete Module" rt="#ModuleList">
        <descriptor href="#moduleId"/>
    </descriptor>

    <descriptor id="doCreateContent" type="unsafe" title="Create Content" rt="#ContentDetail">
        <descriptor href="#moduleId"/>
        <descriptor href="#contentTitle"/>
        <descriptor href="#contentDescription"/>
        <descriptor href="#contentType"/>
        <descriptor href="#contentData"/>
        <descriptor href="#contentAccessibility"/>
    </descriptor>

    <descriptor id="doUpdateContent" type="idempotent" title="Update Content" rt="#ContentDetail">
        <descriptor href="#contentId"/>
        <descriptor href="#contentTitle"/>
        <descriptor href="#contentDescription"/>
        <descriptor href="#contentType"/>
        <descriptor href="#contentData"/>
        <descriptor href="#contentAccessibility"/>
    </descriptor>

    <descriptor id="doDeleteContent" type="idempotent" title="Delete Content" rt="#ModuleDetail">
        <descriptor href="#contentId"/>
    </descriptor>

    <descriptor id="doSaveDraftCourse" type="idempotent" title="Save Course as Draft" rt="#CourseEdit"/>

    <descriptor id="doSaveDraftContent" type="idempotent" title="Save Content as Draft" rt="#ContentCreation"/>

    <descriptor id="goPreviewContent" type="safe" title="Preview Content" rt="#ContentDetail">
        <descriptor href="#contentId"/>
    </descriptor>

    <descriptor id="doPublishCourse" type="idempotent" title="Publish Course" rt="#CourseDetail">
        <descriptor href="#courseId"/>
    </descriptor>

    <!-- Enrollment Transitions -->
    <descriptor id="doEnrollCourse" type="unsafe" title="Enroll in Course" rt="#EnrolledCourses">
        <descriptor href="#courseId"/>
        <descriptor href="#userId"/>
    </descriptor>

    <descriptor id="doUnenrollCourse" type="idempotent" title="Unenroll from Course" rt="#EnrolledCourses">
        <descriptor href="#courseId"/>
        <descriptor href="#userId"/>
    </descriptor>

    <descriptor id="doExtendDeadline" type="idempotent" title="Extend Deadline" rt="#StudentProgress">
        <descriptor href="#courseId"/>
        <descriptor href="#userId"/>
        <descriptor href="#endDate"/>
    </descriptor>

    <!-- Assignment Transitions -->
    <descriptor id="doCreateAssignment" type="unsafe" title="Create Assignment" rt="#AssignmentDetail">
        <descriptor href="#courseId"/>
        <descriptor href="#assignmentTitle"/>
        <descriptor href="#assignmentDescription"/>
        <descriptor href="#assignmentType"/>
        <descriptor href="#dueDate"/>
        <descriptor href="#maxScore"/>
    </descriptor>

    <descriptor id="doUpdateAssignment" type="idempotent" title="Update Assignment" rt="#AssignmentDetail">
        <descriptor href="#assignmentId"/>
        <descriptor href="#assignmentTitle"/>
        <descriptor href="#assignmentDescription"/>
        <descriptor href="#assignmentType"/>
        <descriptor href="#dueDate"/>
        <descriptor href="#maxScore"/>
    </descriptor>

    <descriptor id="doDeleteAssignment" type="idempotent" title="Delete Assignment" rt="#AssignmentList">
        <descriptor href="#assignmentId"/>
    </descriptor>

    <descriptor id="doCreateRubric" type="unsafe" title="Create Grading Rubric" rt="#AssignmentDetail">
        <descriptor href="#assignmentId"/>
        <descriptor href="#rubricTitle"/>
        <descriptor href="#rubricCriteria"/>
    </descriptor>

    <descriptor id="doSubmitAssignment" type="unsafe" title="Submit Assignment" rt="#AssignmentDetail">
        <descriptor href="#assignmentId"/>
        <descriptor href="#submissionContent"/>
    </descriptor>

    <descriptor id="doGradeSubmission" type="idempotent" title="Grade Submission" rt="#SubmissionDetail">
        <descriptor href="#submissionId"/>
        <descriptor href="#gradeValue"/>
        <descriptor href="#feedback"/>
    </descriptor>

    <descriptor id="doProvideFeedback" type="idempotent" title="Provide Feedback" rt="#SubmissionDetail">
        <descriptor href="#submissionId"/>
        <descriptor href="#feedback"/>
    </descriptor>

    <descriptor id="doExportGrades" type="idempotent" title="Export Grades" rt="#Gradebook">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="doCalculateOverallGrades" type="safe" title="Calculate Overall Grades" rt="#Gradebook">
        <descriptor href="#courseId"/>
    </descriptor>

    <!-- Communication Transitions -->
    <descriptor id="doCreateDiscussion" type="unsafe" title="Create Discussion" rt="#DiscussionDetail">
        <descriptor href="#courseId"/>
        <descriptor href="#discussionTitle"/>
        <descriptor href="#discussionDescription"/>
    </descriptor>

    <descriptor id="doCreatePost" type="unsafe" title="Create Discussion Post" rt="#DiscussionDetail">
        <descriptor href="#discussionId"/>
        <descriptor href="#postContent"/>
    </descriptor>

    <descriptor id="doReplyToPost" type="unsafe" title="Reply to Post" rt="#DiscussionDetail">
        <descriptor href="#postId"/>
        <descriptor href="#postContent"/>
    </descriptor>

    <descriptor id="doCreateAnnouncement" type="unsafe" title="Create Announcement" rt="#CourseDetail">
        <descriptor href="#courseId"/>
        <descriptor href="#notificationContent"/>
    </descriptor>

    <descriptor id="doReplyToMessage" type="unsafe" title="Reply to Message" rt="#MessageDetail">
        <descriptor href="#messageId"/>
        <descriptor href="#messageContent"/>
    </descriptor>

    <descriptor id="doAttachFile" type="unsafe" title="Attach File to Message" rt="#MessageDetail">
        <descriptor href="#messageId"/>
        <descriptor href="#messageAttachments"/>
    </descriptor>

    <descriptor id="doCreateGroup" type="unsafe" title="Create Student Group" rt="#GroupDetail">
        <descriptor href="#courseId"/>
        <descriptor href="#groupName"/>
        <descriptor href="#groupMembers"/>
    </descriptor>

    <descriptor id="doUpdateGroup" type="idempotent" title="Update Group" rt="#GroupDetail">
        <descriptor href="#groupId"/>
        <descriptor href="#groupName"/>
    </descriptor>

    <descriptor id="doDeleteGroup" type="idempotent" title="Delete Group" rt="#GroupManagement">
        <descriptor href="#groupId"/>
    </descriptor>

    <descriptor id="doAddGroupMember" type="unsafe" title="Add Group Member" rt="#GroupDetail">
        <descriptor href="#groupId"/>
        <descriptor href="#userId"/>
    </descriptor>

    <descriptor id="doRemoveGroupMember" type="idempotent" title="Remove Group Member" rt="#GroupDetail">
        <descriptor href="#groupId"/>
        <descriptor href="#userId"/>
    </descriptor>

    <descriptor id="doCreateWebinar" type="unsafe" title="Create Webinar" rt="#WebinarDetail">
        <descriptor href="#courseId"/>
        <descriptor href="#webinarTitle"/>
        <descriptor href="#webinarDescription"/>
        <descriptor href="#webinarDate"/>
        <descriptor href="#webinarDuration"/>
        <descriptor href="#webinarUrl"/>
    </descriptor>

    <descriptor id="doUpdateWebinar" type="idempotent" title="Update Webinar" rt="#WebinarDetail">
        <descriptor href="#webinarId"/>
        <descriptor href="#webinarTitle"/>
        <descriptor href="#webinarDescription"/>
        <descriptor href="#webinarDate"/>
        <descriptor href="#webinarDuration"/>
        <descriptor href="#webinarUrl"/>
    </descriptor>

    <descriptor id="doDeleteWebinar" type="idempotent" title="Delete Webinar" rt="#WebinarSchedule">
        <descriptor href="#webinarId"/>
    </descriptor>

    <descriptor id="doJoinWebinar" type="idempotent" title="Join Webinar" rt="#WebinarView">
        <descriptor href="#webinarId"/>
        <descriptor href="#webinarUrl"/>
    </descriptor>

    <descriptor id="goViewRecording" type="safe" title="View Webinar Recording" rt="#RecordingView">
        <descriptor href="#webinarId"/>
        <descriptor href="#webinarRecording"/>
    </descriptor>

    <!-- Analytics Transitions -->
    <descriptor id="goFilterAnalytics" type="safe" title="Filter Analytics Data" rt="#AnalyticsDashboard">
        <descriptor href="#courseId"/>
        <descriptor href="#startDate"/>
        <descriptor href="#endDate"/>
    </descriptor>

    <descriptor id="doExportAnalytics" type="idempotent" title="Export Analytics Data" rt="#AnalyticsDashboard">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="doGenerateReport" type="unsafe" title="Generate System Report" rt="#ReportDetail">
        <descriptor href="#reportTitle"/>
        <descriptor href="#reportType"/>
        <descriptor href="#startDate"/>
        <descriptor href="#endDate"/>
    </descriptor>

    <descriptor id="doExportReport" type="idempotent" title="Export Report Data" rt="#ReportDetail">
        <descriptor href="#reportId"/>
    </descriptor>

    <!-- Filter Transitions -->
    <descriptor id="goFilterCourses" type="safe" title="Filter Course List" rt="#CourseList">
        <descriptor href="#courseCategory"/>
        <descriptor href="#instructor"/>
        <descriptor href="#courseStatus"/>
    </descriptor>

    <descriptor id="goFilterStudents" type="safe" title="Filter Student List" rt="#ClassProgress">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="goFilterAssignments" type="safe" title="Filter Assignment List" rt="#AssignmentList">
        <descriptor href="#courseId"/>
        <descriptor href="#dueDate"/>
    </descriptor>

    <descriptor id="goFilterSubmissions" type="safe" title="Filter Submission List" rt="#SubmissionList">
        <descriptor href="#assignmentId"/>
        <descriptor href="#submissionStatus"/>
    </descriptor>

    <descriptor id="goFilterDiscussions" type="safe" title="Filter Discussion List" rt="#DiscussionList">
        <descriptor href="#courseId"/>
    </descriptor>

    <descriptor id="goFilterMessages" type="safe" title="Filter Messages" rt="#MessageCenter">
        <descriptor href="#messageSender"/>
        <descriptor href="#messageDate"/>
    </descriptor>

    <!-- User Management Transitions -->
    <descriptor id="doUpdateProfile" type="idempotent" title="Update User Profile" rt="#UserProfile">
        <descriptor href="#userName"/>
        <descriptor href="#userEmail"/>
        <descriptor href="#userPassword"/>
        <descriptor href="#userPreferences"/>
    </descriptor>

    <descriptor id="doCreateUser" type="unsafe" title="Create User" rt="#UserDetail">
        <descriptor href="#userName"/>
        <descriptor href="#userEmail"/>
        <descriptor href="#userPassword"/>
        <descriptor href="#userRole"/>
    </descriptor>

    <descriptor id="doUpdateUser" type="idempotent" title="Update User" rt="#UserDetail">
        <descriptor href="#userId"/>
        <descriptor href="#userName"/>
        <descriptor href="#userEmail"/>
        <descriptor href="#userRole"/>
        <descriptor href="#adminPermissions"/>
    </descriptor>

    <descriptor id="doDeleteUser" type="idempotent" title="Delete User" rt="#UserList">
        <descriptor href="#userId"/>
    </descriptor>

    <!-- Settings Transitions -->
    <descriptor id="doUpdateSettings" type="idempotent" title="Update Settings" rt="#Settings">
        <descriptor href="#language"/>
        <descriptor href="#accessibilityFeature"/>
        <descriptor href="#userPreferences"/>
    </descriptor>

    <!-- Mobile Transitions -->
    <descriptor id="doDownloadContent" type="unsafe" title="Download Content for Offline Access" rt="#MobileAccess">
        <descriptor href="#contentId"/>
    </descriptor>

    <descriptor id="doEnableNotifications" type="idempotent" title="Enable Mobile Notifications" rt="#MobileAccess"/>

</alps>