Validation Module Enhancements
Primary mentor | @Wyclif Luyima |
Backup mentor | TBD |
Assigned to | @Ishara Premadasa |
Abstract
The validation module is a useful tool for finding problems with your DB. It runs OpenMRS validators against different data and matadata in your system. It is particularly handy for implementations migrating to OpenMRS 1.9. In OpenMRS versions earlier than 1.9 objects were not always validated before persisting them to the DB and after upgrading to OpenMRS 1.9 you may want to make sure that your objects are valid before discovering that only after trying to modify them.
The goal of this project is to enhance the Validation module by providing a more polished UI, improved error reports and automatic fixes for common problems.
Objectives
Make it possible to select the type of metadata or data to validate instead of typing a fully qualified class name
The present validation module UI provides a text field to enter the type of Data or Metadata that needs to be validated, but this requires to enter the full name of Data/Metadata (e.g. org.openmrs.Concept). With this new tag I am going to replace this text field with a combo box where all the types of classes are given as options in the combo box such as 'Concept', 'Drug' etc. In addition there are two more options named 'All Data' and 'All Metadata'. If user selects one of these the system will validate all metadata or data therefore this choice provides a way to validate the whole database items at once.
For the design, please refer Diagram 1: Validation Module Main UI Design in 'UI Mockups' page.
Add a way to stop validation
This new feature is added in order to stop the validation in middle once the validation is started. At the moment there is no support to stop the validation from UI. However if the user stops the validation, he may need to start back the validation using 'Submit Query' option as there is no way to resume the previous validation threads back.
For the design, please refer Diagram 1: Validation Module Main UI Design in 'UI Mockups' page.