Yamm is a tool suite that allow you to do massive and scheduled data migration between Drupal sites.

It provides three packages, a client called yamm_client, a server called yamm_server and a common API package which is yamm_api.

Features

You can handle a list of clients, each client is a remote Drupal instance you want to synchronize. You associate them with profiles. Each profile is a container for a view list.
The core synchronization is based on these views, each object referenced by those will be synchronized, it's up to you to build the right views.

The synchronisation core algorithme uses a fully OO (Object Oriented) code. Which provide strong error handling using exceptions and a total abstraction for entities to synchronize.

This synchronization framework is able to construct large dependency tree between objects, and will allow the clients to automatically fetch the needed dependencies, even if you did not referenced them in views.

Right now, the core handle a short list of different entites, which are: