Draft Forms Project Progress, To-Do List, Known Bugs

Progress

  • draftFormsForm.jsp (starting screen, labeled Drafts Overview)
    • Displays summaries of all forms in the database.
    • Add new draft can be used to add a new draft to the database, goes to Edit Form Details page
    • Edit can be used to edit an existing draft, goes to Edit Form Details page
    • Delete can be used to delete a draft from the database, requires confirmation
  • *To Do: New version does nothing. It should recursively make a deep copy of the entire form. It should also update the version id #, perhaps just add _V2 to the end and expect the user to edit it.
  • addDraftFormsForm.jsp (labeled Edit Form Details)
    • If called when adding a new form, it comes up blank
    • If called when editing a form, it comes up with current values filled in
    • Generate version id button works
    • Save button saves the user's edits in the database and goes to the edit form page
    • Cancel discards user's edits and goes to the edit form page
  • editDraftFormForm.jsp (labeled Edit Draft Form)
    • If called when creating a new form, displays title, description and version id. All other fields blank
    • If called when editing a form, shows title, description, version id and list of pages
    • Edit details button goes to the Edit Form Details page
    • Exit form button goes to the Drafts Overview page
    • Clicking on Add Page adds a new page
    • Clicking on "Page #" displays the contents of the page
    • Add Section button goes to the Edit Section page
    • Delete Page deletes the currently-displayed page, requires confirmation
    • If a page contains sections, a +/- button can be used to expand and hide their contents
    • When expanded, the Add menu pulls up the appropriate Web page to add an item of each type
    • The Edit button for a section goes to the Edit Section page, filling in the current values
    • The details of a form, as well as the instructions for the page, can be hidden/shown by the user to save space and scrolling
    • The section remains open after editing or adding an item.
    • Items can be reordered with up & down arrows
    • Text repsonses preview with their name and a text field
    • Clicking the Preview button generates html that is understandable by the html form entry module that includes section and obs tags.  Also, each form has the encounter fields included in the html.  The generated html is displayed on the screen.  You can copy and paste it into a form in the html form entry to do the preview.
  • *To Do: Finish button does nothing. It is supposed to generate a basic html version of the form, set finished on the summary to true, and record the location of the html file.
  • *To Do: It would be good to highlight pages / sections / items that have unidentified concepts by using a different color.
  • *To Do: There should be a button or list that would allow the user to go directly to the unidentified concepts instead of needing to search for them.
  • *To Do: On the Edit Form page when displaying an item, it would be better to show the concept name and, in parentheses, the concept id, associated with an item rather than just saying "Identified".
  • editSectionForm.jsp (labeled Edit Section)
    • If called when adding a section, it comes up blank
    • If called with an existing section, the form is initialized
    • Ok button saves changes and returns to Edit Draft Form page
    • Cancel button discards changes and returns to Edit Draft Form page
    • Delete button deletes the section and returns to Edit Draft Form page
    • Delete button brings up a confirmation dialog
    • A checkbox is used to determine if a section name should appear on the form or only in the GUI
    • Sections are validated to be sure they all have unique names
  • editDropRadioCheckForm.jsp (labeled Edit Radio Button, Drop Down Menu, Check Box)
    • Page displays
    • Response type can be selected
    • Add answer button works
    • Answers can be reordered with arrow buttons
    • Answers can be deleted with the x button
  • *To Do: Concept identification widget needs to be integrated.
  • *To Do: If the user clicks an "other" checkbox, there should be a label field that they can give a value to.
  • editTextResponseForm.jsp
    • The concept id widget is now into the page where you enter information about text responses (called obs in html form entry).
  • Database tables exist for:
    • DraftSummary
    • Page
    • Section
    • Item
    • Reference text
    • Image
    • Obsgroup
    • Reference table
    • Repeat
    • Placeholder

To Do

  • Some of the Items may need Concepts that do not currently have one: TextResponse, Image?, others??
  • The controllers for adding items to a section only allow displaying a blank form and clicking their cancel button.
  • Neither Java types nor database tables have been designed for the following. There are entries for all of these in the Add menu.
    • Date
    • Provider
    • Location
    • Display items
  • Provide a JSP page for Date, Provider and Location to allow the user to specify a label to go with these fields.
  • The user might want to create internationalized forms. This would be a big change so something to think about for version 2.
    • The user would indicate which languages the form should be for as part of the form's details
    • The screens where the user enters text that would appear in the form should be prompted to provide translations for all the languages that specified in the details.
    • These would appear in translation tags used by html form entry.
  • Integrate html preview with the HTML form entry module.

Known bugs

  • Create section, immediately delete. Should be no confirmation dialog. Should just do it.  We worked on this a long time and gave up.  The problem was that we wanted an if-statement in the JSP to decide whether to show the confirmation dialog or not.  We wanted the condition to call a Java function that returned a boolean, but Spring does not support boolean as a return type.
  • An unknown javascript bug came up during the demo. On the checkbox / radio button add screen, an answer that was not the last was deleted and all answers that followed it were also deleted. ( Haven't been able to duplicate. )

User Interface Issues to Evaluate

  • A suggestion was to look at how Survey Monkey works to allow a user to create surveys. It may be reasonable to steal user interface ideas from them, for example, how to distinguish radio buttons and check boxes.