directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre-Arnaud Marcelot ...@marcelot.net>
Subject [Studio] Eclipse RAP (Rich Ajax Platform) experimentations in a branch
Date Fri, 20 Aug 2010 17:47:03 GMT
Hi dev,

Almost three years ago, I did an experimentation with Eclipse RAP (Rich Ajax Platform) and
tried to convert Directory Studio plugins to be used within a RAP application. 
At this time, RAP was in its early years (months) and the extensive use the Eclipse framework
APIs we were doing in Studio's plugins prevented me to successfully run it in RAP.
Eventhough I managed to convert a large part Apache DS Configuration plugin. Screenshots available
here [1].


This week I spent around half a day trying to do the same with the latest version of RAP,
and I have to say I'm pretty pleased about the result so far... :)
RAP has evolved a lot in the last three years and a lot of Classes/Methods/Members are now
supported in the RAP implementation (while they were not, three years ago).

In approximatively two hours, and a large cut in Studio's code (more and more classes are
being supported, but there are still some that are not yet available), I was able to make
Studio run within a RAP application in a web browser !  [2]
There still a lot of things broken, especially a nasty bug while trying to use UI thread to
update widgets, but it works.
You can create a new connection and browse the tree...

I've created a SVN branch in order to share with you this experiment and, maybe, try to go
forward... [3]

If you want to test it, you need to have an Eclipse for RCP/RAP developers distribution, with
RAP target platform enabled.
I've not migrated all the project, but just the smallest set to get the LDAP Browser working.
Here's the list of project you need to import:
- common.core
- common.ui
- connection.core
- connection.ui
- ldapbrowser.common
- ldapbrowser.core
- ldapbrowser.ui
- ldifeditor
- ldifparser
- org.antlr.antlr
- org.apache.commons.codec
- org.apache.commons.collections
- org.apache.commons.io
- org.apache.commons.lang
- org.apache.commons.logging
- org.apache.directory.shared.asn1
- org.apache.directory.shared.dsmlparser
- org.apache.directory.shared.ldap
- org.apache.directory.shared.ldapconstants
- org.apache.httpcomponents.httpclient
- org.apache.httpcomponents.httpcore
- org.apache.logging.log4j
- org.apache.mina.core
- org.bouncycastle.bcprovjdk15
- org.dom4j.dom4j
- org.slf4j.api
- org.slf4j.log4j12
- org.xpp3.xpp3
- repository
- valueeditors

To launch Studio in RAP, you need to create a new "RAP Application" launch configuration.


I'm very happy about the results I've got so far, and I'm pretty confident about the RAP project
now.
I really think a lot of things can now be implemented using RAP and our existing Eclipse plugins
code base.

Especially, I'm thinking about a webapp, embedded with ApacheDS (and launched in Jetty), in
which the user could view/edit the configuration, or simply browse the server tree...

New doors are now opened to make this project even better... :)


Regards,
Pierre-Arnaud


[1] - http://people.apache.org/~pamarcelot/ApacheDSConfInRAP/
[2] - http://people.apache.org/~pamarcelot/Studio_in_RAP/
[3] - https://svn.apache.org/repos/asf/directory/studio/branches/studio-rap/
Mime
View raw message