1

I am looking for a coded way of merging two nodes (of same type), with user interaction ("guided merge").

In my case,I made a simple contact manager. It imports (Feeds csv import) from, and exports (node export to CSV) to various sources, e.g. some social networks contact lists, webmail and thunderbird files. I want to manage the people data from there exclusively.

I use in first place a content type "person" with mostly simple text fields (e.g. name, email, phone, city).
As you might have encounterd, frequently there will be duplicate nodes, but one of them most of the time holds the more accurate info about the person.

So I am in need of a tool to:

  • Let me checkbox-click two nodes (from the generic view)
  • Show both nodes side by side
  • Let me choose one as master
  • Click "Go" to start the merging:
    • Merge automatically all new fields from secondary node into master
    • For fields with values in both nodes, show them both
    • Let me click, which one should be used and provide an prefilled form to edit the value
    • Submit the field value, then show the next field
    • Continue until the node is done
    • Save the updated master node, and delete the second node

My research until now has not shown results (discussions, modules) in that direction.

Do you have any hint on what to search for? Should I start a new module?

  • I don't think a module exists with this kind of functionality, not even close. But you could check the Diff module as there is probably code in there you could borrow. – Countzero May 21 '12 at 9:59
  • Start new module. – Nikit May 21 '12 at 11:31
2
+50

I have never heard of such functionality.

The first idea that comes to mind: Ctools has contexts for both Node view and Node edit. One could use such contexts to display two nodes side by side on a page, in either view or edit mode. With some custom form logic for picking, "left", "right" etc, on top; one could get very far in this.

Ctools also provides other niceties such as an object cache and a modal framework that could potentially be useful for developing this.

  • Thanks for that starting point. Had a quick look and will check further next days. – groovehunter May 22 '12 at 20:33
  • Currently there is no such thing. – ram4nd May 23 '12 at 13:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.