Chapter 7. The Group Object definition - class nsdGroup

Table of Contents

Linking users to groups.
Object properties
Object methods
add($gname,$module,$type,[$gdesc=""],[$reason="ownership"])
getgid($gname,$module,$type)
getgname($gid)
update($oldname,$gname,$module,$type,[$gdesc=""])
adduser($uname,$gname,$module,$type,[$reason="ownership"])
deluser($uname,$gname,$module,$type,[$reason="ownership"])
listusersofgroup($gname,$module,$type)
listgroupsofuser($uname,$module,$type)
listgroupsofmodule($module,$type)
userbelong2group($uname,$gname,$module,$type)
addgroup($ngname,$nmodule,$ntype,$gname,$module,$type,[$reason="ownership"])
delgroup($ngname,$nmodule,$ntype,$gname,$module,$type,$reason="ownership")
listsubgroupsofgroup($gname,$module,$type,$nmodule,$ntype)
listgroupsmanagedbyuser($uname,$module)
listmastergidofuser($uname)

Location: nosod.lib

This class has for goal to provide group object definition to the application. Everything related to user's group must be processed through this class, for reliability reasons.

Principle three types of group are defined:

Linking users to groups.

Users can be attached to public or private groups, never directly to system groups.

Summary schema: user (n) -> (n) public or private group (1) -> (n) system group

Groups are stored inside the system database, in the table nsddgroup. Relationships between system groups and other groups are stored in the table nsddlink, as well as relationships between users and groups.