OpenCRVS - v1.2.0-beta
Pre-releaseIntroduction
OpenCRVS - v1.2.0-beta is a pre-release version and therefore not yet available for migrating from 1.1. The beta is released for public feedback, while it undergoes user acceptance testing. The beta is not to be used in production.
We are now commencing our stable release quality assurance process. A stable version is planned for full public release on January 31st 2023.
Read the release notes!
Draft: v1.1.0 to v1.2.* migration notes - still undergoing testing
Release management as a Digital Public Good - what we have learnt so far
OpenCRVS v1.2.0-beta is to be used in conjunction with a forked country configuration release v1.2.0-beta
This release will be maintained for 6 months by the core development team.
The v1.2.0-beta release includes major architectural upgrades and exciting new features!
__
Major Features
The following explains in more detail each major feature that has been included in this release.
Vital Statistics Export
Composing the "VS" in OpenCRVS, Vital statistics constitute the collection of statistics on vital events pertaining to the population, including relevant characteristics of the events themselves and also of the persons concerned. They are critical for a wide range of government operations, e.g. population register, national identification system, and other administrative registers, and for commercial enterprises (e.g. life insurance and marketing of products).
Our VS Export feature outputs a sharable, yearly report of registration data without Personally Identifiable Information (PII) for consumption by statisticians in programs such as RStudio (Posit).
User Audit
In OpenCRVS v1.0, we introduced Record Audit, displaying the history of every action that has taken place on a registration. In this release, we expand OpenCRVS' audit capability to allow a system administrator to view every action performed by a single staff member in an easy-to-consume display.
Outbox
Processing the submission of applications off-line or in poor connectivity has been visually redesigned into a new browsable Outbox feature. This makes it super easy to tell which applications have not yet synced nationally.
Advanced Search
Utilising the full power of our ElasticSearch engine, registrars can now perform advanced searches; for example, registrars can search all registrations made in a configurable range of districts or states, between date ranges for a given name or gender and much more! View any record, at any time, without needing to perform an action then bookmark your searches. This feature is fully audited and additionally exposed in an API integration!
Configurable Administrative Levels
With OpenCRVS, governments can create administrative offices virtually anywhere, from a deeply nested rural parish or county or in an urban city ward. No matter how many administrative divisions are relevant for your country, you can now import as many as you like using Humdata standards, and the OpenCRVS address structure will automatically compensate.
Integrations
It is now possible for a system administrator to configure OpenCRVS API integrations for external systems, and refresh credentials, within the OpenCRVS user interface. There is no longer any need to set up system clients using Docker commands. It is easy to set up API access to Advanced Search, FHIR standard Health notifications, Webhooks or National ID systems, including MOSIP. We have worked hard with the MOSIP team to ensure that birth and death events seamlessly orchestrate with MOSIP’s National ID generation and expiration functionality. We have included Postman collections in the country configuration repository and will be updating our documentation thoroughly between now and the stable release.
Introducing Minio in OpenCRVS: An AWS S3 compatible OpenSource and locally hosted Object Store
To make best use of server resources and keep OpenCRVS hosting costs down, application attachments are now saved in Minio, a dedicated object storage system with its own admin interface. Minio provisions automatically for you on your locally hosted OpenCRVS infrastructure. Application attachments now have their own unique URL so they can be cached, and can be externally managed away from the rest of the OpenCRVS document data. Minio is compatible with Amazon S3 giving you the flexibility to adapt and use cloud object storage if you wish.
FHIR Location API
The country configuration package has been heavily refactored to remove unnecessary endpoints such as Locations, because you can now use our FHIR API to do this! You can add/amend/archive administrative hierarchy, offices and facilities using a Gateway endpoint. Check out Swagger documentation on the Gateway.
Form configuration improvements
You can now configure a select field in form config by uploading a CSV file, or by selecting existing datasets like states, districts, facilities etc. You can also create a field which conditionally hides or shows based on the value of another field. Any field can be reordered and all field values can be printed on the certificate if you wish.
Breaking changes - core
v1.2.0-beta includes many migrations to support the new features. These migrations run automatically so you do not need to worry.
Breaking changes - country configuration
The country configuration package has been heavily refactored because:
-
We removed unnecessary endpoints now that Locations API is accessible in Core.
-
Now that administrative structure is managed using Humdata standards, the csv import scripts and file
Structure has changed. Previous database backups will still work with OpenCRVS.
Our Farajaland backup users have had their usernames changed like this "kennedy.mweene" is now "k.mweene" etc. This is because when any user is edited in the UI, their username changes to this pattern. Our test users were set up incorrectly before.
All database population and backup scripts now take named parameters.
Many content keys have been created for translation requirements for the new features. These will be documented in these notes for the stable release.
Dependency upgrades
Traffic has been upgraded to v2.8.
Create React App has been replaced with Vite meaning much faster builds and smaller docker images!
What's Changed
- Ocrvs 3747 - Organise components in Storybook, rename display names and deprecate unused ones by @naftis in #3750
- OCRVS-2796: Team link will redirect to assigned office by default by @yeasinhossain-dsi in #3780
- Added confirm alert modal to delete declaration by @favour234 in #3785
- OCRVS 3800 / Fix
<PageHeader>
being 1px too tall by @naftis in #3801 - OCRVS-3820 / Fix incompatible TS types by pinning @types/react version by @naftis in #3822
- Auto-generate shades in colour palette & document Colors and Typography in Storybook by @naftis in #3779
- Move deprecated components to their own section by @naftis in #3825
- OCRVS-3777 / Re-think Layout components and create
<Frame>
by @naftis in #3786 - [1.2.0] Vite Upgrade by @sadmananik in #3703
- OCRVS-3811 - Pagination by @naftis in #3842
- Deploy more logstash and apm-server replicas by @rikukissa in #3784
- OCRVS-3809 /
<Workqueue>
by @naftis in #3823 - OCRVS-3760 -
<Text>
by @naftis in #3867 - ocrvs-3851: Fetch patient details from FHIR and set the BRN/DRN identifiers properly. Fix #3851 by @rabiulislamanik in #3872
- Deploy to migrate by @euanmillar in #3890
- Bump apollo-server-core from 3.6.1 to 3.10.1 by @dependabot in #3802
- Bump undici from 5.8.0 to 5.9.1 by @dependabot in #3803
- Bump moment-timezone from 0.5.34 to 0.5.37 by @dependabot in #3871
- ocrvs-3332 Removed some unnecessary review modal descriptions by @sadmananik in #3835
- Update Node versions OpenCRVS supports by @naftis in #3857
- Bump async from 2.6.3 to 2.6.4 by @dependabot in #3896
- OCRVS-3746 / Flat directory structure by @naftis in #3895
- ocrvs-3839 Added new clear and restore backup workflow action by @sadmananik in #3876
- Deprecate tslint by @tahmidrahman-dsi in #3783
- Ocrvs 3209 Completeness rates fixes by @tahmidrahman-dsi in #3827
- ocrvs-3552: Use operation history to show last activity time in workqueue by @rabiulislamanik in #3787
- OCRVS-3764 /
<AppBar>
by @naftis in #3879 - OCRVS-3765 / Summary by @naftis in #3905
- Remove Requested correction option in performance tab by @favour234 in #3951
- ocrvs-3781 Bootstrap minio by @rabiulislamanik in #3858
- ocrvs-3755 Generate birth and death declarations report from hearth-db by @sadmananik in #3874
- ocrvs-3837 Cron job scheduler for VSExport by @sadmananik in #3915
- ocrvs-3838 Upload vsExport files to mino and store file urls to mongo reports collection by @sadmananik in #3957
- OCRVS 3758 /
<Button>
by @jpye-finch in #3806 - OCRVS-3771 -
<Toast>
&<Alert>
by @naftis in #3909 - OCRVS-3763 /
<Table>
by @naftis in #3799 - Storybook release page by @jpye-finch in #3973
- button story updates by @jpye-finch in #3962
- Storybook intro by @jpye-finch in #3956
- ocrvs-3781: Fix merge conflicts with vs-exports branch by @rabiulislamanik in #3974
- Merge release v1.1.0 into develop by @euanmillar in #3987
- Button fixes by @jpye-finch in #3984
- Storybook intro updates by @jpye-finch in #3981
- Ocrvs 2796 Fix empty location filter bug by @tahmidrahman-dsi in #3982
- ocrvs-3640 userAudit frontend by @modupeadeonojobi in #3950
- 🎁 ✨ Component library V2 by @naftis in #3768
- ocrvs-3791: Change persmission in setup script for /data/minio folder by @rabiulislamanik in #3994
- Keep on restarting metrics until InfluxDB is up by @rikukissa in #3999
- OCRVS-3753: RECORD_SEARCH system client for advanced search by @yeasinhossain-dsi in #3834
- Get styleguide hosted by @naftis in #3862
- Revert "Get styleguide hosted" by @euanmillar in #4006
- Revert "Revert "Get styleguide hosted"" by @euanmillar in #4007
- ocrvs-3025 Certificate config: Doc upload - use same component as gov logo upload by @CornelMaze in #3886
- Upload buffer csv to minio and delete files after upload by @sadmananik in #3960
- Fix navigation Performance Icon color by @naftis in #3996
- Storybook intro copy fixes by @jpye-finch in #4008
- Remove Requested correction option in performance tab (#3951) by @Zangetsu101 in #4018
- Cache deleting by @yeasinhossain-dsi in #3952
- ocrvs-2796 Fixed create user button system crash- vite build issue by @sadmananik in #4031
- ocrvs-3868: Show a message 'updated' in the edited column of updatedhistories if the type is document by @rabiulislamanik in #4009
- ocrvs-3854: Critical information goes missing from logs resolved by @CornelMaze in #3953
- Ocrvs 3552 improvement by @rabiulislamanik in #4042
- fixed upload selection bug by @CornelMaze in #4035
- ocrvs-3671 Used pageId from routes for workqueue pagination by @Zangetsu101 in #3782
- ocrvs-3735 Changed labels for documents in review section by @Zangetsu101 in #3943
- Pass applicationDebugVersion to LeftNavigation by @naftis in #4016
- ocrvs-3917 Upgrade typescript by @Zangetsu101 in #3998
- ocrvs-3852 Added conditional parameters for custom form field by @sadmananik in #4010
- Outbox v2 by @tahmidrahman-dsi in #3938
- Ocrvs 3650 Fix declaration icon color bug by @tahmidrahman-dsi in #4057
- Revert "OCRVS-3753: RECORD_SEARCH system client for advanced search" by @euanmillar in #4062
- Revert "Revert "OCRVS-3753: RECORD_SEARCH system client for advanced search"" by @euanmillar in #4064
- Upgrade apollo client by @tahmidrahman-dsi in #4047
- ocrvs-3651 Changed uploaded icon to downloaded icon in draft tab by @sadmananik in #4058
- Fix the generate:test:forms command by @euanmillar in #4071
- Ocrvs 3636 - As a National Registrar / National Sys Admin I want to view available VS exports by @CornelMaze in #4012
- Added the missing peer dependency(fp-ts) of io-ts in gateway by @Zangetsu101 in #4083
- hide delete button on preview screen for small web screens by @CornelMaze in #4045
- ocrvs-3927: add field ID section on the right side nav in form config by @CornelMaze in #4068
- ocrvs-4019 Fixed publishedWarning message on declaration form config page by @sadmananik in #4069
- Merge release v1.1.1 to develop by @Zangetsu101 in #4086
- In offline on application config, government logo modal showing incorrect message #3843 by @modupeadeonojobi in #4072
- Disable generate-test-forms from precommit by @Zangetsu101 in #4090
- ocrvs-4032 Fixed ForgotPIN page UI issue by @sadmananik in #4074
- Removed ID check table from correction summary page by @favour234 in #4081
- Invert conditional logic for customize field by @sadmananik in #4093
- ocrvs-3671 Fixed issues with officeHome pagination by @Zangetsu101 in #4103
- OCRVS-4056 Fix application config regex overflow by @naftis in #4085
- Submits death webhook and handles new MOSIP UIN requirement by @euanmillar in #3724
- ocrvs-3933 Fixed corrector requester bug by @sadmananik in #4078
- Merge release v1.1.1 to develop by @euanmillar in #4110
- fix spacing below top nav bar by @jpye-finch in #4096
- Disable arrow back button if correction is made or after printing a certificate by @favour234 in #4050
- Added custom Required error message on correction page by @favour234 in #4104
- ocrvs-3926 - Default "Has a cause of death been established?" to "No" with checkbox by @modupeadeonojobi in #4079
- OCRVS-3997 / Ready for review -page accessibility by @naftis in #4002
- Ocrvs 3126 - Form radio buttons should be Checkbox's by @modupeadeonojobi in #4097
- Replaced Uploaded Icon with Downloaded Icon for Draft Record Audit Page by @sadmananik in #4115
- ocrvs-3756 Introduced Iconography on storybook using react-feather by @sadmananik in #4055
- Amended CHECKBOX field by @Zangetsu101 in #4140
- Fixed adding custom input field error on CustomFieldTool by @sadmananik in #4130
- ocrvs-4105 Backend+Frontend by @sadmananik in #4149
- ocrvs-3544 Amend history actions by @Zangetsu101 in #4076
- primary button ui and link disabled ui fix by @jpye-finch in #4137
- OCRVS-1098: Upgrade to Traefik 2.8 by @yeasinhossain-dsi in #4067
- [1.0.3] OCRVS-3673: Move the sending logic out of notification service into a country config package handler by @yeasinhossain-dsi in #3721
- Upgrade Sentry by @rikukissa in #3902
- Revert "Upgrade Sentry" by @euanmillar in #4161
- Upgrade Sentry by @euanmillar in #4162
- OTHER reason for correction flow is function by @yeasinhossain-dsi in #3920
- Upgrade Dockerfile node by @euanmillar in #4164
- Try changing email for acme.json by @euanmillar in #4165
- ocrvs-4039 Reset password feature by @sadmananik in #4124
- ocrvs n 4038 Send a username reminder by @sadmananik in #4116
- ocrvs-3975 Removed e2e file and modified check-before-build file by @sadmananik in #4106
- Ocrvs 3955 - Minio url caching and invalidation of caching by @rabiulislamanik in #4077
- component updated by @jpye-finch in #4080
- Ocrvs 3861 by @tahmidrahman-dsi in #4003
- Ocrvs 3942 audit v2 by @KaliGreen in #4052
- Ocrvs 4134 - Accordion component by @modupeadeonojobi in #4163
- ocrvs-4004: Add a constant 'ENABLE_REVIEW_SCROLL' and prevent scrolling of documents in document review section by @rabiulislamanik in #4098
- ocrvs-4119: Add view record in record audit by @sifulovi in #4180
- readonly review section by @CornelMaze in #4174
- Ocrvs 4120 by @rabiulislamanik in #4183
- Some amends to VS Export by @euanmillar in #4177
- Changes bug template by @euanmillar in #4066
- ocrvs-4073 Migration script for restore supporting document by @sadmananik in #4102
- Fix for searching multiple locations and comments by @euanmillar in #4152
- User Audit V1 by @rikukissa in #3995
- Feature/user reset password user reminder by @sadmananik in #4168
- ocrvs-4127 Back end: AdvancedSearch - Create/Delete operations by @sadmananik in #4173
- Ansible data folders get cleared when the script is run during migration by @euanmillar in #4210
- ocrvs-4121: View record loading page by @sifulovi in #4197
- ocrvs-4135: Add a wrapper for daterangepicker which can be used from formfieldgenerator by @rabiulislamanik in #4200
- Added the missing '/' in getUser url by @Zangetsu101 in #4226
- ocrvs-4112 - Advanced search form for birth tab by @modupeadeonojobi in #4196
- Feature: Vital Statistics Export by @Zangetsu101 in #3959
- Added METRICS_URL for user-mgnt service in docker yml by @sadmananik in #4243
- Revert "Merge pull request #3959 from opencrvs/feature/vs-exports" by @Zangetsu101 in #4247
- Hide ID check row on record audit history page if requester is Another Agent Or Me by @favour234 in #4242
- ocrvs-3852 Fixed form config edit system crash bug by @sadmananik in #4240
- Bump loader-utils from 1.4.0 to 1.4.1 by @dependabot in #4241
- ocrvs-4032: retain language on the can not login page by @CornelMaze in #4233
- Saving ID verification info by @yeasinhossain-dsi in #4245
- ocrvs-3717: fixed document title name by @CornelMaze in #4237
- ocrvs-3636: added empty state text to vsexport by @CornelMaze in #4266
- Vs-export - Fix HEARTH_MONGO_URL & clear data by @sadmananik in #4246
- ocrvs-4167: fixed undefined lastname on review page by @CornelMaze in #4238
- ocrvs-4208 - Fix bug in change phone number via setting page by @modupeadeonojobi in #4251
- ocrvs-4234 - Fix hardcoded correction in correctionsReport.tsx file by @modupeadeonojobi in #4269
- ocrvs-4259 Update username notification not sending updated username by @modupeadeonojobi in #4268
- Feature: View Record by @rabiulislamanik in #4179
- ocrvs-4211: Notify user when they reconnect by @sifulovi in #4252
- ocrvs-4175: fixed missing name in french unassigned declaration by @CornelMaze in #4277
- ocrvs-4147 by @sadmananik in #4231
- ocrvs-4190: On server restart/invalid JWT, sys admin doesnt redirect to the login… by @CornelMaze in #4290
- ocrvs-4248: In Application config- Currency modal, the verbiage is showing wrong by @CornelMaze in #4293
- ocrvs-4249: The modal title of delay registration in birth tab is showing wrong by @CornelMaze in #4292
- ocrvs-4172: Enable all previously disabled User Audit links by @CornelMaze in #4275
- regStatus for in progress migration added by @kayumuzzaman in #4289
- Bump loader-utils from 1.4.1 to 1.4.2 by @dependabot in #4305
- In application config, Within legally specified time gets changed when delayed registration fee is changed by @favour234 in #4296
- Added customField handlebar name on config and redux template by @sadmananik in #4285
- ocrvs-4203: Back and forward button gets disabled by @CornelMaze in #4301
- ocrvs-4118 elasticSearch migration to add missing identifiers, DOB, gender, eventJurisdictionIds and eventCountry by @sadmananik in #4267
- VSExport fixes: remove create-mongo-users - Fix Traefik and Minio hosting errors by @euanmillar in #4274
- Make the user audits fault tolerant #4257 by @favour234 in #4291
- Revert "Revert "Merge pull request #3959 from opencrvs/feature/vs-exports"" by @Zangetsu101 in #4256
- View record fixes by @Zangetsu101 in #4297
- locations api exposed by @kayumuzzaman in #4270
- ocrvs-4172-v2 - Disable links for field agent by @modupeadeonojobi in #4323
- ocrvs-4201: When searched an assigned application, in record audit page it is showing not assigned by @CornelMaze in #4313
- reset password & username reminder added in user audit by @kayumuzzaman in #4308
- OCRVS-4070: Disable OpenHIM API endpoint unless whitelisted by @euanmillar in #4314
- For all application actions ID Check option is showing. ID check should be available for Certified and Corrected record action by @favour234 in #4331
- OCRVS-3853 by @yeasinhossain-dsi in #4198
- Hotfix v1.1.2 by @euanmillar in #4223
- Added missing template-handlebar for birth and death by @sadmananik in #4300
- ocrvs-4217: Registration by status page of performance is broken by @CornelMaze in #4317
- ocrvs-4214 Enable reordering of default fields by @Zangetsu101 in #4330
- ocrvs-3544 Fix rejected reason showing for retrieved action by @Zangetsu101 in #4336
- reduces spacing between form elements by @jpye-finch in #4337
- search filter styling and background by @jpye-finch in #4342
- Ocrvs 4114 AdvancedSearch config page and AdvancedSearchResult page by @rabiulislamanik in #4332
- Send MOSIP authdata as an object rather than an array by @euanmillar in #4374
- Patient log by @euanmillar in #4382
- Fix webhooks traefik endpoint and mosip payload by @euanmillar in #4383
- Change NID validation to 10 digits - bump beta release version by @euanmillar in #4388
- Birth Archive, Birth Reinstate, Death Archive and Death Reinstate |… by @KaliGreen in #4343
- Audit the username reminder and password reset events by @favour234 in #4284
- ocrvs-4117 Advanced Search Bookmark Feature by @sadmananik in #4334
- Advanced search merged by @sadmananik in #4392
- Feature - Advance Search by @sadmananik in #4153
- ocrvs-4311 Reinstated action name fix by @kayumuzzaman in #4378
- postfix added if available for fields in review/view by @kayumuzzaman in #4387
- OCRVS-4391 & OCRVS-4395 + Cypress bugfixes by @euanmillar in #4401
- ocrvs-4319 vsExport generator and UI fix by @sadmananik in #4345
- ocrvs-4119-fix on update view record fixed by @kayumuzzaman in #4369
- Bump up vitest version to 0.25.5 by @sadmananik in #4417
- Fixed UserAudit test fix by @sadmananik in #4399
- Fixed bug for system crashing if back arrow is clicked after printing or correcting a record by @favour234 in #4303
- Revert "Fixed bug for system crashing if back arrow is clicked after printing or correcting a record" by @Zangetsu101 in #4430
- Ocrvs 3942 audit v3 by @KaliGreen in #4279
- Ocrvs 3852 fixed by @sadmananik in #4411
- ocrvs-4309-fix Fixed messages id for common content keys by @sadmananik in #4390
- OCRVS-3990: Custom Select in form config by @yeasinhossain-dsi in #4407
- Adding jwt-decode in config microservice by @yeasinhossain-dsi in #4451
- Advanced Search Fixed by @sadmananik in #4439
- feat: integration configuration by @naftis in #4138
- ocrvs-4087 Minio migration by @sadmananik in #4351
- styling updates to document preview list by @jpye-finch in #4414
- add missing ids for cypress test by @KaliGreen in #4422
- Bump decode-uri-component from 0.2.0 to 0.2.2 by @dependabot in #4400
- Bump apollo-server-core from 3.10.3 to 3.11.1 by @dependabot in #4421
- OCRVS-4353: Image not loading in mobile view by @sifulovi in #4424
- Fixes to Webhook & RecrdSearch integration by @euanmillar in #4459
- add new component to allow completenessDataTable overlay by @KaliGreen in #4432
- OCRVS-4265: IP Addresses are now correct for Audit Actions by @yeasinhossain-dsi in #4450
- Ocrvs-4393 Adds changed for advanced search e2e test . Also contains some fixes for bugs mentions in 4112 and 4113 by @rabiulislamanik in #4463
- Update Pill to use colors by @jpye-finch in #4461
- ocrvs-4410: Custom Field in form configuration becomes conditional field by @CornelMaze in #4426
- ocrvs-4307: UI issue in Form config: icon of error message not clearly visible by @CornelMaze in #4434
- chore(integration-configuration): System migrations for integration configuration by @naftis in #4444
- docs(1.2.0): ui-kit documentation and change log by @naftis in #4398
- OCRVS-4033 - Feature: Configurable admin levels by @euanmillar in #4322
- OCRVS-4433: We need to make sure that default backups do not have run migrations in them by @KaliGreen in #4474
- Ocrvs 4120 Fixed record audit history unassigned and viewed issue by @sadmananik in #4381
- Modified Education level text on vsExport by @sadmananik in #4437
- ocrvs-4214-fix Handled last name first on review header by @Zangetsu101 in #4466
- Ubuntu sed issue by @euanmillar in #4488
- Fix system integration by @sifulovi in #4486
- OCRVS-3990: Application Config Mongo URL correction for migration by @yeasinhossain-dsi in #4489
- ocrvs-4485: On work queue users will only see corresponding location declarations by @yeasinhossain-dsi in #4490
- Record audit: Country change to anything other than farajaland by @yeasinhossain-dsi in #4475
- Adding pagination and logs for supporting doc migrations by @sadmananik in #4494
Full Changelog: v1.1.2...v1.2.0-beta