Best practices when designing forms
Here are a few tips that we recommend when building forms or solutions using our product.
Before creating anything
Think about your layout – Whether you are designing a form from scratch, have an existing paper based form or a Microsoft Word or PDF file 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 automatically setting the approver etc… anything you can do to make 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 tenancy 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 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 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.
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. Use linked lists where appropriate and many cases they will save you creating excessive columns in your main list to store data.
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.
1 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 – when creating lists, columns or lookup columns do not use spaces and 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.
- 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”.
- 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…
- 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.
- 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.
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.
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.
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.