TypeFox / theia-workshop

Theia Workshop - Building Cloud and Desktop IDEs
41 stars 49 forks source link

Step 0 Does Not Work #13

Open dynamic-modeller opened 3 years ago

dynamic-modeller commented 3 years ago

Hi,

I just tried to run your tutorial, unfortunately it does not work as the yarn install failed image

msujew commented 3 years ago

Hi @causalmodeller,

for some reason Gitpod is using node v12.16.1 (instead of v10.24.1 like it should via the .gitpod.dockerfile). The reason the build is failing is because each Theia version uses a specific node version. For now, you can execute nvm install 10 before running yarn to switch to the correct version.

dynamic-modeller commented 3 years ago

Hi Mark,

Thanks so much for your quick response. I have been struggling over the last few weeks to learn sufficient in Eclipse EMF, GLSP, Sprotty and Xtext to actually build an open source prototype (similar to the coffee model). The application is essentially an upgrade of my Python/JavaScript prototype I presented at Grakn Orbit, which is a new way of visualising semantic knowledge graphs using disjoint groups (https://www.youtube.com/watch?v=i2q-qscmbgM). I attach my current project overview, and if I can get it in prototype form it will become an officially supported Vaticle Open Source project. Unfortunately, the lack of good tutorials and docs has made it a much more difficult task than I anticipated.

The TypeFox site has the best tutorials, even though some are a bit old, and you guys recommend having a controlling Xtext model underneath it all. So I have been working through an Xtext book (Implementing Domain-Specific Languages with Xtext and Xtend - Second Edition), and am about to start two tutorials you guys have in the hopes I can work out how to build my prototype:

My theory is that by going through your tutorials I may learn enough to launch my open source prototype, so thanks a lot for your help, I was close to giving up. Unfortunately I am familiar with Python and a bit of JavaScript, and am having to learn Java and TypeScript, so it is all pretty tricky at present.

I am still trying to work out how much modelling I can/should do in Xtext vs eCore, and where EMF Model Server fits in. Anyway, your help moves me another inch forward, so thanks a lot.

I will make your suggested changes (i.e. setting the node version) tomorrow and report back.

Thanks a lot, have a good weekend

Brett

msujew commented 3 years ago

Thanks for elaborating on your use case, that makes it a lot easier to point you in the right direction.

The theia-xtext-sprotty-example is a bit outdated and maybe even misleading. Since version 1.5 Theia offers no LSP support for Theia extensions anymore. LSP clients (like DSLs implemented via Xtext) should be connected to Theia by implementing them in a vscode extension and installing that into Theia. You can read more on that here. An example repo for that is linked in the blog post.

Maybe even building a vscode extension is enough for your use case? While building your own Theia application with custom extensions has its merits, it comes with a lot of overhead in regards to maintenance, deployment and so on. We usually recommend to just use vscode extensions where possible. Also, documentation/help for vscode extensions in general is way easier to come by than for Theia.

dynamic-modeller commented 3 years ago

Hi Mark,

Wow, thanks a lot. Actual advice on eclipse is super welcome, as I didn’t get much joy from Eclipse Source. Its definitely been pretty hard trying to work it out yourself, so I really appreciate it (i.e. unfortunately I am not skilled enough to just work it out from the coffee model code base).

I will definitely go through that tutorial, after I have done the Theia workshop. I hear what you say and plan to have a go with a VS Code plugin. But ultimately, for the project to have good community use in the knowledge graph space (i.e. in the official Vaticle Open Source Incubator), I really need a website, and I can see the need to probably use the EMF Model Server to coordinate between the various representations.

I realise this is a lot trickier, and will require more effort, but perhaps if I can get part way there with a vs code plugin, I can get more knowledgeable people to assist.

You have really helped by pointing me to the first couple of steps though, thanks heaps.

I will try both tutorials (theia and vs code plugin) this week, and will get back to you with my progress.

Thanks a lot!!!! You are a legend!!!

Brett

msujew commented 3 years ago

I'm glad that I can be of help.

Well, for using that vscode extension for open source projects on the web, you can always configure the repository so that it loads with your extension in Gitpod (which gives you 50 free hours per month for open source projects). Nevertheless, I understand the requirement to have a dedicated website/webapp.

Good luck with your endeavour. Don't hesitate to ping me.

dynamic-modeller commented 3 years ago

Hi Mark,

I have followed your instructions and got the worskpace up, but am unable to open the two terminals as instructed. If I try the F1 command in the original gitpod window it does not have the open new terminal command. If I use the command on the newly opened workspace, then i can get two new terminals, but the change directory command does not work. image

There are also problems that are listed, although i can see the json files perfectly image

dynamic-modeller commented 3 years ago

Is it possible to run the workshop locally? This would be best if there is a way

Answer -> Not if I run from Windows (note i did the nvm install 10 command before trying) Question -> Should I be trying this from my linux subsystem? image

dynamic-modeller commented 3 years ago

SUGGESTION: Why Not Integrate this Tutorial with the existing Theia documentation/Tutorial?????? It works already, even on Windows 10 https://theia-ide.org/

Question, why are all the Eclipse tutorials so fragmented? Answer, because there is no consolidation.

There is an existing set of documentation/tutorials for Theia that work (I managed to get Theia up in a browser on Windows)

If only:

  1. You updated your JSON forms tutorial to work with this existing Theia docs2.
  2. Someone did a Sprotty tutorial to work with these examples, using GLSP
  3. One of the Xtext tutorials was updated to work with these tutorials
  4. An EMF Model Server tutorial was setup to work with the same

Its all very well to have this great open source technology, but currently it is so hard for new, external users to learn how to use the capability, it might as well not be open source. Depressed!!

Seriously, it would be approximately a week of work for someone who knew what they were doing to convert the existing tutorials