Adding and Managing Calendar Suites

Bedework's web views of public event information are called "Calendar Suites". Calendar Suites provide a custom web context, custom look and feel, custom subscriptions, and custom views of event data. The quickstart comes with two suites, named MainCampus and SoEDepartmental. Calendar Suites are best used for large or significant groups within an organization. For example, a school may warrant a Calendar Suite, while a department within that school may only need a filtered view on the school's suite and an event data feed for embedding in its departmental website. All calendar suites for a single Bedework instance pull event data from the same central pool of events (plus any subscriptions to external calendars). Though they can be associated with calendar collections (folders) anywhere within the calendar hierarchy, most commonly all calendar suites will be associated with the root of the public calendar tree, "/public".

A Calendar Suite must be built, and the resulting .war file can be deployed alongside the other suites.

Building a Bedework Calendar Suite

  1. Follow the instructions in the Bedework Manual for setting up your build environment.
  2. Add calendar suites to your myconfig.properties and myconfig.options.xml files, 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 myconfig.properties file for the property: org.bedework.install.app.names (line 22 in Bedework 3.4.1.1).
  3. 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
  4. Build Bedework

Configuring a Bedework Calendar Suite

Once built, you must add the Calendar Suite to the admin client and associate it with an administrative group.

  1. Create an admin group from which to hang the Calendar Suite:
    1. Log into the Bedework Admin Client as a superuser.
    2. Select the "Users" tab.
    3. Select "Manage admin groups"
    4. Click the button "Add a new group"
    5. Set the group's properties:
      1. 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.)
      2. Description: provide a reasonable description for the group, e.g. "calendar suite for MyDept"
      3. Group owner: a userid, probably the superuser's
      4. 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. See also Bedework Structure.)
  2. Add the calendar suite
    1. Select the "System" tab.
    2. Select "Manage Calendar Suites"
    3. Click the button "Add Calendar Suite"
    4. Set the Calendar Suite's properties:
      1. 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".
      2. Group: this is the name of the group you defined in step 1, e.g. "CalSuite-MyDept".
      3. Root calendar: this will almost always be "/public", the root of the public calendar tree.

Changing the look and feel of a Calendar Suite

The Bedework Design Guide provides information for modifying the look and feel of Bedework skins. The skins are found in bedework/deployment/webpublic/webapp/resources/demoskins/MyDept and once deployed will be found in [TOMCAT]/webapps/ROOT/calrsrc.MyDept. Note that it is wisest to modify the skins in the source tree and copy them into Tomcat rather than edit the Tomcat deployed files directly - this will avoid an accidental overwrite of your work should you rebuild (which will also redeploy the skin directories).