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.
TL;DR (Too Long; Didn't Read version)
A quick and easy way to archive calendars is to:
- Use File Menu > Export to save calendars to be exported as .ics
- Next, use File Menu > Import to import these .ics files and create a new "On My Mac" calendar for them when prompted
- Delete the original calendars when done
Detailed Version
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 want to archive or delete. In addition, you must uncheck all 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).
- All calendars that appear under the Other heading (such as Birthdays, Anniversaries, subscriptions and Holiday calendars).
2. Display a Decade Date Range in List View
In List view, click the pop-up menu 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 the past events you want to archive or delete (e.g., 2007–2016).
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 hides events that match the following criteria:
- start date is after the date mm/dd/yyyy — Events with a start date after this date are hidden, 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 are hidden because deleting them would cause future repeating events to be deleted too.
- is meeting — Meetings are hidden because deleting them would send out meeting cancelation or rejection notices to attendees and organizers.
- event type is undated to do — Undated to dos are hidden; only events with dates are shown.
Name the Smart Filter "Archive" and click OK to save the Smart Filter and invoke it. List view then displays 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 navigation arrows to scroll a year at a time to make sure the date range spans all the past events you want to archive or delete (e.g., 2003-2012).
At this point, you can either delete all the old events, or archive them by moving them to a local calendar.
- If you want to delete the old events, go to step A.
- If you want 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. Delete Old Events
To delete all the old events that are currently being displayed, do the following:
- Choose Edit > Select All (or press ⌘-A) to select all the events in the list.
Press Delete to delete all the selected events.
WARNING: This permanently deletes all the selected events and cannot be undone!
Wait for BusyCal to finish syncing with your server (e.g., iCloud or Google) while it deletes the old events. Be patient, as it may take a while.
B. Archive Old Events
You can archive the old events by moving them to a local calendar, as follows:
- Create a new local calendar by choosing File > New Calendar > On My Mac, and name it “Archive.”
- Choose Edit > Select All (or press ⌘-A) to select all the events in the list.
Control-click one of the events and choose Calendar > Archive from the contextual menu. This moves all the selected events to the new local Archive calendar.
WARNING: This permanently moves the events to the new local Archive calendar and cannot be undone!
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 can leave the local Archive calendar in BusyCal, or you can export it for safekeeping and then delete it from BusyCal. If you want 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 a .ics file to your Desktop.
- After exporting the file, Control-click the Archive calendar in the left sidebar and choose Delete from the contextual menu.