[commits] [Wiki] changed: HordeGroupAPI

Ben Klang ben at alkaloid.net
Tue Jan 25 01:39:05 UTC 2011


bklang  Mon, 24 Jan 2011 20:39:05 -0500

Modified page: http://wiki.horde.org/HordeGroupAPI
New Revision:  1.8
Change log:  Flatten Groups?

@@ -14,8 +14,30 @@

  For Horde4, we will move away from the object-oriented method of  
managing groups in favor of a Horde_Groups class which will act as a  
group manager.  This should alleviate some of the confusion between  
the different drivers, and eliminate some of the OO overhead.

  Also for Horde4, the way we handle saving groups to the backend will  
change.  Instead of keeping track of the changes and committing them  
to storage when updateGroup() is called, all changes should be stored  
on the fly.  There is a bit of a performance hit for this, but it  
simplifies the API, and group modifications are rare enough and  
deliberate enough that this should not be an issue.
+
+++ Open Questions
+
++++ Flatten Group Structure?
+
+Today the Group subsystem allows for nested groups like this:
+
+
+  !ParentA
+   -> Child1
+   -> Child2
+  !ParentB
+   -> Child3
+   -> Child4
+
+This structure can be seen in Horde's administration screens.
+
+However what is not clear is how those groups relate.  This brings up  
difficult-to-answer questions like:
+* Is a member of the group Child1 automatically a member of ParentA?
+* If permissions are granted to ParentA, do they automatically apply  
to Child1 and Child2?
+
+If you answer "yes" to both questions above then an Administrator  
does not have a convenient way to view all of the group memberships or  
security settings in effect for a given user.  It also complicates  
things like sending notification messages to a group (like in the  
ticketing system or the wiki) because there is no immediate way to  
view all of the users in the group.  The more recursion we allow, the  
more abstract this becomes and the harder to manage.

  ----

  ++ Standards



More information about the commits mailing list