HappenBoard can copy your events from The Events Calendar, Events Manager, Sugar Calendar, EventKoi and Amelia. Your old plugin’s data is only read, never changed or deleted.
The old plugin does not need to be active. HappenBoard reads its data straight from the database, so you can deactivate it first, check your site, and migrate when it suits you.
Before you start
- Back up your site. A migration creates many posts at once.
- Sign in as an administrator. By default, only administrators can run a migration.
- Keep the old plugin’s data. Deactivating the plugin is fine. Deleting it with an option that wipes its data is not.
Run a migration
- Go to HappenBoard → Settings → Migration. The same screen is step 3 of the setup wizard.
- Under Import your events, click the plugin you are leaving. Each row shows how many events it holds.
- Read the Available in the source table: what HappenBoard found in that plugin and can copy, such as events, venues, categories and attendees.
- Click Preview (dry run). HappenBoard goes through everything and writes nothing.
- Check the result table. It has one row per type of content, with Would create, Skipped and Failed columns. If something failed, open the error list under the table (for example View 3 errors) to see which record and why. An event that comes in with part of its repeat pattern missing is listed under the warnings (for example View 2 warnings), and so is an Events Manager booking that could not be placed on a date.
- Click Migrate for real.
- Leave the tab open until the progress bar finishes. Events are copied 50 at a time so a large calendar does not hit your server’s time limit.
Categories, venues and organizers are copied first, so each event can be linked to them. Attendees come last. To pick another plugin, click Choose a different source.
A first preview counts 0 attendees to create (and 0 venues for EventKoi). They are attached to events that only exist once the real run has created them, and the real run copies them.
What comes across
| Plugin | What is copied |
|---|---|
| The Events Calendar | Events, venues, organizers, categories, and the attendees of Event Tickets: RSVPs, PayPal tickets and Tickets Commerce tickets. Each ticket is one seat, and one person’s tickets for an event come in as one attendee with that many seats. An RSVP answered Not going comes in as Declined. A ticket whose order was refunded or never completed comes in as Cancelled. The others come in as Going. |
| Events Manager | Events, locations (as venues), categories and bookings (as attendees). An approved booking comes in as Going. A booking still waiting for your approval or for a payment comes in on the Waitlist, and so does a booking on Events Manager’s waitlist: it holds no seat until you move it to Going. When Approval Required? is set to No in Events Manager, its pending bookings count as approved and come in as Going. A rejected or cancelled booking, or a waitlist place that expired, comes in as Cancelled. |
| Sugar Calendar | Events and categories. Attendees need Sugar Calendar Pro and are not copied. |
| EventKoi | Events, calendars (as categories), locations (as venues) and RSVPs, guests included |
| Amelia (events) | Events only, not appointments: locations, tags (as categories) and bookings |
Every event keeps its title, description, dates and status: a draft stays a draft. All-day events stay all-day, and featured images come across from The Events Calendar, Events Manager and Sugar Calendar. Categories stay attached to their events even when the old plugin is deactivated.
Organizers come only from The Events Calendar. Times are read in your site’s time zone, so an event the old plugin saved in another time zone keeps its clock time (19:00 stays 19:00).
An Amelia event with several periods becomes one HappenBoard event per period, with the date added to the title. Its bookings stay attached to the right date.
With HappenBoard Pro active, a migration from The Events Calendar also brings over the Additional Fields of Events Calendar Pro. They become custom fields, with their values.
Recurring events
Repeating events become repeat rules for three sources:
- The Events Calendar: the first rule of an Events Calendar Pro series.
- Events Manager 7 and later: its Recurring Events and its Repeating Events.
- Sugar Calendar.
A series that ends on a date keeps its last date. Each date keeps its length, even one that runs into the next day, such as Friday 10:00 to Saturday 16:00. A pattern HappenBoard cannot express, such as a list of hand-picked dates, comes in as a single date.
EventKoi series and series from Events Manager 6 or older also come in as one date (the first). Update Events Manager to version 7 before you migrate: it turns its older series into Repeating Events, which come across as series. Rebuild the others by hand afterwards.
A date you excluded from an Events Calendar Pro series comes in as a skipped date, so it stays off your calendars and lists. The same goes for the dates you picked under Unavailable Dates in an Events Manager series. If such a date has its own hours, the event is skipped that day only when its hours overlap them, as in Events Manager. Exclusions that repeat, such as “every Monday”, are not copied.
A booking made in Events Manager for one date of a series goes on the same date of the HappenBoard series. A booking for a date the imported series does not have is not copied. That happens with the dates of a second Event Dates block, or when the series came in as one date. The warnings list each of these bookings with the person, the event and the date.
For The Events Calendar and Events Manager, the result names each series that lost part of its pattern. That can be its other rules, its exclusions that repeat, or the whole pattern when it came in as one date. In Events Manager, the other rules are the Event Dates blocks added after the first one. Open the warnings after the preview to see which series to check after the real run.
Run it again
Running the same migration again is safe. Every imported event, venue and organizer remembers where it came from, so a second run skips it instead of duplicating it. A category with the same slug is reused.
An attendee already Going or on the Waitlist with the same email for that event is skipped. A cancelled booking or ticket, or a Not going answer, is skipped as soon as the person is already an attendee of that event, whatever their status. If someone has several bookings or answers for the same event, only one comes in: the Going one if there is one.
In a series, these checks are made date by date. An attendee you cancelled in HappenBoard while they are still Going in the old plugin is not skipped: the next run imports them again.
After a real run the button becomes Run again. You can add a few events in the old plugin and migrate again. If you moved an imported event to the trash, the next run imports a fresh copy of it.
After the migration
- Check your new events on the Events screen and on the admin Calendar.
- Coming from Events Manager, open the Waitlist tab of the Attendees screen. Mark as Going the bookings you approve or that have been paid.
- Replace the old plugin’s calendar on your pages with HappenBoard’s blocks.
- Deactivate the old plugin when you are satisfied. HappenBoard never deactivates or deletes it for you.
Extra fields the old plugin stored in its own way do not come across, apart from the Events Calendar Pro case above.
If your plugin is not on the list
Export a calendar file (.ics) from it. Then use the Import from a file row on the same screen, as described in importing an .ics file. You can also build a spreadsheet and use the CSV importer under Settings → Tools.
If something goes wrong
- The plugin is not listed: its events are no longer in the database. The screen then names the five supported plugins and offers the file import.
- Some attendees failed: an attendee without a valid email address cannot be imported. The error list names each one.
- An event from The Events Calendar or Events Manager is listed under the warnings: HappenBoard keeps one repeat rule per event, and copies only the exclusions of a single date. Check that event’s dates after the real run. Add the missing dates as separate events, and with HappenBoard Pro, skip the dates the old plugin excluded.
- An Events Manager booking is listed under the warnings: it was for a date the imported series does not have, so it was not copied. Add that date as a separate event, as above, and contact the person.
- An EventKoi RSVP is reported for a date that was not imported: only the first date of an EventKoi series is copied, so the RSVP is added to that date.
- The result says the run stopped before the end of the source: click Continue to carry on from where it stopped. What was already copied is kept.
Next steps
- Importing an .ics file: when your events come from Google, Outlook or Apple Calendar.
- CSV import/export and settings backup: add events in bulk from a spreadsheet.
- Using WP-CLI: run The Events Calendar, Events Manager and Sugar Calendar migrations from the command line.