Goal
Admin App currently supports a single target ODS instance. The goal is to support management of multiple ODS instances in a collaborative scenario, to minimize the need for "home grown" management workarounds in the field, and to exhibit & promote Ed-Fi's recommended approach. Once Admin App has the ability to manage multiple ODS instances, per-user roles and permissions become a vital new concern: users should only be able to access the particular ODS instances they have been assigned to manage.
The reference architecture is Indiana/INSITE as seen in Multi-Instance Reference Architectures:
- One EdFi_Admin
- One EdFi_Security
- One API
- Mulitple ODS databases (ie one per district). "Multiple Instance" refers to these multiple ODS databases behind the single API.
- One Admin App installation, capable of managing all the defined ODS instances.
Solution Considerations
This design should allow for a reasonable degree of developer parallelism, and should allow each planned piece to be developed and merged in a state that could be released at any moment without harm. Although this is to support multi-instance, not all end users find themselves in a multi-instance scenario. The experience for simpler deployment scenarios should not be harmed, but we also need to strive for a singular implementation rather than a sort of "internal fork" of the project. This may change the experience for simple deployment scenarios, so long as that experience is sound.