EMFJson Jackson vs EMF Forms #217
Replies: 1 comment
-
Hi @dmm9 , sorry for the late reply. It is vacation season at the moment. So EMFForms was created to allow for an easy creation of forms for emf models. The framework does not care about how you store your data. It expects a loaded EMFModel as input and renders then a form from it. The framework is written in Java. EMFForms Webpage In the same logic JSONForms was created. The difference is that instead of an EMFModel a JSONSchema instead of an EMF model is used. So the input is also a json file loaded by the user logic. The framework is written in Typescript. JSONForms Webpage EMFJson Jackson on the other hand does not care about what you do with the data. Its purpose is to be able to serialize/deserialize an EMFModel to a JSONFile. So its main contribution is a ResourceFactory. Again this is written in Java. When creating an online editor the first question to answer is, do you want to keep your EMF model? Now if you want to use a form, a graph and property views and all of them should work on the same model state, then you need something that acts as an EditingDomain. This role can be done by the ModelServer The ModelServer uses EMFJson Jackson under the hood to provide a JSON and a XML version of the EMF model depending on the request. As you have touched the Coffee Editor already, that is a prototype for a tool using an EMF model (coffee.ecore) with a ModelServer to power a frontend based on Theia to render a graph with GLSP as well as show the data in a form (TreeEditor with JSONForms). You can find documentation here: https://eclipse.dev/emfcloud/documentation/ Best, |
Beta Was this translation helpful? Give feedback.
-
What is the difference between EMF Forms (JSON forms) and EMFJson Jackson? What are the use cases of each of them? When creating an online editor (form based, glsp, ... whatever), what would be the steps starting from an ecore model with both of them?
I mean, both seem to generate a JSON version of the model, but I cannot differentiate between the use cases of them.
Beta Was this translation helpful? Give feedback.
All reactions