Parts of the Form Designer


After you select to Design your form in the Edit dialog you will be presented with the Form Designer window where you can do all your form designing for both mobile and web capture.

  1. Toolbar
  2. Question List – add new questions, move them up and down, copy and paste them in this window
  3. Properties tab – all the question properties are edited here
  4. XForms Source – lets you view and edit the raw xform
  5. Design Surface – this is where you create a web form
  6. Javascript – add extra functionality to your web form
  7. Layout XML – the XML for your web form layout
  8. Preview – preview your web form and its functionality
  9. Close – Exit the Form Designer – confirms you want to leave and offers you the option to Save
  10. Palette – brings up a new left window used for editing your web form
  11. Widget Properties – edit properties of elements in your web form
  12. ModelXML – if you press Submit in the Preview tab while testing your form, the ModelXML tab will open and display the xform data as it will end up on the server

Note the Language XML and Language Drop Down are not currently used in openXdata


  1. Open / Import – used to update the form based on the XML in the XForms source
  2. Save – use often!
  3. Add New – adds something at the same level as what you have already highlighted
  4. Add New Child – adds something one level below what you have highlighted if possible. If not possible, produces the same functionality as using Add New
  5. Delete – deletes a page, question, option, or widget
  6. Move Up – move a question, page or option Up
  7. Move Down
  8. Cut – cut a question (to then paste it)
  9. Copy – copy a question
  10. Paste – Paste a question you have cut or copied
  11. Refresh – Reloads the form from the server – useful for confirming all your changes have been saved
  12. Align Left – used for aligning widgets in Design Surface
  13. Align Right
  14. Align Top
  15. Align Bottom
  16. Make Same Width – used for making widgets the same width in Design Surface
  17. Make Same Height
  18. Make Same Size – make both height and width the same in the Design Surface
  19. Undo – used in Design Surface only
  20. Redo – used in Design Surface only

Properties Tab – 1/2


Going down the table, the Properties tab allows you to define the following:

  • Text – the main title for a question – this is what appears in the list of questions on the mobile client and is what the Design Surface will default as the question label
  • Help Text – this will scroll along the top of the mobile phone screen when the user is in the question or will be the default tooltip for the question when the user is in web capture
  • Type – lets you change the question type, the options are (Text, Number, Decimal, Date, Time, DateTIme, Boolean, Single Select, Multiple Select, Repeat, Picture, Video, Audio, Single Select Dynamic, GPS, Barcode) (note Barcode is non-functional in 1.16)
  • Binding – the binding is a very important concept in form designing. The question binding is used as the column name in the form’s data table, it is also the xml tag identifier in the raw xml. The binding for an option in a single or multiselect question becomes the value stored for that question in the xml.
  • Visible* – if checked the question is visible on the phone by default, and if not it is not. The default setting is used by the Design Surface auto-layout to place questions on a page
  • Enabled* – if a question is enabled it is “active”
  • Locked* – if a question is locked a user cannot interact with it.
  • Required – if a question is required a form cannot be submitted without a value
  • Default Value* – automatically fills a value for the user such as a number, text, or a date/time – also see Start, End time and today’s date
  • Calculation – calculate values for the field – this is only supported by the mForms mobile client, not on the web

* Visible, Locked, Required, Default Value are discussed in more detail in Skip Logic, Validation and Calculation


Properties Tab – 2/2


Skip Logic
Skip Logic allows you to enable and disable questions based on a user’s answers to previous questions. On a paper form, it is usually done through instructions like “If Yes, go to question 4, if No go to Question 5″ With openXdata you can do this and more complicated skip logic using multiple question values and numerical values. In the sample form the Is Patient Pregnant question uses skip logic to become enabled only if the patient is Female.

Validation Logic
Validation logic allows you to bring some initial data quality measures into your form by ensuring that your user enters appropriate data. Examples of validation logic include ensuring a date is not in the future, or that a numerical value is between two appropriate values. In the Sample Form, Birth Date, Weight, Height, and Details of Children questions all use validation logic.

Dynamic Lists
This tab is used to enter the options for a Single Select Dynamic Question