|
[
Permlink
| « Hide
]
Artem Melentev added a comment - 09/Jul/07 14:55
I start to implement solution #2
Attached preview implementation of solution #1. It is not usable now, because don't add new features. Just save/load diffs separately in table xwikircs.
Requires new JRCS 4.1 from www.suigeneris.org/jrcs/ Attached test implementation of solution #2: "testrcs.zip". XWiki-like code environment.
I plan to rewrite this implementation for real xwiki sourcecode. Attached implementation of solution #2.
Major rewrite of versioning system. Fetch diff content by demand. Minor edit feature. I would like to get some feedback before to commit it Attached JRCS-0.4.1-xwiki with major but primitive JRCS-23 bug fix.
It need to be uploaded to our xwiki-externals repository for this issue. Attached
Some bugs fixed, some code refactored. Added api.RevisionInfo for getting information about document version, which used in Tested on hsqldb, mysql, pgsql, derby. Ready to commit. Hi Artem,
Sorry for not being such a good mentor until now, but I also had some stuff to take care of. I'll look at the patch tomorrow. Attached
Added possibility to store full xml version instead of diff. Applied coding style to new files and some modified Attached
+ XWikiPatch class for easy migrate to future XWikiPatch system. (now contain one diff field) + remove versions feature ( some refactors. All major features of new history storage are done, so api & code is quite stable. May I commit this? Hi Artem,
I started looking at the code, and it looks good. Wait just a bit until I take another look when I'm not as asleep. The patch is good, you can commit it.
JRCS 0.4.2 has been uploaded to XWiki' s custom repo.
xwiki need import&export to save old history while update. This should be included in 1.1M4 release notes.
Artem, I noticed a method named "getUpdeteNodeContents". I guess it should be getUpdatedNodeContents()?
Re the import/export this is not going to be easy for all 0.9 users as there was no export at that time. Also, when you have a medium size wiki you cannot use import/exports as there's never enough RAM to hold the whole wiki in memory....
I think we need to offer something different too, maybe a sql script. WDYT? Some superficial comments:
+ // there is no version in doc yet, so 1.1
+ assertEquals("1", this.document.getVersion());
+ // methods for easy table update. because default value == null
+ protected Boolean getMinorEdit1()
+ {
+ return Boolean.valueOf(isMinorEdit);
+ }
+ protected void setMinorEdit1(Boolean isMinor)
+ {
+ isMinorEdit = (isMinor!=null && isMinor.booleanValue());
+ }
This is a big patch... There's a high chance it has broken stuff so we need to do some extra testing before we can release 1.1M4... reopened.
Vincent, thanks for remarks. I will fix it soon. remarks fixed in r4126.
Vincent, native sql script is unsuitable, because xwiki needs parce rcs archive (via XWikiRCSArchive) and store nodes separately. So xwiki-core is needed. How do you see sql script? Some external package that migrate data? I think we need migration system or something inside core and guided via xwiki.cfg for it. I don't know how you want to do it but our 0.9 users need to be able to upgrade to 1.1M4. How do they do it?
Thanks can i unlink
fixed again in r4361.
added migration for easy update old data. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||