Hi Rik,
we have recently had a client using Revisioning 6.x-3.15 and Nodewords 6.x-1.13 with several Rules to "Publish new revision on node save" and "Prepare newly-approved node for next-revision automatic de-approval" and workflow vocabulary with the different states (awaiting moderation, approved, rejected, published)
By default, each new revision is created and pending moderation. Once it is approved, it gets published on node save.
If an editor changes the nodewords fields and just creates a new revision pending moderation, the changes appear without a problem once they get approved. However, if the revision is set to approved directly, any nodewords changes are lost.
I've traced it down to _revisioning_publish_revision() which invokes node_invoke_nodeapi with $op= 'update'. Setting $node_revision->nodewords = FALSE; same as $node_revision->pathauto_perform_alias = FALSE; fixes this problem.
On a bigger picture, what happens is:
- the node gets saved
- the nodewords changes get saved
- the new revision gets prepared (which involves a
node_load()which has the old nodewords) - the revision is saved and published, with the old nodewords
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | revisioning-nodewords-1866744-1.patch | 673 bytes | zerolab |
Comments
Comment #1
zerolab commentedAttaching a patch.
Comment #2
rdeboerWIll be include in 6.x-3.16 final release for D6.
Comment #3
rdeboerPatch applied to 6.x-3.x branch, ie. 6.x-3.x-dev snapshot.
Comment #4
zerolab commentedGreat to hear that. Thank you!
Comment #5
rdeboerThanks zerolab, that's another commit under your belt: http://drupal.org/user/354424/track/code
Sorry for my appalling delay...
Rik