Ecore GLSP provides a web-based editor for Ecore Models (including Diagrams), integrated with Eclipse Theia. It contains two components: one GLSP language server (Server-side, written in Java), and one GLSP client extension to actually present the diagrams (Using Sprotty).
Ecore GLSP can display an existing Ecore model. The diagram layout will be persisted in an .enotation file next to the .ecore file. The diagram editor also supports creation of new elements (EClasses, EAttributes, EReferences...), as well as partial support for editing existing elements (Renaming, deleting...).
You need Java 11 to build the ecore-glsp editor.
Clone the ecore-glsp editor:
git clone https://github.com/eclipse-emfcloud/ecore-glsp.git
Build server and client with the following build-script. This script also copies the needed server artifacts to the client.
cd ecore-glsp ./build.sh
yarn start:debugor the launch config
Start Browser Backend (expects running GLSP Server instance)
The client repo contains a Dockerfile, that builds the entire client application. The image listens on 0.0.0.0:3000 for incoming requests from a browser.
For installing docker locally please consult docker's installation description for your OS.
The glsp-server needs to be build locally before you build the image
docker build -t <imagename>:<tagname> .
docker run -it -p 3000:3000 --rm <imagename>:<tagname>
After that you should be able to connect with your browser at localhost:3000.