|Re: Papyrus in Eclipse Theia? [message #1824205 is a reply to message #1824203]
||Thu, 09 April 2020 14:02
| Camille Letavernier
Registered: February 2011
What do you think about the reuse of existing Papyrus source code? I understand that Papyrus depends on a older version of GEF and this needs to be upgrade.
The short story is: all parts of Papyrus that are based on the GEF3/SWT UI need to be rewritten in Web technologies (For this, we reuse & augment the GLSP Client); all other parts (Papyrus runtime) can be reused.
In details, it's a bit more complicated, because we also need to ensure that the runtime components of Papyrus can be executed in a headless environment, which has never been a goal of Papyrus.. Also, Papyrus doesn't only contain diagrams, but also a Tree (Model Explorer), some Forms (Properties), some tables... The EMF.Cloud ecosystem provides some solution for these elements, too (Like JSON Forms for the Forms), but we still need to migrate each component one by one.
So, there is some work to be done (Obviously! :) ), but reusing the existing Papyrus runtime code is definitely possible: we don't have to rewrite everything in Node. It's a migration effort; not a complete rewrite effort. But it has to be incremental; it won't be possible to provide the full set of Papyrus features on the short term (The good news is that, since we reuse the existing Papyrus code, the desktop and web-based versions can evolve together).
Are there other blocking points according to you?
We haven't identified any blocker in the PoC, and we already provide in EMF.Cloud the generic web components that would be necessary to make this happen. However, providing a web-based modeling tool is only the first step. In practice, web-based tools provide new challenges; especially when it comes to multi-user deployment & scalability. Currently, the Papyrus-Web PoC is implemented as a "Desktop product using Web technologies" (Similar to e.g. VSCode), which is a necessary intermediate step towards "real" web/cloud applications. But deploying Papyrus as a cloud/multi-user application will definitely provide some additional challenges (Including all the traditional collaborative modeling challenges).
Powered by FUDForum
. Page generated in 0.02302 seconds