Profile Portability
Building upon the ideas in #304, if approach 1 (separate instances) is used by any clubs at all, members should be able to move their profiles between instances. This should initially be a manual process, but in some circumstances should be an automated process to sync the profile between instances either via cron jobs or webhooks.
Things that should be ported:
- Member profile
- Qualifications/SDCs
- Completed lessons
Initial issues spotted:
- Self qualifying
In some clubs the DB is regarded as the one true source of information, in theory a member could spin up their own instance, mark their own qualifications/lessons as an admin then sync these in. If this was a manual process it would be trivial to spoof this in a text file.- Severity: High
- Possibile resolutions:
- Approval of imports by DO (with notification)
- Some form of signature system
- Unknown users in completed lessons
The instructor completing lessons from the sending club may be unknown to the receiving club.- Severity: Low
- Possible resolutions:
- Import instructor purely by membership number/instructor number
- Use a dummy "external user" account/null
- Unsynchronised schema/metadata
Whilst schema changes would be generally interchangeable between versions, metadata about lesson plans may differ, especially in the case of the ongoing DTP review and preview clubs who get access before hand.- Severity: Low
- Possible resolutions:
- Use a lesson UUID that is shared as part of the standard distro. If these don't match, flag up for manual review.