The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Solstice::Subgroup - Manages subsets of people.

SYNOPSIS

  # See Solstice::Group
  #   This disables subgroup management, and classlists but is otherwise the same.

DESCRIPTION

Manages sets of people, who are a subset of a specific group.

Export

No symbols exported.

Methods

new() =item new($group_id)
clone()
delete()
store()

Saves the group to the data store. Returns TRUE on success, FALSE otherwise. Saving will fail if the following values are not defined: name, creator, and creating application.

getCreationDate()

Returns a Solstice::DateTime object, representing the date the group was first added to the data store. Returns undef if the group has never been saved to the data store.

_setCreationDate($date)

Sets the creation date of the group. Should only be set on retrieval from the data store.

getModificationDate()

Returns a Solstice::DateTime object, representing when the group was last modified in the data store. Returns undef if the group has never been saved to the data store.

_setModificationDate($date)

Sets the modification date of the group. Should only be set on retrieval from the data store.

getMembers()

Returns a Solstice::List, containing Solstice::Person::<X> objects. This list constists of all members of the groups, excluding member groups, or people who are in LDAP groups.

getMemberCount()

Returns the number of members for the group.

isMember($person)

Returns TRUE if the given person is a member of this group, recursively, FALSE otherwise.

addMember($person)

Adds the given person object to the group. A person can only be added to a group once, though multiple adds will not result in an error being raised.

removeMember($person)

Removes the given person from the group. This only removes the user from the group itself, it does not traverse into member groups, or modify any entries for an LDAP group.

getAllMembers()

Returns a Solstice::List, containing all members of the groups, including members of member groups, and members of LDAP groups.

Private Methods

_initFromHash ($hash_ref)
_initMin($group_id)

Initializes the minimum amount of data about the group as it can. Loads no member groups, subgroups, people, or class lists.

_initializeMembers()

Goes to the data store to retrive the list of members for this group.

_initializeOwners()
_initializeMemberGroups()
_initializeRemoteGroups()
_initializeSubgroups()

Goes to the data store to retrieve the list of subgroups for this group.

_getAllMembers($seen_group_hash)

A private method for recursing through groups, getting membership lists.

_populateMemberHash(\%member_hash)

Function that builds a hash of group members

_populateDBMemberHash(\%member_hash)
_getAccessorDefinition()

Returns the array_ref that creates the basic accessors of Solstice::Group.

AUTHOR

Catalyst Group, <catalyst@u.washington.edu>

VERSION

$Revision: $

COPYRIGHT

Copyright 1998-2007 Office of Learning Technologies, University of Washington

Licensed under the Educational Community License, Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at: http://www.opensource.org/licenses/ecl1.php

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.