Eclipse 4 and Web [message #895717] |
Sun, 15 July 2012 09:45 |
Rushan Gilmullin Messages: 61 Registered: June 2011 |
Member |
|
|
Hi. I am working on vaadin renderer for E4. I have implemented the renderer itself in one user case and know think how to get it work in multi-user case. I was looking on this options:
1. Start the Equinox instance per user session. It seems this is not capable in terms of memory.
2. Use one Equinox instance and one workbench and every user has it's own window in workbench (MWindow). Because all change operations on workbench model we execute yourself (without any support from eclipse code), we must synchronize only our code (Vaadin renderer) and no additional assumption about workbench threadsafe need.
I decided to choose the second option. Maybe someone else has an idea? I read that the the one of reason why eclipse 4 was developed is moving the Eclipse in web. Perhaps the assumption is already there as you do?
[Updated on: Sun, 15 July 2012 09:45] Report message to a moderator
|
|
|
|
Re: Eclipse 4 and Web [message #895722 is a reply to message #895719] |
Sun, 15 July 2012 11:21 |
Eclipse User |
|
|
|
Hi.
I also tried to build renderers for Vaadin some time ago but left it pending for some reasons. I have extensive experience with the Vaadin framework so if your work is meant to be open sourced I'd be happy to contribute.
|
|
|
Re: Eclipse 4 and Web [message #895733 is a reply to message #895722] |
Sun, 15 July 2012 14:06 |
Rushan Gilmullin Messages: 61 Registered: June 2011 |
Member |
|
|
Thomas Schindl
Thank for idea. I want to make sure I understand correctly. So I must create the E4Workbench instance in each user session and configure it from IApplicationContext that created with VaadinE4Aplication globally ones at server start. Also I create the implementation of IEventBroker (for example - the VaadinEventBroker) that sends events only to own subsrcibers (current implementation of IEventBroker named EventBroker will send to ALL subsribers because work over general OSGi EventAdmin). Then I set the instance of VaadinEventBroker to root IEclipseContext object of correspondence E4Workbench instance - now each workbench will use own event broker that will be send events to own subsribers. Is it correctly?
Sopot Cela
Of cource, it will be open source under the same licence as Eclipse and I will be happy if anybody will contribute to it. I don't have possibility to share project on next week because I am in buisness travel now, but I return to home in friday and in few days I will move it to github. Now it has some legacy pieces from previous project, and the first I clean it (to become it clearer). This project was the new workbench that I develop from zero (it is not relevant to eclipse) because I didn't know about E4. It is look very like E4 except the model is not EMF, it also can be rendered by different toolkits. I work on it 2 month until I see that E4 exists - it happened only when the Juno was releazed )) Of cource, now this project makes no sense, it is not needed now and must be utilized, because now we can use so great platform as Eclipse. I desire about the universal eclipse during long time and know it really happened. There are the javafx renderer already and when the vaadin renderer will be ready, the E4 will be finally the extrapower thing.
[Updated on: Sun, 15 July 2012 14:14] Report message to a moderator
|
|
|
Re: Eclipse 4 and Web [message #895738 is a reply to message #895733] |
Sun, 15 July 2012 15:07 |
Eclipse User |
|
|
|
Ok then when you get the time to polish it we'll see what we can do. A good place to keep contact is the e4-dev mailing list and also the #eclipse-e4 IRC channel on irc.freenode.net
|
|
|
|
|
|
|
|
|
Re: Eclipse 4 and Web [message #900585 is a reply to message #900192] |
Tue, 07 August 2012 16:15 |
Rushan Gilmullin Messages: 61 Registered: June 2011 |
Member |
|
|
Works are done in last days:
1. Old legacy parts dependents from UneversalWorkbench (my previous project) cleaned. I rewrite from zero renderers taking as base the Kai Toedter swing layer.
2. All code moved from maven. I find using maven cause big problems in equinox-osgi projects, becouse the xml-manifest doesn't allow use the eclipse manifest tools.
3. Per session workbench implemented as Thomas Schindl say. In future need replace the EventBroker implementation and all will be ok.
4. Drag and drop implemented. But it will be realized a little later, becouse need some finalization.
5. Demo project (eclipse-like ide) was implemented - it has the project explorer, outline view, console and code viewer.
After finaliztion this works the code will not be totally changed, so the code will be released and ready to receive contribution (now share not stabled code have no sense). It must be at the last of this week.
[Updated on: Tue, 07 August 2012 16:17] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Eclipse 4 and Web [message #901713 is a reply to message #895717] |
Tue, 14 August 2012 09:46 |
Rushan Gilmullin Messages: 61 Registered: June 2011 |
Member |
|
|
Sopot Cela
The drag is implemented, it need some fix.
Thomas Schindl
I'm going on vacation later this week and will be able to work full time, I'm sure, to begin of september the working version will be. It will be ready earlier. After that will be published we can work together (and with other peoples) and all be ok.
----------------------
I apologize for the delay, it is not becouse I want to do everything alone as you might think from the outside, but a fear of showing incomplete... I had too little time to do fast... But very soon it be published...
[Updated on: Tue, 14 August 2012 09:49] Report message to a moderator
|
|
|
|
Re: Eclipse 4 and Web [message #901716 is a reply to message #901714] |
Tue, 14 August 2012 10:14 |
Eclipse User |
|
|
|
Rushan, as Tom said, don't care that the code is not perfectly written. We are curious of the source and like to see it whatever it looks like. We all have some repo in github with some dirty code in it. Dump it there as soon as you can so we can contribute in making it better.
|
|
|
|
|
|
|
|
|
Re: Eclipse 4 and Web [message #902879 is a reply to message #902766] |
Mon, 20 August 2012 20:44 |
Rushan Gilmullin Messages: 61 Registered: June 2011 |
Member |
|
|
Components published.
Was implemented Placeholders and Areas. Now the IDE demo will be done right. Now I created only frame of it and called it Cassandra Demo, in few days I move from old demo (called vaadock) to Cassandra.
Short description of published components.
1. org.semanticsoft.vaaclipse.app - bundle with main rcp application. It start the RCP application and async. event queue.
2. org.semanticsoft.vaaclipse.vaadinapp - bundle with vaadin application. It register using org.vaadin.osgi the Vaadin Application. Vaadin application is created per user session and per session workbench created. The details above in Thomas's message.
3. org.semanticsoft.vaaclipse.presentation - the renderer code.
4. org.semanticsoft.vaaclipse.behaviour - the eclipse e4 addons that add behavour to eclipse model. I made it total isolated from platform specific code (vaadin code). The idea was from Kai's generic renderer, but I remove abstract dependencies from platform code. Shortly, the behavour addon do this thing. When one property of model's element is changed, it cause the changes of properties other element's (or other props of this element). So, we must collect this waves of changes in one place and maximum decople it from Platform code. Kai Toedter did this in his generic renderer, I did his addon more isolated from platform removing even abstract dependencies from platform code.
5. org.semanticsoft.vaaclipse.resources - resources using by vaaclipse that deploed using org.vaadin.staticres
6. org.semanticsoft.vaaclipse.vaadinaddons - bundle with used vaadin addons
7. org.semanticsoft.vaaclipsedemo.cassandra.app - the demo cassandra project. Now it only carcas of showed above (screenshots above show the vaadock demo that now rewrite with new concepts - will be finished at this week). So, when prepared, it will be as in screens above.
8. org.semanticsoft.vaaclipsedemo.cassandra.resources - the resources of cassandra demo.
What is NOT published. Now I don't publish the client widgetset code - the modification of John Ahlroos's vaadin addon "dragdroplayouts". In future this modications must be done separately from this addon (I did fast hardcode to get it work as quickly as possible). If anyone interesting in it I can send sources or put it in temp repo. Also I don't publish the legacy demo vaadock (screenshots above). In few days vaadock's features will be move to Cassandra project in right way. And, at last, the drag and drop code. It partly located in client widgetset code (show previous note), the server support addon is need to be rewritten.
There are some issues how to use resources. Now working with resources is not ideal. All your resoure must be located in any fragment bundle (host bundle - com.vaadin) by path: platform:/plugin/your_fragment_bundle/VAADIN/themes/your_theme/... In future I want to locate the resources in any path and deploy it automatically to vaading theme, and so all working with resources must be transparent relative vaadin theme (we must not operate by Vaadin Theme, working at more high eclipse level).
Note: Was used the code fragments from Kai Toedter's generic renderer (I simple copy several files to do editing more easy of course with copyrites - when Kai or others will finilize the generic renderer it will be easy to go to resulting renderer dependency). Also I modified the John Ahlroos's great vaadin addon "dragdroplayouts" (the licence is allowed this), but in future this modifications must be fetched outside of John's addon - it is don't difficult.
[Updated on: Mon, 20 August 2012 21:24] Report message to a moderator
|
|
|
|
Re: Eclipse 4 and Web [message #902962 is a reply to message #902960] |
Tue, 21 August 2012 12:34 |
Rushan Gilmullin Messages: 61 Registered: June 2011 |
Member |
|
|
What will be done in this week.
1. Will be fixed the bug with collapsing some shared elements.
2. Will be implemented the fast view.
3. Cassandra demo will be upleveled to vaadock level (project explorer, files editor (if true - viewer), outline and console - all must work in simple demo mode).
The docking operations will be done in parrallel (it is already imlemented on client side), but this will be ready throw 2-3 week.
I planning to use vaaclipse in commercial project in end of semptember...
[Updated on: Tue, 21 August 2012 12:42] Report message to a moderator
|
|
|
|
|
|
Re: Eclipse 4 and Web [message #903650 is a reply to message #902960] |
Fri, 24 August 2012 17:09 |
Eclipse User |
|
|
|
Rushan Gilmullin wrote on Tue, 21 August 2012 14:25
ATTENTION!!! If you will create own elements in org.semanticsoft.vaaclipsedemo.cassandra.app/Application.e4xmi, be careful. The application model editor has bug - the element identifiers are not assigned correctly by default - the counter of last id segment is not increment, so you can create two placeholders with same id. This is not valid. At least the stacks and placeholders must have the unique id becouse they searched by id in vaaclipse. You must to specify unique id manually.
I'll commit https://bugs.eclipse.org/bugs/show_bug.cgi?id=384675 shortly
|
|
|
|
Re: Eclipse 4 and Web [message #903786 is a reply to message #903785] |
Sun, 26 August 2012 00:09 |
Rushan Gilmullin Messages: 61 Registered: June 2011 |
Member |
|
|
The fast view implemented (a popup window that appear when click on minimized tabsheet or editor area button with content of tabsheet or area). Also was done other work and improvement. Will be commited at sunday after some improvement.
I think that to the second week of september it will be usable in test (or just prealpha) mode.
PS As I said above, it is under EPL.
[Updated on: Sun, 26 August 2012 00:14] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|