Form Builder Overview

Form builder allows you to create your own custom data capture aspect.

Quick Start

Key Concepts

Form Builder vs Aspects

The terms aspect and form builder are used frequently in ShareDo. Here are some differences:

  • Aspect: is a user interface section that can be added to a ShareDo object (for example, a work item, participant, and ODS entity).
  • Form builder: A special aspect type that you can use to add a custom data capture form to a blade. The aspect is the container in which your form is placed. ShareDo configures connections for saving, so you don't have to.

Add a Form to a Work type

Common Questions Answered

What Do Form Builders Look Like?

When you add a form to a blade using a form builder aspect, ShareDo adds it as a section of the blade or a navigation bar, which shows the form on a separate blade. All work types have a key facts blade and these are made up of different aspects.

This is a task work type key fact blade.

Each section or navigation bar on the form is an aspect. In Modeller, the aspects for this work type look like this.

Choose the form builder aspect to add your custom data capture form to a blade.

Where Can I Use Custom Data Capture Forms?

You can use form builders in the following places:

Work type includes many of the out-of-the-box work types such as instruction, case, payments, offers, tasks, and service requests.

Are Form Builder Aspects Inherited?

When you create a new work type as a derived type (child) of another work type, aspects are not inherited by default. The key facts blade starts out blank. The work type Modeller does, however, give the user the option to 'Copy from parent' to copy aspects, including form builder aspects, from the parent work type.

This option is found by pressing the aspects button on your chosen work type.

Can I Allocate Specific Permissions for a Custom Data Capture Form?

Yes. When adding the form builder aspect, use the padlock button to specify a specific global permission the user needs to access the aspect.

Add Permissions to an Aspect

Can I Stripe / Contextually Display Aspects?

Yes. Custom data capture forms can be contextually displayed based on matching rules. Use the eye button to add a display rule to your form builder aspect.

Striping an Aspect

How do you Display Custom Data Capture Using a Navigation Bar

You can display a custom data capture form on its own blade and access it from a navigation bar.

When setting up your form builder aspect, ensure you add it to the footer section of the blade. In the settings for the aspect, the display type is set to Nav Bar.

Do I Need To Make Any Database Changes to Add My New fields to the Database?

No. The Modeller framework handles that for you. You only need to configure your fields in form builder.

Do I Need to Make Any Changes to the Reporting Database When I Add New Custom Data Capture Fields?

No - fields added using form builder will automatically flow into the reporting database.

Will Changes to Data in Form Builder Fields Be Auditable?

The work type audit captures data. You can also capture changes in chronology by adding the chronology attribute.

Capturing Custom Data Changes in Chronology (Form Builder)

Form Builder Elements

The construction of a custom data capture form comprises the elements below.

Element Description
Form Definition The form definition captures the generic information about the form such as the layout and title. When you create a new form, you use a standard template. You can use the template with just a new form title.
Section Definition

Forms can be split into different sections to help organise the data in a way that is more structured for the user.

Field Definition

Defines the details for each individual field. Field definition can include details such as the title, format, display and help text for the field.

Form Builder Aspect

Added to a work type, participant, ODS entity or party type blade definition to show the form.

GUID

A GUID is the unique identifier given to each element. Each time you copy a snippet, you are provided with an individual guid for that item.

Unique field names per context

Each form field in ShareDo has a unique ID (GUID). However, the field name must also be unique within the specific entity it is configured in—this could be a work item, participant, organisation, or team, not just within an individual form.

For example, if a field named favouriteColour appears in two different forms within a matter, both instances share the same name but have unique IDs. If a user edits both forms in the same matter blade, only one answer is saved because the field name is shared across the matter. This behaviour ensures consistency when the same field appears in multiple locations.

However, the same field name used in different contexts—such as a person or a task—captures separate answers. This means that favouriteColour configured for a person will store a different value than favouriteColour configured for a task.

 

Snippets

The form builder tool comes with a set of snippets that provide examples of each field type and the available configuration.

Snippet's visibleIf attribute allows the field to be shown based on a condition. Make sure you remove the visibleIf from the snippet if you do not want to conditionally display the field. Otherwise, if the condition is not met, the field will not appear in your form. See the article Writing expressions using Form Builder visibleIf for more information.

 

This form shows examples of the available snippets.

Snippet Description
Currency Displays a currency field.   
  
Date Date field. Provides a calendar date-picker from which a user can pick a date. 
 
See the Form builder data/time field enhancement section of the ShareDo v7.6.0 Release Notes for important information on the displayFormat attribute. In versions before v7.6, the format attribute was used but restricted date formatting to the ISO 8601 standard (YYYY/MM/DD). Changing the date format could cause issues in ShareDo.
Date / Time Date time fields. Provides the user with a calendar and clock control to pick the date and time. 
 
See the Form builder data/time field enhancement section of the ShareDo v7.6.0 Release Notes for important information on the displayFormat attribute.  In versions before v7.6, the format attribute was used but restricted date formatting to the ISO 8601 standard (YYYY/MM/DD). Changing the date format could cause issues in ShareDo. 
Integer Displays an integer. Use configuration to set the min and max values.  
Label The label snippet allows you to place a text-only label onto your form.  
 
Heading The header snippet allows you to place header-style text onto your form.  
Option Set Picker

This snippet allows you to add a drop-down list to your form.  
 
Attributes:

  • Use the optionSetName attribute to put in the system name of the option set (found in admin under data dictionary). 
  • Use the multiple option to specify whether the user can select more than one item for the list.

Note that if a subsequent field has a visibleIf display option based on the option set selection, then you should use the ID of the selected item rather than the option set value name. 

API Picker Field

Allows you to point the form builder field to an API endpoint (hosted by ShareDo, or in a ShareDo plugin) that will provide a list of values to be shown in a drop-down list.

 

It is similar to the Option Set picker, but the list of values comes from an API.


Attributes:

  • endpointUri: URI to a service that returns an array of elements (see below)
  • allowNoSelection: if true, the 'None' option will be shown.
  • multiple: allow multiple selection if true.
  • placeholderText: label to use for the 'None' option.
  • visibleIf: set visibility conditions using ‘field=value’ pairs.
  • chronologyCard: whether changes to this field are logged to chronology.
  • hideIfNoData: whether to hide this field if no data is returned from the API

 

The endpoint specified in the endpointUri setting must return a JSON array in the following format:

[
  {text: 'Item One', value: '1'},
  {text: 'Item Two', value: '2'},
  // etc.
]

The text property is the user-facing text that will be shown for each item.

The value is the identifier for that item, and should be unique.

 

ShareDo contains an example endpoint that returns a list of countries in this format.

Add an API Picker Field, and set the endpointUri to 

/api/lists/00000000-0000-0000-0000-000000000000/test-list-countries?format=alpaca

to see a working example of this control.

Section

Defines a new section on the form.

Text Provide the addition of a standard text field.  
Boolean Adds a check box to the form.   
Participant Picker

The participant picker field allows a user to select a participant.  

Attributes:

  • multiple: if set to true, allows you to select multiple participants.
  • roleSystemNames: Provides the participant role system names you are selecting.
  • includeAncestors: allows selection of participants from ancestors (for example, if you have a task with a parent work type, it includes the participants form the parent work type.)
  • includeAncestorTypePaths: specifies the type paths where you want to limit selection (for example, matter).
  • allowParticipantAdd: allows the user to add a participant.
  • autoSelectSingleParticipant: if there is only one participant available, it will be autoselected if this is set to true. This only works if the “multiple” attribute is set to false.
Percentage Captures a percentage value.   
Decimal

Displays a decimal. Use configuration to set the precision (the number of digits) and the min and max values. 

Toggle Adds a toggle button to your form. 
 
Memo The memo field provides a multi-line text field. Use the rows attribute to specify the initial number of rows that you want displayed on the form.  
Tree Selector The tree field creates a tree list that allows multi-select.   
Unit of Measure

This field creates a picker where you can select a unit of measure.

Icon Picker

This creates a field that allows you to pick an icon.

ODS Entity Picker

This field creates an ODS picker that shows a filtered list of ODS entities based on the role selected.

Mandatory in Phase

You can set a form builder field to be required only in specific phases by placing the “requiredOnlyInPhases” attribute onto the field.

Audit Trail / Chronology

Changes to form builder fields are, by default, captured in the audit history. To add field changes to the chronology, use the chronology attribute.

Capturing Custom Data Changes in Chronology (Form Builder)