[xwiki-devs] XEclipse Off-Line

Asiri Rathnayake asiri.rathnayake at gmail.com
Thu Oct 11 08:41:47 CEST 2007


Hi Vincent and All,

On 10/7/07, Asiri Rathnayake <asiri.rathnayake at gmail.com> wrote:
>
> Hi Vincent and all,
>
> A bare-bones version of xeclipse-offline is now available. I would be glad
> if someone can test it a bit :)
>
> Several issues that might be of interest,
>
> 1.  Custom serialization of java objects is used to implement connection
> persistence, all connections
>     are persisted in the plugin state location. I'm not sure how this
> approach compares to eclipse's native
>     persistence mechanism.
>
> 2.    Object hierarchy is persisted in the local file-system as a file
> hierarchy. That is, under the main cache location
>     (plugin state location) each connection has a ".cache" file and a
> directory for caching it's spaces.
>     Under this directory spaces are cached with a ".cache" file for each
> space and another directory for each space to
>     store it's pages. Pages again has a ".cache" file for each. I have
> followed this method to avoid caching the whole
>     object hierarchy into a one big file (which would have to be
> re-written each time a page is changed).
>
> 3.    This scheme can be extended so that the user can specify where to
> cache his data.
>
> 4.    Different icons are used to represent state of pages (cached,
> uncommitted etc.).
>
> 5.    Whole spaces can be grabbed into local store for editing.
>
> 6.    No warnings are given for conflicts, A blind mechanism is used. This
> need to be improved.


I have just modified XEclipse to deliver a warning message and to deny
committing pages which have been expired (overriding others work). The user
can then revert his changes or manually do the changes. This is not a
complete solution but I believe it works for the moment.

Also, I should mention that after this release, XEclipse need to be
refactored and re-designed a bit to accommodate for future changes. Recent
additions and modifications have made the code bit dirty and it will be hard
to maintain it if we do not refactor it now. Once we have a solid design, it
will be easy to extend the product. I think Fabio agrees with me.

Also, I could not find a way to close all active editors when required (for
an example, when the connection is removed). While this is a minor thing, it
can be unpleasant for the user. I wish someone could fix it.

Ok then, I'm going home for a week (at last!). Catch you all later :)

- Asiri

Please let me know if there are any concerns / ideas.
>
> Thanks a lot.
>
> - Asiri
> On 9/11/07, Asiri Rathnayake <asiri.rathnayake at gmail.com> wrote:
> >
> > Hi All,
> >
> > I've undertaken the task of implementing XEclipse off-line and thought I
> > would start a thread with status updates (as told by Vincent).
> >
> > As of today I have implemented caching of documents into local
> > repository. When the user navigates through the document hierarchy, each
> > visited node is stored into the local repository. Also, all edits to
> > documents are saved into local repository as well. To complete XEclipseoff-line, following tasks need to be done,
> >
> > * Add an "off-line" flag to XWikiConnection and divert user actions into
> > local repository when user is working off-line.
> >
> > * Add necessary routines to re-construct the document hierarchy using
> > local repository.
> >
> > * Add a sync function to sync the above created hierarchy with remote
> > server.
> >
> > * Make necessary changes to UI components.
> >
> > As you can see there is lot to be done.
> >
> > Due to my exams I won't be able to work on XEclipse for about 2-3 weeks
> > (till 28th), but I will definitely get on with it after that. A big sorry
> > about the missed dead-line (XEclipse Off-line was promised to deliver on
> > 10th).
> >
> > Thanks.
> >
> > - Asiri
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xwiki.org/pipermail/devs/attachments/20071011/cb9fd8b8/attachment.html 


More information about the devs mailing list