Specification
Background
Everyone using OpenMRS collects a different custom set of data. To support this without requiring every user to be a programmer, we've built several different technologies to let system administrators build custom forms. Users will including questions from the concept dictionary, laying out sections, styling them to look pretty, etc. Sometimes the goal is to replicate a paper form as precisely as possible, while other times the goal is to build a dynamic form intended for interactive point-of-care use.
The HTML Form Entry module is one tool that lets you build forms, but it requires you to write HTML code. Many low-resource implementations don't have easy access to HTML programmers, so in a previous GSoC, we built a WYSIWYG editor with custom dialogs for inserting OpenMRS widgets. Since then, many new features and tags have been added to the HTML Form Entry module, but the WYSIWYG editor has not been kept up to date with them.
Purpose
The goal of this project is to bring the HTML Form Entry WYSIWYG Designer up to date with all the latest features in the HTML Form Entry module, and define a process so that whenever someone adds a new feature to HTML Form Entry, they know how to reflect that feature in the WYSIWYG designer too.
Domain Expert(s) / User(s)
- Ellen Ball
- Ada Yeung
- (many more)
Required Skills
- Decent knowledge of Javascript
Mid-Term Objective
- When you save an HTML Form, update the form_field and field tables, to the extent that is currently supported by existing OpenMRS core.
- Propose changes to OpenMRS core to support representing extra features that HTML Form Entry has
- Partial work on re-doing the WYSIWYG editor to be driven by annotations and reflectively-discoverable info on HTML Form Entry tags
Final Objective
- Implement all remaining HTML Form Entry tags and features in the WYSIWYG Designer module
- Define and document a process so that when features are added to the HTML Form Entry module in future, people know how to add those to the WYSIWYG Designer module also.
Planning
Improve the HTML Form Entry module - Project Requirements
Improve the HTML Form Entry module - Project Plan
Development
Iteration 1 (May 23 - July 11) - Closed
Update the Form Schema tables
HTML Form Schema to OpenMRS Form Schema Mapping
Iteration 2 (July 12 - August 19) - Closed
Develop the WYSIWYG Designer
Closeout (August 20 - August 22) - In Progress
Review code, documentation, bug fixes.
HTML Form Entry Designer Module
Resources
artifacts from previous GSoC project: HTML Form Entry Designer Module, HTML Form Entry Designer - Development Tracking
Proposals