Hi Piotr,

On 11/18/2010 04:17 PM, Piotr Dziubecki wrote:
> Hi Vincent,
>
> W dniu 10-11-17 14:28, Vincent Massol wrote:
>> Hi Piotr,
>>
>> On Nov 16, 2010, at 4:19 PM, Piotr Dziubecki wrote:
>>
>>> Dear all,
>>>
>>> I've started similar topic on xwiki-users list, but it got to the stage I 
>>> would like to continue with you
>>> and your opinions.
>>>
>>> What I'd like to achieve are section locks. Just a brief context:
>>>
>>> Currently users can do concurrent editing but it's somewhat simplified and 
>>> could lead to data loss. The
>>> lacking part of that process is well described in this old jira issue 
>>> pointed out by Sergiu:
>>>
>>> http://jira.xwiki.org/jira/browse/XWIKI-175
>>>
>>> That would need to create procedure checking whether something has changed 
>>> since user opened a document to
>>> edit and if so get him to merge screen. Now it's just saving latest data 
>>> over the previous changes.
>>>
>>> That should be done, but what would help right away to limit such errors is 
>>> to add more granularity to the
>>> document locks. Now when user edits a section within a page other users see 
>>> the message
>>>
>>> "This object is currently locked by.."
>>>
>>> which is confusing for them because they might want to edit different 
>>> section simultaneously and then there
>>> is no conflict at all.
>>>
>>> I would like to get your advices how that could be achieved, Sergiu 
>>> answered to my question in the following
>>> way:
>>>
>>>> Could you tell whether the sections are introduced only for the 
>>>> presentation layer, to facilitate editing
>>> or they are also mapped to the application's model ?
>>>
>>> Somewhere in between. The whole content is stored in one piece, but
>>> there are some APIs to access sections.
>>>
>>> Here you have the original thread:
>>> http://lists.xwiki.org/pipermail/users/2010-November/022404.html
>>>
>>> Could someone elaborate a little bit more on this topic ?
>>
>> Not sure what you're looking for exactly.
>>
>> Let me summarize what I think the status is on this:
>> - everyone here is ok that have section level locks
>> - in the farther future we'd like better locking solution like no conflict 
>> (which was researched in Concerto and continues now in Wiki 3.0's research 
>> project)
>> - if you provide a patch it can be committed, provided it includes automated 
>> tests and follows xwiki's project coding conventions (if it doesn't it can 
>> still be considered for inclusion but it may take longer since a committer 
>> would need to adapt the patch first before committing it). See also 
>> http://dev.xwiki.org/xwiki/bin/view/Community/Contributing
>
> Basically, I'd like get some advice from you where to start from. I know I 
> can search the sources, I did
> that, but it seems that it's quite a big project and have some problems with 
> that. Now I'm reading XWiki doc
> and hoping to get more clues.
>

> But to get to the point, could you tell me what projects should I download 
> and changing ( XWiki Platform -
> only the core or also XWiki Enterprise ).

XWiki Enterprise is mainly a package around XWiki Platform so all the 
Java code (except the functional tests) is in 
http://svn.xwiki.org/svnroot/xwiki/platform/ . You don't have to 
checkout XE: you can take the latest snapshot from 
http://maven.xwiki.org/snapshots/org/xwiki/enterprise/xwiki-enterprise-jetty-hsqldb/
 
and just replace the jars from WEB-INF/lib with your modified ones.

> I knot that there are methods like 'getLocked()' available for the
> scripting but I couldn't find their origin in the business logic.

You should checkout 
http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-core/ . The 
scripting API (except $services.*) is in 
http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/api/

> I'd be grateful for pointing to the
> document lock sources, I think it will be a good starting point to me.

doc.XWikiDocument#setLock() maybe.

>
> How do you think, should I pick one of the tags from the svn repository or 
> try to work with the svn trunk
> branch ?

Trunk is better because it's easier to integrate your patches.

Hope this helps,
Marius

>
> I'm sorry to bug you about that but unfortunately I cannot devote all of my 
> time on that problem and would
> like to speed up things a little bit.
>
> Thank you in advance,
> Piotr
>>
>> Let us know if you need more details.
>>
>> Thanks
>> -Vincent
>>
>> _______________________________________________
>> 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