What's New in 7.0

Obeo Designer 7.0 is the first release based on Sirius. It comes with a new edition named Community which replaces former Architect edition.

Here are the new and noteworthy changes introduced by Obeo Designer 7.0 Community Edition:

Sirius Integration

Obeo Designer 7.0 is built on Eclipse Luna (aka 4.4) and integrates Sirius 2.0.

To better understand the changes made between Obeo Designer 6.2 and Obeo Designer 7.0, you should know a bit of Sirius' history.

In November 2013, Sirius 0.9 has been contributed in Open Source directly from the source code of Obeo Designer 6.2. This first release of Sirius only introduced some refactoring and a complete renaming of Java packages (fr.obeo.dsl.xxx to org.eclipse.sirius.xxx) in order to conform to Eclipse foundation rules.

Then, in June 2014, Sirius 1.0 were released to join the Eclipse release train and its Luna version. This integration was the opportunity to go in depth and work on the product’s enhancement. A specific effort has been laid down on making the code modular to facilitate the integration of Sirius with other components of the Eclipse platform, such as Xtext.

Finally, in October 2014 came Sirius 2.0 with a special effort made on the performance and scalability, the improvement of the user experience and new APIs to run Sirius without any UI.

Obeo Designer 7.0 Community and Team editions benefit from these significant improvements made to Sirius

 

New packaging

Obeo Designer is now provided with a new packaging of Eclipse components:

  • Ecore Tools replaces Ecore Designer to edit domain models
  • EMF Compare is integrated by default
  • Acceleo 3 SDK becomes an option (that you can easily install if you need to create or modify code generators)
  • Acceleo 2 has been removed (as it is not maintained anymore)
  • Egit is installed by defaut to manage your resources life cycle
  • No more licence is required to run Obeo Designer with a file-based collaboration mode (Community edition)
 

 

Performance & Scalability

These improvements have been tested and validated with models composed of more than 500 000 model elements displayed in 20 000 representations.

 

  • Initialization: Sirius is initializing itself quicker providing a better feedback on startups and first usage.
  • Calls from the UI: Calls from the UI are faster: it scales better when you have thousands of representations.
  • Lists: Diagram having lists containing numerous elements are created and refreshed quicker.
  • Select All: Select All operation is now instantly completed on a big model, without any lag.
  • Tree Editors: Tree Editors defined using Sirius are now more efficient in refreshing the SWT Components.
  • Delete: Delete operations are now scaling based on how many things have changed, independently of the size of the model.

 

User Experience

This release comes with many ergonomic improvements for a better edition of diagrams.

 

Shapes Distribution

Now users can homogeneously distribute shapes: horizontaly or vertically, based on the gap between shapes or their centers.

Edge Centering

The creator of the modeling tool can force an edge end to be always directed toward the center of a node.

Snap to Shape

Now, the Snap to Shape option is selected by default on new diagrams. It displays smart guides to help you aligning objects to each others.

 

Snap to Grid

When creating a new object with the Snap to grid option activated, it is automatically aligned to the grid.



Touching mode

When drawing a selecting zone on a diagram, each object touched by this zone will be added to the selection (before, the selected objects had to be entirely inside the zone).


Outline

When an object is not visible on the diagram, its selection from the outline reveals it: Sirius automatically moves the displayed zone of the diagram in order to make the object visible.

 

Layout

The move and resize of existing elements is better managed:

  • Changing the location of an edge's end only changes its closest segment;
  • Resizing a shape doesn't modify its edge(s) location;
  • Increasing the size of a container doesn't modify the location of its children

 

Navigation and creation menus

The former Navigate menu on a diagram element has been replaced by two distinct ones:

  • New: provides the sub-menus to create new diagrams for the selected element;
  • Open: provides sub-menus to open existing diagrams owned by the selected element.

 

 

Headless mode

New APIs allow you to run Obeo Designer without any UI.

Things like loading a representation resource, creating a diagram, refreshing it, modifying the model and saving can now be used as a server-side or continuous integration process.

 

Domain model edition

Ecore Tools 2.0 is the complete rewriting of Eclipse's Ecore modeling tool by Obeo. In Obeo Designer, it replaces Ecore Designer when you create a new Ecore modeling project.

This new tool provides many enhancements:

  • Documentation: EcoreTools assists you with a dedicated layer named "Documentation" and a table editor to quickly go through all of your elements and document them.
  • Bi-directional references: bidirectional references (also known as EOpposites) are displayed using the well known notation which comes from UML Class Diagram.
  • Constraints: domain constraints can be listed directly from the diagram once you activate the "Constraints" layer.
  • Generics: you can express Parameter types and use them in references or operations.
  • Packages Dependency Analysis: a dedicated diagram is provided to see and analyze those dependencies.
  • Productivity: many shorctuts have been added to make your life easier, especially regarding references and attributes.
  • Feedback: any construction which is not valid is immediately highlighted in red.
  • Design: colors have been aligned to the Eclipse Standard palette, classifiers now have rounded borders, icons and text style are used to convey the difference between Classes, Abstract Classes and Interfaces, boldness is used for anything which is mandatory, blue for anything which is derived.

 

Compatibility

Some manual migration tasks have to be performed to run existing modeling tools created with Obeo Designer 6.2:

    • Open and save the definition of the modeling tool (.odesign file) with Obeo Designer 7.0;
    • Update the Manifest.mf file:
      • remove the dependencies to Acceleo 2 (fr.obeo.dsl.common.acceleo.mtl),
      • replace the dependencies to proprietary source code by corresponding open source packages (fr.obeo.dsl.viewpoint -> org.eclipse.sirius),
      • in the plugin.xml file, replace reference to fr.obeo.dsl.viewpoint.componentization by org.eclipse.sirius.componentization.
    • In the Java source code (ex: Activator.java), replace all the references to proprietary source code by the corresponding open source packages:

Before:

After:

  • Depending on their complexity, the Acceleo 2 expressions contained in the .odesign file have to be replaced by the appropriate query mechanism:
    • new query interpreters (var:, feature: and service:),
    • Acceleo 3 expressions,
    • OCL expressions,
    • Java services.

 

 

Read What's new in Obeo Designer 6.2 to see the new and noteworthy features of previous version.