Search for answers or browse about Sintel Forms.
Sintel Forms Best Practices
Here are a few tips that we recommend when building forms or solutions using our platform.
Before creating anything
- Think about your layout
Whether you are designing a form from scratch or have an existing paper-based form or electronic form to start with, it’s always a good idea to think about the design before creating anything. You should review the data that is being captured & the layout of the form. Your original form (if you are working based on an existing design) is probably not responsive. This means it doesn’t change its layout based on the size of the screen it’s displayed on so it’s not likely to look well on smaller screens. The new form you design with Sintel Forms will be responsive so it’s worth thinking about how you lay it out to make it as user-friendly as possible. - Speed up data entry
Once you have an idea of the fields that you need take some time to consider if they can be auto-set so that form filling is as efficient as possible for your users. You can do things like auto-setting the submitter, the date, setup cascading drop-downs or automatically setting the approver. Anything you can do to speed up the process of filling in a form will help with user adoption and make everyone’s life easier. - Use the appropriate field types
Some people have a tendency to use a single-line of text field for capturing all types of data-this is a bad idea. Excessive use of single-line of text fields leads to the capture of poor/inconsistent data which in turn leads to poor reporting on that data after it’s been captured from end-users. If you need a date then use a date field, if you need a number then use a number field, it’s that simple. - Choice fields vs lookup fields
If there are fields on your form that the user selects from a drop-down you should consider whether to use lookup columns or choice fields. If the options are not likely to change or be renamed in the future then choice fields are a good option and they are also quicker to create. However, if the options are likely to change or you want to control the sort order of them then a lookup column is a much better option. It does require you to create a list to store the values but it gives you a lot more scope for changes in the future. We in Sintel generally use lookup fields rather than choice fields when designing forms.
Tip: While you can create many lookup columns in a list, you can’t display more than 12 lookup columns in a SharePoint list view by default. - Linked lists
Linked lists within Sintel Forms enable you to create parent-child relationships such as individual expense items on an expense form. This functionality is similar to the repeating table feature that was available in InfoPath with the difference that Sintel Forms stores such data as individual list items in a linked SharePoint list which allows for better reporting.
Tip: Using linked lists will save you from creating an excessive number of columns in your main list to store data. If your form has a large number of fields then consider if some of those fields can be moved into linked lists. - Do you need workflow-yes you do!
Regardless of the type of form you are designing, it’s highly likely that a workflow of some sort is required. Sintel Forms has a built-in workflow engine that can be used to automate most business processes but you can easily use other workflow solutions such as Power Automate if you wish. The key thing here is to consider your workflow requirements before designing your form. You may think workflow can be added after your design is completed but it may be the case that at various stages of the business process you need to disable or hide sections or fields on the form and it’s always better to consider this before creating anything.
Design Recommendations
- One form per site
For each new form, you intend to create it’s best to create a SharePoint site (Site Collection or subweb) in which to host the form. This provides more granular control over the form configuration including who can access it. - Avoid spaces in lists and column names
When creating lists, columns or lookup columns do not use spaces and do capitalise the first letter of each word example (DateItemReturned) instead of (Date Item Returned).If you create all the columns within our Sintel Forms Designer (which is the recommended way) it will automatically correct the column internal names so you don’t even have to think about this! You can set the SharePoint column display name and the label to use on the form and our Sintel Forms Designer will take care of the rest. - Don’t make fields mandatory in SharePoint
When creating fields from the Sintel Forms Designer you can use the field properties or section properties to make them mandatory. If a field is mandatory in the list then it will always be mandatory in your form so it’s best not to make them mandatory in the SharePoint list and instead control this within the Sintel Forms Designer by either using the field or section properties or by using rules within the Logic screen. This approach also has the benefit of allowing you to control when fields are optional/mandatory based on certain conditions so it’s a far better mechanism for controlling the state of fields. - Prefix lookup lists
When creating “Lookup lists” (lists that contain values to be used in forms such as drop-downs) prefix them with the word “Lookup” Example “LookupCountries”, “LookupStates”, “LookupCities”. This will make it very easy to find or update these lookup lists in the future. - List naming
When creating the main list for storing form data use a name that reflects the data that will be stored such as “Ideas”, “Timesheets”, “Inspection Reports” etc… - Column naming
Resist the temptation to create columns with long names as this will make it more difficult to troubleshoot a form in the future or for another user to update it. Additionally, if you use Sintel BI to build dashboards or reports, the long field names will likely cause display issues. As an example, if you have a number of questions on a form then we recommend you set their name to Question 01, Question 02 etc… and then override the field label to whatever text you wish to display. Caution: do not use a naming convention like Q1, Q2 etc… instead use Question01, Question 02 etc… you’ll thank us later! - Large files
When using related Document or Picture Libraries on a form we recommend that users don’t attempt to add many files large files at once as the form can take some time to save. - Enforce relationship behaviour & Cascade delete – during the creation of a lookup column, we highly recommended selecting ‘Enforce relationship behaviour – Cascade delete’ for the created lookup column. For more information please click here.
- Rules execution order
Within the Logic section of the Sintel Forms Designer the rules are executed in the order in which they appear. - Changes to lists
When Sintel Forms is enabled and there are some changes made to the underlying SharePoint list, the user needs to open the Sintel Forms Designer and click save to ensure the changes made to the list are propagated into the Sintel Forms configuration. - Item-level Permissions
Avoid using Itel-level permissions within your lists unless absolutely required. This setting permits you to restrict what items a user can view, edit and create within a list however using it can complicate the design of your forms. If it’s used you must ensure that all the users that you wish to be able to view/edit forms must be granted the required access to your lists. If you need to enable this setting you must ensure that all the users that you wish to permit to edit the forms have at least the “Cancel Checkout” permission on the lists. This permission (which is also known as “Override list behaviors”) is available with the following permission levels by default (Full Control, Design, Approve & Manage Hierarchy). Any users or groups that are granted this level of access to a list will be able to view and edit all data. When we build apps using the Sintel Apps platform we typically do not use Item-level permissions. - Removal
A site in which the Sintel Forms Add-in has been added cannot be deleted until the Sintel Forms Add-in has first been removed.
Development Recommendations
- Sensitive data
If your form contains fields with sensitive data or data that should only be shown to a particular user or group then place these fields in a section whose display settings are set to hidden by default. You can then use a rule to display the section or fields when required. This ensures that sensitive data is only shown when a rule determines that it should be shown. - Use rules
Instead of JavaScript use rules to disable buttons like “Save/Edit/Export to PDF”. - Use the “Run Once” flag
If you don’t need a Rule to execute every time a field on a form is changed then enable the “Run Once” flag to optimise performance. - Avoid using temporary CSS classes
These might change with each new update of Sintel Forms. - Avoid overriding Sintel Forms root styling
Overriding our root styling can affect many other Sintel Forms components. - Avoid using custom popups/message containers
We recommend using sections for this that could be initially hidden and then triggered to display using our Rules. - Use theming
Instead of JavaScript if you need to modify the form width. - Avoid using Microsoft UI Fabric specific CSS classes
It’s possible that class names could be changed whenever the Microsoft UI Fabric used within Sintel Forms is updated. - Use logic for custom errors
Use our custom errors step within Logic instead of writing custom code. - E-mail Subject line reccomendation
To facilitate recipients in easily identifying the email source, we advise incorporating the app’s title within square brackets in the subject line when composing emails using the Sintel Forms Designer. For instance, [Expenses App].
Design for best User Experience versus Form Load Speed
When Designing your forms you should consider both the user experience and the form load speed. Using lookups (aka dropdowns) will speed up the data entry process for your users and will help improve the accuracy of the data that is captured but using too many lookups will affect the load time of your forms. When a form that contains lookups is being loaded the data source of each lookup field needs to be queried to retune a list of items to display in the lookup field. Conversely using text fields to capture data will slow down the data entry process for your users and potentially reduce the accuracy of the data that is captured however your forms will load faster as there are no additional data sources to be queried.
- For the best User Experience-Use Lookup fields
Also known as dropdowns these types of fields provide faster data entry for users however they slow down the load time of forms so avoid using too many of them. - For the fastest Form Load Speed-Use Text fields
Text fields slow down data entry for users but using them results in your forms loading faster for your users. - For the best User Experience and Form Load Speed-Use Text fields with autocomplete
This approach combines the best of options 1 & 2 above.
In this scenario, text fields are used which means your forms will load quickly however when a user interacts with a text field a query will be run to populate it with values from your data source, which will most likely be a SharePoint list. Using this approach ensures that forms load quickly and the additional data sources for the text fields are only queried when the users interact with them. It also allows users to use auto-complete such that as they type into the text fields related entries are shown to them from the data source which speeds up the data entry process further. Additionally, as the form uses text fields the user can enter a value that does not match any of the suggested results from the data source. learn more
Contact us for advice
Finally and probably most importantly
If you need to do something custom or something that you think can’t be achieved by Sintel Forms functionality please contact us – customers often ask for new features and we listen. Many of our new features are as a result of feedback from customers and this improves our product as we can enhance it based on real-life use cases. For example, we have added some empty containers that don’t change and it allows you to find a reference point in the page easily and inject anything you need. This is not a feature we advertise but it does exist and is used by some customers.