This project aims to expand the integration between Moodle LMS and MoodleNet, with the main goal being to facilitate the transfer of content from Moodle LMS into MoodleNet. The key personas in this project will be teachers and site admins.
The key user stories related to the teacher persona are:
- As a teacher, I can "connect" my LMS account to a MoodleNet account, so that it is authorised to share content to MoodleNet.
- As a teacher, I can synchronously share a single activity/resource to MoodleNet as a Moodle backup file, so it is available for others to import into their Moodle courses.
- As a teacher, I can see which MoodleNet site I am sharing to, so I know where my content will be uploaded.
- As a teacher, I will be provided with a link to my draft resource on MoodleNet, so I can complete any additional metadata requirements and publish my resource.
- As a teacher, I will be notified if an attempt to share to MoodleNet fails, so I can take appropriate action.
- As a teacher, while I am waiting for my share to MoodleNet to complete, I will see multiple status updates, so I have a clear indication that the packaging and uploading of my resource is progressing. (Note: This user story is a "nice to have" and will be completed within phase 1 if time allows, but is not critical for the phase 1 MVP to function or land).
The key user stories related to the site admin persona are:
- As a site admin, I can enable or disable teachers' access to share to the MoodleNet site I have configured, so I have control over whether the content is published outside of my LMS.
- As a site admin, I can configure MoodleNet sites as OAuth 2 issuers, so that the issuer sites are available to me when configuring "share to MoodleNet" functionality in my LMS.
- As a site admin, I can set any configured MoodleNet OAuth 2 issuer as the available MoodleNet instance to share to, so it is easy for teachers to authorise their LMS account to share to their account on that MoodleNet instance, and so I can control which MoodleNet instance this is allowed for.
- As a site admin, I can view a log of all content that has been shared (or attempted to be shared) from the LMS instance to MoodleNet, so I can ensure policies and licensing are adhered to.
These admin user stories follow established site administration patterns, so a prototype is not necessary at this stage (UX designers and writers will still be engaged to review the content).
The following milestones are currently beyond the MVP project scope as sprints available will not allow for the work required on both the LMS and MoodleNet sides to be completed in time for LMS 4.2 code freeze / release.
- Ability for teachers to share the contents of a whole course as a Moodle backup file to MoodleNet, so others can import and use the course they have written. (Note: User/student data is not included).
- A "share history" interface for teachers, which allows them to view the history of content they have sent to MoodleNet.
- Support for connecting to multiple MoodleNet instances. In phase 1 it may be possible to configure multiple MoodleNet OAuth2 issuers, however it will only be possible to activate sharing to one.
- More granular control over course sharing (the ability to select/deselect activities).
- The ability for activities/resources to define whether they can be shared as a "link" or an individual "file", rather than a Moodle backup.
- Asynchronous uploads, to allow larger data transfers in the background, so teachers can continue to use the current LMS tab without waiting for a full backup/file to be sent.
- Any updates to the existing implementation of MoodleNet to LMS functionality. This will likely be re-implemented to more closely integrate with the new LMS to MoodleNet functionality in a later release.