Fields are the smallest component of a form. Each field must be contained within a section. Fields can be added using the Add question tab on the left-hand side of the page. When a field has been added to the form and it is selected in the form builder, the properties sidebar contains the following tabs:
- Question Settings
- Options (option fields only)
- Scoring (option fields only)
- Advanced properties
- Calculation (calculation fields only)
- Policies to restrict editing
The Question settings tab allows you to change the field type (for non-calculation type fields), specify the field Name and Instructions, select Entry mode, treat the field as a group (Is a group?), specify whether the field should be mandatory(Required) and choose whether the field should default to the last value for this field that was saved by the user (Defaults to last value).
Once data has been recorded for a field, changing the name of the field will cause the data entered for the field to be lost as there is now no record to reference the previously-entered data to.
When changing the name of a field that is in use, consider using the Migrate fields button available for the form when it is viewed in the list of forms created using the event forms tool. There is currently no Migrate fields button available for profile, database or related entity forms, so field names within these form types cannot be safely modified if data is present.
By default, fields are set to normal entry mode. This means that the field is a single data entry field. Standard or custom fields can utilize the table or matrix entry modes so that multiple data sets can be collected against the same field.
Calculations of any sort can be included within a table or matrix with the exception of the table calculation types, which are used outside of a table or matrix to return results about the table or matrix.
Tables are used to capture information where multiple values are required for a single field. Tables can only be built such that each field is a column (row based tables are not possible in Smartabase) and all the field types available in the Add question tab of the form builder can be used in a table.
The only exception to the field types which can be used in a table are the table calculations. This is because table calculations reference the contents of a table and will not work as expected when included in a table.
Setting up the advanced properties for a table is a little different to doing so for a normal field. These properties are all set using the Advanced properties tab of the first field of the table.
In addition to the usual advanced properties for the first field in the table, it is possible to set the number of rows shown by default, allow or disallow the functionality of adding more rows and lock completed rows, among other things. Keep in mind that if you delete the first field or move it elsewhere in the table, the table’s properties will reset to whatever properties the new first field has.
This example shows a table used in a strength and conditioning form. The first field in the table, on the left-hand side, is called Exercise and is a database field. Each of the subsequent columns is a field that has also been set to appear in table format. Here, Exercise holds the table properties for the entire table. The field named Load is a calculation multiplying the data entered for the fields called Sets, Reps and Weight, as follows:
Sets * Reps * Weight
It is important to keep in mind that if a calculation references another field in the table, it will only take into account the value on the same row. In this example, Load in row 1 is using the values on row 1 for Sets, Reps and Weight. The same process will occur for Load in row 2, row 3 and so on. It is not possible for Load in row 1 to use values from any other row.
To calculate values for multiple rows, it is necessary to use table calculations (in this example, Total Session Load, Maximum Intensity and Total Sets are table calculations).
Builders should not forget that as with any other calculation type, calculations that use mathematical operators will not run unless all referenced fields are filled in. So when Sets, Reps and Weight are referenced by the calculation called Load, the Load calculation will not run until Sets, Reps and Weight contain data. This is not a problem in this example because you need each of these values to calculate a meaningful result about the training load. However, as in the following example, the user might complete a table without filling out all of the fields which are referenced by a calculation.
In the example above, the table contains fields called Split 1, Split 2 and so on through to Split 10. A user has filled out a table relating to a training session with data from six splits in the first row, five in the second and 10 in the third.
There is a calculation in the last column called Total Time (Ss.S) for the purpose of displaying the total of all split times per row. For the purpose of this example, assume the calculation uses the following formula:
Split 1 + Split 2 + Split 3 + Split 4 + Split 5 + Split 6 + Split 7 + Split 8 + Split 9 + Split 10
Because this calculation references all of the split fields and uses mathematical operators, it will not return a result unless all the split times are filled in. This is why the Total Time (Ss.S) only contains a result in the third row; however, calculating the total time for the incomplete rows would also be considered a meaningful result.
To solve this problem, the Safe function can be used to treat blank fields as if they contain the value of zero. This means that, if used in the example above, the following calculation would return results for all rows, regardless of empty fields:
Safe(Split 1) + Safe(Split 2) + Safe(Split 3) + Safe(Split 4) + Safe(Split 5) + Safe(Split 6) + Safe(Split 7) + Safe(Split 8) + Safe(Split 9) + Safe(Split 10)
This function normally would not be used for fields that are to be divided or multiplied, as the calculation will return a result of zero.
An alternative solution to the problem identified in this scenario would be to avoid the use of mathematical operators by using the Sum function as follows:
Sum(Split 1, Split 2, Split 3, Split 4, Split 5, Split 6, Split 7, Split 8, Split 9, Split 10)
In the example above, it can be seen that one record of the strength and conditioning event form shows up over five rows instead of one. This happens because the table within the form has five rows and therefore five records for Exercise, Sets, Reps and so on. For this reason, it is usually good practice to set all table fields to not appear in reports and the performance history by setting Default Show In Tables to False.
If the data contained within the table must be shown in reports, a solution for the multiple row problem would be to summarize the table’s contents using a table calculation or table text calculation and display this calculation in reports.
Matrices allow the builder to build a table that can treat every single cell as an individual field. In a regular table, all cells in a column have the same settings (e.g. properties, options and calculations) but in matrices, cells can have different settings.
Because each cell is treated as an individual field it is also possible to reference them separately. In a calculation you can use Name Of Column 1 Name Of Row to fetch the value from the second row of column one. The column name is always written first.
The reports tool is affected by the treatment of individual cells as fields. Instead of having multiple rows as in the case of a table, matrix fields appear as new columns, exactly like any other field outside of a table would.
A consequence of the way matrices behave is that they are very difficult to delete, because each cell needs to be individually deleted. To make this process easier, build the matrix in its own section and delete the whole section, if necessary.
This matrix has been set up correctly and will function as the builder intended. The example matrix here can be used to collect background information about an athlete.
When working with matrices, avoid copying advanced properties across field types and also avoid duplicating fields within the matrix. After a matrix is built and fields are selected in the matrix builder pop up, do not change them as it will break the matrix.
This is an example of what happens when Column2 Row2 was changed from a single line text field to a single select field and the matrix is broken. There is a fix for this, though. Select the question that separated from the matrix and select Matrix again on the Entry type. When the setup menu pops up, give it the appropriate column row name of the location it should be in and the field will go back to its original location. Ensure you select the new field type on the matrix set up menu.
It is also possible to add a row or column to the matrix by creating a new matrix, naming the fields accordingly and then moving the fields to join them with the other matrix. For example, if you wanted to add a third row to the matrix you would have to create a new matrix with just one row (Row3) and use the same number and name of columns as the original matrix. After that move the fields next to the other matrix and they will join together.
To create a matrix, follow the steps below.
- Log in to the builder interface.
- Select the event forms tool.
- Create a new event form or open an existing event form.
- Add a field (the field type is not important) and give it the name of the first column, followed by the first row.
- Select Matrix as the Entry mode.
- On the pop up menu, name the columns and rows you need. Respect the name you gave to the first column and row before.
- Click Next and on the following screen select the field types you need. This will overwrite the field type selected for the first field. The types can be chosen for columns, rows or every individual cell.
- Click Next. The following pop up menu will let the you set the advanced properties of the columns, rows, or individual cells depending on how the field types were selected.
- Click Next and the matrix will be finished. Keep in mind that you will still need to create the options and write the calculations for every cell that needs them.
- Save your event form.
Setting up the visibility of a field works in the same way as it does for a section, with some minor differences. These are that the field's visibility cannot depend on the result of the field itself; it must be determined by the values recorded in other fields in the form. It is also not necessary to use the visibility options to hide a field; if you want the field to be invisible to users, you can set the visibility to Hidden using the Advanced properties tab.
Field visibility settings are not retained in tables or during group entry.
The Options tab allows you to specify which options should be available for an option field or option calculation. These can be added manually by writing each option as a new line, copied from another option field in the form or added using the common categories field. Anytime the options for a field are modified, the change must be finalized using the Update button of the Options tab.
Once an option has been included for an option field and records have been saved with that option selected, if that option is modified (deleted or edited) and updated in the options tab and the form is saved, the data is lost because there is now no record of what the information entered by the user was referenced to. If data may be lost because an option list has been modified, a pop-up warning message identifying the field and number of records affected will be displayed when the form is saved (in the builder).
When changing the options for an option field that is in use, consider using the Migrate option(s) button available for the form when it is viewed in the list of forms created using the event forms tool. There is currently no Migrate option(s) button available for profile, database or related entity forms, so options within these form types cannot be safely modified if data has already been recorded.
The Scoring tab allows you to set numeric values for any options used by an option field. It is not visible when a non-option type field or calculation is selected. The scores entered for an option field can be referenced by calculations. It is also possible to display scores instead of options when viewing the form in the performance history or reports tools by setting the advanced property called Show scores in tables.
There are many advanced properties that can be set for a field in an event, profile, database or related entity form. The ones detailed below have been described for the purposes of making changes to an event form, but can generally be used the same way in other form types if available.
General advanced properties
- Copy properties from: this allows you to copy the advanced properties set up for another field in the form to the selected field. This will copy any Abbreviation settings as well.
- Visible: this allows you to set whether the field is Visible or Hidden for all users. You cannot use hidden fields to control conditional visibility of another field or section. Set to Visible in most cases.
- Default show in tables: when this property is set to True, the field is automatically included in tables on the user interface: for example, in the performance history and in reports.
Set the Default show in tables property to False for most fields in order to create a clean report by default. Within the reports tool, you can tick additional fields to show up in the report if required.
- Hide in reports: when this property is enabled, the field will not appear in reports and will not be available to add to a report from the View fields section of the report tool sidebar. You cannot use fields that are hidden in reports to control conditional visibility of another field or section.
- Show this item in quick edit popup: if quick editing is enabled for your Smartabase site, enabling this property makes fields available for editing in a pop-up from an embedded report or event, a report or the performance history screen. Records updated using a quick edits pop-up cannot be locked.
- Preferred width: the width in pixels of the field when it appears as a column in a table (i.e. in performance history and reports).
- Report column width: same as above but specifically for the reports tool.
- PDF report column width: same as above but for PDF downloads from the reports tool.
- Summary field: when this property is set to True, it means that the data for this field will appear in the left sidebar against the record’s date once it is saved. If you have set Summary field to True for more than one field in the form, the field name will also be displayed in the sidebar.
Set Summary field to False in most cases, otherwise the sidebar gets very crowded.
- Calendar summary field: same as above, but for how the saved record is displayed in the calendar. Set to False in most cases.
- iCal summary field: same as above, but for how the saved record is displayed in an iCal file. Set to False in most cases.
- Show in PDF reports: true means that this field and answer will appear in PDF downloads from the reports tool. Set to True in most cases.
- Can be entered by: used to specify who can fill out this field. You need to ensure that this property and the next don’t contradict each other.
- Can be viewed by: used to specify who can view this field and any data recorded in it.
- Abbreviation: used to abbreviate the field (if needed) to optimize how it appears in tables (i.e. in performance history and reports) and the sidebar (if Summary field is set to True this field’s abbreviation will be visible in the sidebar). This property’s text can safely be changed whenever you like, but changing the actual name of the field has implications.
- Plural: can be specified if the field name ever needs to be referred to as a plural; this is generally not used but does apply when setting an event form as a favorite event.
- Lock delay field: if this is set to True, this field can be edited for a period of time after the form is locked and there is a delay period set. Set to False in most cases. Form locking and delay periods are advanced form properties.
- Plannable: if this is set to Yes, then this field is available for use in tools that plan for the future (that is, in the training blocks tool). You should ensure this is set to Yes for fields where there is value in planning the answer ahead of time.
- Show in group mode: if set to Yes, then this field will appear when group entry mode is used to fill out the form. You can set to True if you want this field to be filled out when group entry mode is used or False if this field shouldn’t be useable in group entry mode.
- Chart by default: if set to Yes, the answers to this field are graphed in the performance history and reports.
- Calculate total: if set to Yes, the values for this field are totaled and displayed at the bottom of the form in the performance history and reports.
- Calculate average: if set to Yes, the values for this field are averaged and displayed at the bottom of the form in the performance history and reports.
Option type field advanced properties
These are the advanced properties are available for option fields, such as yes/no, true/false, drop-down, multiple selection or single selection.
- Calculate total: if set to Yes, the scores for this field are totaled and displayed at the bottom of the form in the performance history and reports.
- Calculate average: if set to Yes, the scores for this field are averaged and displayed at the bottom of the form in the performance history and reports.
- Status indicator: if set to True, then the answer to this field is used as the status indicator for the user. The status indicator affects how the user’s name is displayed in the sidebar. Set to False in most cases.
- Best value: can be specified to No best value if all possible answers to the field are equally important or a single option can be set as the best value. When setting up an option list, it’s recommended that you put the best value (if enabled) at the top or bottom of the option list as reports, embedded reports, front page reports and the performance history sort according to the list order.
- Show scores in tables instead of text: this displays the options for the field as their scores instead of text when the field is part of a table (i.e. in performance history and reports). Set to False in most cases.
- Orientation: this property allows all option fields except for multiple selection fields to be set to display options vertically or horizontally.
- Critical info: if set to True, the answer to this field will appear in the sidebar below the user’s profile image.
Only one or two really critical variables across a site should be set to True to reduce clutter and highlight really important information, like allergies or injury status. Set to False in most cases.
- Default to critical: if the Critical info property is set to True, then this can be set to Yes or No depending on whether you want this field's answer to default to the last value entered. Set to False in most cases.
- Default value: can be set to No default value if all possible answers to the field are equally likely or a single option can be set as the default value.
If a default value is set and the field is not answered then the default value will be saved as the answer when the form is saved.
- Invalid if: selecting an option with this setting makes that option invalidate the form, meaning that it can’t be saved. If there are any field options that make the form’s data unusable, select that option. An Invalid if message box will appear below this property to include an explanation for why the field's answer is invalid. Leave as blank in most cases.
- Conditional option: this allows you to pick another option field in the form (above this field) to filter the options for this question. Leave as blank in most cases.
- Copy to all: this property will copy all of the advanced properties you’ve set for the selected option field to all other option fields of the same type in the form. This can be very useful for saving time, but the Abbreviation advanced property generally needs to be set for individual fields.
Date field advanced properties
These are the advanced properties you have available for a date field.
- Date format: select the date display format, e.g. DD/MM/YYYY. Setting the date format with this method will override any site-wide date format settings, which are set by Fusion Sport using the application details tool.
- Default to: specify No default or Today. If set to Today, then the date field is pre-filled with the date the form was first created.
- Minimum/Maximum: these can be used if there are other date fields in the form and they influence the minimum or maximum dates that can be entered for this field.
- Restrict future dates: if set to True, then dates that are after the form creation date are unable to be selected.
- Remove future dates: this property is now obsolete (replaced by better ways of doing calculations involving dates) and is scheduled for removal.
Text type field advanced properties
These are the advanced properties available for a text type field. The properties for single line text and paragraphs field are essentially the same.
- Minimum number of characters: this lets you specify a minimum number of characters entered for this field. You can leave this blank in most cases.
- Maximum number of characters: this lets you specify a maximum number of characters. This property can be useful to restrict how much text is entered when only a particular amount is needed. You can leave this blank in most cases.
Numeric type field advanced properties
These are the advanced properties available for a numeric field. Most properties are common to all numeric question types (number, positive number, whole number, or positive whole number).
- Minimum value: allows you to specify the smallest value that can be entered for this field.
- Maximum value: allows you to specify the largest value that can be entered for this field.
- Format: allows you to specify how many decimal places the answer can be entered to.
It is best practice to set the number Format correctly and avoid leaving it set to None.
- Comparisons: if set to Yes and the advanced form property called Show last record is set to True, then the last record for this field will be visible in a new form along with the percent change.
- Best value: can be set to No best value if all possible answers to the field are equally important or a direction can be set (higher answers are better or lower answers are better). If the advanced form property called Show last record is set to True, then alongside the last record an arrow will also be displayed, indicating the direction of progress.
- Calculates personal best: if a best value has been specified, this property becomes visible. Setting this to True means that results from this field will become visible in the personal bests tool.
- Number type: lets you specify whether this number is a count, estimate, quantity of measurement. Can safely be set as None in most cases. If specified the following properties become available:
- Unit type: lets you specify the number as a unit of measurement. Can be safely left set as None in most cases.
- Units: lets you specify the units of measurement depending on the unit type selected. Can safely be left as blank in most cases.
- Minimum significant difference: lets you specify the smallest change considered as a significant change. Can safely be left as blank in most cases.
Calculation type field advanced properties
These are the advanced properties available for a calculation type field. These properties are common to all non-linked calculation field types (simple calculations, duration calculations, history calculations, table calculations, option calculations, text calculations).
- X-position: only available when the section property called Form positioning is set to Positioned and the width and height of the section are set.
- Y-position: only available when the section property called Form positioning is set to Positioned and the width and height of the section are set.
- Auto-calculate: specifies whether the calculation calculates as soon as the data it requires is entered. Always set to Yes.
- Repeat field in Excel report: if the calculation is part of a table, setting this to Yes means that the calculation result will fill down when the record is either exported to CSV from the reports tool or performance history or the field is included in an Excel report. This is only selectable and useful if the calculation is part of a table.
Table advanced properties
These are the advanced properties available for the first field in a table.
- Table rows: specify the number of rows in the table by default. The default value for this setting is 10.
- Add row button: allows you to customize what text is displayed in the Add row button. You can the button to prevent new table rows from being added by typing HIDDEN into the Add row button setting.
- Optionally hide rows: allows people to hide all except the last two table rows during data entry on Smartabase Online by adding a Show all tick box above the table.
- Autocollapse table: selecting Yes collapses the table row height so that only one row of text is visible by default, and selecting a cell expands the current row height. It also overrides preferred column widths and the table expands to the width of the screen.
- Lock completed table rows: prevents data in a table row from being edited once the record has been saved. A locked table row will be indicated with a padlock symbol on the right side of the table row.
- Lock delay: if a lock delay field (see General advanced properties) has been set, you can choose to delay the table row being locked and allow data to be edited before the lock delay period expires. Lock delays can be between 15 minutes and 96 hours.
- Compress data entry: this setting is obsolete and scheduled for removal.
- Expand rows: if the Expand sidebar form advanced property is enabled, setting Expand rows to Yes will display the first field from each table row in the sidebar.
- Expanded row sorting: if rows are expanded in the sidebar, choose whether to sort the rows in ascending or descending order. This setting is only available if Expand rows is set to Yes.
- Print rows: if Yes, a PDF of the individual table row can be saved by selecting the Excel file icon on the right side of the table row during data entry.
- Duplicate rows: allows you to duplicate an individual table row by selecting the plus icon on the right side of the table row during data entry. The duplicate table row is added to the bottom of the table.
- Delete rows: allows you to delete each row individually during data entry. Once the record is saved, you will no longer be able to delete the table row.
- Auto fill table: if Yes, text entered into a paragraph text field will be automatically populated in new table rows. The text is only populated when the next table cell is selected. This setting is only available for paragraph text fields.
The calculation tab is only visible for calculation fields. This is where the formula for the calculation is written.
Policies to restrict editing
The restriction policies tool allows for additional granularity when choosing the access people have to edit forms (including event forms, profile forms, databases and related entity forms) in Smartabase. In contrast to standard roles (which permit access to entire forms), this tool can be used to enable certain people to edit individual fields within a form.
Once a policy has been created by an administrator, you can enable it for any entry fields in your forms in the field properties sidebar. Any individual field can only have one policy applied to it.
If a field that is required has a restriction policy applied to it, someone who isn't permitted to enter that field will still be able to save the form, even if the required field is empty.
The restriction policies tool is not supported for forms which are linked across multiple Smartabase sites (enterprise clients using a parent-child site configuration). This is because restriction policies and roles cannot be linked between these sites.
To apply a restriction policy to a field, follow the steps below.
- Log into the builder interface.
- Navigate to the appropriate form.
- Click on the field you want to restrict and navigate to Policies to restrict editing in the left sidebar.
- Choose the restriction policy you want Write edit limited to.
- Save the form.
For steps on how to set up a restriction policy as an administrator, check out this article.