product-backlog
product-backlog copied to clipboard
Share Annotations Between Sections (Back-End)
Rough plan of technical tasks we'd need in the backend for share annotations:
- [ ] Expose the group where shared annotations would go in segmented annotations.
We could return the group in either:
- A new configuration returned in the "JSConfig" object
- As part of the configuration of the "sync API". The sync API indicates that the list of groups needs to be fetched from an endpoint and it's only used in segmented assignments. Add a new key with the shared group there.
- As a result of the call to the sync API itself.
"New group" here will most likely be the existing "course group". It would be now exposed on segmented assignments.
-
[ ] Options for permission on these "shared" groups. Can we stop students posting in the group using API permissions?
-
[ ] Ability to send, as part of the annotations metadata (stored in annotation.extra?) the fact that an annotations is "shared".
In addition to this do a spike on the possibility to include LMS-centric metadata using the same mechanism (course, assignment, organization?).
- [ ] Check current behavior when multiple groups are used to fetch annotations in H.
We think this might be broken and a fix was reverted as part of the work done for the Noodle integration.
Is this necessary at all? It might more useful to fetch annotations from the different groups independently. The shared group ones are needed in all cases but the "segment" ones will need to be fetched independently as the instructor changes groups in the drop down.
Student will fetch annotations from the shared group + their own segment but doing this in one API call sound more like a performance improvement rather than a required functionally.
- [ ] Check current behavior in H with replies/threading with different groups
- [ ] Add the ability to H's API to move annotations between groups
This could be either extending the current PATCH functionality to support this or creating a new endpoint.