Social media


            

Thursday, August 13, 2009

Action launch form

 Currently in Workbox you can ask users to provide some information when they launch an action. This is a very simple mechanism, which is lacking a lot of features - you just chose the variables and that's all - no control over validation, default value or text on the launch page.

This has been a big pain for us for a long time, but with every release other things seemed more important. Finally in this release we have chosen the modification of action launch form as our top priority.

How will this functionality look? We wanted to keep the very simple and intuitive way of choosing the variables and give you at the same time a lot of configuration capabilities.

We have come up with the following - the "variables" window on the action properties will change to "Launch form". The existing form will be heavily modified and will look something like this (sorry for Polish screens but I don't have time to translate them):

On this window (going from the top):
  • do not show the form and launch action without confirmation - after choosing this button rest of this window will be inactive and when user clicks on the action launch button or selects it from the context menu action will launch immediately
  • Copy the form's settings from different action - you can select another action in this workflow and copy the settings to this action
  • Form header - a text field which allows you to input DHTML that will be displayed as a header of the page. You can use lookups to make the content rich with information
  • Variable picker - this picker works a little like user picker in the role membership. It has replaced the checkboxes on the old "action variables" window. This picker allows you to choose which variables will be used as form fields. You can also change their order on the form and enter field properties window.
  • Manage variables button - open variables window - this is the same button an in the old window
  • Form footer - same as the header but is displayed below fields and above the buttons.
This screen does not bring much new into the form management - the new thing is that it allows you to enter form footer and header, control field order and see better which variables are chosen.

The real power is in the field properties. This window works much like list columns setting on SharePoint. We were trying to keep it as similar as possible, so it would be straightforward to SharePoint users. Also the launch form itself will be in SharePoint design, so users will see the interface they know. We will also use the standard SharePoint controls for the rich text box, people picker etc.

The window will look like this:

There are 3 groups of parameters:
  1. General properties. This group has 3 fields:

    • name
    • description
    • field type- will have the following values - single line of text, multiple lines of text, number, date and time, yes/no, list, people picker, file.
      By default name will have the name of the variable, description will have the description of the variable and field type will be by default the type of the variable. We will introduce lookups to variable name and description.

  2. Validation - here you will be able to set validation rules. These fields will change depending on the field type.
  3. Properties - here you will be able to set default value (you can use lookups for that, by default the value of the variable will be set here), source of the dropdown list, etc.
Most of the fields work like this - when you select the variable, all default values will be set to the field. User is presented the form and inputs the values. Values are then stored within the variable. Because you can use lookups in most of the fields, it is really easy to display all the data user needs to launch the action - for example you can insert a link to the item or display a value from the item as a default value of some field.

In the release after the next one you will be able to create a dropdown list that provides the values from different lists from the entire SharePoint application, filter these values, add additional ones, etc. Something like this cross site lookup but more powerful.

The file field works a bit different. First - it gives you the ability to upload many files at once - without having to reload the window like on SharePoint form. Second - files are not stored within the variable. Instead of that, you can define where the files uploaded by user should be stored. They can be stored as files in the document library or as attachment to a chosen list item.