Author: tripod
Date: Sat Nov 23 06:50:21 2013
New Revision: 1544748

URL: http://svn.apache.org/r1544748
Log:
OAK-482 Group members stored in a rep:members tree

- rep:memberRefencesList must be OPV=Copy, otherwise the member-versioning 
behavior differs
  based on storage implementation.

- update membership docu

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/resources/org/apache/jackrabbit/oak/plugins/nodetype/write/builtin_nodetypes.cnd
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences_user.md

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/resources/org/apache/jackrabbit/oak/plugins/nodetype/write/builtin_nodetypes.cnd
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/resources/org/apache/jackrabbit/oak/plugins/nodetype/write/builtin_nodetypes.cnd?rev=1544748&r1=1544747&r2=1544748&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/resources/org/apache/jackrabbit/oak/plugins/nodetype/write/builtin_nodetypes.cnd
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/resources/org/apache/jackrabbit/oak/plugins/nodetype/write/builtin_nodetypes.cnd
 Sat Nov 23 06:50:21 2013
@@ -702,7 +702,7 @@
 
 [rep:Group] > rep:Authorizable, rep:MemberReferences
   + rep:members (rep:Members) = rep:Members multiple protected VERSION /* 
@deprecated since oak 1.0 (remove?) */
-  + rep:membersList (rep:MemberReferencesList) = rep:MemberReferencesList 
protected VERSION /* @since oak 1.0 */
+  + rep:membersList (rep:MemberReferencesList) = rep:MemberReferencesList 
protected COPY /* @since oak 1.0 */
 
 [rep:AuthorizableFolder] > nt:hierarchyNode
   + * (rep:Authorizable) = rep:User VERSION

Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences_user.md
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences_user.md?rev=1544748&r1=1544747&r2=1544748&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences_user.md 
(original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences_user.md Sat Nov 
23 06:50:21 2013
@@ -87,24 +87,21 @@ leave nodes carry the actual values in r
 principal name of the member.
 
 ###### Behavior as of OAK 1.0
-**NOTE**: The following section is not valid until [OAK-482] is fixed.
-
 As of Oak the user manager automatically chooses an appropriate storage 
structure
 depending on the number of group members. If the number of members is low they
-are store as _weak references_ in a `rep:members` multi value property. This is
+are stored as _weak references_ in a `rep:members` multi value property. This 
is
 similar to Jackrabbit 2.x. If the number of members is high the user manager
-will create an intermediate node list to reduce the size of the multi value 
properties
-below a `rep:membersList` node.
+will limit the size of the multi value properties and create overflow 
+`rep:MemberReferences` nodes below a `rep:membersList` node to hold the extra 
members.
 
 ###### Relevant new node types
     [rep:Group] > rep:Authorizable, rep:MemberReferences
       + rep:members (rep:Members) = rep:Members multiple protected VERSION /* 
@deprecated */
-      + rep:membersList (rep:MemberReferencesList) = rep:MemberReferencesList 
protected VERSION
+      + rep:membersList (rep:MemberReferencesList) = rep:MemberReferencesList 
protected COPY
     
     [rep:MemberReferences]
       - rep:members (WEAKREFERENCE) protected multiple < 'rep:Authorizable'
-    
-    
+
     [rep:MemberReferencesList]
       + * (rep:MemberReferences) = rep:MemberReferences protected COPY
 
@@ -160,8 +157,7 @@ below a `rep:membersList` node.
 **TODO**
 
 ###### Importing Group Members
-
-**TODO**
+Importing group members through the import methods in `javax.jcr.Session` or 
`javax.jcr.Workspace` is storage agnostic and supports both, property based and 
node based, strategies and is backward compatible to content exported from 
Jackrabbit 2.x. The group member lists that are modified during an import are 
internally processed using the normal user manager APIs. This implies that the 
node structure after the import might not be the same as the one represented in 
the input.
 
 #### 2. Builtin Users
 The setup of builtin user and group accounts is triggered by the configured 
`WorkspaceInitializer` associated with the user management configuration (see 
Configuration section below). 


Reply via email to