On behalf of the team and everyone who has contributed, we are happy to announce that Sirius Web 2024.3.0 has been released and is now available. You can find the complete list of bug fixes and improvements in the changelog on Github.
Here are some of the latest features integrated in Sirius Web.
Improvements in the user experience with diagrams
Since we have completed our switch from Sprotty to React Flow, Sirius Web 2024.3.0 is now the first release of Sirius Web which does not contain any Sprotty-related code anymore.
Now that we are 100% focused on the React Flow based version of the diagrams, we have introduced new features to help end users lay out their diagrams manually. You will now have the ability to activate our support of helper lines to align nodes more easily. Helper lines are available to align a node with the top, middle or bottom of another node.
We have also added new tools available when multiple diagram elements are selected. For example, you can now hide, fade or pin multiple nodes at once.
On top of that, you can improve the layout of your diagrams with brand new actions dedicated to the layout of multiple elements. You can select multiple nodes and make them the same size as the last selected node. Tools are also available to align, justify and even distribute selected nodes. In a couple of clicks, you can now have a harmonious layout of your nodes in your diagram.
In a single click, you can arrange the selected nodes in a row to have a better layout.
This release also comes with multiple key performance improvements for large diagrams.
New features for deck representations
We have also shipped several additional features to let you interact with deck representations more efficiently. You can now drag and drop both cards and lanes. You can also collapse lanes to hide some cards that may not be relevant for you at the moment. Specific cards may also be hidden from a lane.
Additional widgets in the form DSL
Two new widgets have been contributed to the form part of the view DSL. You now have access to a tree widget with icons and checkboxes to select elements.
We have also added a splitbutton to let end users perform an action with multiple choices.
Support for filters in the explorer
Developers can now programmatically contribute filters to let end users change the data displayed in the explorer.
Confirm your choice before the deletion of an element
A new dialog is available to confirm the deletion of an element in Sirius Web. This dialog is available in the explorer and diagram representations. End users can deactivate it very easily if they want.
A new architecture to reuse and extend Sirius Web
In order to let developers build applications on top of Sirius Web much more easily, we have started to work on a new architecture for Sirius Web. This new architecture will still let you query and update any part of Sirius Web but it will also give you a new API to synchronize the lifecycle of your code with the lifecycle of Sirius Web.
This work will only impact Sirius Web related code and not the Sirius Components parts which are used to define and interact with representations.
For that, Sirius Web will now embrace key principles of Domain Driven Design to provide an extensible platform that can be reused much more easily to build modeling based applications. The boundaries of the various parts of Sirius Web are thus more explicit and new capabilities have been added to extend the platform.
As part of those improvements, we have also started to switch to an Event Driven Architecture which will fire events when something has been modified. By listening to those events, you will be able to synchronize your extension with internal parts of Sirius Web.
In order to minimize the impact for existing consumers of Sirius Web during this work, everything is being done in new projects like sirius-web-domain, sirius-web-application and sirius-web-infrastructure. The existing projects of Sirius Web, such as sirius-web-graphql, sirius-web-services or sirius-web-persistence, will now be considered as deprecated and we will remove them with the release of Sirius Web 2024.9.0.
This change will not be visible for end users manipulating Sirius Web using their web browsers. It will only impact the organization of the internal parts of the Sirius Web backend.
To find additional information about Sirius Web, please have a look at our website. You can also learn more about the previous releases on this blog.