With LTS 10 release we introduced a new storage format for Process files.
Processes are the heart of your business and workflow apps, so let's spend some time inspecting the evolution. 🤓
Historic
The Process format from ivy 3.x until LTS 8 were *.mod files. This format has gone a long way, over decades it served us well, as storage for our Process diagrams and Element configurations in it. It was however, pretty technical in its content. Therefore difficult to read e.g. in a source-code mgmt tool. And likewise easy to corrupt and even brake 💔, if you accidentally missed an important character while manually solving merge conflicts or the like.
JSON
With LTS 10 we use JSON, to store your processes. And this is why we love this change:
Open
JSON is a widely used standard, and gives you the freedom to work effectively with Process files, even without having a full blown Process editor at hand. In almost any Code editor, you'll have basic syntax highlighting for free.
GIT friendly
Whether you are solving merge conflicts, or doing reviews on a Pull request, JSON processes are easy to read and handle. With any GIT tool of your preference.
Lean
Process files have become smaller and expressive.
We omit technical verbosity by using hierarchic configurations wherever possible. For instance, do we no longer store the type of layout lanes. Whether we have a pool, or a root swimlane, or an embedded lane, can be simply read from the tree position of a lane. Only pools, can have children and therefore contain an inner lanes
array.
Likewise we build a tree of Process-Elements. Only Embedded Sub-Processes can contain further 'elements', Boundary elements are stored directly as child of their attached Activity and so on.
Of course once were changing the format, we also improved the names. Clean-Coders know that variable names are important in code. Indeed the same applies for Processes. So we have chosen expressive configuration names, that match with the inputs you know from the Inscription Editors.
Fast
As you are getting used to the new format, you may ask why you should even open an Inscription UI, just to inspect or copy configurations of an existing element. And indeed you can inspect faster than ever, to do so open the new view called "Json Inscription". Every element you select, will be shown as JSON. Quite handy, isn't it?
Conclusion
Finally, we have a human friendly Process format. I hope you like it as I do.
Please give feedback and ask for improvements.