Setting Up A Form Template
How to setup a form on Mashoom, so that it can be used to collect information, files and pictures.
Contents
Introduction
In essence, the Mashoom Forms module enables you to set up how which information is collected in a specific data collection job, then how some or all of that information is displayed on a document. Put together, any data collected process can be set up on Mashoom, to allow control and scalability over this process.
Mashoom's "Forms" module also can operate independently, generating PDFs such as equipment transfers, engineer communication, manuals and the like. Alongside the Physical Things module, forms can be set up for asset-testing results, equipment transfer and also certificates for interested third parties, such as customers who own the assets and government department/legal entities.
This module has been designed to work with any form you may currently operate with, you simple upload your existing template and Mashoom automatically inserts the data on top. This means you can carry on using your own developed/approved documents, just using Mashoom to populate them electronically. This is perfect for digitising an existing paper based system.
Uploading and setting up forms on your Mashoom account can be carried out by an account admin or by Mashoom's Support team if requested. There are documented tools and training to aid the user in their endeavours and, of course, our support team are happy to help.
Mashoom can support Excel templates, but only with support help; we don't yet have a user facing interface to set up a form on your own. Please get in contact if you would like to set up an Excel template.
The first step is to set up what data fields you're trying to collect, either just for the form, or for both the form and asset if you're using the Physical Things module. The process for setting this up is the same for every mode, follow this tutorial on our Fuzzy Data engine.
Uploading A Template
Once a Form type has been created, and the data fields set up, the next step is to upload the PDF template that Mashoom will use as the basis for your form.
Let's look at how this happens.
Go to the "Main Menu" of your Mashoom account (you can get here from wherever you are once you have logged on, by pressing the 9 dots at the top left of your screen, opposite the Mashoom logo) and you will see a section headed "Forms". You will see a sub-header "Setup Form Types".
By selecting this you will now see "Form Type Setup" which is where the form types currently available on your Mashoom account are listed.

Displayed across your screen is the hierarchy of your form types, set out from left to right, showing on the left the type of form at its highest level, followed across the screen by its sub-types. If you click on one of these types, the details of that type will appear to the right. Setting up the data fields is described in other documentation.
To upload your template, drag or click and upload into the box titled "Form Template". If a template already exists, this will be replaced by the new one. It may be worth downloading the old template just in case you need to revert back to it.
Connecting to An Asset
Skip this section if you're not using the Physical Things module; if you aren't collecting information on an asset. To collect information on an asset, the form template needs to be attached to it's equivalent asset type.
Taking the example below, this is a calibration document of a scale, but specifically for a weight category of scales. This is because in our example, our form has specific inputs and a specific template that relates to only this weight category. Any scales that are of this weight category, including any sub types, will be able to be associated with this form.

Use the type selection input to select which type this form template belongs to. You can use the "Remove Connection" button to remove the association between this template and a Physical Thing type.
Setting up Form Template Data Inputs
Once you've set up your data fields, connected an physical thing type (if applicable) and uploaded a PDF template, we're ready to start setting up the form. Click the "Go To Template Editor" button to open the template editor.

The template editor has two parts, on the left hand side is the list of available data fields. This will be a combination of the Form's input fields, and the connected Physical Thing's inputs if this is set up. On the right hand side, you'll have a preview of the form template, notice the arrows at the bottom to change pages.
If you open up each data field on the left hand side you'll see different options depending on the type of the fields. So, if you don't see an option you're looking for, it's best to check what type of data field you're working on. For instance, calculated and driven fields don't offer options about how they're input, because they aren't when filling in a form.

There are two ways to set up a data field to be collected during the form filling process. The first is simply to change "Required on form filling" to either "can be skipped" or "yes". Doing this alone will collect the data field, but not print it anywhere on the PDF form when it's generated.
The other way is to place a data field on the PDF document where you want it to be displayed. Do this by clicking "Add Data Field", you should see a new "data position" set up, called something like "Data Position: new-0", underneath the data fields heading. Click on "Place", then on the PDF template on the right, select the top left hand then bottom right hand of the box that the value will go in. You should then see a blue box where the input field will go.
You can do this multiple times for a field, so one field can be placed in multiple places on the form. The data will only be collected once. Click the arrow to the right of data position title to drop down the display options for that field. The field can be adjusted precisely on the form using numeric values, and each data field type will display different display options, for instance the various ways to show a true / false value.
When you scroll over a data position, the corresponding box on the template is highlighted in orange.

Remember to save your work often, the save button is at the bottom of the right hand column, underneath the preview.
Ordering Input Fields and Skipping Section
When a new form is started, by default, the fields will be grouped according to their FD grouping. These groups are ordered by how they're set up, this can be changed from the edit group option in the FD type setup interface.
Within each group, by default the field order is chronological by when the field was set up on the system, oldest first. However this behaviour can be changed, by setting the "Define the ordering index" option. This index takes precedence over the other ordering, allowing you to order field within a group.
You can also set up the ability to skip sections in a form, by checking the "Can trigger skip to..." option. In the example shown below, if this field is marked as false then we don't need to complete the rest of the process, so we skip to group 12 and display a message to the user to show why this is happening. This can be combined with a calculated field, so complex logic taking into account multiple inputs could return a true / false value, which then triggers which group should be next for a form.

File / Photo Collection and Display
Photos can also be placed on forms, as well as files. It's recommended if collecting photos during data capture to set up a whitelist of allowed file extensions for that input field. Generic files can also be collected during data input.
When a file is displayed on a form, if it's a picture the actual picture will be printed on the form so it's viewable in the PDF. If it's another file type, a tick will be displayed to confirm that it has been collected as part of the collection process. You can also collect files without displaying them on the PDF, set the "Required on form filling" option to either "can be skipped" or "yes".

Photos can also be added to a photo gallery, auto generated at the end of the form. This is useful when doing a large audit for example, as audit points are raised, evidence photos can be taken, and all these photos will be displayed after the initial report. A tick can still be placed on the document, to show a photo has been taken as is available in the gallery at the end of the report. Use the "Add file to gallery, tick will be placed in position" to turn this option on.
Magic (Auto-Set) Fields
Mashoom supports "magic fields", meta data of the form or physical thing which can be printed on the from:
- Mashoom ID - The unique index for the form or asset, useful for form numbering
- Type name - The type of the form or asset
- Author name - The name of the user who completed the form, or who originally started the form if handed off without signature transfer
- Author signature - The signature of the user who completed the form.
- End date - The date the form was completed
Each user can set up their personal signature. Mashoom applies some anti-forgery protection on signatures when they're printed on forms, with a unique code that ties the signature to the specific form and user. The signature also sightly moves on every form, so it's visually apparent if a signature has been copied. Signatures are also see through, it's advised placing them slightly within a signature line on the form, again helping to prevent people being able to copy the real signature.
Combined these fields allow automated data entry on the form which covers off when the form was completed and by who, much improving an auditable process from a compliance perspective. As Mashoom doesn't charge per user, every form filler can (and should) have their own user account with no shared passwords, meaning that signatures etc can be relied upon.

Form Settings
Mashoom forms by default define that the user must complete each section in turn. However, by checking the "Un-ordered form input" option, the form can be completed in any order. This is useful for larger auditing forms or site visits, whereby the order of the data collection can vary.
The "Hand-off Preferences" allows a form to be handed off to another user part way or once it's been completed. This can be either optionally or mandatory, by setting the "minimum number required" option. If the "Signature responsibilities are transferred" button is un-checked, the personal who started the form will be who's signature is displayed on form completion. If checked, the persona who finally completed the form's signature will be used.
