On Tue, May 4, 2010 at 09:56, Ludovic Dubost <[email protected]> wrote:

>  Le 04/05/10 09:10, Denis Gervalle a écrit :
>
> On Mon, May 3, 2010 at 21:54, Ludovic Dubost <[email protected]> wrote:
>
>>
>> Hi Denis,
>>
>> Thanks for the feedback and testing
>>
>>
>> Le 03/05/10 21:20, Denis Gervalle a écrit :
>>
>>  Hi Ludovic,
>>>
>>> I have made some quick testing of this application in our sandbox, and I
>>> have discovered weird issues in relation with the document history.
>>>
>>> Here is what I have noticed so far:
>>>
>>>  I've seen indeed some issue with the history. I thought it was limited
>> to having to resave the document to fix it.
>>
>
>  Resaving may be not possible due to the exception you may get when you
> save.
>
> There is reset history that allows to fix the page if the history is
> broken  (however that's not enough. we need to find the source of the issue)
>

What do you means by "reset history" ? is it a feature that I am not aware
of ?
Currently, document has discrepancies between what is cached, and what is
stored. This should be the cause of the exception.


>
>
>
>> I will look into it. I had to add some code specially for handling
>> attachments. I suspect that is what is creating the problems
>
>
>  No attachment in my test, just a very small page. The issue is in the way
> you manage archives.
>
> I meant "caused by the code for attachments" not "caused when there is
> attachments"
>
>
>
>>   - Checking out new document from the repository, the document does not
>>> have
>>> an history at all, and the creator of the document is not set
>>>  - Checking out a existing document from the repository (reverting a
>>> change), cause the history of the document to be somewhat inverted, the
>>> current document being 1.1 version and the history containing later
>>> versions... (except when only 1.1 version were existing). The document
>>> also
>>> cause an exception when you try to save some modification to it:
>>>
>>> Detailed information:
>>>     Error number 3201 in 3: Exception while saving document
>>> Main.TestPage2
>>>  Wrapped Exception: Failed to commit or rollback transaction. Root cause
>>> []
>>>  com.xpn.xwiki.XWikiException: Error number 3201 in 3: Exception while
>>> saving document Main.TestPage2
>>>  Wrapped Exception: Failed to commit or rollback transaction. Root cause
>>> []
>>>  at
>>>
>>> com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore.java:638)
>>>  ...
>>>  Wrapped Exception:
>>>  org.hibernate.StaleStateException: Batch update returned unexpected row
>>> count from update [1]; actual row count: 0; expected: 1
>>>
>>> The change is then recorded in the archive and not in the document,
>>> creating
>>> the same "inverted" history situation. I suspect it happen due to
>>> a discrepancy between the cache and the database, since after a restart,
>>> the
>>> 1.1 (current) version is no more in the history.
>>>
>>>  - After a restart, I also got some "C" status, which are not documented,
>>> and I imagine, means conflict. But since this is just a restart that
>>> cause
>>> them, this not expected. Looking at the details, this append on groups,
>>> because of object GUID changes without any other changes, and it may be
>>> unrelated to your application in particular.
>>>
>>  Interesting. How come would GUID change in groups ?
>>
>
>  I do not investigate, just noticed that after a tomcat restart, one GUID
> has changed on all groups.
>
> Maybe the GUID is not set before. This is something to look at.
>

No these were set and change. I have look closely to it, and it seems that
all member object of each group has changed their GUID between my initial
commit of those groups and the tomcat restart.


>
>
>
>> Indeed this does not seem related to the SVN app.
>> Either this is normal and then we could change the comparaison to ignore
>> such GUID changes. However the GUID is important data.
>
>
>  Probably it is not related and would not do that.
>
>    - At an initial attempt to go back to the list after committing and
>>> then
>>> updating a new page, it has shown a status of '?' in place of 'M', but I
>>> have not reproduced that later :(
>>>
>>  The only reason to show ? is that either
>>
>>  there is a change both in SVN and in the Wiki
>>
>
>  Does this means C and not "?" ?
>
> Right C is conflict. ? when there is no status info (except if pages are
> identifical, in this case they are not reported)
>
>
>
>> OR
>>  the status information is not filled in
>
>
>  Agree, and I have get that while the status is available, but I was
> unable to reproduce :(
>
>
>>   - SVN operations also cause the recycle bin to contains deleted
>>> document,
>>> is it intended ?
>>>
>>  This is possible.. I have to check
>>
>>
>>  I also have a question regarding the usage of the status field. Why it is
>>> required to keep this status ? if needed, why coding it in place of
>>> keeping
>>> it with each document (in an xobject) ?
>>>
>>>  I thought about that but did not want the SVN application to have any
>> impact on the wiki you want to commit to SVN
>>
>
>  Well, it would be nice, but it has more than you expect, and the way you
> get rid of the Tag object could also be an issue, due to the bad way object
> are deleted currently in documents.
> Do you really need that status information ?
>
> Yes we could have removed it, but i wanted NO impact on the pages of the
> wiki so that it could be used in shared wikis environments without changing
> the data too much.
> I did not find a way to do without the status that would not mean going
> through the whole history until you find the matching data, and this
> solution would be way to slow.
>

Ok, it is due to the fact that you reset the version to 1.1 before
check-ins. But you cannot really rely on the wiki version since these could
be deleted as well. Keeping the information in the document should helps
there, since deleting versions or moving the document to another wiki would
then keep that information in good shape. Probably you could imagine a
method similar to the classical SVN which has a checkout and an export
feature.

I see a great value in your product to maintain several wiki up to date or
check for discrepancies.

Denis

>
>   On Thu, Apr 22, 2010 at 19:42, Ludovic Dubost<[email protected]>  wrote:
>>>
>>>  Hi,
>>>>
>>>>
>>>> If you are following the xwiki comments, you might have seen that I've
>>>> been
>>>> working on an SVN application for XWiki.
>>>>
>>>> I've published this application here:
>>>> http://code.xwiki.org/xwiki/bin/view/Applications/SVNApplication
>>>>
>>>> The objective of this application is to bring to XWiki Applications more
>>>> professional development practices.
>>>> One of them is the ability to do version management of XWiki
>>>> applications.
>>>> Of course XWiki contains versioning but this versioning does not apply
>>>> accross wikis and makes it difficult to contribute code back to the
>>>> community.
>>>>
>>>> With the SVN application you can now directly contribute code and code
>>>> updates to the XWiki SVN contrib repository or to any other SVN
>>>> repository.
>>>> You can even commit in multiple SVN repositories in the same Wiki.
>>>>
>>>> The SVN Application supports:
>>>>
>>>> 1/ Compare the Wiki (limited to a list of spaces) with the SVN
>>>> repository
>>>> listing
>>>>   - added pages in the wiki
>>>>   - modified pages in the wiki
>>>>   - new pages in SVN
>>>>   - modified pages in SVN
>>>>   - conflicting pages modified in both SVN and the Wiki
>>>> 2/ Commit in the SVN Repository
>>>> 3/ Update from the SVN Repostory
>>>> 4/ Show differences between SVN and the Wiki (in XML)
>>>>
>>>> The SVN Application does not provide merging and conflict resolution.
>>>> The
>>>> SVN Application normalizes XWiki XML allowing the cleanup the XML to not
>>>> have the user, the dates, comments. This is necessary to provide
>>>> concurrent
>>>> development on multiple XWiki server without telling you that the pages
>>>> have
>>>> changed all the time.
>>>>
>>>> The source code is of course in SVN at
>>>> http://svn.xwiki.org/svnroot/xwiki/contrib/sandbox/xwiki-svn/
>>>>
>>>> Ludovic
>>>>
>>>> --
>>>> Ludovic Dubost
>>>> Blog: http://blog.ludovic.org/
>>>> XWiki: http://www.xwiki.com
>>>> Skype: ldubost GTalk: ldubost
>>>>
>>>>
>>>> _______________________________________________
>>>> devs mailing list
>>>> [email protected]
>>>> http://lists.xwiki.org/mailman/listinfo/devs
>>>>
>>>>
>>>>
>>>
>>
>> --
>> Ludovic Dubost
>> Blog: http://blog.ludovic.org/
>> XWiki: http://www.xwiki.com
>> Skype: ldubost GTalk: ldubost
>>
>>
>
>
> --
> Denis Gervalle
> SOFTEC sa - CEO
> eGuilde sarl - CTO
>
>
>
>
> --
> Ludovic Dubost
> Blog: http://blog.ludovic.org/
>
> XWiki: http://www.xwiki.com
> Skype: ldubost GTalk: ldubost
>
>


-- 
Denis Gervalle
SOFTEC sa - CEO
eGuilde sarl - CTO
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to