Hi Jun,

sorry for the "radio-silence"... though Eduard did a great Job
answering your questions (thanks Edy :))
Very very good job so far!

I'll send you some more detailed comments asap.

Keep up the good work!

-Fabio

On Wed, Jul 6, 2011 at 5:47 AM, Jun Han <[email protected]> wrote:
> Dear all,
>
> I uploaded a short demo video in youtube to show the current status of
> XEclipse.
> The URL is http://youtu.be/TwuNjg1XoUs
>
> Now the navigation panel is finished including data connection, and it
> looks like:
>
> data connection
>  |- wiki
>       |- space
>            |- page,
>                 |-- attachment
>                 |-- comment
>                 |-- annotation
>                 |-- tag
>                 |-- page class
>
> I will continue working on:
> (1) re-factor xmlrpc backend
> (2) modify the local storage API and apply a flat structure for the
> local cached objects.
>
> Best regards
>
> Jun Han
>
> On 06/23/2011 05:55 AM, Eduard Moraru wrote:
>> Hi Jun,
>>
>> On Thu, Jun 23, 2011 at 12:14 AM, Jun Han<[email protected]>  wrote:
>>
>>> Hi Eduard,
>>>
>>> I think I understand what you and Fabio discussed regarding the model
>>> package.
>>> My current implementation looks like the following:
>>>                AbstractXWikiEclipsePage
>>>                      /          \
>>>             RestPage     XmlrpcPage
>>> where RestPage wraps jaxb.model.Page and XmlrpcPage wraps
>>> xmlrpc.model.Page.
>>> This introduces 3 model packages, which is not appropriate.
>>>
>>> The suggestion from Fabio and you is to remove the redundancy and
>>> various DataManager implementation will take care the model details.
>> It's not the DataManager implementations that need to take care of that.
>> DataManager is a final class in the org.xwiki.eclipse.storage plugin that
>> uses remote or local data storages.
>>
>> Each storage plugin implements RemoteXWikiDataStorage, accepts and outputs
>> org.xwiki.eclipse.model entities.
>>
>>> For
>>> example, it
>> it = RestRemoteXWikiDataStorag or XmlRpcRemoteXWikiDataStorage
>>
>> Thanks,
>> Eduard
>>
>>> would manipulate either jaxb.model.Page or xmlrpc.model.Page
>>> and returns the XWikiEclipsePage instance.
>>>
>> I am on the way of re-factoring the code.
>>> Best regards
>>>
>>> Jun Han
>>>
>>> On 06/22/2011 07:22 AM, Eduard Moraru wrote:
>>>> Hi Jun,
>>>>
>>>> I`m pinging you since I don`t know if you were following the little
>>>> discussion on
>>>>
>>> https://github.com/junhan/xwiki-eclipse/commit/2e5601eacba85c48b8ae6e6edf70b18fb3715f0d#commitcomment-440786
>>>> based on Fabio's suggestions.
>>>>
>>>> Out of all the aspects, I think this is the one you should focus on now
>>>> and finish the refactoring so you can proceed with the REST specifics.
>>>>
>>>> Cheers,
>>>> Eduard
>>>>
>>>> On 06/20/2011 08:10 PM, Fabio Mancinelli wrote:
>>>>> Hi Jun,
>>>>>
>>>>> I did a code review in your branch.
>>>>> I've written a lot of notes in the commits (you should have received
>>>>> several mail for that :))
>>>>>
>>>>> Please take a look.
>>>>>
>>>>> 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
>>>>>> _______________________________________________
>>>>>> 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
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to