Overview

 

Now that the Forms App has been officially released to the market for a couple mof months, it has actually seen quite a bit of use and been put through the paces a bit.  After gathering a bit of feedback from the community, an update to the app has been deployed with some of the most requested features.

 

Here's what is now included in the latest release of the app:

 

  • Form Label Positioning - Forms can now be configured to render field labels either to the left of the input fields or on top of the input fields.
    • This is great for Forms which require lengthy, descriptive labels, where the field tooltip just won't suffice.
  • Direct Message Support - In addition to the previously supported content types (document, discussion, question), the app can now also send the form content as a direct message.
    • Posting structured content to users, directly, instead of posting to a place.
    • Instead of selecting a container via the place picker, a user picker is displayed so that the user may choose who to send the content to.
    • The 'userId" view parameter can also be used to pre-select the user who will receive the direct message, and circumvent the user picker altogether.
  • Date Formatting - A form may now declare the date format that will be used for any date field within the form.
    • The default format is "mm/dd/yy" but can be replaced by any valid date format.
  • And last but certainly not least, The Template Creator Can Create Template Documents!!! - This is likely the most requested feature that I have seen.
    • The Forms App is still using the v2 API so it cannot add the proper tags, however, the manual step of having to copy and paste the template source into a new document is gone!  This template document can be created automatically by the app, no muss and no fuss.
    • There is boilerplate text at the top of the document which informs you that you must still add a tag to the template document, before the Forms App will actually load the template, but adding a tag is a much improved UX over having to manually create and copy and paste a document's raw HTML.

 

And now, a little more detail on each of the new features.

 

Form Label Positioning

 

A simple new flag has been added to the template definition:

"labelPosition" : "left" (default) / "top"

 

All existing templates will default to the left position, as this is how the app was originally designed, however simply adding this field to any template definition and setting its value to "top" will change the orientation of the field labels whenever the app renders the form.  This can be toggled at any time, with no adverse affect to the app.

 

Here is what it looks like in the Template Creator.  Note the new drop down box for "Label Position" in the settings panel on the right.

 

Form Labels in Left Position (default)

label-position01.png

 

Form Labels in Top Position

label-position02.png

 

Direct Message Support

 

A new type (message) has been added to the supported list of content types in the template definition.  The way to set that within a template is as follows:

    "content": {

        "type": "message",

        <snipped - rest of content definition>

    }

 

This is the same as setting the Content Type in the Template Creator to the value of "Private Message" as shown here:

dm01.png

 

By default, when posting a form which is set as a direct/private message, a User Picker will be displayed and it will allow the selection of one or more users to which the content will be sent.  Just like the template and container can be pre-selected based on view parameters passed to the app via URL, the same is true of the recipient of a direct message.  To circumvent the user selection process and ship the message, when posted, directly to a specific user, the app should be opened with a URL that ends with the following:

#canvas:{"category":"Template Category Here","template":"Template Name Here","userId":"11111"}

 

Once a direct message has been posted via the app, it will (unless otherwise set in settings) redirect the user to the newly created message, at "/inbox/dm/messageId", such as this:

dm02.png

 

Date Formatting

 

A new date format attribute has been added to the main list of attributes of the template definition.  The way to set that within a template is as follows:

    {

        "category": "my category",

        "name": "my name",

        "dateFormat": "mm/dd/yy",

        "labelPosition": "top"

         <snipped - rest of template definition>

    }

 

You can review the following page for some date format samples - jQuery UI Datepicker - Format date

 

Here are the formats from that demo which you can use as a starting point:

Default - mm/dd/yy

ISO 8601 - yy-mm-dd

Short - d M, y

Medium - d MM, y

Full - DD, d MM, yy

With text - 'day' d 'of' MM 'in the year' yy

 

The template creator, within the app, also now has a field to specify this date format as well, in the main settings tab for the form.  The template creator can also be used to test various date formats, within the creator itself, before publishing a template.  Which leads me to the last new feature in this update...

 

Create Template Documents

 

Up to this point, this has been the most requested feature for the app.  And now, finally, the feature is here.  There is a new button at the bottom of the "Form Source" tab of the Template Creator.  When the app first loads, it will looks like this, and will continue to look this way until all template errors have been resolved.

template-create01.png

 

Once all the template errors have been resolved, and the template is complete, the Create Template button will then activate.

template-create02.png

 

Clicking on the Create Template button will then bring up the Place Picker and allow you to select where the new template should be created.  Once a place has been selected, and new document containing the template will be created and you will be forwarded to that template document, which will look much like this:

template-create03.png

Note: JSON has been compressed in the above image to allow all the boilerplate text to show in a small screen.

 

All you must do at this point is add the proper tag to the created document, and you have a new template available to the app.  Simple as that.

 

Summary

 

So there you have it.  Those are the new features that have been added to the Forms App in this release.  Questions, comments, and feedback are certainly always welcome - these are what help drive the majority of these new features, so keep them coming.