Our development efforts for the last few weeks have been heavily focused on improving our new object workflow, and we are pleased to reveal the fruits of our labor.

New Object Workflow

Old Workflow

  • Create a new item by clicking on the "New" button in the site navigation. The workflow is the same when clicking on the "New" toolbar buttons elsewhere in Marketpath CMS, except that the object type is pre-selected so the editor skips straight to the object properties dialog.
    New Button in Old Workflow
  • Select the type of object you wish to create.
  • The object properties dialog will open up immediately with relatively little information pre-filled
    Old Workflow - Datastore Item Properties
  • The user will now have to select the parent object (blog post, calendar entry, datastore, etc...).
  • Next the user will need to select the template they wish to use
  • Now the user can fill in the rest of their information

New Workflow

  • Create a new item by clicking on the "New" button in the site navigation. The workflow is the same when clicking on the "New" toolbar buttons elsewhere in Marketpath CMS, except that the templates and allowed object types are pre-filtered to only show templates and object types that are valid for the selected object type.
    New Button in New Workflow
  • Select the template you want to use to create your new page from. Alternatively, you may select "Create without a page" or "Download more templates" (which will give you the opportunity to install a new package on your site containing one or more new templates to create pages with).
  • If possible, the object type is automatically selected based on the template that the user selected. Of course, if the user selected "Create without a page", or if the template supports more than one object type, then you will still have to select the object type to create.
  • For a few object types, the user will still need to select the parent object (eg: blog posts, calendar entries, and some datastore types). If there is only one option, however, it will automatically be selected.
    New Workflow - Select Parent
  • The object properties dialog will open up with the basic information already pre-filled
    New Workflow - Datastore Item Properties

While this may seem like extra steps to create new objects, it has several advantages over the old way of doing things:

  1. The "extra steps" are actually steps that the editor would have had to take later in the process anyways.
  2. Some of the steps may automatically be skipped in the new workflow (eg: selecting the blog when the site only has one to begin with)
  3. It is much more visually oriented - editors will be able to see and select the type of page they want to create without having to go through other steps first to get there.
  4. In many cases, the editor will not even need to think about the type of object they are creating (eg: Article, Form, Datastore Item) since that will be handled by their template selection.
  5. If the site does not already have a template that suits the editors purpose, they can quickly and easily browse new templates to download - which was not so easy before.

Of course, in an honest evaluation you need to review the drawbacks as well:

  1. If you want to create a new object but do NOT want to create a page for it then this new workflow adds the extra step of clicking "Create without a page".
  2. This makes it easy to install a new package on your site, but we cannot guarantee that the new package will work seamlessly without a developer's intervention. We have attempted to mitigate this by defining "Site Standards" but there is still no way to tell that everything will work as anticipated until you actually install the package.
  3. If there are errors during package installation or if the installation cannot be completed automatically then there may be extra steps to either complete or abandon the installation. We have attempted to mitigate this by reporting such errors and giving the editor control over how they want to handle that situation.

Overall we are excited about the new workflow and feel that it will provide for an overall improved user experience in Marketpath CMS.

Restrict by Datastore Type

One of the related improvements to the new object workflow is the new ability to restrict templates (and folders) not just by object type but also further by Datastore Type.

Datastores now have an extra property - Datastore Type - which is used by Marketpath CMS for restricting templates and folders. Datastore Type should be semi-unique and descriptive in order to make it easier for developers to limit templates and for editors to identify the type of datstore items they would like to create. There are times, however, where you may want multiple datastores to share the same Datastore Type, such as for large or multilingual sites with larger organizational requirements. However, when multiple datastores have the same type it may create extra steps for editors when creating items of that type since they will now have to select which datastore they want to create items in.

All exising templates and folders that are restricted to datastore items will allow items from any datastore types. Furthermore, developers may also continue to limit folders and templates to all datastore types if they wish, but the entire user experience will be much better if the proper datastore type(s) is/are selected.

Other Improvements

In addition to the major improvement in new object creation, this release includes a number of smaller improvements:

  • Added a "copy" button to fieldsets to make it easier to duplicate a fieldset item when editing content
  • Added filesize information to the image and document lists. Images and documents may also be sorted by filesize (Biggest/Smallest Filesize)
  • Added new site settings for tags and authors to disable creating tag and author pages by default and to specify the default page templates for tags and authors.
  • Minor adjustment to folders which enables objects to be published even if the folder is not published. It also prevents automatically unpublishing objects when their folder is unpublished, although trashing a folder will still trash all objects in that folder.
  • Do not show checkboxes and some of the toolbar icons that depend on them when selecting a single item
  • Added a "cancel" button to the redirects section, which makes it much easier for editors to change their mind about creating a new redirect from within the page properties dialog - or if they just hit the "Create Redirect" button by accident.
  • When users click on the "Save & Publish" toolbar icon in the object properties dialog, the "View Live" toolbar button is added to the toolbar immediately (after the save but before the object is done publishing).
  • Improvement for form redirects when the redirect URL contains a hash param (eg: /contact-us#submitted=true will become /contact-us?mp_fsg=...#submitted=true instead of /contact-us#submitted=true?mp_fsg=...). If the URL does not change meaningfully (ie: not just after the hash) then the page does not redirect at all and there is no meaningful feedback to the user about the submission being successful.
  • Fixed live form rendering issue for required fields (including captchas). Previously those fields would correctly be identified as invalid but would NOT display their validation message. Now they properly display the validation message when the form submit is attempted.


  • Fix for highlighting differences in javascript code in the compare versions dialog
  • Bugfixes related to conditional form groups in live forms using the default output
  • Bugfixes related to displaying validation errors for untouched required fields on live forms when using the default output
  • UI fix for incorrect validation errors after saving templates, javascript, and stylesheets
  • Fixed publishing from the package installation dialog
  • Corrected a couple bugs with fieldset validation
  • Fixed a couple of "minor" bugs with creating a new site from a full site package, most notably when the full site package contains one or more error pages (which most should)
  • Fixed a redirect validation bug by disabling validation of the destination URL when the redirect is set to use a regex and the URL type is set to "Custom".
  • Fixed an issue with over-zealous preview site domain caching