Denali/Mt. McKinley and Brown Bear Software logo
Calcium Documentation - Publishing iCalendar to Calcium
Horizontal Line

Publishing to Calcium

You can publish iCalendar files to your Calcium web calendars. The iCalendar data can come from external applications such as Apple's iCal or the Google Calendar.
Note: The separate iCalPublish.pl script needs to be installed on the server to support publishing.

Events can be published as Add-In files, or they can be directly added to an existing Calcium calendar. When publishing as an Add-In file, the Calcium Add-In can be for use by a single specific calendar, or it can be a System level Add-In, available for all calendars.

If you publish to an existing Calcium calendar, you will replace the calendar - i.e. all events on the web calendar will be deleted, then the events in the published iCalendar file will be added.

Publishing from Apple iCal as a System Level Add-In

When you publish iCalendar data to Calcium as an Add-In, it will create (or replace) the Add-In file; that Add-In can be included into Calcium calendars.

Here's how to do it from Apple's iCal program. This first example will send an iCal calendar to Calcium as a system-level Add-In file, available for all Calcium calendars on the system.

  • First, in iCal select Calendar --> Publish... from the menu bar, or Control-click on the calendar name, and pick Publish... from the popup menu.
  • On the dialog that appears, enter the name you want for your Calcium Add-In file in the "Publish Calendar As" field. This name must be a valid Calcium Add-In name - only letters, numbers, and underscores are allowed (e.g. no spaces.)

    Then, chose "Publish on a Private Server" for the "Publish on:" item:



  • Next, you need to specify the URL to publish to. In the "Base URL" field, specify the URL to your Calcium "iCalPublish.pl" script; something like
      http://your.domain.com/cgi-bin/iCalPublish.pl
    


  • Appropriate credentials are required; for a System level Add-In, you'll need to specify a Calcium user that has System Administration rights (though in the unlikely case your Calcium installation has System Admin open to Anonymous users, you won't need to.)

    To supply credentials, you need to to append the login info to the URL. The "Login" and "Password" entries on the Apple iCal "Publish" dialog are not used. (But note: iCal does require entries in the Login: and Password: fields; you can use anything, e.g. 'x' and 'x'.)

    To add your Calcium username and password, append them to the Base URL using '/' as separators; use user=username and pw=password. For example, it might look something like this:

      http://your.domain.com/cgi-bin/iCalPublish.pl/user=jburr/pw=mysecret
    


  • Finally, make sure "Publish titles and notes" is selected, and press the "Publish" button to send your events to Calcium.

Publishing as a Per-Calendar Add-In

To create an Add-In file which will be available only for a single specific Calcium calendar, do the same as for "Publishing as a System Level Add-In" above, and in addition, you must also add a parameter to the URL to specify the Calcium calendar name which will own the Add-In.
Use: cal=[calcium calendar name] for this.

For example:
  http://your.domain.com/cgi-bin/iCalPublish.pl/user=jburr/pw=mysecret/cal=MyCal

If the calendar you're publishing to allows Anonymous users to Edit, you won't need to supply the user and password.



Publishing as a Calcium Calendar (Not an Add-In)

Finally, you can also publish your events to an existing Calcium calendar, as opposed to an Add-In. This will delete all events from the Calcium web calendar, and then add your published events.

To do this, follow the steps for "Publishing as a Per-Calendar Add-In" above, but add one more parameter pair: type=cal E.g.
  http://your.domain.com/cgi-bin/iCalPublish.pl/user=jburr/pw=mysecret/cal=MyCal/type=cal

In this case, the name of the calendar (in the iCal "Publish calendar as:" field) is ignored.

Note: The calendar named by "cal=" must already exist in Calcium.

Remember: when you use publish to a Calcium calendar, it will delete ALL Events on the web calendar, then add the published iCal events. So make sure you specify the correct web calendar!