Cold Help System: General Information: Security: Groups


The group system is an all purpose classification system which can be used for a wide array of purposes. Groups can work in one of two ways: either they are simply a list of objects, and can be tested against for permissions sake, or they use a logical expression as their condition.

Object Groups

Object groups are heirarchial, so for an example consider the following group heirarchy:

$group [*-mvc]
  $staff_group [*-mvc]
    $building_group [*fmvc]

If a user is added to the staff group, and something tests against the building group, the staff members are included so it will evaluate true--even though they are not in the building group.

Groups and Security

Groups can be specified as a writer on an object, and when testing against writer permissions for that object, it will also include anybody in the group, or evaluate against the condition of the group. This is highly useful for projects, where many objects are edited by a group of people. By using groups, people in the project only have to be added and removed from one place (the group) rather than each individual project.

Programmer API

To use a group in ColdC code, simply call the method .includes() on the group, with a single argument of the object which is in question.

Available Groups

To see a list of all available groups, use the command:

@descend $group +all +only=core

All groups have a setting of 'group', which is a list of objects--except for $conditional_group and its descendants, where it is a logical expression.


Object-Levels | Groups


the Cold Dark