Version 3.1.2 was released on Monday 25th October 2010.

  1. A considerable number of new commands and features have been added:
    1. <<CurrencySymbol()>> will insert the currency symbol as it defined in the Regional and Language Options in the Windows Control Panel.
    2. The <<Script()>>feature has been added: it enables the template author to define any chunk of text, whether a few words or a bunch of paragraphs (optionally containing other XpressDox commands), and give that chunk a name.  Then as many times as required, the author can issue the <<UseScript(<ScriptName>)>> command  and that chunk will get inserted at that point in the document. See The Script Feature for full details.
    3. Using the <<Rule()>> command, the template author can now apply validation rules to fields captured in the interview.  For example, <<Rule(Price,hard,IsNumber,100,1000,“The price must be a number between 100 and 1000”)>>.  This will check the value of Price and make sure it is numeric and between the two values.  If the validation fails, the text at the end of the command is shown to the user.  There are options to make the rule “soft” instead of “hard” (which means the user has a chance to accept an otherwise invalid value), and a whole slew of validation functions such as IsDate, IsEmail, IsUSSSN (validates US Social Security Numbers), etc. See The Rule Command for full details.
    4. <<RequiredVersion()>> can be used by the template author to prevent a template from running if the installed version of XpressDox is not high enough.  For example, if a template has a Rule command in it and there’s a chance that a  user might try to run it on an old version of XpressDox, the template author could put the command <<RequiredVersion(3.1.1)>> into the template so that the user is warned.
    5. The <<RunWordMacro>> command can be given a list of macros to run, rather than just one.
    6. <<InterviewTitle()>> can be used to set the title on the interview for a template.
    7. <<AlignCaptions(Right)>> will override the default alignment of all captions, so that the captions on the interview will align with their right hand edges just to the left of their respective controls on the template interview form.
    8. If “Run Template” is selected, but the user chooses a file whose extension is not that of an XpressDox template, then the file will be opened in its native application – e.g. PDF files will be opened in Adobe Reader.
    9. “Recursive merging” of data is now supported.  What this means is that data elements can themselves contain fillpoints.  This is particularly useful for including data elements from a data base (or text file) where the data itself contains further document assembly instructions.
  2. A number of bugs have been fixed and minor changes to features made:
    1. A multi-paragraph <<If>> or <<ForEach>> is now permitted in a table cell.
    2. Data source connection strings are “fudged” (not really encrypted but pretty much so) in case they contain sensitive information such as passwords.  As part of this change, only Advanced Template Authors are granted access to configurations other than their home configuration.
    3. The XpressDox Explorer will remember the last folder that the user accessed in the My Folders or Shared Folders folder lists and open up the treeview in the Explorer to that point.
    4. Missing or mis-spelled data elements used in the configuration or <<SetSavedDocumentFileName()>> and similar commands (to build up a file path or file name) are no longer ignored but result in an error and relevant message being raised.