Archiving Old Events
If you've accumulated a lot of data in your calendar over the years, it might be useful to remove old events to reduce the size of your calendar database, improve performance and speed up syncing with a cloud service such as iCloud or Google.
With BusyCal's List View and Smart Filters you can quickly display a list of old events to archive or delete. Here's how:
1. Select the calendars to archive
In the left sidebar, check each of the calendars that contain events that you wish to archive or delete. In addition, you must uncheck all of the read-only calendars since you cannot delete events from a read-only calendar. These include:
- Any shared calendars that are read-only (a crossed-out pencil icon appears next to the calendar name).
- The Birthdays and Anniversaries calendars that appear under the CONTACTS heading.
- All calendars listed under the SUBSCRIPTIONS heading.
2. Display a Decade date range in the List View
In the List View, click the popup that appears in the upper left corner and set a date range of Decade. Then, click the white inner navigation arrows to scroll a year at a time until the date range spans all of the past events you wish to archive or delete (e.g. 2003-2012).
3. Create an Archive Smart Filter
Create a smart filter that displays old events that match certain criteria, by choosing Filter > New Smart Filter, and selecting the following options:
This Smart Filter will hide events that match the following criteria:
- start date is after the date mm/dd/yyyy — events with a start date after this date will not be shown, so that only old events prior to this date are shown. Enter an end date for the events you want to archive (e.g. all events prior to 1/1/2012).
- is repeating — repeating events will not be shown because deleting them would cause future repeating events to be deleted too.
- is meeting — meetings will not be shown because deleting them would send out meeting cancelation or rejection notices to attendees and organizers.
- event type is undated to do — Undated To Dos will not be shown; only Events with dates will be shown.
Name the Smart Filter "Archive" and click OK to save the Smart Filter and invoke it. The List View will then display only events that match the Smart Filter criteria.
4. View old events in List View and prepare to archive or delete them
Once the Smart Filter is applied, use the white inner navigation arrows to scroll a year at a time to make sure the date range spans all of the past events you wish to archive or delete (e.g. 2003-2012).
At this point, you can either delete all of the old events, or archive them by moving them to a local calendar.
- If you wish to delete the old events, go to step A.
- If you wish to archive the old events, skip to step B.
Note: If you have a really huge calendar, you may want to display a date range of a Year and perform the steps below for each year one at a time.
A. Deleting old events
To delete all of the old events that are currently being displayed, do the following:
- Choose Select All from the Edit menu (or type Command-A) to select all of the events in the list.
- Press the delete key to delete all of the selected events. WARNING: This will permanently delete all of the selected events and is not undoable!
- Wait for BusyCal to finish syncing with your server (e.g. iCloud or Google) while it deletes the old events. Be patient, it may take a while.
B. Archiving old events
You may archive the old events by moving them to a local calendar, as follows:
- Create a new local calendar by selecting File > New Calendar > On My Mac, and name it "Archive".
- Choose Select All from the Edit menu (or type Command-A) to select all of the events in the list.
- Control-click on one of the events to display the contextual menu and choose Calendar > Archive. This will move all of the selected events to the new local Archive calendar. Warning: This will permanently move the events to the new local Archive calendar and is not undoable!
- Wait for BusyCal to finish syncing with your server (e.g. iCloud or Google) while it moves the events from the server and to the local calendar. Be patient, it may take a while.
The events on the Archive calendar are now stored locally and are no longer syncing with the server, which should speed up syncing with the server. You may leave the local Archive calendar in BusyCal, or you can export it for safe keeping and then delete it from BusyCal. If you wish to export and delete it, here's how:
- Select the Archive calendar in the left sidebar.
- Choose File > Export, and save the Archive calendar as an ics file to your Desktop.
- After exporting the file, control-click on the Archive calendar in the left sidebar and choose Delete, to delete the calendar from BusyCal.