Dear all,

Thanks a lot for your help.
I have submitted the proposal to GSOC website.
Any comments are welcome.

 From the Xwiki's GSOC project page, student applicants need to send a 
patch about JIRA issues.
Do we student need to submit a patch and after that we can be qualified 
for further consideration?

Best regards
Jun Han

On 03/29/2011 04:53 AM, Eduard Moraru wrote:
> Hi Jun,
>
> On 03/29/2011 12:09 AM, Jun Han wrote:
>> Dear Eduard Moraru,
>>
>> Thanks a lot for your clarification.
>>
>> Today I have installed XWiki Enterprise 3.0 RC1 and XEclipse 1.2.0 RC1.
>> XWiki URL is localhost:8080/xwiki/bin/view/Main/WebHome
>> XEclipse connection URL ishttp://localhost:8080/xwiki/xmlrpc/confluence
>>
>> Now I can play around with Both XWiki and XEclipse.
>>
>> After looking at the details in the XEclipse RCP application, four
>> plugins are available:
>> 1. XWiki Eclipse
> AFAIK,
> http://svn.xwiki.org/svnroot/xwiki/xeclipse/trunk/plugins/org.xwiki.eclipse/
> is the old version of XEclipse which is deprecated.
>> 2. XWiki Eclipse Core Plug-in
> http://svn.xwiki.org/svnroot/xwiki/xeclipse/trunk/plugins/org.xwiki.eclipse.core/
> contains core functionality like data model, storage, notifications,
> logging, etc.
>> 3. XWiki Eclipse UI Plug-in
> http://svn.xwiki.org/svnroot/xwiki/xeclipse/trunk/plugins/org.xwiki.eclipse.ui/
> depends on core and contains UI elements like views, editor, wizards,
> menus, etc. and works with the data model and storage defined in core.
>> 4. XWiki Eclipse XmlRpc Plug-in
> http://svn.xwiki.org/svnroot/xwiki/xeclipse/trunk/plugins/org.xwiki.eclipse.xmlrpc/
> is just an external dependency container plugin that holds XMLRPC jars
> needed by the XMLRPC implementation in core. There is no code here, the
> code is in core. Here you just have XWiki's XMLRPC client library that
> makes it easy to talk to XWiki trough XMLRPC.
>> Does XEclipse RESTification mean that add an additional plugin, XWiki
>> Eclipse REST Plug-in, to XEclipse bundle and provide similar function as
>> the existing XmlRpc one?
> It depends. It would be nice if you could externalize the storage system
> from core and make it pluggable trough eclipse plugins. If you make a
> system like that, it would mean that, in the UI plugin where you deppend
> on core, you would also depend on an external plugin (let's say
> org.xwiki.eclipse.core.storage.rest) that registers itself to be used by
> the storage service as a local or remote storage implementation.
>
> Regarding REST specific dependencies, you could have a plugin that does
> the same thing the XMLRPC plugin did, which is to hold binary
> dependencies. You could call it org.xwiki.eclipse.core.storage.rest.libs
> and put there any jars that will be needed by the rest implementation.
>> When a user creates a new connection to XWiki server, he/she needs to
>> type in some URL likehttp://localhost:8080/xwiki/rest/confluence  as an
>> entry point in order to fetch the whole xwiki spaces?
> The rest endpoint for xwiki ishttp://.../xwiki/rest
> Obviously, the endpoint needs to be specified at connection creation
> time. The endpoint is implementation specific, so you could extend the
> storage interface to:
> - provide an example endpoint
> - test a given endpoint
> You use the example endpoint to fill in the UI for when displaying the
> new connection wizard to the user and then you test what the user enters
> to validate the wizard before creating a new connection.
>
> Depending how far you want to go, you might also add some additional
> connection options for storages that might need more than an endpoint
> and a user/password.
>
> Also, if there are more than one storage implementations available, you
> might want to let the user choose, when creating the new connection,
> which one to use.
>
> These are just some ideas of how it can be done. We're always opened to
> proposals :).
>
> Thanks,
> Eduard
>> Best regards
>> Jun Han
>>
>> On 03/24/2011 11:50 AM, Eduard Moraru wrote:
>>> Hi Jun,
>>>
>>> Glad to hear you're interested in XEclipse.
>>>
>>> On 03/24/2011 04:47 PM, Jun Han wrote:
>>>> Dear Thomas and Fabio,
>>>>
>>>> Thanks a lot for your prompt replies and they helped a lot to understand
>>>> the project.
>>>>
>>>> When I took a first thought about how to achieve RESTification, one
>>>> thing popped out of my head is to add an abstract communication layer to
>>>> XEclipse without touching its logic and user interface implementation.
>>>> Considering the fact that XEclipse itself will be under major code
>>>> refactoring in the project of "XEclipse editors improvement" as well,
>>>> adding an abstract layer will make the two projects work in parallel
>>>> without too much conflict.
>>> Given the fact that the two projects don`t really affect one another,
>>> you are pretty much free to experiment.
>>>
>>> Besides that, you will be working on a separate fork of the XEclipse
>>> project (most likely in the sandbox svn directory
>>> http://svn.xwiki.org/svnroot/xwiki/contrib/sandbox/  ) which you will
>>> merge back when you are finished.
>>>>          From Fabio's email, this abstract communication layer is already
>>>> available for XEclipse,
>>> Yes. You can find the interface and the two (local-Filesystem and
>>> remote-XML-RPC) implementations here
>>> http://svn.xwiki.org/svnroot/xwiki/xeclipse/trunk/plugins/org.xwiki.eclipse.core/src/main/java/org/xwiki/eclipse/core/storage/
>>>>      but it is not RESTful yet. Therefore, I will
>>>> take a deeper look at the source code of XEclipse with two questions in
>>>> mind:
>>>> 1. figure out a way to refactor without affecting the logic and UI layer
>>>> of XEclipse
>>> You could start by providing an implementation equivalent to
>>> RemoteXWikiDataStorage.java but which uses REST instead of XML-RPC, then
>>> work your way up by extending the IDataStorage.java interface with new
>>> functionality and provide the equivalent UI.
>>>> 2. provide more support for logic layer, e.g., lazy 
>>>> initialization/retrieval
>>>>
>>>> Best regards
>>>> Jun Han
>>> Feel free to ask if you have any more questions.
>>>
>>> Good luck,
>>> Eduard
>>>> On 03/24/2011 06:33 AM, Fabio Mancinelli wrote:
>>>>> Hi Jun
>>>>>
>>>>> On Wed, Mar 23, 2011 at 6:35 PM, Jun Han<[email protected]>      wrote:
>>>>>> Hi, Everyone,
>>>>>>
>>>>>> I am going to apply for student developer in GSoC 2011 and am interested
>>>>>> in one of proposed XWiki projects, XEclipse "RESTification".
>>>>>>
>>>>> Glad to hear that you are interested in this project.
>>>>> Thomas has already replied to your questions but I will add some bits
>>>>> as one of the mentors of the project.
>>>>>
>>>>>> Currently I am a fourth year Ph.D. student in the department of Computer
>>>>>> Science, University of Georgia, USA. My research focuses on
>>>>>> Simulation/Modelling and Web services, and applies them to facilitate
>>>>>> bioinformatics research.
>>>>>>
>>>>>> My strengths are the following:
>>>>>> (1). 6-year of Java programming experience including both desktop and
>>>>>> web development and able to perform full lifecyle software development.
>>>>>> (2). developed a SOAP Web service management system using Eclipse RCP
>>>>>> and SWT
>>>>>>
>>>>> Very good.
>>>>>
>>>>>> (3). developed REST-ful Web services and integrated SOAP Web services
>>>>>> from other collaborators (in German and Japan) to implement integrated
>>>>>> scientific workflow following Web 2.0 standards
>>>>>>
>>>>> Very good.
>>>>>
>>>>>> After reading through the descriptions of proposed projects, XEclipse
>>>>>> "RESTification" is of great interest to me. This project involves
>>>>>> communication via SOAP and REST-ful Web services and is developed in
>>>>>> Eclipse SWT platform, therefore, I might be a potential match for this
>>>>>> project based on the skill set.
>>>>>>
>>>>>> I have several questions regarding the requirement:
>>>>>> (1) what is target development platform?
>>>>>>          The current XEclipse requires Eclipse Ganymede 3.4 and the most
>>>>>> recent release is Eclipse 3.6 and 3.7. Is there any plan to support them?
>>>>>>
>>>>> The "requires Ganymede" is a leftover... When XEclipse was actively
>>>>> developed the most stable Eclipse version was 3.3 (hence the "require
>>>>> 3.4")
>>>>> I didn't try but I think that XEclipse should run without any problem
>>>>> on 3.7 right now.
>>>>>
>>>>> Anyway the idea is to support the latest version of Eclipse, i.e. 3.7
>>>>>
>>>>>> (2) What is the current status of XWiki communication layer?
>>>>>>          From what I understand, SOAP + XML play a main role in the 
>>>>>> current
>>>>>> system. Now XWiki is turning to REST eventually.
>>>>>>          I read some discussions on Mar 11 2011 about REST API in dev 
>>>>>> mail
>>>>>> list, which mentioned that REST API is not there yet. Does this mean
>>>>>> that the whole REST communication layer is not available yet?
>>>>>>
>>>>> Not quite right.
>>>>>
>>>>> XWiki supports XMLRPC and REST. AFAIK, We don't have any "SOAPy" web 
>>>>> services.
>>>>> I would say that XMLRPC is deprecated because it has several problems
>>>>> and limitations.
>>>>>
>>>>> So the RESTful API is definitely the preferred mechanism for
>>>>> interacting with XWiki in a "machine oriented" way.
>>>>>
>>>>> Thomas already told you where to find information about this API (code
>>>>> https://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-rest/
>>>>> and documentation
>>>>> http://platform.xwiki.org/xwiki/bin/view/Features/XWikiRESTfulAPI)
>>>>>
>>>>>> (3) What extent of RESTification we are going to achieve for XEclipse?
>>>>>>          This is closely related to question (2). If REST API is 
>>>>>> available,
>>>>>> the XEclipse RESTification will only need to construct the REST-ful
>>>>>> request (i.e., @GET /rest/{space}/{page}) and parse result from server.
>>>>>> If not, more work might be involved.
>>>>>>
>>>>> Indeed whay you say is part of the job.
>>>>> However XEclipse has an "abstraction layer" for the communication.
>>>>> This abstraction layer provides interfaces for retrievening and
>>>>> manipulating XWiki objects.
>>>>>
>>>>> Now the main goals of the project is to provide an HTTP-based
>>>>> implementation of this layer so that XEclipse will be able to
>>>>> communicate to with XWiki using REST.
>>>>> This is of course the tip of the iceberg :)
>>>>>
>>>>> Actually while "RESTifying" this we should also refactor where
>>>>> necessary and improve things.
>>>>> For example, one thing that comes to my mind is to enable lazy
>>>>> retrieval everywhere: we don't want to load in the interface thousands
>>>>> of items using a single request!
>>>>>
>>>>> I hope that this answers your questions and if you have more don't
>>>>> hesitate to ask!
>>>>>
>>>>> Cheers,
>>>>> Fabio
>>>>> _______________________________________________
>>>>> devs mailing list
>>>>> [email protected]
>>>>> http://lists.xwiki.org/mailman/listinfo/devs
>>>> _______________________________________________
>>>> devs mailing list
>>>> [email protected]
>>>> http://lists.xwiki.org/mailman/listinfo/devs
>>>>
>>> _______________________________________________
>>> devs mailing list
>>> [email protected]
>>> http://lists.xwiki.org/mailman/listinfo/devs
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to