Going from Caucus 4 to Caucus 5:
What's new?

Charles Roth, CaucusCare
Original: 13 September 2005
Revised: 6 February 2006

Table of Contents

  1. Introduction
  2. Installing Caucus
  3. Converting from Caucus 4
  4. What's really changed?
    1. Conference Names
    2. My Conferences
    3. Groups and conference membership
    4. Personal Information Fields
    5. Manager Privileges
  5. New Feature: Quizzes

I. Introduction
Caucus version 5 is a very big step forward for the Caucus platform:

CaucusCare is still very much a business, but now our business model is built on technical support, custom development, training, and hosting.  Indications are that we will do more business as a result of the shift to open-source.  Plus it is in keeping with the fundamental philosophy behind the Caucus product itself, that we all gain by sharing our information.

The rest of this document is a guide for those already familiar with Caucus 4.  It describes what has changed and what is new, and how to adapt to these changes.

II. Installing Caucus
The fundamental installation process for Caucus will change only slightly.  CaucusCare will still provide pre-built, downloadable kits for a variety of Unix-based platforms, such as Linux, Solaris, MacOS X, and so on.  The main difference here is that you will no longer need activation keys -- all kits are "unlimited" in duration and number of users.

In addition, the technically inclined may also download the Caucus source code and build kits themselves.  In fact, we hope to see some improvements by just those folks, that we can in turn share with the Caucus community.

There will also be some non-open-source "for fee" add-on modules available.  In fact, the license that we use for the CML code (the pages that describe the look and feel of the Caucus interface) specifically allows for that possibility, for anyone!  But we expect most on-going development to continue to be released as part of the "vanilla", open-source package.

III. Converting from Caucus 4
Upgrading from Caucus 4 to Caucus 5 will require a one-time run of a data conversion script.  The script is included with Caucus 5.  CaucusCare also offers a data conversion service as part of our technical support contracts, where we will perform the conversion for you.

The data that is actually converted into MySQL tables includes:

Later releases of Caucus 5 will continue this process, although more automatically, as the remaining data is converted into MySQL form.

IV. What's really changed?
The rest of this document describes the kinds of changes that Caucus managers, organizers, and users will see.  But it's important to realize a few things about the biggest technical change (the replacement of the underlying data structure with MySQL):

Without further ado, here are the most significant changes you'll see in Caucus 5 (henceforth "C5").

  1. Conference Names
    Conference names now appear exactly as you want them -- mixed upper and lower case, and special characters, exactly as you prefer.  (Conference "aliases" are gone.)  Lists of conference names appear in alphabetical order, with case ignored.

    The only exceptions are a handful of special characters that may not be used: slashes ("\" or "/"), single quote ('), asterisks ("*"), and underscores ("_") (which are really treated as blanks, or vice-versa).

    Conversion Warning: if you are converting from Caucus 4, and you have conferences with aliases, and you use the "original" name of such conferences in macros anywhere (such as the Center page, or in links from other items), those macros will fail.  You will have to replace the "original" conference names in the macro calls with the new conference names, which were based on the alias names.

  2. My Conferences
    The difficult-to-manage "Personal Conference List" is gone.  In it's place are "My Conferences" and "Other Conferences".  The first is a list of the conferences you belong to, and what's new in each of them.  The second is a list of conferences you can opt-in to.

    You can edit your conference list, rearrange the (default alphabetical) order of the conferences, and move conferences from "My" to "Other" and vice versa.  You can also "hide" (and un-hide) conferences, delete conferences from your list (as in, "never darken my doorway again"), or resign from conferences, via a simple checklist-and-click.

    The edit page also gives you access to the list of all conferences on the host, with a brief description of each and an organizer contact -- in case you really were supposed to get access to a conference, but someone slipped up.

  3. Groups and conference membership completely revamped
    In C5, every collection of people is a group, and has a completely consistent structure.  C5 has:
    • conference groups
    • manager groups
    • filesafe groups
    • Caucus4 groups (translated version of old "groups files" from C4)
    • personal groups (you can make your own groups that you control)

    Figure 1: a group ruleset
    All groups have a set of "rules", that define who can do what.  Each rule specifies:
    • An access level: organizer, instructor, include, readonly, exclude, or inherit.
    • A match: a userid, a wildcard, or another group.

    All of the selecting of access levels and matches is done via pull-down menus -- there is no more manual typing of userids.  (OK, you do have to type wildcard matches.)

    The concept of membership is a big change in this model.  If you have access to the group, you are by default a member of the group.  So if you have access to a conference, you are a member of the conference.  No more messing around with "to join or not to join?" and personal conference lists.

    Instead, C5 introduces the concept of "opt-in" access.  In Figure 1, you can see that there is an include rule for "%" (a wildcard that matches everyone).  That means that everyone (well, except for those specifically excluded in the next section) can be a member.  Wherever they see the conference name, if they click on it -- poof! -- their opt-in access promotes to regular access, and they are a member.  (There is a similar approach to opting out -- if, say, a conference organizer made you a member, you can choose to resign, or opt-out, still retaining the option to come back later if you chose.)

    The nice thing about this approach is that it only gets complicated when you need complication -- i.e. when you need to base access to a group on different groups, or to allow some folks to opt-in, or opt-out, etc.  Most of the time you just point and click your way to selecting the people who should be in the group. 

    Similarly, if more than one rule applies to a person, the resolution of "which rule wins" is much simpler:

    1. Primary organizer access always wins (so that said primary organizer(s) cannot shoot themselves in the foot).
    2. After that, exclude access always wins.  (If you're excluded, you're excluded, period.)
    3. After that, the highest level of access wins.  (If both "include" and "readonly" apply to you, you get "include".)

  4. Personal Information Fields
    C5 provides a much more logical (and easier to use) way to handle arbitrary information fields for users. 

    Caucus comes "out of the box" with a standard set of user information fields; only a "last name" field is required.  A Caucus manager may add new fields to this list, and specify what kind of data they may contain.

    Then, for each Caucus "interface", a manager may define which subset of those fields are used, how they are labelled, and where they appear:

    • Visible to a manager
    • Visible to each individual ("self")
    • Visible in public (to other users)
    • Visible on the registration (or "change profile") page(s).

    The manager may also choose specific Caucus macros to apply to the display of each field.  (Different macros may be used for different interfaces.)

    In particular, this approach solves several problems:

    • How to control the privacy of some information
    • How to share common fields across multiple interfaces
    • How to avoid using different field names for the same information, across different interfaces.
    • Making the user self-registration page easier to construct and control.

  5. Manager Privileges
    Manager privileges are now granted by virtue of a person's membership in special "manager" groups, which have helpful names like:
    • conferenceCreate
    • passwordChangeUsers
    • userReports
    • systemAllPrivileges

    This approach is much easier to follow, and also much easier to extend as new needs are identified.

    Organizer access to a manager group also grants the ability to edit that group, precisely parallel to organizer access to a conference group.

V. New Feature: Quizzes
A major new feature, starting at version number 5.013.025, is the introduction of "Quizzes".  Featuring easy form-based creation and automatic scoring, this feature extends the eLearning side of Caucus.

  1. A new manager group, quizCreate, defines who is allowed to create quizzes. 
  2. Each quiz has a group "access control" exactly like conference groups, to define who can edit the quiz, and who can "take" the quiz.
  3. Each quiz may have many problems, and each problem may have many "answers" or sub-problems.  Problems with specific answers, provided by the quiz creator, are automatically scored.
  4. Quiz creators can share or copy quizzes or individual problems, depending on the access rights that were granted.