Yet another migration module

Primary tabs

Yamm project is a module suite that allow you a client/server mass content synchronization.

This module was inspired by the Deploy module. It is able to synchronize any type of data as long as the implementation exists. It does only Drupal to Drupal data synchronization.

UI allows to create a series of clients and synchronization profiles. A synchronization profile is defined by a list of views. Each view must return a list of object identifiers.
Each client can be activated or suspended state. This state will be used for scheduled push orders.

Module status

New version coming

This new version got rid of old and nearly unmaintened DataSync module, and now uses the lightweight and generic PHP CLI daemon module to ensure migrations goes to CLI. This has loosed the transactional aspect of the migration, but it will come back.

Extensibility

Any module can define it own entities. the only limitation is that the entity type must not be defined by core or any other enabled module. If entity exists, you can use a hook, which is launch at various execution moments (both load and save time) so you can alter the sent data.

Status and caveat

At this point, we can't check views are built on what we are waiting. This is why you have to be careful when creating it.
We define not that much entities per default. Supported ones are vocabulary, term,node, content type and user.

Note that you can only synchronize entities that relies on a views module base_table. Some module does not provide base_table, but you can use them as dependencies (which is the case for vocabulary in core framework).

Additional notes

Yamm entities are not the same as you can see in Drupal 7 core. In fact, the concept is exactly the same, and both are linked. If this module goes to D7, I will pledge that this module will use intensively this core feature.