Main Changes
The dashboard will use a deployments system to allow for different data to be used within different versions of the app. This includes separation across countries, as well as specific variations within a county (e.g. extension app, farmer app)
This PR adds a backend database schema to store these app deployments, and frontend UI to select from the dashboard and view a list of all deployments on the server level.
There is still quite a lot of work to go to implement a full deployment system, this PR is more just to lay some ground work. Next updates should include:
Additional changes
Update how storgage objects are referenced and displayed, tracking storage objects by their path names instead of uniquely generated ids. This should make it easier in the future to migrate or backup storage, as reference remain unchanged even if objects are deleted and then added back
Next TODOs
[ ] Integrate new deployments system into app country select
[ ] Add new deployments from UI
[ ] Edit deployments
[ ] Restrict data viewable to a specific deployment
[ ] Restrict which users can access specific deployments
Discussion
With the current design there is no limitation on the number of deployments, or how they are used. For example it would be possible to have multiple extension-facing deployments within a single country if wanting to share different information with different groups (e.g. implementation-partner specific), just as it is possible to include global versions focused on specific user groups (e.g. funder demos). Would be good to check this satisfies requirements and whether there might be any additional considerations to take into account. See more notes in Google Doc
Currently the deployments are groupd for display purposes as 'extension' , 'farmer' and 'other'. Are there any other audience groups we may want to consider (or better word for 'other')?
I've added placeholders for future support for deployments that can only be accessed with a password, as well as deployments that would be hidden from view in the app. Again would be good to clarify if we have use-cases for these at this point in time and whether to continue development in that direction
Description
Main Changes The dashboard will use a deployments system to allow for different data to be used within different versions of the app. This includes separation across countries, as well as specific variations within a county (e.g. extension app, farmer app)
This PR adds a backend database schema to store these app deployments, and frontend UI to select from the dashboard and view a list of all deployments on the server level.
There is still quite a lot of work to go to implement a full deployment system, this PR is more just to lay some ground work. Next updates should include:
Additional changes Update how storgage objects are referenced and displayed, tracking storage objects by their path names instead of uniquely generated ids. This should make it easier in the future to migrate or backup storage, as reference remain unchanged even if objects are deleted and then added back
Next TODOs
Discussion
With the current design there is no limitation on the number of deployments, or how they are used. For example it would be possible to have multiple extension-facing deployments within a single country if wanting to share different information with different groups (e.g. implementation-partner specific), just as it is possible to include global versions focused on specific user groups (e.g. funder demos). Would be good to check this satisfies requirements and whether there might be any additional considerations to take into account. See more notes in Google Doc
Currently the deployments are groupd for display purposes as 'extension' , 'farmer' and 'other'. Are there any other audience groups we may want to consider (or better word for 'other')?
I've added placeholders for future support for deployments that can only be accessed with a password, as well as deployments that would be hidden from view in the app. Again would be good to clarify if we have use-cases for these at this point in time and whether to continue development in that direction
Preview
Link to app preview if relevant
Screenshots / Videos
PICSA Dashboard (1).webm