Dear DHIS2 Community,
With the release of DHIS2 version 42, the legacy Data Entry app will no longer be supported, this introduces a major shift in how JavaScript based aggregate data entry forms are supported. This change improves security and performance, but it may require action depending on how your current forms are built.
What’s Changing?
- Additional native functionality has been introduced for configuring / customising forms, which works on both web and Android apps.
- HTML and CSS remain supported, allowing for flexible layout and styling.
- JavaScript is no longer supported in custom forms starting in version 42.
This means you’ll need to review and possibly update your forms if they rely on JavaScript for functionality.
What This Means for Different Users
1. Users Without Custom Forms
If you use the default form or section form, no action is needed. These forms are fully supported and benefit from the performance and usability improvements in the new Data Entry app.
Recommendation:
Explore the new section form configuration options allow for greater customisation of the look and feel of aggregate data entry forms without the need to build a custom form. With vertical tabs, collapsible sections, and form titles added, there are now more ways to make your forms visually appealing and user-friendly. This functionality can also be utilised on the Android app. ( Release notes v42, Feature Spotlight )
2. Users with Custom Forms Using Only HTML & CSS
Good news, your forms should continue to work in DHIS2 v42 and beyond. HTML is still supported for layout and structure, and CSS for styling and branding.
However, there have been changes to how the new Data Entry App renders form content, including updates to layout behaviour and default styling. These may impact how your custom forms display or behave.
Recommendation:
Test your forms in DHIS2 v40 and above test environment before upgrading. If something doesn’t look right:
-
Try to isolate the issue and compare it with default behaviour.
-
Submit a detailed Jira ticket so the core team can review and determine whether it’s an intentional change, a bug, or a configuration issue.
We’ve already seen examples where reported rendering issues turned out to be a mix of all three. Early testing and clear reporting will help ensure smoother upgrades and better documentation for everyone. We’re also using these insights to improve official guidance and clarify what changes are expected vs. what needs fixing.
3. Users with Custom Forms Using JavaScript
With the release of DHIS2 v42, the legacy Data Entry app is no longer supported and the new Data Entry App no longer supports JavaScript customisations. This change is a deliberate step to strengthen the platform’s security, stability, and maintainability.
We recognise that for many implementers, JavaScript has been an essential tool for building rich, dynamic forms. And we also understand that transitioning away from these forms is not a small task.
What Are Your Options?
Use Built-In Features
Several enhanced platform features already support functionality that previously required JavaScript:
-
Configurable Forms allow for switching rows and columns, text boxes, titles, legends and more.
-
Predictors can calculate and move values across data elements or periods.
-
The Data Exchange App supports syncing and aggregation of values between systems.
Build a Custom App
For more complex needs, you can develop custom apps using the DHIS2 App Platform. The platform now offers a Global Shell for all apps which ensures a consistent header bar and navigation interface across all apps and consolidates functionality that is required by all apps.
Upcoming Plugin Support
We are also exploring ways to extend the Data Entry App with plugin support, similar to the Capture App, so you can customise and extend your forms without building standalone applications. While details and timelines are still evolving, this is an active area of development.
Supporting You Through the Transition
We understand the transition away from JavaScript-based forms introduces a real burden for many teams. Updating even a single form takes effort, and for those managing dozens or more, the workload can be overwhelming, particularly for teams with limited capacity. We’re committed to making this shift as manageable as possible by improving tools, documentation, and options available to you.
Recommendations:
-
Audit your JS-based forms: Identify the logic they rely on, and which functionalities are the highest priority.
-
Explore core feature replacements: Layout, styling, and calculation of data values
-
Engage with the community: Share examples, challenges, and workarounds. Your input helps shape platform improvements.
-
Stay updated: Follow plugin developments and other tooling updates on the Community of Practice.
We’re here to support your transition with practical guidance and improvements driven by your feedback.
– The DHIS2 Core Team