Denali/Mt. McKinley and Brown Bear Software logo
Feature List
Bottom Border
Calcium Features
Horizontal Line
Calcium is an interactive web calendar application which allows you to share event information via the Internet or your intranet. The software is installed on your web server (or hosted on ours), and you can use it with any web browser - no other software is needed. One installation can provide as many calendars as you like, and everyone (or just anyone you allow) can use their favorite web browser to view, edit, and add events.

Calcium will work with any web server, on any platform that runs Perl - that means it will run on just about any modern computer. It produces plain HTML so you can use any browser; even text-only ones. (It does use some Javascript, but not for any essential features.) All interaction, including calendar and system administration, is done with a browser; once installed, you never need to touch the web server again.

Dynamic Calendar Merging
A calendar can include events from one or more other calendars. This allows you to do things such as have a department-level calendar that shows events from a group of employees' calendars. All included data are "live", so when an included calendar is modified, the group calendar will reflect the changes automatically. Calendar security lets you prevent entire calendars from being included, or you can mark specific events on a calendar as private. You can also choose to include only events from specific Event Categories.

Calendar Views and Formats
There are a number of different ways you can view your calendars. There's the traditional calendar grid format, as well as a list format and a Time Plan format. There are also special "Planner" views of multiple calendars, for calendars using the Dynamic Include features. You can choose to display a day, week, month, quarter, or year at a time, and opt to display only dates that have events. Different users viewing the same calendar can pick whatever format they prefer without affecting other users.

Email Features
Calcium provides a number of built-in email capabilities:

  • Notification When you create an event, you can specify addresses to automatically email a notification to. For example, when you schedule a meeting you can have Calcium send email to whoever should attend.
  • Reminders Calcium can automatically send email Reminders before an event occurs. You can select how long before the event the email should be sent; e.g. 1 hour before, and 5 minutes before. These are scheduled at the time an event is created or edited.(Note: requires purchase of "Email Reminders" option.)
  • Subscriptions You can let any user who can view a calendar sign up to receive email about an event before it occurs. Users can choose to receive mail about all events in a calendar, events in particular categories, or just specific events of their choice. Users can sign up for any event that is scheduled to occur in the future. (Note: requires purchase of "Email Reminders" option.)
  • Auditing Calcium can be configured to send email to the calendar administrator (or anyone else) for any calendar activity. (See Auditing below.)
Email Aliases can be defined, so you can send mail to a list of addresses with a simple alias (e.g. "Managers") instead of repeatedly entering a long list of addresses.

You have many options for controlling how calendars look; some of the items you can specify:

  • the foreground and background color of almost every display feature; each event can use the default color for the calendar it's in, the category it belongs to, or you can specify colors when the event is created or edited
  • the font and size of event text, calendar labels, and controls
  • the sorting order for events in the same day
  • which menus to display below calendars
  • the headers and footers for calendars; text, images, forms, or any valid HTML code can be used. This makes it easy to have your calendars fit in with the rest of your web pages.
  • whether or not to display weekend days
  • whether or not to display the repeat controls on the event edit form
  • an image for the background of the calendar page
In addition, Calcium has very good CSS support. Advanced users can have complete control over the styles in calendars; most items have their own class names defined, making it easier to refer to particular items in the display. Each calendar can be configured to refer to its own external style sheet, or style definitions can be included directly in the page.

Custom Event Fields
You can define your own additional fields for events, and each of your calendars can have its own set of custom fields definitions. The input type can be customized for each field; for example, you might want to specify a list of options for a field, and let the user select one of those when adding an event. You can also define custom input and output Templates to use when displaying your custom fields.(Note: requires purchase of "Custom Fields" option.)

Simple templates can be defined, to customize the event input form, event popup windows, mail messages, the List View details column, and RSS Feeds.

RSS Feeds
Each calendar can provide an RSS feed of upcoming events. Feeds can be in RSS (0.9, 1.0, 2.0), RDF, and Atom formats.

Searching and Filtering
You can specify a Filter string, so that only events which match the string will appear on your calendar. Or, you can search for and display a list of all events matching a string in a given date range. Full Perl regular expression matching is supported. In addition to matching text, you can also search and filter on Event Categories.

For adding events, it's also possible to search for an open time slot in multiple calendars.

Security and Users
Four levels of calendar security can be assigned to a user:

  • Administer allows users to configure the calendar
  • Edit allows users to modify and delete existing events
  • Add allows users to create new events
  • View allows users to view calendars
The permission levels are incremental, so someone with Edit permission can also Add and View events. Security at each level is optional, so you could allow anyone to View a calendar without supplying a name and password, and still require a name and password for editing. Different security levels can be set for each calendar you create. Calcium provides built-in user login capabilities, or it can use your web server's authentication (e.g. htaccess files), or an external LDAP directory. There is no limit to the number of different users you can create, and you can define User Groups, to more easily manage large numbers of users.

LDAP Authentication
You can choose to authenticate users against your existing LDAP directory; you still have the option to create and use Calcium's built-in user logins at the same time.

Tentative Events
A calendar can be configured so that newly submitted events require approval before they appear. Users with "Add" permission will be allowed to add events, but they won't actually show up in the calendar for all users until a user with "Edit" or "Admin" permission approves them.

iCalendar Support
Calcium supports the standard iCalendar data format. This makes it easy to share data with other calendar products, like Apple iCal, Microsoft Outlook, and Google's calendar. You can:

  • Subscribe to external iCalendar files from a Calcium calendar
  • Publish from an external application to a Calcium calendar
  • Subscribe to a Calcium calendar from an external application
  • Import and Export events using iCalendar text files
You can also use the iCalendar format for Calcium Dynamic Add-In Files.

Event Categories
You can define any number of Categories for events. They can be used to:

  • define default color settings for events
  • restrict which events are included via Dynamic Calendar Merging
  • specify criteria for Searching and Filtering
  • select events for email subscription notification
  • select events for bulk deleting, or exporting
Any number of categories can be assigned to each event. Categories can be defined System-wide for all calendars, and each calendar can also have it's own categories.

Defined Time Periods
Pre-defined Time Periods can be used when entering and displaying events. For example, a school might want to define "Period 1", "Period 2", etc. Then, instead of having to enter "8:00 - 8:50" for an event, you could just select "Period 1". You can choose whether to have the Period name, actual times, both, or neither display with the event text.

Fiscal Dates
Calcium can display calendars using Fiscal Years. You can use a Fixed Year, which always starts on the same date, or a Floating Year, which is always 364 days/52 weeks long. You can (of course) specify the start of your year, and view by Fiscal Period, Fiscal Quarter, or Fiscal Year.

Event Editing Restrictions and Validation
You can choose to specify that:

  • Only the user that created an event can edit or delete it
  • Events that have a time conflict with existing events cannot be added
  • "Historical" events cannot be added; no events which occur before the current date are allowed to be added.
  • Events that are "too far in the future" cannot be added. You specify the future limit.
  • No "last minute" changes are allowed; you can configure the size of of the allowable time window
  • Events must meet maximum or minimum duration criteria
  • Certain fields - like category - are required

Flexible and Powerful Calendar Entries
A simple form is used to create new events, making it easy to specify times, colors, etc. If you like, you can enter extra text that will appear in a separate pop-up window, or have the event text be a link to another web page. Calcium will automatically detect web links and email addresses in event text, and automatically make them active hyperlinks. Event and popup text can also include any valid HTML, including images, animations, or even sounds. (An administration option can be used if you want to prevent users from including HTML in events.)

Repeating Events
Events can occur just once, or you can enter repeating events in a variety of ways. An event can repeat every day, every other day, every 3rd week on Tuesdays, the First and Third Saturday and Sunday of Every Other Month, etc. Simple pull-down menus on the event entry form make it easy.

Dynamic Add-In Files
Add-In files provide another way to add events to your calendars. These files can define events such as phases of the moon, holidays, birthdays, paydays, or anything else. Add-Ins work like dynamically included calendars, and you can choose which Add-Ins to use for each calendar; you can also specify colors and labels to use for events from each Add-In. Add-In files are plain ASCII text - they can be in a simple Calcium-specific format, or you can use the Internet standard iCalendar format. An Admin screen is available to automatically retrieve Add-Ins from anywhere on the Internet, such as sites like iCalShare. There are also a few available from this Add-Ins page.

Headers and Footers
Customized header and footer text, images, forms, or any valid HTML code can be assigned for each calendar. This makes it easy to have your calendars fit in with the rest of your web pages.

Easy Calendar Navigation
Simple links provide easy navigation to other months, to other calendars, to alternate views of the calendar, to event editing forms, and to administration screens.

Multi-Language Support
A language can be specified for each calendar, so users can see all text, including the days of the week, names of months, and the various prompts and labels in their native language. If a language you want isn't included, it's easy to add your own translations; all the strings are in one file.

Calendar Groups
You can define Calendar Groups, and assign any calendar to one or more groups. You can then restrict calendar inclusion by group, and limit which groups are displayed in the Calendar Select list.

You can keep track of who is doing what with your calendars; notification of operations can be logged to a file, or emailed to an administrator. You can choose to audit any combination of View, Add, Edit, or Administration operations.

Event Import/Export
Event data can be imported and exported in various ASCII formats, including iCalendar and Microsoft Outlook CSV files. Data can be imported from an ASCII file on your local machine, just using your browser - there is no need to copy files to the machine Calcium is running on.

Calcium comes with the complete Perl source code; if you have the expertise, you're free to make customizations and add features for your own use. While we can't provide support for your modifications, we're happy to do our best to help answer questions about the code.

We also provide consulting services and custom programming. If you have specialized needs or require certain features which are missing, please drop us a note.