Breaking Changes Related to Model Handling by Origam HTML5

Below is the list of breaking changes in model handling by Origam HTML5:

Menu model

  • Lazily-loaded screens need to have a sort set.

Workflows

  • Origam HTML5 is stricter when merging XML into data set. This means the XML structure needs to be same as the structure of data set. It is not possible to produce just a fragment in XML and merge it into the data set.

Example:

<Order Id="xxx" .../>

with the root XML element being Order was good enough to be merged into a data structure with an Order entity.

Now ROOT element is mandatory and to successfully merge the Order entity you need to follow the following format:

<ROOT>
   <Order Id="xxx" .../>
</ROOT>

Also data type handling is stricter when merging:

  • It is still OK if an attribute is empty - it will be handled as NULL
  • It used to be OK if e.g. Guid/Date/Number data type attribute was invalid value – the data were handled as NULL. Now you get an exception.

Rules

If you see an error message "Rule invalid. Rule evaluation did not return the row data.", similar to the case above your complex data rule is missing the ROOT element.

Transformations

All transformations need to be of type XslCompiledTransform (in Settings parameter XsltEngine).

Authentication

  • AjaxLogin API was removed
  • Database field OrigamUser.IsLockedOut does nothing now, instead OrigamUser.LastLockoutDate is used and possibly expired by setting AutoUnlockAfterSpecifiedTime and LockoutTimeMinutes under UserLockoutConfig in the appsettings.json file.

Tokens

Tokens created by the html5 server will not be accepted by the flash server, e.g. if the password reset link is opened in a client application still running on the flash server.