How to make a global Widget that functions based on the current course?
The following specific issue is an example of a more general one we're facing:
We have several small features (widgets, intelligent agents, possibly others) that we'd like to add to many courses all at once, and manage the feature as a single entity rather than go into each course one by one. But they need to function based on the user's status in each course (role, unit completion, etc), not their global status.
Is there a way to do that?
A global widget was created at the organization level (id=6606) with a message to let students know when their access expires within an org unit course offering (e.g., “Notification of status change: your status within Course X has expired…”). It has one conditional release:
· Enrolled in current org unit as the role: Expired
This global widget is then placed on a shared course homepage that is also created and managed at the organization level.
Within the course offerings that are using the shared course homepage, the widget is active but hidden from learners that don’t meet the release conditions.
Desired behavior: Because the release condition specifies the current org unit, we expect it to read the role of the user within a specific org unit and release the message when the role is changed to Expired within that course offering.
Actual behavior: The widget is reading the role of the user at the organization level (6606) and will only release if the learner role is switched at the org level, not within the specific course offering. The learners may be enrolled in multiple courses and would never get the message since they would not be given a role of ‘Expired’ at the org level.
Ramifications: Since the widget is only reading roles at the org level and not at the course offering level, we would need to create and manage both a unique widget and a unique homepage at the course offering level to get this message to work correctly. We would lose the ability to manage both the widget and the course homepage at a global level.