UX Studio: Tips and Best Practices

Form Permissions

You define permissions for the workflow and its activities in the App Studio.

This section describes how each of the Form Activity's permission levels affect how the form appearance and behavior.

Permission LevelDescription
Permission Levels
Read OnlyAll form fields are disabled. Buttons such as Add New Record, Update, and Submit are hidden. Updates to the form are blocked on the client and server.
Note: if you change a button’s name, you must ensure to hide it.
Read/WriteThe user cannot edit the form after the form is submitted.
Full ControlThe user can edit the form after the form is submitted.

Sub-Views

Sub-views always inherit the parent view's permissions.

Edit an Item Template

The following form controls have default definitions, but you can customize them by editing their item template. For example, you can edit a grid’s Add New Record form so that it contains different fields than the grid display fields.

  • Grid Column
  • Grid Edit/Add Record form
  • Combo Box
  • Form

Implement Styles

You can control the styles of your form easily, as you have full access and control over the markup. You can make style modifications directly in the markup or you can add a style attribute on the controls themselves. It is recommended to create a separate style sheets and put them into a style file, and to reuse them in your project.

Please note that the doctype of the Flowtime Forms was changed from HTML 4.01 to XHTML. Therefore, you should verify the doctype for each style you create.

 Every control has a CSS sheet with properties and you can use this to apply styles easily to the control itself.

Best Practices

The following guidelines help you to optimally develop forms, which improves performance and user experience.

  • Do not create a confusing hierarchy of controls.
  • Do not display too many controls on the view.
  • Use AJAX and Update Panels to refresh the page wisely. You might be limited in how often to refresh the page, or which parts of the form to refresh. Therefore, use AJAX technology extensively, as this will improve performance and user experience, and will reduce the weight of the page.
  • Use appropriate controls for user input data (for example, for integer data use a numeric control). This assists in performing efficient user input validation and is preferable than using a Validator control (for example, do not use a text box with a validator for integer data).
  • Disable View State for controls which you are not using to collect data.
  • Divide views into logical parts. For example, if you have 20 views, do not place them all on one activity, rather, split them into several activities. This enables efficient, simultaneous development, in which you can split work between multiple developers using Source Control.
  • Do not overuse expressions in the markup, especially data binding expressions or expressions which invoke service queries, as this harms performance. This is due to the fact that ASP.NET technology executes expressions several times.
  •  Consult web resources on ASP.NET for additional best practices for improving performance and user experience.