LIXI2 Deprecation Strategy
One of the strengths of LIXI is our ability to evolve our standards as the industry requires. Over the past three years our Australian Credit Application Standard (CAL) has been updated twenty-five times.
We have a number of different tools and strategies to minimise the impact of this evolution on the existing community of users. One key strategy is how we deprecate items, and do not delete them immediately.
To give our community of users time to update their use of a particular item that has been marked as deprecated, we have adopted the GraphQL strategy of deprecation of items rather than hard deletions, which we do by updating the schema annotations to note that the item has been deprecated and is no longer to be used.
Fields in an object may be marked as deprecated as deemed necessary by the application. It is still legal to query for these fields (to ensure existing clients are not broken by the change), but the fields should be appropriately treated in documentation and tooling.
Each of these frequent updates to the Credit Application for Australia (CAL) standard has been technically non-breaking. New elements and attributes have been added, and none have been deleted. They are, however, logically breaking (ie implementers need to update their systems to stop processing the deprecated item and start sourcing int from the updated location).
The fact that the item has been deprecated is clearly marked in the documentation as seen below.
Great, but is there an easy way to know if I'm actually using any elements, attributes or enumerations that have been deprecated without having to go through all the documentation?
Yes! There are a couple of ways.
Firstly, the LIXI2 XML Viewer and Editor has been preconfigured with the rules from our Library of Business Rules in Schematron. These rules include checks for the use of any deprecated items. Simply open the latest version of LIXI Viewer and Editor for the appropriate standard, and open an existing message, and you'll see if that message uses any deprecated items.
Secondly, you could integrate a check into your automated CI/CD process, using our Library of Business Rules in Schematron. We have written a blog post showing how to Automatically Validate Business Rules Against a Library of Messages and the library contains artefacts that are solely built to highlight deprecated items.
Shane Rigby, LIXI Limited CEO
First Published: February 22, 2021