To add a new user, an existing user who is part of the "admin" group must:

  1. Navigate the /admin URL.
  2. Select a group into which the new user is being added.  That group's edit template will be accessed when the link is clicked.
  3. Invite a new user using the icon in the Members field.
  4. Complete a user invitation form for the person to add.
  5. Save the group.
  6. Add the user to other User Groups as needed by clicking on the Members icon and using the lookup search box in the dialogue.

The new user will recieve an email invitation with a registration link and instructions on how to log in.

It is necessary for Callimachus to send email in order to invite new users!  Make certain that your etc/ file is correctly configured before you attempt to invite users.  If your users do not receive invitations, check the etc/ file for correctness first.

The /admin screen is shown in the following screenshot.  You are advised to follow the Principle of Least Privilege when adding users to groups.  Select the appropriate group:

Then add one or more members:

Editing group membership

Selecting the icon to the right of the Members header will display a new user invitation form:

The new user invitation form

When you have finished editing the group, don't forget to save your changes!

Saving a group

A user invitation email message will look something like this:

User Invitation Email

The Super Group

There is an additional group that is present in Callimachus by default: The "super" group.  Members of the super group have privileges to view and modify content in the /callimachus folder tree.  That is, they may modify the core of a running Callimachus instance.

The super group is useful for users wishing to fully explore Callimachus or to experiment on a running instance.  The Callimachus development team uses the group on a regular basis to develop the product.

However, enabling the super group can also be dangerous, especially for those systems that are accessible from the public Internet.  Any user account that is subverted and has membership in the super group will have permissions to modify many aspects of Callimachus.  So, we strongly recommend that Internet deployments not give user accounts membership in the super group.

The preferred way to put yourself into the super group is to check out the source code and then follow the directions in the README file under the Installation section.  Specifically, you may provide a username, email and password to Callimachus by creating a file in the same directory as build.xml. The username you provide will be placed into the super group.  Put the variables "callimachus.username", "", and "callimachus.password" followed by '=' and their value on their own line. Copy src/callimachus-defaults.conf to etc/callimachus.conf and edit file as above.

You can then execute 'ant run' from a command line in this top directory to run the server. If some files fail to download you may have to run "ant clean dist" and run "ant run" again.  This runs the Callimachus server from the source code checkout.

You may then make any changes you wish to the /callimachus folder tree by editing the files in the browser using Callimachus' development features.  Issuing 'ant pull' from the command line will pull your changes back into your local filesystem's source tree.  Note that you might wish to commit those changes into your local revision control system from there.

Any files that you modify outside of the /callimachus folder tree will be unaffected by 'ant pull'.

Do not use the super group for Callimachus instances that are deployed to the public Internet.

You can optionally create the initial Callimachus user in the “super” group at setup time by running the setup script with the -g flag.  This is not generally recommended, but may be useful for some developers when running Callimachus on their own local computers:

bin/ -g /auth/groups/super

or, for Windows:

bin\callimachus-setup.bat -g '/auth/groups/super'

Once the initial user is a member of the super group that user will have permission to invite other users into that group.