Closed (works as designed)
Project:
Workflow
Version:
6.x-1.x-dev
Component:
Code
Priority:
Major
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
8 Jun 2009 at 06:59 UTC
Updated:
3 Oct 2011 at 18:15 UTC
Adding a translation creates a new node in the target language that is not properly tied to the original source node. Specifically, the source node’s tnid-field is not set, preventing the translated and the original version from showing up as localized version of the same content.
This finding is from one of the feedback (but he was using Workflow module instead).
Would this issue goes here or Rules/Workflow?
Comments
Comment #1
hass commentedPlease try out if this is fixed by http://drupal.org/cvs?commit=250744
Comment #2
zorp commentedI have the very same issue using workflow module, the moment I disable the workflow from my content type translation ties are save perfectly.
I have installed dev branch with the above mentioned fixes, but it is still the same issue... workflow module somehow kick in and prevent the new node from being tied to the source node. My workflow setting is simple unpublish, save post and publish, save post triggers.
Comment #3
digitaldonkey commentedSame Issue!
I switched the rule to "Content is going to be saved" which helps out of the worst.
Comment #4
Rob_Feature commentedThis is really a duplicate of #583666: workflow & i18n: when translating nodes, node are not binded together and really should probably be filed against the Rules module since the save action is part of rules, not workflow. Retitling, marking as major since it means we can't really use rules and i18n content translation together, and marking as bug report since it sure seems like this shouldn't be an issue.
Is this issue the same when using actions.module? (I haven't tested that)
Comment #5
fagoI do not see what Rules should be doing wrong. Please explain.
Comment #6
Rob_Feature commentedTo see the problem follow these steps:
My testing shows that this is rules related, but at this point it COULD be workflow OR rules related because:
My testing (and another tester) are showing that it's probably happening during node save/publish which makes it a rules issue. I'm still open to it being a Workflow problem but not sure how to confirm that.
A note: The above steps seem like a lot which may lead anyone not using workflow and i18n regularly to think "this is really an edge case!" but it's not...the setup above is a pretty standard use of workflow and i18n...it just has alot of setup steps.
Anyone else care to chime in on this?
Comment #7
Rob_Feature commentedI just did some testing on a fresh install and am not getting this same issue. Hmmm....can anyone else confirm the problem of saving the relationship between translated content? It would be helpful to find a module that's causing this. (maybe not Rules?)
Comment #8
Rob_Feature commentedJust another note...this only happens during node insert, not during update. If you alter the workflow states after content is created, it stays linked to the original translation node.
Comment #9
Rob_Feature commentedMoving this issue over to Workflow module because I think I've confirmed that's where the problem is...it has something to do with the Workflow module's provided rules.
To determine this, I did this:
So, the common denominator between my 'real life' rules and my test rules that failed was the Workflow module rule: "workflow state has changed". I believe this is where the problem lies....
Note that this still doesnt account for a previous comment where I found that this didn't happen on a fresh installation...that has me really stumped, and I'd love to hear other people's results
Comment #10
nw commentedI was seeing a similar problem with Workflow, Translation & Trigger (not i18n nor rules) in a 6.19 site. I found that an upgrade of core fixed this. In particular, the fix is in #357785 "retain the tnid value for new nodes saved, so the node object reflects the database" which was committed (into 6.20) on Wed, 15 Dec 2010.
--- a/modules/translation/translation.module
+++ b/modules/translation/translation.module
@@ -227,6 +227,7 @@ function translation_nodeapi(&$node, $op, $teaser, $page) {
db_query("UPDATE {node} SET tnid = %d, translate = %d WHERE nid = %d", $tnid, 0, $node->translation_source->nid);
}
db_query("UPDATE {node} SET tnid = %d, translate = %d WHERE nid = %d", $tnid, 0, $node->nid);
+ $node->tnid = $tnid;
}
break;
Comment #11
Rob_Feature commentedConfirmed that this was fixed by upgrading to a version of drupal past 6.20 (found the site I was using was on 6.18). Closing this issue, marking as 'works as designed'