[dev] Horde_Group Refactoring for Horde4

Chuck Hagenbuch chuck at horde.org
Fri Jan 28 03:28:32 UTC 2011


Quoting Ben Klang <ben at alkaloid.net>:

> Hello all,
>
> In IRC recently a few of the developers have been discussing the  
> refactoring of the Horde_Group library for Horde4.  There is already  
> a wiki page in progress (http://wiki.horde.org/HordeGroupAPI) to  
> that effect.  One item discussed is the complexity from having the  
> ability to nest groups.  This enables a structure like
>
> 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.
>
> Certainly these issues can be addressed, but my question is: do we  
> really need this complexity?  Horde apps do not make use of this  
> feature today in any meaningful way.  My vote would be to eliminate  
> the complexity (both in code and UI) and provide a simpler, flat  
> group model.

I would vote to make groups flat, but if possible, to allow groups to  
be members of other groups. Not children in a tree, but flat members.  
That way questions are always based on whether or not the group being  
originally checked contains the user, or a group that contains the user.

-chuck


More information about the dev mailing list