Going from Caucus 4 to Caucus 5:
What's new?
Charles Roth, CaucusCare
Original: 13 September 2005
Revised: 6 February 2006
Table of Contents
- Introduction
- Installing Caucus
- Converting from Caucus 4
- What's really changed?
- Conference Names
- My Conferences
- Groups and conference membership
- Personal Information Fields
- Manager Privileges
- New Feature: Quizzes
I. Introduction
Caucus version 5 is a very big step forward for the Caucus platform:
- The software itself changes from a proprietary package that
you have to buy a license for, to a free, open-source tool that
anyone can download, install, or modify.
- The underlying data storage method changes from (efficient but
inflexible) "flat-files" to an (efficent and flexible)
MySQL relational database.
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:
- Conference names (conference lists)
- Site variables, conference variables, item variables
- User information (personal info and variables)
- User Groups
- Conference userlists (into the new form of "groups")
- Manager permissions
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):
- MySQL makes it possible to more easily integrate other packages
and tools with Caucus.
- We used the ODBC standard to connect to MySQL, which means that other
relational databases, such as Oracle or Postgres, could be used
with Caucus.
- The MySQL underpinning makes adding new features much
easier, faster, and cheaper.
We have quite a list of new things coming once Caucus 5 is stable,
and we're quite excited about it.
Without further ado, here are the most significant changes you'll
see in Caucus 5 (henceforth "C5").
- 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.
- 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.
- 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:
- Primary organizer access always wins (so that said primary organizer(s)
cannot shoot themselves in the foot).
- After that, exclude access always wins.
(If you're excluded, you're excluded, period.)
- After that, the highest level of access wins.
(If both "include" and "readonly" apply to you, you get "include".)
- 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.
- 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.
- A new manager group, quizCreate, defines who is allowed to create
quizzes.
- Each quiz has a group "access control" exactly like conference
groups, to define who can edit the quiz, and who can "take" the
quiz.
- 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.
- Quiz creators can share or copy quizzes or individual problems,
depending on the access rights that were granted.