Caucus 4.3 Multiple Interfaces: tying a user interface to a registration interface       
Last revised: 2 October 2001

I. Introduction
Earlier versions of Caucus allowed the manager to redefine the look and feel of the new user registration interface (sometimes called the "default new user registration page"), by changing the layout of the page, and by adding new fields (questions for the user to answer).

Caucus 4.3 allows a manager to define a new user registration interface that is "tied" to a particular user interface.  This means that new users coming in will see a registration interface that (presumably) has the same look & feel and specific information as the regular Caucus interface they will be using.  Thus different interfaces to a Caucus site may have different, dedicated new user registration pages as well.

II. How it works
(Note: the rest of this discussion assumes you are familiar with using telnet or ssh to login to the Unix userid that owns the Caucus files.)

A particular Caucus user interface is defined by the files in a particular directory; for example, for interface "xyz", the files are located in ~/CML/xyz.  The default interface directory "out of the box" is "CS41".

The user registration process gets its own set of interface files; by default these are located in REG41.

Caucus 4.3 makes an implicit "tie" between a particular interface directory, and a registration directory.  For interface "xyz", the tied registration files are in "REGxyz".

The Caucus manager page for interface xyz now shows an additional option: "Control the new user registration page layout for registration interface REGxyz".  Use this page to control how the registration page for REGxyz will appear.

III. Defining a new interface
To define a new interface "xyz", create the directory ~/CML/xyz, and copy everything from ~/CML/CS41 into ~/CML/xyz.  (Alternately, if you're not going to change any of the CML files but just desire an interface that you can customize from within the Caucus manager pages, it is sufficient to make "xyz" a symbolic link to CS41.) 

Create the matching registration directory, ~/CML/REGxyz. Copy (or link as above) all the files from ~/CML/REG41 into ~/CML/REGxyz. 

From within the Caucus manager pages, you can now edit the "REGxyz" interface however you like.  When you are ready, the URL to enter the registration page will look like:

   http://yourhost.com/reg/swebsock/0/0/REGxyz/register.cml
and the URL to enter Caucus proper will look like:
   http://yourhost.com/sweb/swebsock/0/0/xyz/center.cml?0+0+x+x+x+x+x+x

IV. Override option:
Caucus 4.3 normally links one user interface to one registration interface.  There is an "override" option, by which multiple registration interfaces can point to a single user interface.

For example, imagine a Caucus event, with an interface directory "Event".  There are two classes of attendees: "paid" members and "free" members (who might be the "guest speakers").  Members of each class need to register in different ways, but all participants will enter the same user interface.

To implement this example, define two sets of interface directories as described above: Event and REGEvent, and Free and REGFree.  From within Caucus, set up the custom registration page for REGEvent from within the Event interface, and the custom registration page for REGFree from within Free.

"Paid" members will register via the URL

   http://yourhost.com/reg/swebsock/0/0/REGEvent/register.cml

"Free" members will register via the URL

   http://yourhost.com/reg/swebsock/0/0/REGFree/register.cml?Event

The latter URL uses the "REGFree" registration interface, but once the user is registered, enters them into the "Event" interface.

V. Notes:

  1. Interface names must begin with a letter.

  2. The (old) Caucus 4.2 custom registration definition still works, and the option is still there on the manager page.  It is supplanted by this new scheme only if (a) the registration directory name begins with "REG", and (b) the tied user interface directory xyz has been used to define a new registration interface for REGxyz.

  3. There is a change to the way the manager "Produce user reports" option works.  When a manager is in interface "xyz", the reports option tries to send the fields defined for registration interface "REGxyz".  If there is no such interface, it sends the standard (default) fields in the report.

    The report always includes, as the last field, the name of the registration interface used when the user registered. (This information is only recorded after this add-on has been installed, otherwise the field is empty.)

  4. All of this assumes that you are familiar with creating new interfaces in Caucus.  Caveat Implementor!