— SENAITE.SYNC: Synchronization Solution to migrate data between two SENAITE instances
SENAITE.SYNC is a Synchronization Solution to migrate data between two SENAITE instances or from a BIKA instance to a SENAITE instance. Currently it only supports migration and not synchronization.
In order to get SENAITE.SYNC running properly both senaite.api
and senaite.jsonapi
are required in the source and destination instances. However, senaite.sync
is only required in the destination instance (where the data is to be imported).
To install SENAITE.SYNC, you simply have to add senaite.sync
into the eggs
section
of your buildout.cfg
:
eggs = ... senaite.sync
Once SEANITE.SYNC has been installed and the instance is up and running navigate to SENAITE SYNC's view by adding /sync
after the base url of the instance.
The migration process mainly consists of three steps.
- Prepare the two instances involved in the synchronization process
- Connect to the source instance and fetch its data into the destination instance. By the end of this step the destination instance will know which are the objects from the source instance that have to be created and its relations.
- Import the data. This is the step that creates, in the destination instance, the objects from the source instance and its relationships.
Note: The source instance can still be used while the migration is being done. However, if objects are created or modified while running steps 2 or 3 then a complementary step should be run. This extra step will only import the objects that were created or update the ones that were modified. During this complementary step it is really important that no objects are created or modified in the source instance.
We want contributing to SENAITE.SYNC to be fun, enjoyable, and educational for anyone, and everyone. This project adheres to the Contributor Covenant. By participating, you are expected to uphold this code. Please report unacceptable behavior.
Contributions go far beyond pull requests and commits. Although we love giving you the opportunity to put your stamp on SENAITE.SYNC, we also are thrilled to receive a variety of other contributions. Please, read Contributing to senaite.sync document.
SENAITE.SYNC Copyright (C) 2018 Senaite Foundation
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
SENAITE.SYNC uses third party libraries that are distributed under their own terms (see LICENSE-3RD-PARTY.rst)