Update HTMLFormEntry WYSIWYG Editor

Primary mentor

@Darius Jazayeri

Backup mentor

@Daniel Kayiwa

Assigned to

@João Portela

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

  1. When you save an HTML Form, update the form_field and field tables, to the extent that is currently supported by existing OpenMRS core.

  2. Propose changes to OpenMRS core to support representing extra features that HTML Form Entry has

  3. Partial work on re-doing the WYSIWYG editor to be driven by annotations and reflectively-discoverable info on HTML Form Entry tags

Final Objective

  1. Implement all remaining HTML Form Entry tags and features in the WYSIWYG Designer module

  2. 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

Code Branch

Things to consider later

Iteration 2 (July 12 - August 19) - Closed

Develop the WYSIWYG Designer

Design Considerations

Tasks

Code (SVN)

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

Use Form Schemas in HTML Form Entry

GSOC Proposal - Improve the HTML Form Entry Module (Designer + Schemas)