eclipse-che / che

Kubernetes based Cloud Development Environments for Enterprise Teams
http://eclipse.org/che
Eclipse Public License 2.0
6.93k stars 1.18k forks source link

Adding EMF & Modeling Support to Che platform and IDE layer #1177

Closed hamdijmii1992 closed 4 years ago

svenefftinge commented 8 years ago

What exactly do you want to do with EMF in che?

TylerJewell commented 8 years ago

@hamdijmii1992 - that question is a broad question. Eclipse Che is a different platform from the Eclipse IDE, so you will need to narrow your request and provide specifics on what you are trying to achieve.

hamdijmii1992 commented 8 years ago

I would a modelisation cloud framework like eclipse emf within eclipse Che

TylerJewell commented 8 years ago

@hamdijmii1992 Wouldn't we all :) The EMF project from the Eclipse Foundation was devleoped over many years and involves multiple layers of capabilities. We'll leave this discussion open to see about getting +1 votes from the community. And we can get a dialog going with the EMF team about a possible port.

raman-swi commented 8 years ago

@TylerJewell , I'm interested in EMF, Graphiti and working on extending BPMN Modeler plugin to develop an BPM editor with some customized functionality of our own. We really waiting for such support in Che environment. Otherwise any possibility / suggestions in integration any on demand BPM solutions available like 'bpmn.io'.

magick93 commented 8 years ago

Also looking - and eagerly waiting - for Ecore / EMF support in Che.

TylerJewell commented 8 years ago

@magick93 @raman-swi We'd love to see this support come into Eclipse Che. Perhaps we can convince the solid engineers at genmymodel to open source their core engine (it is also based upon GWT) and add it as an EMF layer for Che. There is a high degree of technology compatibility there.

kgardas commented 8 years ago

@TylerJewell having EMF, Xpand, Xtext, QVT in Che would be a dream.

neilmackenzie commented 8 years ago

I would love to see it too. I suppose there is at least 2 parts, one managing the generation of projects and genmodels from an ecore model, and another in displaying and editing ecore models and their corresponding resources (e.g. XMI files which match an ecore model) ..maybe this second part is already available in Che? Eclipse Client Platform has a web enabled viewer for EMF models (using RAP not GWT), and a management of workspaces, so there might be some similar ideas there. I guess in xtext the use of EMF in representation DSL's and programs written in DSL's might benefit from good navigation\editing and management of ecore models in Che. also https://wiki.eclipse.org/EMF/GWT describes some GWT integration used before for editing models based on ecore. Neil

TylerJewell commented 8 years ago

@kgardas @neilmackenzie - FYI, @svenefftinge has completed an xtext integration into Che with the language server protocol. It's not quite EMF / Xpand, but it's a great start.

@neilmackenzie We would like to support the community to begin working on an ecore model. About 2 years ago, Codenvy had a prototype of a custom EMF layer for Che. We had it on the 3.x layer but did not port it to 4.x. Probably would take us a month to get it ported over. We used that layer to build an ESB sequenced editor for WSO2 with drag and drop design capabilities in Che. It was really beautiful and was easy to maintain. Also, we know that Red Hat is eager for an EMF layer as they want to build solutions for JBoss Fuse with drag and drop modeling.

We need community help here. We have a lot of IP as a starting point, but don't have the engineers that we can ask to get involved as a primary initiative full time just yet. We are hoping to recruit the community, genmymodel, or others to get more involved.

istvanrath commented 8 years ago

@tylerjewell we would like to help. how do we get started?

TylerJewell commented 8 years ago

@istvanrath - that would be truly wonderful. As this would be a signficant project, I recommend that we find some time to discuss the project goals, the nature of the team members that would be involved, timeframes, the process around pull requests, and how we'd coordinate resources from the core team to be supportive. We should discuss these high level concepts before you wade in so that you are comfortable with how to carve a path to done that you are satisfied with. I am tyler at codenvy dot com.

istvanrath commented 8 years ago

btw. https://projects.eclipse.org/projects/modeling.wmf is (was?) meant to be the open source version of GenMyModel - not sure whether this project is still alive.

I'll write you in private very soon.

JonasHelming commented 8 years ago

FYI, we will have a workshop next week to implement first support for Ecore in Che. Our goal is to have a prototype of an Ecore Editor and enable the code generation. I can tell you more about the result at the end of next week. We currently have no plan to implement a graphical editor, though...

TylerJewell commented 8 years ago

We implemented a graphical editor in Che 3.x that we have not yet ported to 4.x. It was loosely based upon EMF, but it was a clean implementation of it. But it had the sorts of things that you would expect - drag and drop, visual design, properties, etc.

Tyler Jewell | CEO | tyler@​codenvy.​com | 9​78​.8​84​.53​55

On Tue, Jul 12, 2016 at 6:45 AM, Jonas Helming notifications@github.com wrote:

FYI, we will have a workshop next week to implement first support for Ecore in Che. Our goal is to have a prototype of an Ecore Editor and enable the code generation. I can tell you more about the result at the end of next week. We currently have no plan to implement a graphical editor, though...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/eclipse/che/issues/1177#issuecomment-232051724, or mute the thread https://github.com/notifications/unsubscribe/AAX9CorQyCwE6n8FTpT-s458TWXP-x22ks5qU5p-gaJpZM4IW7fY .

neilmackenzie commented 7 years ago

Regarding visualization\editing of EMF models I think the following is a useful distinction. 1.)Projects like genmymodel try to provide a visualization as dragable images which could be considered as being drawn on a canvas. 2.)Other projects like EMFForms and I believe parts of Eclipse Sirius try to represent models as widgets (such as grids, trees, labels) composed together in panels with a layout. Both types of visualization are very useful. I am more interested in the second one. For example a binding from an EMF model to a tree widget might be helpful in providing an outline view for the abstract syntax tree of programs written in DSLs defined by xtext (since they are usualy stored as EMF models). I imagine it might be useful for a prototype ecore editor also.

JonasHelming commented 7 years ago

We are working on a Prototype of an Editor for Ecore + a generic one...

neilmackenzie commented 7 years ago

Is there any central page/forum for sharing resources and discussion on the approaches/ideas/goals/interested parties for integration between EMF an Che? If not can we make one? I would be happy to contribute some time.

JonasHelming commented 7 years ago

This is a good place: https://github.com/eclipsesource/emf4che

neilmackenzie commented 7 years ago

Thanks, FYI I am currently investigating making an EMFCompare UI in Che because I think Che and Codenvy has good potential as a front-end for collaborative modelling for domain experts with less technical experience. Particularly the possibilty of pre-commit review workspaces in che/codenvy is an easier review process to understand for less technical users than gerrit for example. I think that the right tools in Che could facilitate open source collaboration on models since a non-technical domain expert willing to collaborate to an open project may not have an I.T. team avaialble to install and maintain more complex software locally in order to contribute.

neilmackenzie commented 7 years ago

I would like to share one thought from having looked at some existing work and ideas around integrating EMF and Che. There is a common pattern between Eclipse EMFForms (supported by EclipseSource) and Eclipse Sirius (supported by Obeo) that I think could be useful in the integration of EMF and Che. The common pattern is having an easy to edit, declarative, way of describing how an EMF model is mapped to a visual representation. In EMFForms this declarative representation is stored as a .viewmodel file which is easy to edit visually (as it is itself and emf model). This file determines how existing widgets should be composed into panels (and some attributes of widgets like readonly/editable) and how the items displayed in widgets are bound to the ecore model to be displayed. In Sirius the declarative representation is an .odesign file which matches an XMLSchema and is easy to edit visually with an appropriate editor. This file specifies how a diagram representing an ecore model is displayed (e.g. colors and styles of nodes and edges, how a model is mapped to displayed nodes and edges, what is in a 'pallete' for creating new nodes and edges) or how a table or tree is bound to an EMF model and displayed. This pattern lowers the technical barrier for users to get involved in the creation of applications to edit and display EMF models because users dont need to know the lower level graphical language or frameworks (like SWT\GWT etc) or APIs to bind data to the visual components. Practical experience demonstrates that a lot can be done with these declarative models, they are usable by users who are not programmers, and they have been proved useful in production environments, and been improved by feedback. I think this is a good pattern to consider in future work for EMF Che integration. Regards, Neil

neilmackenzie commented 7 years ago

I have started investigation into an EMFCompare UI for Che (useful\essential for any serious version control of ecore files or EMF Models), and also a language Server for XCore (which allows EMF ecore models to be described with a DSL). Any contributions,ideas, collaborations welcome of course. The projects use the eclipse public license.

My work can be followed on these 2 public github projects. https://github.com/neilmackenzie/EMFCompare4Che https://github.com/neilmackenzie/XCoreLanguageServer

cawal commented 7 years ago

+1 for the Web Modeling Framework. +100 for Sirius-based editors in Che! Needless to say, but that I think there is a lot of uses for it in general, specially for settting up modeling tools for domain experts.

nicholaskong commented 6 years ago

Hope EMF can be integrated into Eclipse Che. Sirius, Xtext, Xtend +1 too.

jjewitt58 commented 6 years ago

We currently use the Papyrus UML modeling tool which is integrated into Eclipse. Is there any talk of getting that integrated into Eclipse Che?

koegel commented 6 years ago

I represent EclipseSource in the Papyrus Industrial Consortium and I am not aware of short-term plans on working on an integration of Papyrus into CHE although there is ongoing efforts of some members of the IC to research how it could be done and what would be required to do it.

hfuhuang commented 6 years ago

+1

svenefftinge commented 6 years ago

Anyone interested might also look at https://github.com/theia-ide/sprotty It is now proposed as an Eclipse project, too.

svenefftinge commented 6 years ago

Hope EMF can be integrated into Eclipse Che. Sirius, Xtext, Xtend +1 too.

Xtext supports the language server protocol, so it works already.

skabashnyuk commented 4 years ago

Not relevant anymore.