On Fri, Aug 20, 2010 at 8:47 PM, Pierre-Arnaud Marcelot <[email protected]>wrote:
> 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/ This is incredible. The theory 3 years ago is finally becoming a reality. Thanks for looking at this again and yes this opens up some very cool doors for us. -- Alex Karasulu My Blog :: http://www.jroller.com/akarasulu/ Apache Directory Server :: http://directory.apache.org Apache MINA :: http://mina.apache.org To set up a meeting with me: http://tungle.me/AlexKarasulu
