Open mt-empty opened 3 years ago
Hi. This is supposed to work, but actually in the Flow Designer we tend to use for testing I think there is no relation-based edge. It's possible something broke and we did not notice. I'll check and come back to you.
I just checked on a basic example, and both rendering and creation of relation-based edges seem to work.
In the screenshot below, on the right I have Sirius Desktop in which I created a very simple Ecore-based "modeler" which displays super-classes relations between EClasses, and a simple Edge Creation tool which creates such a new relation.
On the left I have the exact same odesign
file deployed in Sirius Web, and the after uploading the sample.ecore
I used in Sirius Desktop, I see the same relations correctly displayed. In both cases the edge creation tool correctly creates a new edge.
One possible explanation is that your issue is not related to the relation-based edges themselves, but maybe some operation that you use in the implementation of the edge creation tool which is not supportedn or has a slightly different behavior in Sirius Web. In my case the tool simply changes context to the source
element and then uses the Set
model operation to add the target
value (the semantic element at the end of the new edge) into the source's eSuperTypes
reference.
Thank you for the example
I think I didn't clarify my issue enough, the relation based edge works fine. I think the advanced section in edge creation tool is not supported currently.
In Sirius-Desktop I'm using Extra source mapping
and Extra target mapping
along with if conditions
to allow users to click first on A and then connect it to B or they can click first on B and then connect it to A and in both cases the same relation(A--->B) will be created.
The problem is on Sirius-web, the edge connection symbol shows up for A and I can establish a relational edge but it doesn't show up for B.
I added an edit to my original post.
I see. This is indeed a current limitation of sirius-web
(technically, sirius-components
).
In my EMF I have a relation A----->B. In my odesign I specified(in edge creation tool) that users can connect A and B using a relational edge regardless of the order. Users can click first on A and then connect it to B or they can click first on B and then connect it to A and in both cases the same relation will be created. This works fine on Sirius desktop, but doesn't work at all on Sirius-web because the edge connection symbol doesn't show up in the palette(edit: it shows up for A and I can establish a relational edge but it doesn't show up for B) . Either my odesing is incorrect, or Sirius-web currently doesn't support this(current limitation).
I know that Sirius-web is in beta, I have come across issues just like this one where the issues feels like a current limitations rather than a bug and I'm not sure if I should be reporting them?