This leads to a general question: do we want to continue supporting XMLRPC in 
XWiki, in the platform (now that we have good REST support) or should we drop 
it and move it as a contrib/retired module?
(once we've migrated all our modules to use REST of course. I can think ok 
xeclipse and some functional tests).

Thanks
-Vincent

On Jun 20, 2011, at 10:57 AM, Thomas Mortagne wrote:

> On Mon, Jun 20, 2011 at 10:48, Vincent Massol <[email protected]> wrote:
>> Hi Fabio/Jun,
>> 
>> On Jun 20, 2011, at 10:44 AM, Fabio Mancinelli wrote:
>> 
>>> Hi Jun,
>>> 
>>> thanks, for the update.
>>> 
>>> I agree with Vincent... The backend should not be an explicit choice
>>> made for each connection. REST should be the default and if you need
>>> XMLRPC (for example for connecting to a veeeery old XWiki instance)
>>> you might have an advanced button that allows you to do this or, as
>>> you suggested, the URI might suggest the backend to use.
>> 
>> We've been supporting REST for a very long time now. My opinion is to drop 
>> XMLRPC support altogether in the next release of XEclipse.
> 
> Isn't XMLRPC support used to mean Confluence support ? I really don't
> care about Confluence support if you ask me, just making sure we are
> taking everything into account.
> 
>> 
>> Thanks
>> -Vincent
>> 
>>> You should progress on the REST aspects asap though.
>>> 
>>> Thanks,
>>> Fabio
>>> 
>>> On Sun, Jun 19, 2011 at 4:57 PM, Jun Han <[email protected]> wrote:
>>>> Hi Vincent,
>>>> 
>>>> Thanks a lot for your suggestion.
>>>> 
>>>> IMHO, xmlrpc is included for the purpose of back-ward compatibility.
>>>> As REST API was first introduced in version 1.8 from xwiki jira,
>>>> xmlrpc might be useful If the xwiki server only supports xmlrpc (e.g.,
>>>> v1.4 or v1.5).
>>>> 
>>>> I agree that technical details should not be exposed to end user.
>>>> 
>>>> The backend implementation may be determined via analyzing user input of
>>>> server endpoint. For example, if the serverurl contains "confluence"
>>>> (http://localhost:8080/xwiki/xmlrpc/confluence), then xmlrpc is used. If
>>>> it contains "rest" (e.g., http://localhost:8080/xwiki/rest), then rest
>>>> is used.
>>>> 
>>>> However, the current implementation will populate the specific server
>>>> url field according to the backend type (xmlrpc or rest).
>>>> There may be some better way to do this.
>>>> 
>>>> Best regards
>>>> 
>>>> Jun Han
>>>> 
>>>> On 06/19/2011 03:40 AM, Vincent Massol wrote:
>>>>> Hi there,
>>>>> 
>>>>> I haven't followed this thread but just noticing this: why do we want to 
>>>>> expose to users something purely technical (ie the backend 
>>>>> implementation)?
>>>>> Also why do we want to have to maintain several backends?
>>>>> 
>>>>> IMO we should only use one and use the REST API only.
>>>>> 
>>>>> If it's only about migration from the current XMLRPC to REST, it should 
>>>>> be a "hidden" config param not exposed to users and that we use 
>>>>> internally only IMO.
>>>>> 
>>>>> The goal should always be to make it as easy as possible for end users, 
>>>>> i.e. they shouldn't have to think when using XEclipse.
>>>>> 
>>>>> Thanks
>>>>> -Vincent
>>>>> 
>>>>> On Jun 19, 2011, at 6:52 AM, Jun Han wrote:
>>>>> 
>>>>>> Hi Fabio,
>>>>>> 
>>>>>> I have already finished re-factoring the whole xmlrpc backend.
>>>>>> 
>>>>>> A new combo list is added to the "new connection" wizard to provide two
>>>>>> choices (xmlrpc and rest), as shown in
>>>>>> http://dl.dropbox.com/u/3466762/xwiki/newConnectionWizard.png.
>>>>>> 
>>>>>> When user selects "xmlrpc", the xmlrpc implementation is used. The
>>>>>> navigation panel can show the xwiki resources, as shown in
>>>>>> http://dl.dropbox.com/u/3466762/xwiki/xmlrpcBackend.png.
>>>>>> 
>>>>>> I will continue working on the rest backend following the previous
>>>>>> discussion.
>>>>>> 
>>>>>> Best regards
>>>>>> 
>>>>>> Jun Han
>>>>>> 
>>>>>> On 06/17/2011 09:24 AM, Fabio Mancinelli wrote:
>>>>>>> Hi Jun,
>>>>>>> 
>>>>>>> could you post a status about your work?
>>>>>>> Your commits stream
>>>>>>> (https://github.com/junhan/xwiki-eclipse/commits/master) is not very
>>>>>>> informative (are you holding commits locally? If so you should push
>>>>>>> more frequently!)
>>>>>>> 
>>>>>>> Midterm is approaching so we need to make things advance a little bit 
>>>>>>> faster.
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Fabio
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On Mon, Jun 13, 2011 at 9:00 AM, Jun Han<[email protected]>   wrote:
>>>>>>>> Dear all,
>>>>>>>> 
>>>>>>>> After I looked into the current implementation of XEclipse and tried
>>>>>>>> several attempts, one plan, whose goal is to provide an abstract
>>>>>>>> communication layer between XEclipse and server, might be feasible.
>>>>>>>> A rough system diagram showing the relationships of plugins of XWiki
>>>>>>>> Eclipse is available at:
>>>>>>>> http://dl.dropbox.com/u/3466762/xwiki/architecture.png
>>>>>>>> 
>>>>>>>> In order to remove dependency of particular back-end implementation
>>>>>>>> (xmlrpc or rest),
>>>>>>>> an abstract layer, which includes two plugins (model and storage) will
>>>>>>>> be created.
>>>>>>>> 1. model plugin contains the current package of 
>>>>>>>> xwiki.eclipse.core.model
>>>>>>>> 2. storage plugin contains xwiki.eclipse.core.storage including two
>>>>>>>> abstract classes, AbstractLocalDataStorage and 
>>>>>>>> AbstractRemoteDataStorage.
>>>>>>>> 
>>>>>>>> In this way, all the core implementation and UI components (dialogs,
>>>>>>>> properties dialog, adapters) in ui plugin will now depend on the model
>>>>>>>> and storage plugins rather than the xmlrpc implementation.
>>>>>>>> 
>>>>>>>> Instead of only providing the required jar files, xmlrpc and rest
>>>>>>>> plugins will also do the following:
>>>>>>>> 1. extend the AbstractLocalDataStorage and AbstractRemoteDataStorage in
>>>>>>>> storage plugin
>>>>>>>> 2. extend the model classes in model plugin
>>>>>>>> 
>>>>>>>> In this way, all the abstract classes in model and storage plugins will
>>>>>>>> be initialized in the run time and perform the specified functions.
>>>>>>>> 
>>>>>>>> If my understanding is correct, I will begin re-factoring work.
>>>>>>>> 
>>>>>>>> Best regards
>>>>>>>> 
>>>>>>>> Jun Han
>>>>>>>> 
>>>>>>>> On 6/11/2011 10:32 AM, Eduard Moraru wrote:
>>>>>>>>> Hi Jun,
>>>>>>>>> 
>>>>>>>>> Instead of returning Object, you should return
>>>>>>>>> org.xwiki.eclipse.core.model.Page or Object, etc.
>>>>>>>>> 
>>>>>>>>> So the storage abstraction needs to include and abstract model as 
>>>>>>>>> well in
>>>>>>>>> order to be usable. This means that the implementation also comes 
>>>>>>>>> with a
>>>>>>>>> model implementation (xmlrpc.model.PageSummary for xmlrpc back-end,
>>>>>>>>> rest.jaxb.model.Page for rest back-end, etc.... all of them 
>>>>>>>>> implementing
>>>>>>>>> org.xwiki.eclipse.core.model.Page)
>>>>>>>>> 
>>>>>>>>> Cheers,
>>>>>>>>> Eduard
>>>>>>>>> 
>>>>>>>>> On Fri, Jun 10, 2011 at 7:52 PM, Jun Han<[email protected]>     
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> Hi Eduard,
>>>>>>>>>> 
>>>>>>>>>> Thanks a lot for prompt instruction.
>>>>>>>>>> 
>>>>>>>>>> I forgot to sync the screenshot to the server. Now it is the correct 
>>>>>>>>>> one.
>>>>>>>>>> 
>>>>>>>>>> Regarding the pluggable solution for both xml-rpc and rest, I will 
>>>>>>>>>> try
>>>>>>>>>> to devise a common storage API for both of them.
>>>>>>>>>> 
>>>>>>>>>> For example,
>>>>>>>>>> public Object getPage(String pageId)
>>>>>>>>>> public List<Object>     getPages(String spaceKey)
>>>>>>>>>> 
>>>>>>>>>> They will return
>>>>>>>>>> 1. xmlrpc.model.PageSummary if connecting via xmlrpc or
>>>>>>>>>> 2. rest.jaxb.model.Page if connecting via rest.
>>>>>>>>>> 
>>>>>>>>>> If this is the way to go, I will look more into how to implement 
>>>>>>>>>> this.
>>>>>>>>>> Adapter pattern may be used.
>>>>>>>>>> 
>>>>>>>>>> Best regards
>>>>>>>>>> 
>>>>>>>>>> Jun Han
>>>>>>>>>> 
>>>>>>>>>> On 06/10/2011 12:08 PM, Eduard Moraru wrote:
>>>>>>>>>>> Hi Jun,
>>>>>>>>>>> 
>>>>>>>>>>> On 06/10/2011 05:26 PM, Jun Han wrote:
>>>>>>>>>>>> Hi, Eduard and Fabio,
>>>>>>>>>>>> 
>>>>>>>>>>>> I finished part of the navigation panel, which shows the 
>>>>>>>>>>>> connection,
>>>>>>>>>>>> wiki, space.
>>>>>>>>>>>> Please see the screenshot at
>>>>>>>>>>>> http://dl.dropbox.com/u/3466762/xwiki/Screenshot-navigationPanel.png
>>>>>>>>>>> I think you pasted the wrong screenshot. We`ve already seen this 
>>>>>>>>>>> one and
>>>>>>>>>>> I think it's from an early stage of development.
>>>>>>>>>>>> Adding pages under space is straightforward too, however, it 
>>>>>>>>>>>> requires
>>>>>>>>>>>> re-factor a lot of source code, which spreads in the plugin of
>>>>>>>>>>>> xwiki.eclipse.ui and xwiki.eclipse.core.
>>>>>>>>>>>> 
>>>>>>>>>>>> I will continue work on displaying more XWiki resources after I 
>>>>>>>>>>>> finish
>>>>>>>>>>>> re-factoring the properties editor, action provider (context 
>>>>>>>>>>>> menu), and
>>>>>>>>>>>> other dialog windows related to connection, wiki, space.
>>>>>>>>>>> It should not take that much of a refactoring on the UI part, since 
>>>>>>>>>>> the
>>>>>>>>>>> heavy lifting is done in the core.
>>>>>>>>>>> 
>>>>>>>>>>> What I actually wanted to tell you is that you should take the
>>>>>>>>>>> refactoring in a modular direction and consider your work as a
>>>>>>>>>>> contribution and alternative for the existing system and not only 
>>>>>>>>>>> as a
>>>>>>>>>>> replacement. I you can`t do it as a contribution, consider adding a
>>>>>>>>>>> mechanism that allows you to do so (see our first discussions on
>>>>>>>>>>> integrating the rest back-end). Keep the abstraction layer 
>>>>>>>>>>> (interfaces,
>>>>>>>>>>> model, etc) as the main think the ui and even core components
>>>>>>>>>>> communicate with and keep the implementation of that abstraction 
>>>>>>>>>>> layer
>>>>>>>>>>> pluggable (xml-rpc, rest, etc). The UI must also be aware of this 
>>>>>>>>>>> and
>>>>>>>>>>> act accordingly.
>>>>>>>>>>> 
>>>>>>>>>>> We don`t want to do the same replacement work if, for whatever 
>>>>>>>>>>> reason,
>>>>>>>>>>> we want to switch to a different back-end in the future. So keep 
>>>>>>>>>>> that in
>>>>>>>>>>> mind at all time during GSoC.
>>>>>>>>>>> 
>>>>>>>>>>> Besides that, keep up the good work ;)
>>>>>>>>>>> 
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Eduard
>>>>>>>>>>>> Best regards
>>>>>>>>>>>> Jun Han
>>>>>>>>>>>> 
>>>>>>>>>>>> On 06/09/2011 07:26 PM, Eduard Moraru wrote:
>>>>>>>>>>>>> Hi Jun,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On 06/09/2011 11:14 AM, Fabio Mancinelli wrote:
>>>>>>>>>>>>>> Hi Jun,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> I am not sure that syntaxes should appear as a child of 
>>>>>>>>>>>>>> connection. I
>>>>>>>>>>>>>> would show this information in the property panel of the 
>>>>>>>>>>>>>> connection.
>>>>>>>>>>>>> I think that you should make the "wikis" implicit as well and 
>>>>>>>>>>>>> leave
>>>>>>>>>> only
>>>>>>>>>>>>> the Connection Name as top root, just like in my previous 
>>>>>>>>>>>>> proposal:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Connection01
>>>>>>>>>>>>> - wiki1
>>>>>>>>>>>>> -- spaceA
>>>>>>>>>>>>> --- pageX
>>>>>>>>>>>>> - wiki2
>>>>>>>>>>>>> - etc.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> As Fabio pointed out, stuff like supported syntaxes and xwiki 
>>>>>>>>>>>>> version
>>>>>>>>>>>>> should be displayed in the properties page of a connection.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Also, you need to take care when the user enters the user name and
>>>>>>>>>>>>> password and consider the wiki for which it applies. User Admin 
>>>>>>>>>>>>> on the
>>>>>>>>>>>>> main wiki (xwiki:XWiki.Admin) is not the same as user Admin on 
>>>>>>>>>>>>> subwiki1
>>>>>>>>>>>>> (subwiki1:XWiki.Admin).
>>>>>>>>>>>>> I believe that, if you don`t enter the absolute user name
>>>>>>>>>>>>> (xwiki:XWiki.Admin) and you enter only the relative name (Admin), 
>>>>>>>>>>>>> it
>>>>>>>>>>>>> will be resolved to the wiki of the resource you are trying to 
>>>>>>>>>>>>> access.
>>>>>>>>>>>>> You should, at least internally, always use absolute user names.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> Eduard
>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>> Fabio
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Wed, Jun 8, 2011 at 10:26 PM, Jun Han<[email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Hi Eduard and Fabio,
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Thanks a lot for your suggestions.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I managed to create a top-level tree expansion when user 
>>>>>>>>>>>>>>> requests the
>>>>>>>>>>>>>>> entry point of REST API: localhost:8080/xwiki/rest.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> A screenshot is available at:
>>>>>>>>>>>>>>> http://dl.dropbox.com/u/3466762/xwiki/Screenshot-navigationPanel.png
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Now the labels display the whole<href>         attribute, I 
>>>>>>>>>>>>>>> plan to
>>>>>>>>>> "syntaxes"
>>>>>>>>>>>>>>> and "wikis" later on.
>>>>>>>>>>>>>>> When user clicks the "wikis", the navigation tree will continue 
>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>> expand to show all the sub-wiki names.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> It took me a while to figure out the configuration of tree 
>>>>>>>>>>>>>>> content
>>>>>>>>>>>>>>> provider, tree viewer and label provider, which is a little 
>>>>>>>>>>>>>>> different
>>>>>>>>>>>>>>> with what I did in Eclipse SWT development. As this has been 
>>>>>>>>>>>>>>> sorted
>>>>>>>>>> out,
>>>>>>>>>>>>>>> I would pick up the pace.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>>>> Jun Han
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> On 06/07/2011 10:37 AM, Eduard Moraru wrote:
>>>>>>>>>>>>>>>> Hi Jun,
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> On 06/07/2011 02:05 PM, Fabio Mancinelli wrote:
>>>>>>>>>>>>>>>>> Hi Jun,
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> the REST api also takes into account Wikis, so you should 
>>>>>>>>>>>>>>>>> take into
>>>>>>>>>>>>>>>>> account this into the plugin.
>>>>>>>>>>>>>>>> Also, I think that we need to display the other resources 
>>>>>>>>>>>>>>>> (like we
>>>>>>>>>> do
>>>>>>>>>>>>>>>> now), but maybe we should improve that too.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> I`d suggest that we group objects by class name, something 
>>>>>>>>>>>>>>>> like:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> xwiki.org       (wiki/farm/connection name, given by the user)
>>>>>>>>>>>>>>>> -- xwiki          (main/sub wiki name)
>>>>>>>>>>>>>>>> ---- Main
>>>>>>>>>>>>>>>> ------ WebHome
>>>>>>>>>>>>>>>> -------- XWiki.XWikiComments
>>>>>>>>>>>>>>>> ---------- 0
>>>>>>>>>>>>>>>> ---------- 1
>>>>>>>>>>>>>>>> ---------- 2
>>>>>>>>>>>>>>>> -------- XWiki.MyClass
>>>>>>>>>>>>>>>> ---------- 0
>>>>>>>>>>>>>>>> ---------- 1
>>>>>>>>>>>>>>>> etc.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 0, 1, 2 above are object numbers, but, in the future, they 
>>>>>>>>>>>>>>>> might
>>>>>>>>>> change
>>>>>>>>>>>>>>>> to some other IDs.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> The advantage of such an ordering is that, highly used pages 
>>>>>>>>>>>>>>>> (that
>>>>>>>>>> have
>>>>>>>>>>>>>>>> lots of comments, or lots of objects of specific classes) will 
>>>>>>>>>>>>>>>> allow
>>>>>>>>>>>>>>>> easier management of the objects.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> If a list of numbers looks too blank, you could have them 
>>>>>>>>>>>>>>>> print the
>>>>>>>>>>>>>>>> value of the first property it their class, just like XWiki`s 
>>>>>>>>>>>>>>>> object
>>>>>>>>>>>>>>>> editor does and you`d have something like:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> -------- XWiki.XWikiComments
>>>>>>>>>>>>>>>> ---------- 0 : Administrator         ('author' property value)
>>>>>>>>>>>>>>>> ---------- 1 : Guest
>>>>>>>>>>>>>>>> ---------- 2 : Administrator
>>>>>>>>>>>>>>>> -------- XWiki.MyClass
>>>>>>>>>>>>>>>> ---------- 0 : etc.
>>>>>>>>>>>>>>>> ---------- 1 : etc.
>>>>>>>>>>>>>>>> etc.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> I don`t know what's the status of Attachments (I don remember 
>>>>>>>>>>>>>>>> if we
>>>>>>>>>>>>>>>> display them or not), but we should have them as an 'implicit' 
>>>>>>>>>>>>>>>> first
>>>>>>>>>>>>>>>> class like:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> ------ WebHome
>>>>>>>>>>>>>>>> -------- Attachments
>>>>>>>>>>>>>>>> ---------- dog.png
>>>>>>>>>>>>>>>> ---------- spreadsheet.xls
>>>>>>>>>>>>>>>> -------- XWiki.XWikiComments
>>>>>>>>>>>>>>>> ---------- 0 : Administrator         ('author' property value)
>>>>>>>>>>>>>>>> ---------- 1 : Guest
>>>>>>>>>>>>>>>> ---------- 2 : Administrator
>>>>>>>>>>>>>>>> -------- XWiki.MyClass
>>>>>>>>>>>>>>>> ---------- 0 : etc.
>>>>>>>>>>>>>>>> ---------- 1 : etc.
>>>>>>>>>>>>>>>> etc.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Anyway, the main idea is to expose as much as REST API allows. 
>>>>>>>>>>>>>>>> Check
>>>>>>>>>>>>>>>> again the API specs.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> You can get creative with the details on how to display/handle 
>>>>>>>>>>>>>>>> the
>>>>>>>>>> new
>>>>>>>>>>>>>>>> stuff. :)
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>>> Eduard
>>>>>>>>>>>>>>>>> -Fabio
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> On Tue, Jun 7, 2011 at 7:35 AM, Jun Han<[email protected]>
>>>>>>>>>>    wrote:
>>>>>>>>>>>>>>>>>> Hi Fabio,
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> I have finished replacing xmlrpc implementation of login
>>>>>>>>>> functionality
>>>>>>>>>>>>>>>>>> by sending http GET request to entry point
>>>>>>>>>>>>>>>>>> (http://localhost:8080/xwiki/rest/) along with 
>>>>>>>>>>>>>>>>>> username/password.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> A status code of 200 will be regarded as successful while 401
>>>>>>>>>> means
>>>>>>>>>>>>>>>>>> login fails.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> The source code have been updated in org.xwiki.eclipse.ui and
>>>>>>>>>>>>>>>>>> org.xwiki.eclipse.core plugins.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> I will begin working on xwiki navigatoin panel and replace 
>>>>>>>>>>>>>>>>>> xmlrpc
>>>>>>>>>> code
>>>>>>>>>>>>>>>>>> accordingly.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> One question is what resources are to be included in 
>>>>>>>>>>>>>>>>>> navigation
>>>>>>>>>> panel,
>>>>>>>>>>>>>>>>>> besides xwiki ->            space ->            pages? and 
>>>>>>>>>>>>>>>>>> how to display
>>>>>>>>>> them?
>>>>>>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Jun Han
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> On 06/05/2011 05:50 PM, Fabio Mancinelli wrote:
>>>>>>>>>>>>>>>>>>> Hi Jun,
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> login/logout can be implemented in order to store on the 
>>>>>>>>>>>>>>>>>>> client
>>>>>>>>>> side
>>>>>>>>>>>>>>>>>>> user credentials that are sent with HTTP requests.
>>>>>>>>>>>>>>>>>>> Currently there is no way in the REST-api to get a "session
>>>>>>>>>> token"
>>>>>>>>>>>>>>>>>>> (like the cookie sent after a login is made using the web 
>>>>>>>>>>>>>>>>>>> form)
>>>>>>>>>> so
>>>>>>>>>>>>>>>>>>> that subsequent requests are performed on the behalf of a
>>>>>>>>>> previously
>>>>>>>>>>>>>>>>>>> authenticated user.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> So what is usually done is to send basic-auth credentials 
>>>>>>>>>>>>>>>>>>> with
>>>>>>>>>> each request.
>>>>>>>>>>>>>>>>>>> You can start with this. Next you might try to retrieve the
>>>>>>>>>> cookie by
>>>>>>>>>>>>>>>>>>> faking a standard login and using that cookie in subsequent
>>>>>>>>>> requests.
>>>>>>>>>>>>>>>>>>> The ideal setting would be to implement server side some
>>>>>>>>>> OAuth-like
>>>>>>>>>>>>>>>>>>> mechanism, but this is out of scope wrt your project.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> -Fabio
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> On Sat, Jun 4, 2011 at 6:27 PM, Jun Han<[email protected]>
>>>>>>>>>>        wrote:
>>>>>>>>>>>>>>>>>>>> Dear all,
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> I am on the way of replacing the xmlrpc implementation of
>>>>>>>>>>>>>>>>>>>>                RemoteXWikiDataStorage implements 
>>>>>>>>>>>>>>>>>>>> IDataStorage {}.
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> One question is about how to implement login and logout
>>>>>>>>>> functionality
>>>>>>>>>>>>>>>>>>>> via REST API.
>>>>>>>>>>>>>>>>>>>>           From REST API document, users can be 
>>>>>>>>>>>>>>>>>>>> authenticated via
>>>>>>>>>> something like:
>>>>>>>>>>>>>>>>>>>> 1. XWiki session
>>>>>>>>>>>>>>>>>>>> 2. HTTP Basic Auth.
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> HTTP basic auth can be implemented via adding HTTP header 
>>>>>>>>>>>>>>>>>>>> to the
>>>>>>>>>> HTTP
>>>>>>>>>>>>>>>>>>>> request, then XEclipse can display Xwiki Resources by 
>>>>>>>>>>>>>>>>>>>> parsing
>>>>>>>>>> the response.
>>>>>>>>>>>>>>>>>>>> Therefore, do we need to implement login and logout 
>>>>>>>>>>>>>>>>>>>> methods?
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>>>>>>>>> Jun Han
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to