v10.0.0
Changes
Improvements to DEA usage experience
- Improve subject search performance - avniproject/avni-webapp#763
- Reduce subject profile screen load time - avniproject/avni-webapp#1259
Enhancements to dashboards - Documentation
Support for custom filters on standard report cards
- 'Due' and 'Overdue' standard type cards now support custom filters - avniproject/avni-webapp#1203, avniproject/avni-client#1381, avniproject/avni-client#1382, avniproject/avni-client#1441
- 'Recent' (formerly 'Last 24 hour..') standard type cards now support custom filters - avniproject/avni-webapp#1204, avniproject/avni-webapp#1204, avniproject/avni-webapp#1263, avniproject/avni-client#1436
- 'Total' standard type cards now support custom filters - avniproject/avni-client#1448
- Please also see the appendix.
Support disabling auto refresh on custom dashboards
Enhancements to CSV uploads
Enhancements to Location upload csv - Documentation
- Separate 'Create' and 'Edit' modes, changes to format - avniproject/avni-webapp#1213, avniproject/avni-server#760
- Sample file improvements - #1531, avniproject/avni-webapp#1211
- Handle Location parent updates via UI and csv properly - avniproject/avni-webapp#1217
Enhancements to Users and Catchments upload csv
- File format and validation improvements - avniproject/avni-webapp#1214, avniproject/avni-webapp#1255
- Sample File improvements - avniproject/avni-webapp#1146
Fixes
- Handling of invalid characters in usernames - avniproject/avni-server#707
- Invalid Glific configuration causing breakage of app designer - avniproject/avni-webapp#1208
- Execute form validation rule on visit cancellation - avniproject/avni-client#1408
- Issues with bundle upload - avniproject/avni-server#770
- DEA breaking when options not set on Duration type concept form element - avniproject/avni-webapp#1219
- Organisation deletion issues - avniproject/avni-server#777
- Display sync settings on users 'show' page - avniproject/avni-webapp#1280
- Audit update on user update - avniproject/avni-server#706
- Remove hardcoding of region in S3 and Cognito services - avniproject/avni-server#83
- Issues with creating super admin user - avniproject/avni-server#750
- Issues with creating entities with names that match voided entities of the same type - avniproject/avni-webapp#858, avniproject/avni-webapp#1209
- Issues while saving changes to form from app designer - avniproject/avni-webapp#1105
- Broken Offline Report Card view link - avniproject/avni-webapp#1256
- Media application automatic restart on server reboot - avniproject/avni-infra#31
- UI fixes in app designer while setting up offline dashboard - avniproject/avni-webapp#1181
Appendix
Dashboard, report card, filters, and group dashboard added after deployment of 10.0 will not synchronise to the mobile app on version < 10.0.
... for mobile apps on version >= 10.0 these features will work as before and normally. As the users update their mobile app to the newer version the next sync will download any the new reports, filters, dashboards made after 10.0 deployment. For new install of app >= 10.0 will also work normally. This applies to - User Group to Dashboard mapping as well. This implies that while user groups will continue to work normally but any dashboard association / addition made to the User group will not sync to old versions.
Workaround (for implementation and support teams)
This should be exercised only if it is absolutely necessary, ideally only if there are defects that need to be fixed in existing reports/dashboards/filters. It should not be exercised for delivering new reports etc. to the users, as simple app update takes care of this.
Like any other data fix, please get it reviewed before running in production.
The data fix involves setting the last modified date time to be before 10.0 deployment date and after the max last modified date time present on the mobile app for that entity type. Tables involved (dashboard, report_card, dashboard_section, dashboard_filter, dashboard_section_card_mapping & group_dashboard).
In prod environment, "End of life1" is currently set to "2024-09-27", therefore, ensure that you set the last_modified_date_time to a value between and "2024-09-27 00:00:00".
Technical explanation of why this limitation
We have developed a lot of new standard report card types and filter types in release 10.0. The older version of mobile app do not understand these and in some cases the app crashes. Specifically disallowing only the newer card types and filters is technically difficult to implement hence there is a blanket restriction. We are testing the 10.x app to make sure we can avoid putting such limitations in the future.
Criteria to evaluate whether a report_card change is eligible for back-dating through manual data-fix
select *
from report_card
where id in (
<Input your list of report_card ids here>
)
and (
(
(standard_report_card_type_id is null OR standard_report_card_type_id not in (5, 4, 9, 6, 7, 8))
AND standard_report_card_input = '{}'
)
OR
(
standard_report_card_type_id in (5, 4, 9, 6, 7, 8)
AND standard_report_card_input -> 'programs' = '[]' :: jsonb
AND standard_report_card_input -> 'subjectTypes' = '[]' :: jsonb
AND standard_report_card_input -> 'encounterTypes' = '[]' :: jsonb
AND (
standard_report_card_input -> 'recentDuration' is null
OR standard_report_card_input -> 'recentDuration' = '"{\"value\":\"1\",\"unit\":\"days\"}"'
)
)
);
The above query checks that the report card do not have any configuration that would be lost in-case this is first synced to old (<= 9.4 version ) client and then he/she upgrades to a newer version(>= 10.0) of client.