I am glad to announce that Eclipse Sirius Web 2023.4.0 is now available.
This release primarily adds new features for studio makers.
Enhanced Palette Tools for Diagrams
We have introduced the Palette concept in the diagram description.
A Palette contains all the tools available for a Diagram, Node, or Edge. In previous versions, the tools were defined just under the related object, scattered among the other sub-elements. Now they are well grouped under a Palette.
When creating a new Node or Edge, their Palette is automatically created and pre-populated with some basic tools (Edit Label and Delete) that you can customize and complement with more advanced tools, for example, to change the end, center, or end label of an edge.
Enhanced Domain Definition Reusability
This is a significant improvement in how studio makers can create and organize their custom domain models.
It is now possible to reuse elements defined in other domain models, both by reference and by extending or subtyping them.
Here is an example of a Domain Model that defines a new Entity by extending an existing Entity defined in another Domain Model.
We plan to add similar functionalities for defining representations enabling the management of complex diagram descriptions.
Precondition expression for Nodes and Edges
This feature was already available for Edges, and now it is also available for Nodes.
Precondition expressions are AQL (Acceleo Query Language) expressions that enable studio makers to create or render an element based on a specific condition.
Documented View Variables for Studio Makers
As an open-source project, we believe in sharing knowledge and making resources available to our community.
Accordingly, our team produces many resources in our GitHub repository to document the project and help individuals to understand and use its components.
For example, you can find Architecture decision records (ADR), that explain some of the technical decisions taken by the team, as well as general descriptions of the architecture or configuration help.
Recently, we documented a list of variables that are available in the View when using AQL expressions to make it easier for studio makers to work with.
Enhanced Query Capabilities with GraphQL and AQL in Backend
Our backend uses GraphQL API, allowing users to interact with the server without needing a front end. For those unfamiliar, GraphQL is a query language for APIs, and AQL (Acceleo Query Language) is a language used to retrieve information from models in Eclipse Sirius.
We have added GraphQL endpoints to execute AQL requests and call Java services that were defined as AQL services. By combining AQL and GraphQL, more complex queries can be created, providing users with greater flexibility and functionality.
As an example, let’s consider the Domain Model and Diagram shown earlier. Now, we can use the defined Java service “contents()” to retrieve the content of a project, where the “editingContextId” represents the ID of the project that can be found in the project’s URL.
We store the content in a variable called “root”, and then we can add a nested request to retrieve all the names of basic nodes contained in the root element.
Enhanced tree explorer
To improve the readability of the model’s content, the order of the elements in the tree explorer has been standardized (i.e. the elements are always displayed in the same order) and items without children are now consistently aligned with their siblings.
Don't forget to check out our changelog for a comprehensive list of all the improvements and bug fixes!