Top => grouprules   List of rule rule definitions for all groups (individual user defined groups, conference groups, manager groups, etc.)

Categories: Users  Groups 

Notes:  Every group is identified by an owner, and a name. Userid rules have the userid and wildcard fields, sub-group rules have the subowner and subname fields. All rules must have an access level. An access level of -999 (and no data except for grkey, owner, and name) acts as a placeholder for an otherwise "empty" group.

Only userid rules may have a non-zero "optional" value. The optional rules are tricky, see Groups in Caucus 5 for more explanation. Basically they get used in two ways:

In either case, the rule that the user created (not really created by them, but by a UI in Caucus) is marked as "bySelf". These rules may always be deleted later, in case the user decides to undo their opt-in or opt-out, respectively.

Whenever a (set of) change(s) has been made to grouprules, it is the responsibility of the page to call the CML function $group_update() to force the recompilation of (the relevant portions of) the groups table. This function "locks", so only one process can be updating the groups table at a time -- other callers will automatically wait in line.

Name Type Index Null? Default
grkey int(11) ++ PK No
owner varchar(240) I NULL Defines type of group: "CONF", "MGR", or an actual (lower-case) userid.
name varchar(240) I NULL Name of group. For CONF groups, it is the conference number.
userid varchar(240) I NULL User groups only: the userid (or wild card string) for this rule.
wildcard tinyint(1) '0' User groups only: 1 if wildcard, 0 otherwise.
subowner varchar(240) NULL For sub-groups rules: the sub-group's owner.
subname varchar(240) NULL For sub-groups rules: the sub-group's name.
access int(11) '0' Access level, coded as an integer. (give examples: unknown)
optional tinyint(1) '0' 0 => normal, 1 => this is an "opt (in or out)" rule.
bySelf tinyint(1) '0' 1 if this rule was added by the user that affects it.