Denali/Mt. McKinley and Brown Bear Software logo
Calcium Documentation - Importing and Exporting Events
Horizontal Line

Calcium can import and export event data in a number of plain ASCII formats. This can be used to get all your event data into a spreadsheet or external database, or to load a Calcium calendar with events you've defined elsewhere.

There are formats specific to Calcium, as well as other standard formats suitable for Microsoft Outlook, and for other calendar programs which use the Internet standard "iCalendar" format - e.g. Apple's iCal, the Google calendar, and others.

Both the Import and Export screens can be reached via the Options popup window from a calendar, or from the calendar's Settings page.

Exporting Events and the Format of the Export File

On the "Export" form, you'll need to specify the date range for which you want event data, the field separator to use (space, comma, tab, or semicolon), and the output format. You can choose from "Calcium", "Microsoft Outlook", "iCalendar", or "vCalendar". "Calcium" and "Outlook" formats come in two flavors, "USA" or "European":

  • European prints dates as DD/MM/YYYY, times will range from 0:00 - 23:59, days of the week will have Monday = 1, Sunday = 7
  • USA prints dates as MM/DD/YYYY, times as 12:00am - 11:59pm, Sunday = 1, Saturday = 7.

You can also choose to only export events which are in selected categories.

When you press the button to export the data, your browser may ask you where you want to save the data, or it might automatically put it in your "Downloads" folder.

The exported data will have one line for each event or each occurrence of a repeating event. (Except for iCalendar and vCalendar, which does produce repeating event definitions.) For MS Outlook format, the first line will describe the fields.

The Calcium format will present each line the the following fields in the listed order, separated by the specified separator (space, comma, or tab.)

Calcium Format

FieldFormatNotes
Date MM/DD/YYYY (USA) or
DD/MM/YYYY (European)
Never blank
Event Text plain text Never blank
Link or Popup Text   can be blank
Start Time HH:MM 12 hour for USA format, 24 hour otherwise. Can be blank.
Start Time AM/PM 'am' or 'pm' USA Format only! (this field does not exist for European format
End Time HH:MM 12 hour for USA format, 24 hour otherwise. Can be blank.
End Time AM/PM 'am' or 'pm' USA Format only! (this field does not exist for European format
Border? '1' if there is a border blank for no border
BG Color color name or # value blank for default
FG Color color name or # value blank for default
Privacy one of "public", "private", "nopopup", "unavailable", "outofoffice"  
Owner user that created the event can be blank
Category category of the event can be blank
Included From calendar the event is included from can be blank

MS Outlook Format

FieldFormatNotes
Event Text plain text Never blank
Date MM/DD/YYYY (USA) or
DD/MM/YYYY (European)
Never blank
Start Time HH:MM 12 hour for USA format, 24 hour otherwise. Can be blank.
Date MM/DD/YYYY (USA) or
DD/MM/YYYY (European)
Never blank
End Time HH:MM 12 hour for USA format, 24 hour otherwise. Can be blank.
All Day Event 'True' or 'False' True if there is a Start Time; False otherwise
Link or Popup Text "Description" field can be blank

Any field that doesn't have a value will be blank. Unless you are using tabs as the separators, any separators (i.e. spaces or commas) that appear in the text will be preceded by a backslash, and quotes and newlines will also be escaped with a backslash.

Importing Events and the Format of the Import File

You can import events directly from the computer you are browsing from. The first field on the Import screen has a "Browse..." button, which you can use to find the data file on your local disk. Note that it may default to look only for ".html" files, but you can import files with any filename extension. (Of course, the contents of the file must be properly formatted!)

You can check your import file for errors before actually loading the events. This is highly recommended! In addition, you can choose to check for duplicates when importing, i.e. not import an event if it's already in the calendar. There's also an option to delete all event data from your calendar before importing.

There are four types of data files supported:

  • Calcium - USA or European
  • Microsoft Outlook - USA or European
  • iCalendar - from Apple iCal, Google calendar, others
  • iCal Format - for importing data that was previously exported from Brown Bear Software's iCal program, version 3.x

These are all ASCII files - you can view them in any text editor. The Calcium import format is similar to the export format. For import files, you can separate fields using commas, tabs, spaces, or any non-word character (you cannot use quotes; we suggest sticking to commas, tabs, or spaces.) There is no need to specify which field separator you are using; Calcium will figure it out. Note: You must use the same separator throughout the file! Also, any separators which occur in the text must be preceded by a backslash, or the entire field value can be surrounded by quotes.

You can also include as many blank lines or comment lines as you like. Any line with '#' as the first character will be ignored as a comment.

Each line in Calcium import files should have the following fields in the listed order. Note that the first part of the line is the same as the Exported Data format above; the remaining fields are for importing repeating events:

FieldFormatNotes
Date MM/DD/YYYY (USA) or
DD/MM/YYYY (European)
Required
Event Text   Required
Link or Popup Text   can be blank
Start Time HH:MM 12 hour for USA format, 24 hour otherwise. Can be blank.
Start Time AM/PM any of 'am','pm','AM','PM' USA Format only! (this field does not exist for European format
End Time HH:MM 12 hour for USA format, 24 hour otherwise. Can be blank.
End Time AM/PM any of 'am','pm','AM','PM' USA Format only! (this field does not exist for European format
Border? '1', 'y', 'Y', or 'yes'; anything else or blank means 'no' blank for no border
BG Color color name or 6 digit hex value blank for calendar default
FG Color color name or 6 digit hex value blank for calendar default
Privacy one of "public", "private", "nopopup", "unavailable", "outofoffice" blank means 'public'
Owner name of Calcium user that the event belongs to can be blank
Category category of the event can be blank
Included From calendar the event is included from can be blank
The remaining fields are only for repeating events
End Date same format as Event Date use 01/01/2037 to repeat Forever
Period 'day', 'daybanner', 'week', 'month', 'year', or a list of days of week (e.g. 1357 for Sun, Tu,Th, Sat) USA Sunday=1, else Monday=1. Default is "day" if end date is specified and week of month is not.
Frequency 1 for every, 2 for every other, etc. default is 1 if end date is specified and week of month is not)
Week of Month 1 = first, 2 = second, ... 5 = last, or a list (e.g. 135 = "first, third, and last") for repeats like "first Tuesday of month". Default null
Month Period 1 = "every", 2 = "every other", 3 = "every third" etc. with Week of Month, for repeats like "first and third Tuesday every third month". Default null.
Exclusions list of dates separated by ';', e.g. 10/10/2000;10/11/2000 instances of repeat to exclude. Default null.

Repeating events use EITHER (Period and Frequency), OR ("Week of Month" and "Month Period")

Here are some Examples of input lines:

Using space as a field separator, European format:
15/01/2000 "This is event text" "This is \"popup\" text!" 05:10 14:30 1 green ff00ff private george Meeting
22/01/2000 Hello\ World,\ How\ Are\ You
13/01/2000 "This Repeats" "Every day until end of month" "" "" "" "" "" "" "" "" "" 31/01/2000
15/01/2000 Repeat\ 3 "Every third day until end of month" "" "" "" "" "" "" "" "" "" 31/01/2000 "" 3
01/01/2000 "Repeat other week" "Every other week until end of month" "" "" "" "" "" "" "" "" "" 31/01/2000 week 2
15/01/2000 "This is the 15th" www.cnn.com "" "" 1 yellow red unavailable "" SomeCategory IncludedFrom
Using comma as a field separator, USA format:
01/15/2000,This is event text,This is \"popup\" text!",05:10,am,2:30,pm,1,green,ff00ff,private
01/22/2000,Hello World\, How Are You
01/13/2000,This Repeats,"Every day until end of month",,,,,,,,,,,,01/31/2000
01/13/2000,This Displays Bannered,More Details,,,1,blue,white,,,,,01/31/2000,daybanner,