BW 3.7 Add and Configure Additional Calendar Suites
Introduction
The quickstart includes the Calendar Suite MainCal. You can think of a Calendar Suite as a window through which you manage and view your public events. For many sites, the MainCal Calendar Suite is sufficient. It's a full-sized window through which all public events are managed and viewed. There are three likely motivations for adding another Calendar Suite:
- You'd like to provide a smaller window for managing certain events. This is usually done to restrict access to certain event tags (topical areas) to specific administrators. As you'll see below, you can set up a Calendar Suite for this purpose by using the administrative client.
- You'd like to provide a smaller window for managing and viewing certain events, and/or you'd like to create a second web site with an independent look and feel. This is usually done to create an independent departmental instance of a fully-functioning Bedework calendar site. As you'll see below, creating a fully-independent departmental site involves configuration work in the administrative client and making configuration changes to the Bedework system itself. The Bedework system configuration changes involve defining a new web client to be built and deployed.
Add a New Calendar Suite
A Calendar Suite that is to have its own web context (e.g. http://localhost:8080/mydept ) must be built, and the resulting .war will be packaged up and deployed alongside the other suites. If you wish to use calendar suites solely for limiting access to topical areas, you do not need to build it and may skip directly to Configure a Bedework Calendar Suite.
Build a Bedework Calendar Suite
- Follow the instructions for setting up your build environment.
- Add calendar suites to cal.properties and cal.options.xml, using the quickstart's example of SoEDept (the demo departmental public web client). Also add the suite to the list of applications to be built in the cal.properties file for the property: org.bedework.install.app.names.
- Copy a template directory for use with the new calendar suite from an existing one, and name it with the name given the calendar suite. E.g. copy bedework/deployment/webpublic/webapp/resources/demoskins/MainCampus as ....demoskins/MyDept
- Build Bedework
Configure a Bedework Calendar Suite
You must now define the Calendar Suite in the admin client and associate it with an administrative group.
- Create an admin group from which to hang the Calendar Suite:
- Log into the Bedework Admin Client as a superuser.
- Select the Users tab.
- Select Manage admin groups
- Click the button Add a new group
- Set the group's properties:
- Name: calsuite-MyDept (note: it is recommended practice to name Calendar Suite groups in this way, prepending them with "calsuite-" or a similar signifier so that they are easy to distinguish from other groups. Furthermore, you should only add users to this topmost group who should be granted Calendar Suite Owner access. Such users can manipulate the calendar suite itself.)
- Description: provide a reasonable description for the group, e.g. "calendar suite for MyDept"
- Group owner: a userid, probably of the main contact point for the group; this field is only informational
- Events owner: agrp_CalSuite-MyDept (note: it is recommended practice to make the events owner the same as the Name prepended with "agrp" or a similar signifier to associate the owner with the group. The "events owner" is a system user: the "agrp_" prefix distinguishes this user from a real user - one associated with an actual person. The calendar suite's preferences will be attached to this user.)
- Add the new group to “campusAdminGroups” so that proper access rights are inherited down the group hierarchy.
- Select the Users tab.
- Select Manage admin groups
- Select membership for campusAdminGroups and add the new group to it.
- Add the calendar suite:
- Select the System tab.
- Select Manage Calendar Suites
- Click the button Add Calendar Suite
- Set the Calendar Suite's properties:
- Name: this is the calendar suite name you defined in myconfig.properties, e.g. if you defined org.bedework.app.MyDept.cal.suite=MyDept, use "MyDept".
- Group: this is the name of the group you defined in step 1, e.g. "CalSuite-MyDept"
- Root calendar: this will almost always be "/public", the root of the public calendar tree
Bedework Enterprise Calendar, version 3.7