If you’ve ever managed a DHIS2 instance, you’ve likely faced the “Metadata Headache.” As systems grow, comparing thousands of lines of code between a staging and production environment becomes a high-stakes game of “Spot the Difference.” Standard tools often fail here because they get tripped up by a single extra space or a reordered list, flagging “errors” that aren’t actually there.
At EyeSeeTea, we believe managing health data should be about making informed decisions, not squinting at brackets and commas. That’s why we’ve launched the Metadata Comparator.
What makes it different? Unlike traditional “diff” tools that look at text line-by-line, our comparator understands DHIS2 data on a semantic level.
ID-Based Matching: It knows a “Clinic” is the same object regardless of where it sits in the file, eliminating meaningless mismatches.
Granular Control: You don’t have to accept an “all or nothing” change. You can pick and choose individual properties to keep or discard with a simple click.
Built for Scale: Designed to handle massive files (10,000+ lines) where manual review is simply impossible.
We’ve built this to turn a complex technical bottleneck into a routine task that any team member can handle with confidence.
We’d love to hear your thoughts! How are you currently handling metadata version control, and what features would you like to see in future iterations?
This is exciting to see @eyeseetea. The “spot the difference” experience when working with large JSON metadata files is definitely something many of us can relate to.
I really appreciate the approach here of moving away from line-by-line comparisons, which makes a lot of sense for DHIS2 metadata.
I’d be interested in trying this out. Is it already available for testing, and are there any user guides available?
Also curious whether there are plans for a standalone version that can be installed locally. I can see that being very useful in different environments.
Thanks for sharing the link. I’ve gone through the post and it gives a much clearer picture of the approach.
I really like the idea of comparing metadata at an object level rather than line-by-line. It feels much more aligned with how DHIS2 metadata is structured.
I’ll take some time to explore the repository and documentation further when I get the chance to do so. This looks like a very practical solution to a common challenge.
Hi unfortunately on windows, I did not manage to use the “Merge features”. Nothing happpens when i click on the buttons to use either left or right part. Not sure if this related to my envrionment though.
Hi @gregory, thanks for your comment! Could you please provide a screenshot so we can explore further? Also, could you check if there are errors on the development console? Thank you very much!
I tried to use the online comparator again, and everything seems finally OK.
However, in order tro “see” the changes in the files, i had to search for the id I choose to add or remoove, because there is no automatic focus on the change made.
If I search for the id while selecting the change, the focus is then on the change i make.
Hi again! @gregory
Currently, the best way to track changes is by scrolling through the colour-coded updates. We agree that a more intuitive navigation for these changes would be a fantastic addition. We’ve noted your feedback and will look into adding it to our backlog, potentially exploring it further if future funding allows. Thanks again for helping us improve!