Model and Workflow
Note: Parts of this document may be out-of-date.
The software was designed to fulfill two distinct purposes:
- Serve as the main event calendar for an organization (and implement an event submission/approval mechanism)
- Offer calendar hosting for departments and sub-organizations (and allow event forwarding to the main event calendar)
Users, Sponsors, Calendar Administrators, Main Administrators
In order to fulfill the purpose as the main event calendar the software employs the concept of event Sponsors and one or more Calendar administrators. A Sponsor (e.g. SCUBA club) can submit events and the calendar administrator(s) approve or reject these submissions. Furthermore, a particular person can be member of more than just one sponsor (e.g. "jdoe" may be a member of the SCUBA club and the Theatre Club).
Note: All events entered by a Sponsor must be approved by a Calendar administrator. Calendar administrators may publish events without approval.
The Calendar administrator assigns persons (ie. users) to sponsors via the "Manage sponsors" menu. If user information is stored in the internal calendar database (as opposed to LDAP), the calendar administrator also needs to create a user ("Manage users") before this user can be added to a sponsor.
Users are authenticated via the internal user database or external database (LDAP). These two methods of authentication can also be combined so as to allow users within the organization to be authenticated by the LDAP and external users (e.g. civic community groups) authenticated via the internal database.
The figure below shows the typical roles of the different stakeholders.
The next figure shows the typical calendar workflow.
The second purpose of the software is hosting organizational calendars. Every calendar has a unique ID. To go to a particular calendar the user would open a web address that includes a references to the calendar, for example: http://www.mysite.edu/calendar/index.php?calendar=engineering. If no ID is referenced in the URL the "default" calendar is assumed. The default calendar is the main event calendar of the organization. Calendars are completely independent from each other with only one exception. All calendars can forward events to the "default" calendar. To do so the sponsor just has to mark a check box while adding or editing an event. Each forwarded event needs approval from the administrator of the "default" calendar. Each calendar has one or more administrators and a number of sponsors.
Finally, there is the role of the main administrator. The main administrator(s) can create and delete new calendars as well as determine the administrators for a particular calendar.