OpenCRVS - Alpha 3.1
Pre-releaseIntroduction
OpenCRVS Alpha 3.1 is a minor Alpha release for OpenCRVS.
This release contains a number of dependency upgrades, bug-fixes, some major new features and many minor improvements. This release includes:
- An automated, local demo and development environment installation script
- The default Zambia country configuration package has been replaced by a fictional country: Farajaland
- Documentation improvements in advance of the public Beta v1.0 planned for mid 2022
- Ability to add / edit a user's profile image
- Ability for a user to change language in the login application
- Ability to search all health facilities offline
- Ability to search performance statistics for a single office as opposed to a jurisdiction such as a district.
- A new styleguide component library
- Miscellaneous bugfixes
- UI design improvements
- Dependency upgrades
The next major OpenCRVS release will be an official Beta planned for mid-2022. The Beta may be deemed a full OpenCRVS 1.0, after which point we will begin documenting breaking changes in all future releases.
Major Features
The following explains in more detail each major feature that has been included in this release.
An automated, local demo and development environment installation script
Previously, setting up a local, demo development environment of OpenCRVS was hard. It involved a number for commands to be run in sequence and without ports and dependencies being installed correctly, OpenCRVS would fail to start without informing the system administrator of the source of the problem.
This has been improved with a single command bash ./setup.sh
. Running this command checks that all the dependencies have been in stalled correctly, checks that ports are available, builds all docker images, checks out the Farajaland default country configuration, starts OpenCRVS and populates the OpenCRVS databases with default country configuration.
With this single command OpenCRVS can be easily demo-ed and developed upon by new system administrators.
The default Zambia country configuration package has been replaced by a fictional country: Farajaland
Previously, the country configuration for an OpenCRVS 2019 pilot in Zambia was released as an example country configuration for OpenCRVS. IN order to become more generic in future releases and demo easier configuration tools planned for 2022, we have renamed and performed some upgrades. The default country configuration is now a fictional African country. "Farajaland". "Faraja" means "Blessings" in Swahili.
Documentation improvements in advance of the public Beta v1.0 planned for mid 2022
To accompany the past 2 points, the documentation in OpenCRVS Core and OpenCRVS Farajaland repositories has been updated and tested. Expect this documentation to become drastically simplified with regards to country configuration in the next release.
Ability to add / edit a user's profile image
It is now possible in the settings page, for a user to upload an avatar image. This image is used to make it easier for staff to quickly understand their team's actions. It also gives the user the added ability to personalise their OpenCRVS experience.
Ability for a user to change language in the login application
Previously, changing the default language of OpenCRVS was only possible in the main Client application. The default language for the Login application was configured in an environment variable and could not be changed by the user. Now, provided the country configuration contains more than one available language, it is possible for the user to use a select in the Login app to change their desired language independently.
Ability to search all health facilities offline
Previously, due to some technical debt, users could only search for health facilities offline from a list containing health facilities in their own jurisdiction. This proved restrictive as it stopped birth and death declarations from being submitted in an offline state, if the birth or death happened outside the jurisdiction. Now, the country's entire health facility list is available for searching offline.
Ability to search performance statistics for a single office as opposed to a jurisdiction such as a district
Previously, searching performance reports and statistics was restricted to jurisdictional searches down to district level. This is because some operational statistics are calculated using the populations, gender split and crude birth/death rates for a jurisdiction. These calculations now will not appear if searching for performance report on an office, meaning that operational reports can be accessed at the office level. It may be possible that in some countries a single jurisdiction can contain multiple civil registration offices.
A new styleguide component library
We have launched a new component library website using Storybook. Storybook is an open source tool for building UI components and pages in isolation. It streamlines UI development, testing, and documentation.
Miscellaneous bugfixes
Many bugs and performance issues have been resolved. Please refer to the Zenhub release report link at the bottom of this report to see specifics.
UI design improvements
Many minor UI design improvements have been made. Please refer to the Zenhub release report link at the bottom of this report to see specifics.
Dependency upgrades
- HapiJS has been upgraded
- Create React App, Jest and Typescript has been upgraded
- Dependency security vulnerabilities in many node_modules have been resolved
What's Changed
- Update README for 1.0.0-alpha.3.0 release by @euanmillar in #2075
- Change language code used for extract translations by @euanmillar in #2080
- Bump dns-packet from 1.3.1 to 1.3.4 by @dependabot in #2096
- Bump codemirror from 5.47.0 to 5.61.0 by @dependabot in #2095
- Bump hosted-git-info from 2.7.1 to 2.8.9 by @dependabot in #2094
- Bump lodash from 4.17.19 to 4.17.21 by @dependabot in #2093
- Bump bson from 1.1.1 to 1.1.6 by @dependabot in #2092
- Bump url-parse from 1.4.7 to 1.5.1 by @dependabot in #2091
- Bump handlebars from 4.7.6 to 4.7.7 by @dependabot in #2090
- Bump ua-parser-js from 0.7.20 to 0.7.28 by @dependabot in #2089
- Bump redis from 2.8.0 to 3.1.1 by @dependabot in #2088
- Bump y18n from 3.2.1 to 3.2.2 by @dependabot in #2087
- Bump react-dev-utils from 5.0.3 to 11.0.4 by @dependabot in #2085
- Bump elliptic from 6.5.3 to 6.5.4 by @dependabot in #2084
- Bump urijs from 1.19.1 to 1.19.6 by @dependabot in #2083
- Bump socket.io from 2.2.0 to 2.4.1 by @dependabot in #2081
- Bump axios from 0.18.1 to 0.21.1 by @dependabot in #2079
- Bump ini from 1.3.5 to 1.3.8 by @dependabot in #2074
- Ocrvs 2073 UI and copy updates by @tahmidrahman-dsi in #2077
- Ocrvs 1993 Rejection reason changes by @tahmidrahman-dsi in #2076
- Updating temporary phone number format for Island of Niue by @mushrafulhoque-dsi in #2110
- minor spelling mistakes fixed by @youshamahmood96 in #2124
- [ocrvs-2111] Introducing a new flag on client-config for hiding event info screen by @mushrafulhoque-dsi in #2125
- ocrvs-2107 by @kayumuzzaman in #2133
- Necessary fhir-builders and type-resolvers for deceased's dependents and medical practitioners by @mushrafulhoque-dsi in #2135
- Fix for birth in-progress application issue by @mushrafulhoque-dsi in #2140
- Ocrvs 2127 by @youshamahmood96 in #2132
- ocrvs-2152 by @kayumuzzaman in #2162
- Ocrvs 2150 by @youshamahmood96 in #2164
- Ocrvs 2151 by @mushrafulhoque-dsi in #2166
- Updated document section schema for death events by @mushrafulhoque-dsi in #2158
- [ocrvs-2154] Fix for deceased's informant relationship issue by @mushrafulhoque-dsi in #2167
- ocrvs-2159 by @kayumuzzaman in #2168
- [ocrvs-2145] Fix for empty nested field query mapper issue by @mushrafulhoque-dsi in #2176
- whitespace trimmed for username input by @youshamahmood96 in #2184
- [ocrvs-2142] range and decimal point validation for Dependents by @kayumuzzaman in #2180
- [2137] Fix for no id available issue on cert collector form by @mushrafulhoque-dsi in #2185
- Ocrvs 2144 by @youshamahmood96 in #2165
- bug fix for ocrvs-2191 by @youshamahmood96 in #2194
- Fix for always passing birthAtPresent data to server by @mushrafulhoque-dsi in #2199
- [ocrvs-2174] Update queries.ts file to get necessary information by @kayumuzzaman in #2200
- Ocrvs 2160 by @mushrafulhoque-dsi in #2204
- ocrvs-2178 by @kayumuzzaman in #2203
- [ocrvs-2170] lineBreak inside text fixed by @kayumuzzaman in #2209
- logic updated for isDateNotAfterDeath function by @youshamahmood96 in #2215
- [ocrvs-2169] Change user-profile office label by @kayumuzzaman in #2218
- [ocrvs-2175] Introduced 'age' field in 'Person' schema by @mushrafulhoque-dsi in #2212
- local language function added for perfomance column by @youshamahmood96 in #2207
- logic updated for isMoVisitDateAfterBirthDateAndBeforeDeathDate function by @youshamahmood96 in #2219
- [ocrvs-2177] Wrong rejection reason showing fixed by @kayumuzzaman in #2208
- [ocrvs-2202] Incorrect statistics on performance data by @kayumuzzaman in #2221
- [ocrvs-2173] Updating Niue number validation logic by @mushrafulhoque-dsi in #2222
- [ocrvs-2193] Fixed the informant option issue on collector form by @mushrafulhoque-dsi in #2223
- getFieldOptions function updated by @youshamahmood96 in #2220
- [ocrvs-2198] Make registration rate day range configurable for performance by @mushrafulhoque-dsi in #2225
- A few refactoring and fixing the rejected application status day count by @youshamahmood96 in #2227
- [ocrvs-2161] Fix for time duration issue by @mushrafulhoque-dsi in #2231
- Bump urijs from 1.19.6 to 1.19.7 by @dependabot in #2233
- Bump merge-deep from 3.0.2 to 3.0.3 by @dependabot in #2122
- [ocrvs-2241] fix for 'in-progress' status on search result list by @mushrafulhoque-dsi in #2242
- [ocrvs-2238] Fix for wrong toaster message while sending application for approval by @mushrafulhoque-dsi in #2243
- [ocrvs-2234] Fix for phone number masking issue by @mushrafulhoque-dsi in #2245
- [ocrvs-2246] Fixed the estimation formula for performance screens by @mushrafulhoque-dsi in #2247
- [ocrvs-2126] Extracting phone number validation and attachment type mapping into resource package by @mushrafulhoque-dsi in #2248
- ocrvs-2053 Added facilityMustBeSelected validation to place of birth - hospital field by @Zangetsu101 in #2286
- Hapi update by @euanmillar in #2015
- Bump path-parse from 1.0.6 to 1.0.7 by @dependabot in #2250
- Bump tar from 4.4.10 to 4.4.19 by @dependabot in #2251
- Bump tmpl from 1.0.4 to 1.0.5 by @dependabot in #2252
- Bump axios from 0.21.1 to 0.21.2 by @dependabot in #2301
- Bump object-path from 0.11.4 to 0.11.8 by @dependabot in #2302
- Bump ws from 5.2.2 to 5.2.3 by @dependabot in #2303
- Bump url-parse from 1.5.1 to 1.5.3 by @dependabot in #2305
- ocrvs-1925 Made items in require_updates_list non-clickable when field agent is offline by @Zangetsu101 in #2288
- ocrvs-2163 - Fix review/sent for update page not reflecting application update issue by @sadmananik in #2289
- ocrvs-2213 - Fixed In-progress Application Removal On Exit Button Click by @sadmananik in #2287
- Updates to be able to run compose by @euanmillar in #2306
- ocrvs-1789: Fix font size and styling for registration rate widget by @emon-swe-sust in #2307
- ocrvs-2130 fixed widths in date of birth fields and fixed margin between date of… by @emon-swe-sust in #2309
- Ocrvs 1953 Remove facilities filter by @tahmidrahman-dsi in #2314
- ocrvs-1794 Sorting implemented in field agent details view by @emon-swe-sust in #2313
- ocrvs-2129 weight at birth input field fixed to 78px and padding and label fixed by @emon-swe-sust in #2317
- Rename chatbot to age verification API by @euanmillar in #2359
- ocrvs-2296 Added New National System Admin User by @sadmananik in #2310
- ocrvs-1967 Changed pending UI Pill bg colour to amber light by @sadmananik in #2330
- back button colored to deepsea by @emon-swe-sust in #2326
- ocrvs-1937 device was saved as deviceId in gateway and in user mgnt, this is fixed by @emon-swe-sust in #2323
- ocrvs-1963: newfont created, pill fontStyle changed as 12px semibold, padding: 4px 8px, border-radius: 2px by @emon-swe-sust in #2332
- ocrvs-1908 NID validation moved from core to contry-wise config by @emon-swe-sust in #2322
- ocrvs-2299 Fixed location name generation by @Zangetsu101 in #2315
- ocrvs-1814 Added language selection option in login by @Zangetsu101 in #2320
- ocrvs 1847: this is written after margin branch ocrvs-1794, 00:00:00 is replaced with - in field agents list and application workflow table by @emon-swe-sust in #2324
- ocrvs-2337 Fixed the z-index for status window by @Zangetsu101 in #2345
- ocrvs-1904 Fixed add file feature for registrar by @sadmananik in #2334
- ocrvs-2318 showing all available type on update user by @emon-swe-sust in #2347
- Commons build issue by @euanmillar in #2408
- ocrvs-2128: input field max width set to 344px by @emon-swe-sust in #2349
- ocrvs-1962: hover and active state on download button made circle same as expand button. by @emon-swe-sust in #2361
- ocrvs 1944 Fixed rejected application long comment truncated issue and set maxLength to 500 by @sadmananik in #2374
- Get login language select and minor UI fixes into master branch by @euanmillar in #2409
- Ocrvs 1939 Fix lock screen name issue by @tahmidrahman-dsi in #2385
- ocrvs-1981: fix duplicate icon by @emon-swe-sust in #2388
- ocrvs-1989:scrolbar height for sent incomplete modal by @emon-swe-sust in #2389
- Ocrvs 1873 Make sure handled error in redux loop is not logged by @tahmidrahman-dsi in #2396
- ocrvs-2195: *.sentry.io/ whitelisted on nginx-default-conf by @emon-swe-sust in #2390
- ocrvs 1967 Changes PendingStatusBox Pill Color To Amber Light by @sadmananik in #2394
- ocrvs-2308 Fixed back button not working by @Zangetsu101 in #2348
- ocrvs-2295 Added search for office option in performance statistics by @Zangetsu101 in #2312
- ocrvs-1966 Removed default validation message for user deactivate and reactivate modal by @sadmananik in #2327
- Ocrvs 1965 by @emon-swe-sust in #2329
- ocrvs-1969: ui bug fix on userProfile by @emon-swe-sust in #2333
- ocrvs-2316 Added the required other field in {select} format messages by @Zangetsu101 in #2344
- ocrvs-2336 Added message descriptor for DNRPC type by @Zangetsu101 in #2351
- ocrvs-1936: time period represented using '-' by @emon-swe-sust in #2384
- Ocrvs 1871: Validation implemented on Performance and team tab search by @emon-swe-sust in #2369
- ocrvs-2331 Fixed MANNER_UNDETERMINED as death manner and TRADITIONAL_BIRTH_ATTENDANT as birth attendant application submission by @sadmananik in #2367
- ocrvs 1929 Added hh:mm on details application view by @sadmananik in #2368
- ocrvs 1883 Fixed login UI issue after verification code timeout and back to login page by @sadmananik in #2383
- ocrvs-2371: dispatchOptions removed from registrationOffice fieldDefinition by @emon-swe-sust in #2386
- Ocrvs 1905: Validation showing when remove the location from user edit page by @emon-swe-sust in #2387
- ocrvs-1872: rejected birth/death application is not visible in sent for review tab by @emon-swe-sust in #2395
- Revert "Ocrvs 1905: Validation showing when remove the location from user edit page" by @euanmillar in #2412
- Creating types on commons package and clearing metadata on deploys to staging by @euanmillar in #2414
- Merge master changes into develop by @euanmillar in #2415
- ocrvs-2352 CRA upgrade and storybook integration by @Zangetsu101 in #2391
- ocrvs-2397 Fixed the gen:types script by @Zangetsu101 in #2398
- Fix the react-error-overlay not showing up and hot reload by @Zangetsu101 in #2453
- Merging master changes by @euanmillar in #2454
- ocrvs-2290 Fixed the types used in ApplicationForm and RegisterForm by @Zangetsu101 in #2291
- ocrvs-2292 Fixed previously visited sections/groups not updating by @Zangetsu101 in #2293
- ocrvs 1946 Set overflow:auto for date range picker by @sadmananik in #2370
- New installation docs and demo script by @euanmillar in #2418
- Master merge into develop by @euanmillar in #2463
- Mac m1 chip fixes by @euanmillar in #2468
- Master by @euanmillar in #2469
- add Farajaland to country lists by @rikukissa in #2470
- Master changes for Farajaland by @euanmillar in #2472
- Farajaland: Fix compilation errors by @rikukissa in #2475
- Fixed some dependencies by @euanmillar in #2476
- Merged in dependency upgrades by @euanmillar in #2478
- ocrvs-1618 Change profile image by @Zangetsu101 in #2335
- OCRVS-2466 Rephrase and clarify some parts of the setup documentation by @rikukissa in #2467
- Make sure schema and types are generated before the server starts by @rikukissa in #2482
- Bump node-fetch from 2.6.6 to 2.6.7 by @dependabot in #2483
- Documentation update and Elasticsearch config fix by @euanmillar in #2484
- CI pipelines for building and testing, Farajaland changes by @rikukissa in #2488
- OCRVS-2339 - Improved CI / CD Pipeline by @euanmillar in #2407
- ocrvs-2379 - Added new Content component by @sadmananik in #2452
- Update documentation on master for docker for mac by @euanmillar in #2510
- Ocrvs-2420: location permission changed for national system admin by @emon-swe-sust in #2471
- Merged master updates by @euanmillar in #2513
- Unit test fixes by @euanmillar in #2485
- Ocrvs 1905: Validation showing when remove the location from user edit page by @euanmillar in #2413
- ocrvs-2393: default value added for documentForWhom json by @emon-swe-sust in #2487
- Ocrvs 2376: Left navigation added on mobile view by @emon-swe-sust in #2460
- ocrvs-2341: Fathers Residential address fields hidden when user do not have fathers details by @emon-swe-sust in #2480
- Upgraded node-fetch to satisfy new security warning by @euanmillar in #2516
- Ocrvs 1968: menu button added on user submenu on mobile screen by @emon-swe-sust in #2356
- Zambia to Farajaland by @euanmillar in #2526
- Adjust Actions to deploy e2e tests on staging only and releases to farajaland env by @euanmillar in #2527
- Revert "Ocrvs 2376: Left navigation added on mobile view" by @euanmillar in #2535
New Contributors
- @youshamahmood96 made their first contribution in #2124
- @kayumuzzaman made their first contribution in #2133
- @emon-swe-sust made their first contribution in #2307
Full Changelog: v1.0.0-alpha.3.0...1.0.0-alpha.3.1