Sync Student Dashboard course status to student's enrollment analytics

Problem statement:

I realized that if a student's account got deactivated on the Canvas side, this reflects on the Student Dashboard but not in the Catalog Enrollment Analytics. The student dashboard will display the course status as "This course has been dropped" and the student can no longer access the course. However, the analytics for the user's enrollment in this course shows as Active still. Currently, one way to make sure Canvas enrollment is the same in Catalog is to enable the button for "Sync Canvas enrollment to Catalog". We do not have this enabled because our user's Registrar course will also end up displaying on Catalog's student dashboard. There needs to be a way for the Analytics to display that the user has dropped their course if in their student dashboard the course says it has been dropped. Our subcatalog admins' process is to deactivate the user in the Canvas course if the user is given a refund. The only option in Catalog is to direct the students to drop the course themselves, and it is preferable that admins have this control instead. Current process shows as: 1. "Sync Canvas enrollment to Catalog" is set to OFF/Disabled. 2. User requests for refund of Catalog course. 3. Admin deactivates user in People page. 4. User's Catalog Student Dashboard shows course has been dropped. 5. Enrollment analytics for user and the course shows as "Active".

Proposed solution:

If the "Sync Canvas enrollment to Catalog" is not enabled and cannot be enabled, the Catalog Student Dashboard and Enrollment Analytics should still reflect the same status. This will allow correct data of that user's enrollment to display in the Enrollment Analytics. A more correct process is: 1. "Sync Canvas enrollment to Catalog" is set to OFF/Disabled. 2. User requests for refund of Catalog course. 3. Admin deactivates user in People page. 4. User's Catalog Student Dashboard shows course has been dropped. 5. Enrollment analytics for user and the course shows as 'Dropped".

User role(s):

admin