We support many DHIS2 instances that require custom data entry forms with JS to meet the needs of our users. But the recent CoP announcement has left me little worried we will not be able to upgrade any of these instances past 2.41 due to the last of JS custom form support in 2.42. With the old data entry app is being depreciated and no replacement service as we have with plugins for the capture app.
Thanks for reaching out with your concerns @plinnegan.
We have tried to improve the data entry app to cover a number of the common use cases which had previously made systems opt for custom forms with custom JS (for example we’ve added options to transpose rows/columns, add section titles, etc.,)
We hope that this will be sufficient for many. For instances with particularly complicated data entry needs, custom apps may be a potential approach. Plugins for the data entry app are not currently available but this is an approach that we have previously discussed.
We’d of course be interested if you can share any more details about the functionality that you feel cannot be accomplished with standard forms + custom HTML styling.
(cc @kimberly @DavidCKen @Stian )
Thanks for the quick response @tzemp! I’ve heard there is some support for something like program rules coming down the pipeline which would cover some simple use cases like hide logic. Some other features that would prevent upgrading:
Sections and Sub-Sections: DATIM for example has sections and sub sections within it’s forms, controlling the hide, show and navigation behaviour is typically done with some Javascript.
Custom logic: Sometimes custom logic is needed to combine fields in more complex ways or supplement form data with other DHIS2 info that is not available in any built in variables.
Custom validation, Custom actions (eg print layouts), Custom notifications, Conditional styling are a few more that come to mind.
I agree all of these things could be achieved in a custom app, but then all the dimension selections and other surrounding logic needs to be re-developed in the app as well, and the technical understanding required to do so is much much higher.
The forced technical debt from having to try and do this for multiple forms might be too much for some DHIS2 support teams.
I agree with you @plinnegan . There will be a growing need for advanced L2/L3 support at this stage of transition. We need to share our experiences on here.
Thanks for the extra detail, Pete. As Tom mentioned, plugins for the new Data Entry App are not currently available, but we are actively working on a plugin framework that will expand support for more complex custom form use cases, including those that currently rely on JavaScript.
While we strongly encourage users to start building new forms using the supported configuration features; such as, configurable forms, and predictors, but we also recognize that migrating existing forms can be a significant effort. That’s why we’re prioritizing solutions that help ease this transition, and the plugin approach is a key part of that.
If your forms are affected by this transition, then we strongly recommend you to keep an eye on the CoP, as we will keep sharing resources and information relating to the aspects briefly explained above.