Using the Add-on

Installation

After you’ve installed the add-on both on all of your instances, you need to configure a link between them. On the instance that is going to accept syncing data, go the add-on settings page, tick the “Allow this instance to receive synchronization data” checkbox, and copy the security key that will be generated. Do not forget to save the configuration by pressing the “Save” button.

For the sync add-on to be able to connect to the remote instance, the instance has to be available through the public internet.

On the side where you want the data to be send from, go to the Sync page, and press “Add target”. Targets are the remote instances, configured to receive syncing data.

To create a target, enter the name you want it to have, the address, and insert the key. If you are using basic HTTP authentication enter the credentials for that. Save.

Now the add-on is configured and ready to sync. Before you start the synchronization, please read through the following sections of the documentation.

Before Synchronization

Mainio Sync focuses only on synchronizing the data stored in the database for your sites. This is because there are already plenty of good tools for synchronizing the code of the websites and we do not want to reinvent the wheel with that part of the process.

This means that there are a couple of things you need to make sure before you can synchronize data between the instances. Basically you need to make sure that the target instance’s (importing end) state matches the local instance (exporting end). To do this, go through the following steps:

  • Make sure that the concrete5 core version matches between the instances.
  • Make sure that all code files (including your theme files, packages, application files) between the instances match with each other. You do not need to care about the “application/files” folder since the files in there are synchronized by the add-on.
  • Make sure all the same add-ons (packages) are installed on both instances.
  • Make sure all the same block types are installed on both instances.
  • Make sure all the same themes are installed on both instances.

If you forgot to go through any of these steps, do not worry. They are only meant to make the process faster for you. In case you missed any of these, Mainio Sync will report the issues before starting the importing process.

We enforce these prerequisites for the synchronization process because they are extremely important in the data updating process. For example, if you changed an attribute of a page and that attribute type is not installed on the remote machine, it would be impossible to synchronize this change to the remote machine and therefore you might end up having the remote machine in an unexpected state after the synchronization completes. We also want to enforce you to make sure the codebases are in sync before starting with the data synchronization which is another reason we go through these steps.

Remember Backups!

With any tool that handles your site’s data, it is a good idea to be safe for any possible failures during the synchronization process. We do not take any responsibility in case the synchronization process messes up with your content in an unexpected manner. We of course fix problems as they occur but in case something goes terribly wrong, it might not be possible to fix that through an add-on update since we are dealing with the site’s own data.

We try to keep the instances safe from possible import failures by creating new versions of the pages and files that we synchronize. Therefore, theoretically you should be able to revert to the previous versions in case something goes wrong or unexpected during the synchronization process. However, everything is possible with technology and you should always be prepared for the “worst case scenario”.

So, in case you do not already have an existing and foolproof backup strategy for your website, for the love of god, please take backups on the importing end before running the synchronization process. And using the same time it would take to create this single database backup, please setup a proper backup strategy for your website in order to be safe in the future as well.

A technical tool can mess up your pages the same way as a real person can. Therefore, you should be prepared for anything.

Synchronization Process

To start the synchronization process, go to the Sync page at the Dashboard of your local instance. Choose the direction of syncing (push or pull) and the pages you would like to sync. In case you want to synchronize multiple pages or the whole tree, click the sitemap with the right mouse button to see more options to select multiple pages at a time.

Finally, press the “Synchronize” button to start the process. A popup will appear that shows you the progress status of the synchronization process.

 

Please continue to read other parts of the documentation:

  1. Using the Add-on
  2. Security
  3. FAQ / Possible Issues
  4. Programming Tips
  5. Additional Information