Handover
I. Inventory and Documentation
1. 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 (GitHub - openimis/openimis-lightning_dkr: Dockerized instance of Lightning with demo workflow for openIMIS Individual ETL )
OpenSearch
OpenSearch Dashboards
Summary of the documentation:
a) Backend
for assembly GitHub - openimis/openimis-be_py at coreMIS
for coreMIS modules Developers documentation: see backend modules (be)
b) Frontend
for assembly GitHub - openimis/openimis-fe_js at coreMIS
for coreMIS modules Developers documentation: see frontend modules (fe)
c) Database
GitHub - openimis/openimis-dist_dkr: The "all in one" packaged openIMIS (docker-compose) - postgres container (db)
d) dockerized distribution and external components
GitHub - openimis/openimis-dist_dkr: The "all in one" packaged openIMIS (docker-compose) - setup openIMIS dockerized distribution
https://github.com/openimis/openimis-dist_dkr/tree/coremisSetup#openfnlightning-setup - openFn Lightning setup
https://github.com/openimis/openimis-dist_dkr/tree/coremisSetup#opensearchopensearch-dashboards-setup - openSearch/OpenSearch Dashboard setup
e) Documentation on Confluence page:
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):
https://openimis.atlassian.net/wiki/spaces/OP/pages/3579838492
https://openimis.atlassian.net/wiki/spaces/OP/pages/3579838532
https://openimis.atlassian.net/wiki/spaces/OP/pages/3596812301
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 responbilities
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
Document in-progress tasks.
Issue Summary | Issue ID | Status |
---|---|---|
Added synchronization with OpenSearch during openFn ligthning workflow to upload Beneficiary | Backlog | |
Deleted task groups are visible in task view | Backlog | |
Error while opening benefit plan update task detailed view | Backlog | |
[Payroll] Change 'included unpaid' checkbox colour + typo | Backlog | |
Error after creating payroll | Backlog | |
Configure the application for development purposes | On hold | |
Create endpoint for changing the password | On hold | |
Create endpoint for Sync reconciliation and close payroll | On hold | |
Create endpoint for List of recent disbursements | On hold | |
Create endpoint for Fetching list of Geo Data Point for Payroll | On hold | |
Create endpoint for fetching payrolls for PPM | On hold | |
Create dashboard endpoint | On hold | |
Authorization and login endpoint for Mobile App | On hold | |
Apply keeping the search criteria when going back to the results | Backlog | |
Move Advanced filter form (json_ext) to core module | Backlog | |
When approving/failing task, journalize the action. | Backlog | |
Show approvement panel after save in Task | Backlog | |
Create service with endpoint for uploading proof of payment | Backlog | |
Payment adaptor integration | Backlog | |
Improve process of attaching bills into payrols while creating payroll | Backlog | |
Error when filtering by date | Backlog | |
Change the sort order when adding new tasks | Backlog | |
Implement workflow categories (groups) | Backlog | |
Create user guideline | Backlog | |
Update Payments technical documentation to be up to date | Backlog | |
Add High-Level Functional Module Descriptions | Backlog | |
Verify if all repositories have up-to-date README.md with the current code status | Backlog | |
User can't create new Payment plan | Backlog | |
Add Payment Point Manager role | On hold | |
Integrate openIMIS accounts with openSearch perimissions | Backlog | |
TextInput losses focus after fetch | Backlog | |
Add configurable fields for payment point reconciliation definition | Backlog | |
Add reconciliation method to the Payment Point | Backlog | |
Add payrolls | Backlog | |
Override bulk_create of HistoryModel | Backlog | |
Add date range to search criteria | On hold | |
Error handling and display after executing upload on BenefitPlan page | Backlog | |
Improvements in custom filter related to UI aspects | Backlog | |
Improvements in custom filter logic | Backlog | |
Add maker-checker logic for PaymentPoints in PaymentPlans | Backlog | |
Issue with Custom Filter when select None in integer type | Backlog | |
Add maker-checker logic for PaymentCycle | Backlog | |
Adjust CalculationRule to handle not collected payments | On hold | |
Parameter in export function causes an error despite being in schema | Backlog | |
Create generic solution for sorting feature | Backlog | |
Block/secure the possibility of removing the individuals with relations | Backlog | |
Frontend - Add changes on Social Protection entities to handle data updates | On hold | |
Backend - implement the backend mechanizm based on task model | Backlog | |
Add possibility to collapse search functionality | Backlog | |
Add deleted benefit plans to validations | Backlog | |
Attach location information to the groups | On hold | |
Fix frontend CI | Backlog | |
Develop custom filter creator for Individual Data Storage | Backlog | |
BE - BenefitPlan - Financing methods | Backlog | |
BE - BenefitPlan - Filters to determine potential beneficiaries | Backlog | |
Allows configuration of alerts to flag beneficiary details when events are triggered | On hold |
Document recurrent or routine tasks
No reccurent or routine tasks were spotted during the development.
Identify unfinished tasks for the next tender.
Unfinished tasks are described above. However, there are several major things that surely need to be included in the next tender:
Integration with Mobile App
On-site payment
Goods Disbursement
Grievance Module
OpenSearch roles
Payroll Creation for Ad-hoc payment with CSV Upload
Payrolls for Payment Point Manager Reconciliation
Manual CSV/Excel File reconciliation
Payment History
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 GitHub - openimis/openimis-be_py at coreMIS coreMIS branch
The frontend assembly is built based on GitHub - openimis/openimis-fe_js at 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
regarding data structure - https://openimis.atlassian.net/wiki/spaces/OP/pages/3586981889 here you can find more details how it is managed now and how it could look in next project phases
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.
Did you encounter a problem or do you have a suggestion?
Please contact our Service Desk
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/