2019-06-20 Version 11.1.1
- The feature to enable configuring a SQL SELECT statement as a data source has been introduced. Read about it here.
Some bug fixes:
«Dollars» function will now insert the word ” and ” between the dollar value and cents value for US English.
- A tab character in front of an If or ForEach was repeating. This has been fixed.
«SetEmptyMarker» for a specific data element was reverting to the default instead of applying to that data element.
2019-06-07 Version 11.1.0
- Full XPATH syntax in ForEach is now supported. For example:
«ForEach(Child | Parent | Party)» which will iterate over Child, Parent and Party repeaters.
- Attempt to fix the corruption of the settings file, which is sometimes affected by Windows updates.
- A Tab in front of If/ForEach/RepeatWhile commands was being replicated. This has been fixed.
- When a default Empty Marker was set, the attempts to override this with specific empty markers for data elements was not working. It now works.
«RunWordMacro()» command was causing a Preview to fail. This should now work correctly.
Web Release Notes
- Added Server Administrator role. User with this role has access to new UI where he can manage server licenses.
- Server Administrator can export accounts as a SQL scripts.
- Account Administrator can see other users home directories in Cloud mode.
- Chained rules are being evaluated one by one providing relevant error message.
- Added support for rules to limit number of items in repeater.
With effect from Version 7, there are a number of shortcuts for referring to some of the variable-handling functions. They were introduced to take away the amount of typing necessary when many variables are being used.
A full list of the shortcuts is as follows:
::A - AppendVr
::G - GetV
::I - IncrementV
::N - GetVn
::P - RemoveParagraph
::S - SetV
::R - SetVr
can now be written
which saves typing a set of quotes and a set of parentheses.
can be written as
The shortcuts are translated early on in the parsing process into their formal format, so that sometimes if there are other syntax errors relating to the shortcut usage, the error message will refer, for example, to “GetV” rather than “::G”.
2019-04-15 Version 11.0.3
The file SiteSettings.xml was not included in a new install of version 11.0.0 the 32 bit XpressDox desktop.
2019-04-10 Version 11.0.2
A bug was introduced in version 11 which caused a “script-as-function” inside another script to fail, giving the error that the script should consist of exactly one fillpoint.
2019-04-09 Version 11.0.1
Files were missing from the 11.0.0 Author (Desktop) installer.
2019-04-03 Version 11.0.0
- The major feature released with this version is a fully functioned conversion of HotDocs® templates to XpressDox format. In order to support this conversion, a number of functions have been introduced into XpressDox, in particular
While, and some others. Please see the article
What to expect on the XpressDox web site for more information.
- There was a bug in the
DefineSetAllGroup where if the “List” data element was excluded from the interview, then the entire group was hidden.
- A problem with using
SetMultipleDocumentFilter inside templates merged with
MergeTemplate has been fixed.
CompareStrings function will compare two strings and return a value of -1, 0 or +1 depending on whether the first is less than, equal to or greater than the second.
- Manipulating of XpressDox variables can now be done in the interview (typically inside an
OnExitSet). The last value assigned to a variable in the interview will be available to the template during the assembly phase.
- The What’s New document is no longer opened automatically when XpressDox is started after an update. If you are reading this as a Word document, then probably you already know that there is a new button in the XpressDox Ribbon which will open this document.
- An attempt has been made to circumvent the exceptions being raised when an assembled document has been saved in a location on the local file system which is being synchronised by Microsoft applications to a cloud location. When this happens, the document which is opened in Word sometimes has the URL of the sync’ed document instead of the local file system folder path.
Web Release Notes
- Buttons are now available in the web interview.
- Search by filename available in the web.
- Email management tab available in the web for Administrator users.
- Database versioning for web version. Scripts located in the folder o2Smart.DocumentAssembly.Web\DatabaseScripts\.
- Multiple previews are now available in the web.
AppendVr implemented in the web
2019-02-13 Version 10.4.5
In the Cloud systems, various errors were occurring related to multi-threading issues, these have been fixed.
2019-01-24 Version 10.4.3
- A problem in accessing a picture from a URL has been fixed.
Dynamic Captions feature (point 6 of 10.4.0) was not handling non-XSLT functions correctly.
2018-12-12 Version 10.4.0
InsertPicture can take a URL as the source of the picture.
- Swiss French format for
NumberPhrase is supported. Use the language option
- When saving data only in the Desktop interview, the interview will no longer exit but allow more data capture to be done.
SetWebInterviewMinimumHeight will help the author to control the position of the buttons at the bottom of the interview.
ChooseFromDataset command extends the functionality of the
ChooseFromData to accept any XPATH expression to select the data.
- In Captions, Headings and Footings, the insertion of information as the interview progresses has been enhanced. For example, the caption “Please enter the date of birth of
<PartyName||[Party]>“ will display the caption as “Please enter the date of birth of [Party]” until such time as the data element
PartyName has been captured, As soon
PartyName is captured, for example as “John Smith”, the then caption will display as “Please enter the date of birth of John Smith”.
«Paragraph()» function will split the containing paragraph into two at the point where it appears in the template.
«Paragraph(NumberStyle)» will apply the Word style NumberStyle to the new second paragraph.
IsFalse function has been introduced. It is the equivalent of
not(IsTrue()), but easier to type and read.
- It is now possible to supply the option
'Unencrypt' to the
AppendPDF function, which causes the resulting PDF to be editable.
Web Release Notes
- Checkboxes in the Grid are now available in the web. They no longer show as textboxes.
- Using the command
«SetWebInterviewMinimumHeight(350)» you can now set the minimum height of Back/Save/Assemble buttons on the bottom.
CurrencyToCents – Takes a value in a currency and returns the cents value.
Eq – Compares the
comparandWithWildCard using the asterisk as a wild card. If the
comparandWithWildCard has no wild card, then the two are stripped down to alphabetics only and compared as case-insensitive.
ExtractInitials – Extract the initial characters of the words which are separated by spaces, and join them with the delimiter string.
GetItemOfElement – Extracts the requested item number, starting at 1, from a comma-delimited list of items. Functionally equivalent to
GetListItem – Extracts the requested item number, starting at 1, from a list of items. Functionally equivalent to
InsertInto – Inserts the string textToInsert into the designation position in the source string. If position is too high or low it resolves to the end or beginning of the string.
Lookup – Source is of a format like “en-us:behavior;en-gb:behaviour;af:gedrag”, and key would contain the part before the : which, if found, causes the part after the : to be returned.
Plural – Returns the singular or plural depending on the value of number, which can be either a number or a boolean expression indicating that the singular version must be used.
PrefixWith – If the source string is not empty, prefix it with the prefix, otherwise leave it empty.
StringLength – Returns the length of the string.
SubstringAfterLast – Gets the substring after the last delimiter. If no delimiter then the entire string is returned.
SubstringBeforeLast – Gets the substring before the last delimiter. If no delimiter then the entire string is returned.
SuffixWith – If the source string is not empty, suffix it with the suffix, otherwise leave it empty.