Team Forms provide a frictionless platform that makes building even the most complex forms simple. However with this easy of use comes the possibility of building forms which do not align for best practices which could lead to inefficient forms that can be difficult maintain. This article aims to provide guidance for organisations who want to build forms at scale and align with Team Forms best practises.
1. Use .svg images for logos
When inserting vector based images like logos into your a form you should consider using
.svg images over large file formats like
.jpeg. This will dramatically reduce the size of you form and improve sync times.
2. Host data sources in the same team as your form
If a form references a data source (e.g. Excel file or SharePoint list) the underlying file or list should be hosted in the same team as the form. This is to avoid permissions issues where a user has access to a form however cannot access the datasource. Its important to remember that Team Forms uses delegated permissions so the user requires access to the underlying datasource.
3. User Teams groups to control access to forms
You should use Teams groups to seperate concerns and control access to forms and data sources. It can tempting to overload a single team with multiple groups or business areas however this can easily lead to users seeing forms and responses that they should not have access to. In addition the teams should have the minimum set of owners as possible, this is because owners have full visibility of responses including confidential responses.
4. Use Microsofts default setting where possible
Team Forms uses delegated permissions to access SharePoint and Microsoft 365. This means if a user does not have access to perform an action neither will Team Forms. When an organisation customizes its SharePoint and organization setting away from Microsoft defaults it can increase the likelihood of breaking a permission required by Team Forms. For example, if the default setting of SharePoint changed to prevent visitors from accessing files then visitors will be unable to see forms hosted in that team.
5. Set a meaningful Property Name in the API tab
All questions/components are automatically assigned a property name in the api tab based on its label. This property is used to store the response against and will be referenced in other places like calculated field, Power Automate and even when you report on responses using PowerBi. It is therefore highly recommended that you ensure the property is set to a meaningful value using camel case format e.g. dateOfBirth
6. Always publish changes with a comment
When publishing a form you have the option to include a comment. It is highly recommended that you include a meaningful comment as this will appear in the SharePoint version history and make it easy to identify should you ever need to
roll back to an earlier version.
6. Avoid over complicating forms
7. Use form lifecycles to ensure changes are reviewed before published to team members
Team Forms provides an inbuilt way for draft templates to be reviewed before they are published. We recommend having reviewers perform testing and quality control as part of a change management process.
8. Enforce permissions at the SharePoint site layer
Team Forms roles are used to control who can see the build and edit options only at the user interface layer. For security hardened environments it is also recommend that you add an additional layer of control over who can create form by controlling who can create/edit the form files within the Team Forms document library.
9. Use columns to ensure forms are responsive
Layout components like columns allow you to style and organise your forms in way that improves the end user experience for responders. You should use columns instead of tables when trying to place components side by side or even when nesting component inside of a data grid. This is to ensure your form is responsive to different screen sizes. By using columns (even inside a data-grid) components will automatically re-position themself to best fit the available screen realestate. This is demonstrated in the image below.