Menu

#11447 Migration to a new site

Parent Category:
DPCalendar
Category:
Installation, updates and upgrades
Last Updated:
Allon Moritz, Thursday, 20 February 2025 08:15
Created:
Thursday, 20 February 2025 07:21
Hits:
742

Introduction

In some cases a website needs to be built from scratch, it is often the case when a Joomla 3 site should be lifted to the latest version. This article highlights a couple of strategies how you can migrate your DPCalendar data to a new Joomla site. Keep in mind, only the advanced level can copy all data, the others only events. Plugins and modules need to be installed and configured in an extra step afterwards and can't be migrated with the following strategies. All these possibilities do require, that the latest version of DPCalendar is installed for a specific Joomla major version:

  • Joomla 3.10.x -> DPCalendar 8.19.x
  • Joomla 4.4.x -> DPCalendar 9.2.x
  • Joomla 5.x.x -> DPCalendar 10.x.x

Level easy: Ical import

The Ical plugin import is intended to be used on simple sites with no bookings, hosts or other special features an Ical file can't provide. It imports all the events, without any filtering possibilities. Every calendar in DPCalendar can be accessed by an ical url as documented in Subscribe to calendars. These urls need to be added to the ical plugin. It is not required that both sites have the same DPCalendar version installed. The following steps will help to migrate the events:

  • Install DPCalendar Core and the ical plugin on the new Joomla site
  • Add for every calendar in the old site a new calendar in the ical plugin with an url like "http://{old site}/component/dpcalendar/?task=ical.download&id=xx" (xx is the id of the calendar)
  • In the back end of DPCalendar, go to "Tools -> Import" and select the calendars you want to import with the given time range
  • Hit the import button
  • Adjust the calendar permissions if required for every calendar

A side note: The same procedure can be used for more plugins like CSV, Spreadsheet or CalDAV as DPCalendar has export and import capabilities for all these plugins.

Level intermediate: SQL import

If the new Joomla site has access to the database of the old site, then the SQL plugin plugin can be used. It is intended to be used on simple sites with no bookings, hosts or other special features. Some basic SQL knowledge is required, but it offers the full potential of the SQL syntax for filtering or joins. It is not required that both sites have the same DPCalendar version installed. The following steps will help to migrate the events:

  • Install DPCalendar Core and the SQL plugin on the new Joomla site
  • Setup one calendar which imports all events into one calendar or multiple ones when you want to have the event data separated
  • In the back end of DPCalendar, go to "Tools -> Import" and select the calendars you want to import with the given time range

Level advanced: Copy the database tables

Coping the database tables from one site to the other requires access to the database, either on the command line or tools like PHPMyAdmin. It is very important that you have on both sites the same DPCalendar version installed, because of the database structure. This is the only way to migrate all the data like bookings, tickets, hosts or locations. The following steps will help to migrate all the data:

  • Install DPCalendar Core on the new Joomla site
  • Create for every calendar in the old site a new one on the new site in Joomla itself, this is required because the assets and ordering can not be migrated
  • Export the database tables which start with "dpcalendar_" from your old database into a file either through:
    • PHPMyAdmin
    • mysqldump "mysqldump -uroot yourdatabase -t dpcalendar_events -t dpcalendar_locations -t xxx > dump.sql" with the -t argument need to be added all tables
  • Delete the DPCalendar database tables on the new site
  • Import the DPCalendar tables on the other database with the same tool the export is done
  • Adjust the catid field in the dpcalendar_events table to the new calendar id with a query like "UPDATE dpcalendar_events SET catid=122 where catid = 33;" (the value 122 needs to be replaced with the calendar id on the new site, while the value 33 is the one from the old site)

Comments (0)

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.