I. Inventory and Documentation
Summary of tools/technologies used:
a) database
postgres
b) backend
Python, Django, graphQL
c) frontend
React JS
d) dockerized distribution and external components:
https://github.com/openimis/openimis-dist_dkr/tree/coremisSetup
openFN lightning (https://github.com/openimis/openimis-lightning_dkr )
OpenSearch
OpenSearch Dashboards
Summary of the documentation:
a) Backend
for assembly https://github.com/openimis/openimis-be_py/tree/coreMIS
for coreMIS modules Developers documentation: see backend modules (be)
b) Frontend
for assembly https://github.com/openimis/openimis-fe_js/tree/coreMIS
for coreMIS modules Developers documentation: see frontend modules (fe)
c) Database
https://github.com/openimis/openimis-dist_dkr - postgres container (db)
d) dockerized distribution and external components
https://github.com/openimis/openimis-dist_dkr - setup openIMIS dockerized distribution
e) Documentation on Confluence page:
http://README.md sections of all modules presented in coreMIS package
Task based update - technical details (CORE-MIS) - tasks management module maker-checker logic
Payment Funcionality migration strategy - payment modules design
Module mapping module mapping
f) User guides User Guides (CORE-MIS modules):
II. Access Details
Transfer critical system/application logins.
a) coreMIS demo server - no production data
Login: Admin
Password: admin123
b) coreMIS demo lightning credential - no production data
Login: IMISUser@openimis.com
Password: IMISUserPassword
c) OpenSearch Dashboard demo server
NOTE: You have to log into openIMIS to access OpenSearch due to the nginx configuration.
Update access list post-handover.
Ensure secure credential transfer.
there is no credentials to production instance because currently we do not have any production data
IV. Ongoing tasks and responsibilities
List of the created but not addressed task is also available under this link https://openimis.atlassian.net/jira/software/projects/CM/boards/45/backlog
III. Environment Details
Environments:
a) coreMIS demo server - no production data
URL
Login: Admin
Password: admin123
b) coreMIS demo lightning credential - no production data
Login: IMISUser@openimis.com
Password: IMISUserPassword
c) OpenSearch Dashboard demo server
NOTE: you have to log into openIMIS to access openSearch
Differences
The backend assembly is built based on https://github.com/openimis/openimis-be_py/tree/coreMIS coreMIS branch
The frontend assembly is built based on https://github.com/openimis/openimis-fe_js/tree/coreMIS coreMIS branch
dockerized distribution for coreMIS is available here https://github.com/openimis/openimis-dist_dkr/tree/coremisSetup on coremisSetup branch
Additional coreMIS modules: openimis-fe-payment_cycle, openimis-be-payment-cycle, openimis-be-payroll_py, openimis-fe-payroll_js
The frontend has additional configurations that change the position of the menu and redirect links when clicking the help icon. Here https://github.com/openimis/openimis-fe-core_js#configurations-options you can find more details how to change it (
menuLeft, redirectToCoreMISConfluenceUrl
).coreMIS frontend nginx.conf (openimis.conf) - here, there are additional directives for OpenSearch Dashboards and openFN lightning. https://github.com/openimis/openimis-fe_js/blob/coreMIS/conf/openimis.conf
Deployments
In every module, there is a GitHub workflow (example: https://github.com/openimis/openimis-be-social_protection_py/blob/develop/.github/workflows/core-mis-test-server-deploy.yml ) to execute deployment to the test server once a PR is merged into the develop branch.
You can manually rebuild it on the GitHub Actions page, as shown in the screenshot below (see bold 'CoreMIS Server Deployment job' option):
Access to server and release process
The server is maintained by the SwissTPH team.
The openIMIS has biannual releases, occurring in April and October each year
The release process involves creating branches related to the release (release/<month-year>). Once all the necessary preparations are complete, this branch is merged into the main branch, and the packages for Python and React are created with the appropriate version tags.
The team responsible for maintaining the project is in charge of handling the releases.