A student should be able to collect articles across languages and projectsCurrently, the dashboard assumes that everything is happening on a single wiki. Add fields to article records which make the wiki explicit. We can't assume a "home" wikiWe will continue to default to {language}wiki during this first step.
Assignments, articles, and revisions will have a 1-to-1 association with a target wiki. User and course are more complicated and we need to do design work. These might benefit from a many-to-many relationship with wikis, through a polymorphic link tableThis task is complete when article records include a pointer to the wiki they belong to.
I'm doing this work in phasesAssignments, articles, which can each be deployed separately and should give us some runway in the event we have to rollback.
* Introduce Wiki table and new columns, and keep them up to date with a minimum of code changes.
* All code that uses onwiki IDs should be refactored to read from the native_id columns.
* Stop syncing the primary key with native IDsand revisions will have a 1-to-1 association with a target wiki.
User and course are more complicated and we need to do design work. These might benefit from a many-to-many relationship with wikis, through a polymorphic link table.
This is the first of several phases of work, let them autoincrementwhich can each be deployed separately and should give us some runway in the event we have to rollback.