[xwiki-devs] XEclipse Off-Line
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 XEclipse off-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
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. Please let me know if there are any concerns / ideas. Thanks a lot. - Asiri On 9/11/07, Asiri Rathnayake <[email protected]> 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 XEclipse off-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
Hi Asiri, This is great work! Ludovic and I have tried the new version of XEclipse with the offline feature and it works great :) I think we would just need to add a warning if the content has changed on the server while syncing from XEclipse and then we're ready to release (unless it's hard to do and then we could release it now as is for 1.0M2). I guess this could be done by storing the version locally. WDYT? Again, well done, this is turning into an awesome product! I'm really thrilled by what Tharindu and you have achieved. Thanks -Vincent On Oct 7, 2007, at 10:09 AM, Asiri Rathnayake 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.
Please let me know if there are any concerns / ideas.
Thanks a lot.
- Asiri On 9/11/07, Asiri Rathnayake <[email protected]> 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 XEclipse off-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
Yes Asiri, XEclipse rocks ! An engineer at AFP also liked it a lot.. We just need to get XWiki Objects and Comments in it now ! This is great work ! Congrats.. Ludovic Vincent Massol a écrit :
Hi Asiri,
This is great work! Ludovic and I have tried the new version of XEclipse with the offline feature and it works great :)
I think we would just need to add a warning if the content has changed on the server while syncing from XEclipse and then we're ready to release (unless it's hard to do and then we could release it now as is for 1.0M2). I guess this could be done by storing the version locally. WDYT?
Again, well done, this is turning into an awesome product! I'm really thrilled by what Tharindu and you have achieved.
Thanks -Vincent
On Oct 7, 2007, at 10:09 AM, Asiri Rathnayake 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.
Please let me know if there are any concerns / ideas.
Thanks a lot.
- Asiri On 9/11/07, *Asiri Rathnayake* <[email protected] <mailto:[email protected]>> 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 XEclipse off-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
------------------------------------------------------------------------
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Ludovic Dubost Blog: http://www.ludovic.org/blog/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost AIM: nvludo Yahoo: ludovic
Hi Ludovic, On 10/9/07, Ludovic Dubost <[email protected]> wrote:
Yes Asiri,
XEclipse rocks ! An engineer at AFP also liked it a lot.. We just need to get XWiki Objects and Comments in it now !
Yes I Agree. I think Fabio has some expertise on this subject which will be really useful. I'm hoping to work with him to implement this feature. This is great work !
Congrats..
Thanks. - Asiri Ludovic
Vincent Massol a écrit :
Hi Asiri,
This is great work! Ludovic and I have tried the new version of XEclipse with the offline feature and it works great :)
I think we would just need to add a warning if the content has changed on the server while syncing from XEclipse and then we're ready to release (unless it's hard to do and then we could release it now as is for 1.0M2). I guess this could be done by storing the version locally. WDYT?
Again, well done, this is turning into an awesome product! I'm really thrilled by what Tharindu and you have achieved.
Thanks -Vincent
On Oct 7, 2007, at 10:09 AM, Asiri Rathnayake 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.
Please let me know if there are any concerns / ideas.
Thanks a lot.
- Asiri On 9/11/07, *Asiri Rathnayake* <[email protected] <mailto:[email protected]>> 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 XEclipse off-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
------------------------------------------------------------------------
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Ludovic Dubost Blog: http://www.ludovic.org/blog/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost AIM: nvludo Yahoo: ludovic
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On Oct 9, 2007, at 8:38 AM, Asiri Rathnayake wrote:
Hi Ludovic,
On 10/9/07, Ludovic Dubost <[email protected]> wrote: Yes Asiri,
XEclipse rocks ! An engineer at AFP also liked it a lot.. We just need to get XWiki Objects and Comments in it now !
Yes I Agree. I think Fabio has some expertise on this subject which will be really useful. I'm hoping to work with him to implement this feature.
Of course, I am impatient to participate! I tried XEclipse as well, and it's great! I didn't have the chance to look at the new code but we can surely work together to implement this feature and the others. Actually I've packaged a standalone version of XEclipse that can be run as an RCP application and can be exported for all architectures. I might put somewhere the TargetPlatform with all the necessary plugins. This is nice because it shrinks XEclipse in 20Mb :) Cheers, Fabio
On 10/9/07, Fabio Mancinelli <[email protected]> wrote:
On Oct 9, 2007, at 8:38 AM, Asiri Rathnayake wrote:
Hi Ludovic,
On 10/9/07, Ludovic Dubost <[email protected]> wrote: Yes Asiri,
XEclipse rocks ! An engineer at AFP also liked it a lot.. We just need to get XWiki Objects and Comments in it now !
Yes I Agree. I think Fabio has some expertise on this subject which will be really useful. I'm hoping to work with him to implement this feature.
Of course, I am impatient to participate!
I tried XEclipse as well, and it's great! I didn't have the chance to look at the new code but we can surely work together to implement this feature and the others.
Actually I've packaged a standalone version of XEclipse that can be run as an RCP application and can be exported for all architectures. I might put somewhere the TargetPlatform with all the necessary plugins. This is nice because it shrinks XEclipse in 20Mb :)
Great! Ludovic was asking for an standalone version of XEclipse. Thanks. - Asiri Cheers,
Fabio _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi Vincent and All, On 10/7/07, Asiri Rathnayake <[email protected]> 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 <[email protected]> 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
Short message to say I've tried the standalone version (thx Asiri, Tharindu & Fabio :-) and it works simply great! Guillaume On 11/10/2007, Asiri Rathnayake <[email protected]> wrote:
Hi Vincent and All,
On 10/7/07, Asiri Rathnayake <[email protected]> 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 <[email protected]> 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 XEclipse off-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
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On Oct 11, 2007, at 9:32 AM, Guillaume Lerouge wrote:
Short message to say I've tried the standalone version (thx Asiri, Tharindu & Fabio :-) and it works simply great!
Just a few words about the "standalone" version. This is a version that I packaged by using a minimal set of plugins. Since this set of plugins (i.e., the "target platform") is extremely useful for developing (so you don't have to launch the entire IDE every time to test XEclipse) I might eventually put them in the SVN, after understanding where. Actually it could be worth to integrate the build/packaging-against- the-target-platform with maven, but this is a tricky thing to be investigated. Anyway... If you want the standalone version I gave to Guillaume, I might put it for internal use somewhere. Just let me know. Cheers, Fabio
A short message for the same reason : xeclipse rocks ! :) JV. 2007/10/11, Guillaume Lerouge <[email protected]>:
Short message to say I've tried the standalone version (thx Asiri, Tharindu & Fabio :-) and it works simply great!
Guillaume
On 11/10/2007, Asiri Rathnayake <[email protected]> wrote:
Hi Vincent and All,
On 10/7/07, Asiri Rathnayake < [email protected]> 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 <[email protected]> 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 XEclipse off-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
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- http://wikibc.blogspot.com/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
It does rock! I've started trying to use it for real yesterday for managing xwiki.org and I found some usability issues on navigation (I have created jira issues for those), so these are things we should work on in the future to make it even greater. This is the process I use on xwiki.org in my browser and which I'd like to reproduce in XEclipse: * View the Dashboard page to see what pages have been modified * For each modified page, go to the page * View the history and compare the change with the last version to see what was modified * Rollback or delete page (in the case of new pages) if the additions were some crap Right now this is not very easy to do with XEclipse and improve those would be great. Thanks -Vincent On Oct 11, 2007, at 7:55 AM, Jean-Vincent Drean wrote:
A short message for the same reason : xeclipse rocks ! :)
JV.
2007/10/11, Guillaume Lerouge <[email protected]>:
Short message to say I've tried the standalone version (thx Asiri, Tharindu & Fabio :-) and it works simply great!
Guillaume
On 11/10/2007, Asiri Rathnayake <[email protected]> wrote:
Hi Vincent and All,
On 10/7/07, Asiri Rathnayake < [email protected]> 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 <[email protected]> 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 XEclipse off-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
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- http://wikibc.blogspot.com/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi, I'm not quite sure this is the domain XEclipse will bring the most improvements to. Indeed, you can alrady go through this process in an effective manner using your desktop RSS reader in combination with the new RSS feed that includes Diffs. Using it you can scan updated pages almost in real time if your Reader queries article often enough, and check modifications right into it. Then you still have to go to the website to rollback crap changes -> wouldn't the best way to speed this process be to add a "Rollback" button right into the RSS feed that would show up if the account you are retrieving the RSS feed with provides you with appropriate rights? In the case of public feeds, the button could still show up with a warning saying it will open the page in your browser... Or even a simple "go to page history" link available right into the RSS feed so that you can accessthe historyt quickly when needed... About XEclipse, topics such as object edition or (why not?) a potential integration between XEclipse and the future GWT WYSIWYG editor (yet to define for sure) would seem to me more in keeping with XEclipse original aims... WDYT? Guillaume On 11/10/2007, Vincent Massol <[email protected]> wrote:
It does rock!
I've started trying to use it for real yesterday for managing xwiki.org and I found some usability issues on navigation (I have created jira issues for those), so these are things we should work on in the future to make it even greater.
This is the process I use on xwiki.org in my browser and which I'd like to reproduce in XEclipse:
* View the Dashboard page to see what pages have been modified * For each modified page, go to the page * View the history and compare the change with the last version to see what was modified * Rollback or delete page (in the case of new pages) if the additions were some crap
Right now this is not very easy to do with XEclipse and improve those would be great.
Thanks -Vincent
Thanks Asiri, Will try this as soon as I succeed in building XEclipse again (not sure why but I cannot built it right now). Have some nice deserved holidays! Thanks -Vincent On Oct 10, 2007, at 11:41 PM, Asiri Rathnayake wrote:
Hi Vincent and All,
On 10/7/07, Asiri Rathnayake <[email protected]> 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 <[email protected]> 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 XEclipse off-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
participants (6)
-
Asiri Rathnayake -
Fabio Mancinelli -
Guillaume Lerouge -
Jean-Vincent Drean -
Ludovic Dubost -
Vincent Massol