Each doForm is constructed out of building blocks referred to as "question widgets" (or sometimes "functions") and formatting elements referred to as "containers". Question widgets are things like text boxes, multiple choice questions, and lookups. But they can also be functions like calculations, GPS, or action buttons. Containers are things like grids, tables and relating sections.
Question widgets can be used sequentially, looped using a repeatable section, or connected using sophisticated skip and relevance logic. They can be used directly or placed into formatting containers. To add a question widget to your form, just “drag and drop” it onto the question canvas. A full list of available question widgets is provided below.
Formatting containers are used to control the layout of question widgets when they are rendered in the mobile app. In general, a container is dragged onto the question canvas and question widgets are dragged into the container. If a specific question widget is not supported, then you will not be able to drag it into the container. A full list of available format containers is provided below.
All question widgets and containers have properties, which are simply widget-specific settings that allow you to customize the way they look and the way they work. A full list of available properties is provided below.
In addition to questions and containers that you add to your form, each form is automatically stamped with metadata containing date:time and device ID whenever the form data is saved on the mobile device. It is also stamped with the date:time when it is received by the website or edited on the website.
Question Widget Types
Action Button – [paid accounts only] The Action Button widget allows you to make your forms more “app like”. You can use a standard button format or upload your own customized button images. Action buttons can be used to jump to questions or pages, so you can build your own form/app menus. Action buttons can also be used to open web pages, play videos, launch other apps, send customized dispatch status flags or control what happens when a form is closed.
Approval – [paid accounts only] A special question type that can be inserted into one or more places within a form. These approvals are not displayed in the doForms mobile app, but they are displayed in the View Data tab. The approval status can then be changed by the responsible Web User, and the data record is “stamped” with that specific Web User’s login ID. This stamp cannot be edited and serves as a digital signature.
Audio – [paid accounts only] Allows the collection of audio input in the form using the device’s audio recorder. The format of audio files will depend on the mobile device.
Auto-number – [paid accounts only] Can be used to automatically create integer numbers in an ascending order. These would be typically used as reference numbers (such as Invoice Numbers). doForms generates these numbers based on the current date:time in the format yyymmddhhmmssss. So, for example, an auto-number generated at 5:18:24.12 PM on March 27, 2014 would be 14032717182412. This algorithm allows you to produce a pattern of unique ascending numbers across multiple mobile devices that are operating in disconnected mode.
Barcode – [paid accounts only] Allows the collection of barcode input using the device’s camera. Supported barcode formats include UPC-A and UPC-E; EAN-8 and EAN-13; Code 39, 93, 128; QR Code; ITF; Codabar, RSS-14 all variants; Data Matrix; PDF 417 alpha quality; Aztec alpha quality.
Calculation – [paid accounts only] The calculation widget allows you to perform arithmetic (= + - / * % Sum) operations on one or more previously entered numeric question values in the form. The calculation widget can also be used with date:time values (subtract one date:time from another to produce a decimal-hour difference or add/subtract decimal-hour from a date:time to produce a new date:time). The result of a date:time calculation will always be stored as a decimal-hour value. See the “Using Calculations” section for more information about creating calculations.
Choose-one – Allows the selection of one answer from a multiple choice list. Note that choose-one questions can be used inside a Questionnaire container to organize the questions in a tabular format.
Counter - Provides a clickable interface for counting items or events. Click the up-arrow to increase the count by the “step” interval, or click the down-arrow to decrease the count. For, example with a step interval of 10, each click of the Counter widget would increase or decrease the count by 10. Likewise, with a step interval of 100, each click of the Counter widget would increase or decrease the count by 100. You can use multiple Counters, with different step intervals, inside a Grid container to create customized Counter controls.
Date:Time – Allows the selection of a date, time or date:time. You may use the “today” keyword when setting the “default” property for dates. When displayed in the mobile app, the date:time control also provides a Now button.
Email Report – [paid accounts only] Emails the completed form as a PDF report to one or more recipients in addition to sending it to your doForms website. The email is sent automatically when the completed form is sent and received by your doForms website. You can use the “Default” property to pre-populate email addresses. Use commas to separate multiple email addresses. See the “Emailing PDF Reports” section for more detailed information.
Forward – [paid Dispatch accounts only] The Forward widget provides an easy way for multiple field users to collaborate on a form. After Worker A is done with her portion of the form, she can “Forward” the form record to Worker B, who can review, edit or add data, then forward it to Worker C, etc. etc. Each worker in this chain is identified by the mobile number of his or her device. These mobile numbers can be entered directly or passed as a destination field from a prior Lookup widget selection. Each of the mobile numbers in this chain needs to be subscribed to the same project/form. Forwarding is essentially a mobile-to-mobile dispatching function, hence it is available in Dispatch accounts only.
Image – [paid accounts only] Allows the collection of still images in the form using the device camera. Previously taken images can also be selected and included in the form. The mobile app also allows the user to sketch atop the image to point out items of interest. Image files will be saved as JPEG format. There is no technical upper limit on the number of image files that can be inserted into a single form, however there is an upper limit of 35 MB total for all the pictures in a form. Past this limit, the doForms application will begin running very slowly and may freeze. You can avoid this by restricting the number of pictures in a single form and/or training your users to use a lower camera resolution when taking pictures. Camera resolution options vary by device, so please refer to your device user manual.
Label – Allows the entry of a section or heading label to help organize your form. Use the Caption text to provide a title or heading. Use the Hint property to provide additional information (e.g., instructions, warnings etc.). Labels may also contain uploaded images. You can use this feature to “brand” a form with a logo or to provide your mobile users with reference images. Also, in the "properties" for this widget you can control whether or not the label will be displayed in mobile app and/or PDF reports. You can force line breaks in the "Hints" section of a Label question by inserting a <br> tag.
Location – Allows the collection of GPS map coordinates at the current location. The data will include latitude and longitude, and may include altitude and accuracy (depending on the mobile device).
Lookup – [paid accounts only] Lookup tables allow you to search on and select an answer from an external data table (Excel 2003 and CSV files only). Additionally, if a lookup table row contains answers for other questions in your form, you can use the table to automatically answer these questions as well. For example, if your form contains questions for entering “Customer Name”, “Customer Number” and “Customer Address”, and if you have a lookup table that also contains these columns, then you can set up “Customer Name” as the Lookup Table, and when the mobile user searches on and selects a Customer Name, the corresponding Customer Number and Number Address will be automatically filled out in the form. See the “Using Lookup Tables” section for more information about working with lookup tables.
NFC – [paid accounts only] Allows the collection of Near Field Computing (NFC) tag values. Note that the type of tags supported is a function of the NFC sensor in the mobile device hardware (if any).
Numeric – Allows the entry of numbers only. You can specify Integer or Decimal in the properties. We recommend using numeric integer input for telephone numbers. On most mobile devices doForms will display a number pad for entering numeric values.
Payment – The payment widget provides a link between doForms and the Flint Payment App (www.flint.com) which is available for Android and iOS. Flint is a feature rich payment system that allows payments to be made in cash, by check, or using a debit or credit card. No card scanner hardware is required. Just use the camera to take a picture of the card. Note that Flint is available for US payments only. Place this widget at the point in your form where you wish to collect a payment for goods or services.
Score – [paid accounts only] Used for organizing choose-one questions into "score categories". For example, you may have one category of question that relate to the “appearance” of an item, and a second category related to the “smell” of an item, and a third category related to “taste”. This question type also automatically calculates and summarizes the total possible score for each category, total given score and percent of given divided by possible. These summaries are displayed in the mobile app when the form is completed. They are also automatically added to the View Data tab. Note that score questions can be used inside a Questionnaire container to organize the questions in a tabular format.
Score Summary – [paid accounts only] Allows you to specify where the form score summary table will be positioned. The score summary automatically calculates and summarizes the total possible score for each category, the total given score and the percent of given relative to possible.
Select Multiple – Allows the selection of multiple answers from a multiple choice list. Note that select multiple questions can be used inside a Questionnaire container to organize the questions in a tabular format.
Signature – Allows the collection of a signature using the touch-screen. Signatures are saved as raster images (JPEG). Note that signature questions will be ignored on non-touch screen devices, however, each submitted form is stamped with the Mobile Device number “system field”. Depending on your specific need, this stamp may serve as “digital signature”.
Sketch – Allows the collection of touch-screen drawing input. Sketches are saved as raster images (JPEG). Note that sketch questions will be ignored on non-touch screen devices.
Text – Allows the entry of alpha numeric information into a text entry box. The box will expand in size as more text is entered. Text boxes are the most generic data entry format. On most mobile devices doForms will display a keyboard for entering text.
Trends - [paid accounts only] A variation of the Numeric widget designed to provide a visual comparison of prior values recorded by the same question. The comparison can be in a tabular format and/or a graphical format. The Trends widget requires an Internet connection.
Video – [paid accounts only] Allows the collection of video w/audio input in the form. Note that video clips have a 5 second limit. The format of video files will depend on the mobile device.
IMPORTANT: Note that if a mobile device’s hardware does not support a question type, then the question will be automatically skipped by the doForms mobile app. For example, if the device does not have GPS (or the GPS is not enabled), all Location questions will be automatically skipped. In these cases, the value “no_gps” will be coded as the answer to the questions. Other possibilities include “no_media” in the case that a camera or microphone are not present, “no_draw” in the case that there is no touch-screen drawing surface and “no-barcode” in the case that there is no camera or barcode driver. When designing your form, consider providing alternate input methods for these cases by using “relevance” logic. For example, if the value returned is “no_gps”, then use relevance logic to trigger a text question that asks the user to enter an address or description of the location.
Page Break – Inserts a page break. These page breaks affect the “Form View” on tablet devices only. Within a page you can navigate Form View by swiping the screen vertically. Pages can contain any question widget or container. To navigate between pages in Form View, tap on the page bar at the bottom of the Form View screen.
Grid – [paid accounts only] A grid is a “container” for label, text, lookup, numeric and image question types. A fixed number of columns must be specified in the properties area. Questions placed inside the container are placed in the grid in a zig-zag pattern with each new line starting after the specified number of columns. See the “Using Grids” section for more detailed information. Grids are similar to Tables except that in a Table the contents of each row are repeated (the columns differ). Whereas, the contents of cells in a grid can be completely random.
Questionnaire - [paid accounts only] A Questionnaire is a grid format “container” for score, choose-one or select multiple question types (but you cannot mix question types in a questionnaire container). The answer options MUST be the same for all of the score, choose-one or select multiple questions dragged into the questionnaire container. Questionnaire grids can have up to 10 columns, but an unlimited number of rows. The questions are listed in the first column of the grid. The answer values comprise the column headings.
Repeatable Section – [paid accounts only] A repeatable section is a “container” for one or more of any of the questions above. A repeatable section loops through the questions it contains. A maximum number of loops can be specified in the properties area. Note that mobile users will be prompted before each loop if they wish to continue. The maximum number of loops can be specified when building the form, or it can be specified by the mobile user when filling out a form (in a prior question).
Table – [paid accounts only] A table is a spreadsheet like “container” for text, lookup, numeric, date:time and calculation question types. Tables can have up to 10 columns. The number of rows can be specified when building the form or it can be specified by the mobile user when filling out a form (in a prior question). Tables are similar to Grids except that in a Table the contents of each row are repeated (the columns differ). Whereas, the contents of cells in a grid can be completely random.