[support] node and term reference fields can lose data without warning in multilingual sites

Micheal Cooper cooper.me at gmail.com
Thu Apr 19 22:12:12 UTC 2012


There is a dangerous Catch-22 in D7 for multlingual sites. You can easily
and silently lose your tagging and node references depending on what lang
you are in when you edit a node. JA=Japanese, and EN=English.

The Catch-22:

  1. Start in EN interface.
  2. Add Content > News.
  3. Fill in info, setting lang=EN and assigning node and term references.
Only EN and neutral items are available, which is expected.
  4. Save.
  5. The user is sent to node view of
http://www.mydomain.com/press-room/news/2012/4/20/title
  6. Click Translate.

The translation begins with copies of the English content, including the
Term and Node references, but the nodes are to English. You cannot select
the JA nodes to reference because you are in EN interface. You must
manually alter the URL to switch to JA interface and then manually delete
text like "[nid:3579]" that appears in the node reference fields before
replacing them with their JA counterparts.

If you have Term Reference fields that pull from Translated taxonomy Terms,
it is even more dangerous, because if you open a Japanese node or editing
when using the English interface of the site, the Terms are silently
deleted from the Term Reference fields. If you save, you will delete all
your tags without ever having received a single warning.

In other words, the node and term reference fields in the Edit screen are
filtered according to the language of the user interface, not the language
of the node being edited. The result is that editing a node of Language=A
from the user interface language=B wipes out Language=A node and term
references.

Suggestions:

A. The system should either switch the user interface to the language of
the content when editing a node OR filter the node and term reference
choices by the lang of the node, not the user interface.

B. Also, it would be convenient if, when the system creates the translation
node and copies over the source language content, it pulls in the paired
translation items of the referenced nodes and terms and puts them into the
new translation node instead of the other-language originals. However, this
is clearly a "nice-to-have" and would probably cause problems of its own
when there is no translation of a node or term, etc., so B should be left
to the future.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/support/attachments/20120420/82c1fc4f/attachment.html 


More information about the support mailing list