Xoom 3.12 has been released

We are proud to announce the release of Xoom 3.12. The combined main purpose of this release has been to update the Service Optimization extensions, including introducing functionality that enables SOT Toolkit to perform measurements related to optional hours. Details are listed below.

Support for measurements related to optional calendar intervals

Calendar intervals-related timed things returned by ZanyAntsTimedThingsService now contain a new IsOptional flag. This addresses a long-standing omission that has only recently come to our attention, and enables measurements related to optional time to be defined and performed by SOT Toolkit, or any other consumers of timed things data.

Treatment of items with Xoom special forms

Xoom no longer makes an attempt to deploy items with special forms xoom:set and xoom:remove when the equivalent item doesn’t already exist in the target system. This change in behaviour is improves the correctness of the deployment logic because the full body of an item with such forms is undefined without the current item against which the forms are evaluated. Attempting to deploy as much as possible, as is usually the guiding principle of Xoom, doesn’t make much sense in these cases because there is a very high likelihood that the resulting representation is not compatible with the target system.

Changes to Service Optimization scheme deployment

Intermediate commits have been inserted after every time a new multi-value property is added to an existing collection. While this makes the scheme deployments somewhat slower in such cases, it turns out to be necessary to address some rare cases of database corruption. The corruption seems to happen when new multi-value property followed by additional new properties are added to existing non-empty collections, and their corresponding database tables sometimes fail to be updated to the new structure. The modification addresses all known instances of this type of corruption, or indeed any known type of corruption resulting from valid data.

The logging of intended Scheme changes on Xoom side is now more detailed and consistent. The helps you understand what happened, most particularly when unintended renames are detected by Xoom, or when renames are not detected and additional properties are unexpectedly created instead.

Other changes

Additional common customisations have been moved to the common Service Optimization knowledge base, and removed from customer-specific knowledge bases. In several cases, this will result in more detailed interpretation of those settings.

Note of Service Optimization extensions

Xoom does not routinely require Service Optimization extensions to be updated to the newest version. The installer simply leaves in place the existing installation, assuming it is compatible with the current version of Xoom. However, this release does make such a requirement, mainly because of the new functionality that has been introduced. The minimum version of the extensions from this release is 5.4.0. The installer will automatically uninstall the old extensions and install the new ones, which may require a system restart if Service Optimization is running when the Xoom installer is run. Hence, ideally Service Optimization should be stopped but not locked when Xoom Server installation is run on hosts where Xoom has previously been installed.