How Can We Help?

Search for answers or browse about Sintel Forms.

Best practices when designing forms

You are here:

Here are a few tips that we recommend when building forms or solutions using our product.

Before creating anything

  1. 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.

  2. 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.

  3. 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 use a number field, it’s that simple.

  4. 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.

  5. 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.

  6. 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

  1. 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.

  2. 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.
  3. 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”.
  4. 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…
  5. 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.
  6. 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.
  7. Rules execution order – within the Logic section of the Sintel Forms Designer the rules are executed in the order in which they appear.
  8. 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.
  9. 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

  1. Use rules – instead of JavaScript use rules to disable buttons like “Save/Edit/Export to PDF”.

  2. 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.
  3. Avoid using temporary CSS classes – these might change with each new update of Sintel Forms.

  4. Avoid overriding Sintel Forms root styling – overriding our root styling can affect many other Sintel Forms components.

  5. 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.

  6. Use theming – instead of JavaScript if you need to modify the form width.

  7. 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.

  8. Use logic for custom errors – Use our custom errors step within Logic instead of writing custom code.

  9. 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.

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.

  1. Lookup fieldsFor best User Experience – 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.

  2. Text fieldsFor fastest Form Load Speed – Text fields slow down data entry for users but using them results in your forms loading faster for your users.

  3. Text fields with autocomplete – For best User Experience and Form Load Speed – 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 ran 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 interacts 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
Was this article helpful?
0 out of 5 stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
How can we improve this article?
Please submit the reason for your vote so that we can improve the article.
Table of Contents