I see this module being extremely useful in content synchronization - are there any modules out there yet that integrate UUID matching?

I was thinking of extending Node Export/Import to support this. When a node is imported, instead of automatically assigning a new NID, search for an existing UUID and if it exists, save the node with that NID instead.

That way you could create a bunch of content on a development site and export it to a live site - which would assign new NIDs (probably) but retain the UUID.

The next time you do an export/import - the NIDs wont change, and node export/import will update the existing node.

I want to just mention nodereferences by UUID too, but that may be out of scope for now :)

Comments

djdevin’s picture

karens’s picture

See http://drupal.org/project/uuid_features for one idea, wrapping the content in a feature for deployment.

gdd’s picture

Deploy module (http://drupal.org/project/deploy) has been doing content synch this way for quite a while and is in production on several large scale drupal installations. We are not currently using UUID module but I plan to modify it to use this module rather than our own very similar implementation.

recidive’s picture

Yes UUID works great for content synchronization.

What's the purpose of this issue? For people to tell if they are working on a import/export api that uses UUID?

Can we close down this issue? This looks more like a support request for me.

Maybe an issue should be filed to node import/export module to rely on UUID for content matching?

istryker’s picture

Component: Code » Documentation

@recidive, this is a feature request. I would change it to won't fix and close this. I would then add more information on the homepage on what modules are currently depended on this (uuid_features, node_export with patch #846692.) Optionally I would add an extra comment here that if anyone wants to add a new module to the list then they should contact you directly on your user form

@djdevin I think, you need to convince node_export to support this module, not uuid to support node_export. This module is simple, lets keep it that way.

danielb’s picture

I am the maintainer of Node export and am considering making UUID a compulsory dependency in future releases - even if no UUID is required for the functionality required by a particular installation. The reason is that UUID could be used to workaround various issues in the future, and it would be good to have UUID's ready in the database for when those features are added to Node export.

Djdevin has suggested a patch, but I think we'll need something more complex to cover the issues that have been raised.

The only outstanding issue with this is that UUID is not available in Drupal 7 yet, and I am developing the D6/D7 versions simultaneously.

danielb’s picture

I have implemented UUID for various things in Node export, FYI. Various user contributed patches have also relied on UUID for node matching. In the future I imagine the reliance on UUID will increase even further. If UUID is installed, Node export will ensure a UUID is generated for that node prior to export, so that future operations on that node can support UUID functionality. I have temporarily removed UUID as a dependency upon user requests because UUID is not yet stable, but that will eventually put back in.

dixon_’s picture

Version: 6.x-1.x-dev » 7.x-1.x-dev
Status: Active » Fixed

I'm gonna close this one, since the functionality for mapping UUIDs and IDs exists. There's even a save function (entity_uuid_save()) that will save a UUID converted entity for you. The Deploy module is using this functionality.

This functionality is probably not going to be backported to Drupal 6, so I'm moving this to D7 and marking as fixed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.