CML Reference Guide

Chapter 4.9:  Conference Organizer Information


Another family of functions relates to information about a conference that gets set (or changed) by the conference organizer.  In all of these functions, num is the conference number.

Evaluates to the userid of the primary organizer of the conference.

Evaluates to the name of this conference.  (It can be slower than $cl_name(), but does not depend on whether $cl_list() has been called.)

$set_co_org(num id)        {protected}
Change the primary organizer of conference num to userid id.  The caller must already be the primary organizer, or else have the MGR_BEORG manager bit.

Evaluates to the text of the "greeting" for the conference.  In the original (text) Caucus interface, the greeting was displayed every time a person entered a conference.

Evaluates to the text of the "introduction" for the conference.  In the original Caucus, the introduction was displayed when a person tried to join a conference for the very first time.

The introduction offers more information about the conference, to help a person decide if they really wish to join the conference.

Evaluates to "1" if ordinary users can add an item, or "0" otherwise.

$set_co_add(num add)        {protected}
If add is non-zero, ordinary users may add new items.  If add is "0", they may not.

Evalutes to "1" if ordinary users can change their own responses.  Otherwise "0".

$set_co_change(num chg)        {protected}
If chg is non-zero, ordinary users may change their responses.  If chg is "0" they may not.

Evaluates to "1" if conference name is visible to non-members in conference lists.  Otherwise "0".

$set_co_visible(num vis)        {protected}
If vis is non-zero, the conference name is visible.  If vis is "0", the conference is invisible to non-members.

Evaluates to the text of the conference "userlist".  The text of a simple userlist might look like:


$set_co_userlist(num list)        {protected}
Set the text of conference num's "userlist" to list.

Get the numerical value of a conference permission role.  For example, $co_priv(organizer) might be 20, $co_priv(instructor) might be 10, $co_priv(include) might be 5, $co_priv(readonly) might be 1, and $co_priv(exclude) is usually 0.

Starting with Caucus 4.6, the conference permission values returned by $cl_access() should always be compared against $co_priv(permission), rather than an explicit integer value.

$co_priv() may also be used to set the initial mapping of permission roles to integer values.  The first (and only the first) time $co_priv() is called with an argument containing more than one word, that argument is used to set the permission role map (and overrides the built-in default values). For example:

   $co_priv (organizer 20 instructor 10 include 5 readonly 1 exclude 0)
sets the permission role map to the values described above.  Note in particular that this means any given Caucus interface can have an arbitrary list of permission roles. Permission roles need not be unique, e.g. "organizer 20 administrator 20" just creates two roles with different names but the same permission value.  $cl_access() uses $co_priv() internally to yield the same set of permissions when it parses conference userlists.

$co_remove(num)        {protected}
Completely and permanently remove (delete) conference num.  Will only work for managers with permission bit MGR_RMCONF.

$co_makeorg(num userid)        {protected}
Immediately add userid as an organizer to conference num.  Will only work for managers with permission bit MGR_BEORG.

$create_conf(name priorg org1 [org2...] [userlist])        {protected}
Create a new conference name, with primary organizer priorg, and secondary organizers org1, org2, etc.  Will only work for managers with permission bit MGR_CRCONF.  Evaluates to:
      new conference number on success
      0 if user does not have MGR_CRCONF permission
    -1 if name already exists
    -2 priorg not supplied
    -3 internal database error
    -4 if name is bad

An optional userlist may be supplied to control the initial access to the conference; the list of secondary organizers is added onto the end of this userlist.  This userlist must be of the form:


where the keywords must be one of "include", "readonly", "exclude", or "organizer".  The userids must be an actual userid, a wildcard ("*"), or a comment (any line that begins with "#").

If no userlist is supplied, a default is used, which is equivalent to the following call to $create_conf():

    $create_conf (name priorg org1  ...  :include$newline()#$newline() :readonly$newline()#$newline() )

$co_rename(cnum newname)        {protected}
Renames conference cnum to have the name newname.  Will only work for managers with permission bits MGR_CRCONF or MGR_RMCONF.  Evaluates to:
      1 on success
      0 if the user doesn't have manager permission
    -1 if newname is bad
    -2 if cnum doesn't exist
    -3 if newname already exists!