This JIRA will be used for a pull request that does two things:
- Add support for Samigo
- Place all database updates in transactions, in order to make sure that they are committed.
The work for these was done together, so there's no safe way to separate them into different Jiras.
- Lessons uses groups for access control. I don't currently take that into account here. I believe the correct behavior is to show the group membership set by the instructor, even if Lessons has used its own group. That will require use of a Lessons API. I haven't done that yet. It should also be done for Assignments. The current plan is to use a separate Jira, and modify both Samigo and Assignment.
- Samigo currently seems to generate calendar events whenever an assessment is published, and updates them when it changes. For that reason my dashboard support doesn't generate calendar events. I'm worried about creating duplicate events. However there's a problem: When a student is added to a class, they don't get a copy of any existing calendar notifications. If we did calendar events in the dashboard support, they would. But that would result in duplicate events for people already in the site. There's no way to win.