Hello,

I have created one web form and exported it in features using uuid_node. It is showing me in production as a overridden feature. I have reverted components still it's showing me as a overridden feature. But the web form is also created in production.

Does any one know why this thing happen? Could any one please tell me if I am doing something wrong here?

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

saltednut’s picture

Can you install the diff module to see what is overridden?

saltednut’s picture

Status: Active » Postponed (maintainer needs more info)
chriskinch’s picture

I am also having this problem so I thought I'd post my diff here.

What appears to be happening is the webform is being created with whatever is the next available nid in numerical sequence. However if that nid doesn't match the one from say your development environment (or just in the feature file) then the feature appears as overridden and cannot be reverted.

DEFAULT	OVERRIDES
UUID_NODE
Line 113	Line 113
 	
'mandatory' => 1,
 	
'mandatory' => 1,
 	
'name' => 'Name of company',
 	
'name' => 'Name of company',
-	
'nid' => 22,
+	
'nid' => 10,
 	
'page_num' => 1,
 	
'page_num' => 1,
 	
'type' => 'textfield',
 	
'type' => 'textfield',
Line 125	Line 125
 	
'form_key' => 'address_email',
 	
'form_key' => 'address_email',
 	
'name' => 'Address/Email',
 	
'name' => 'Address/Email',
-	
'nid' => 22,
+	
'nid' => 10,
 	
'page_num' => 1,
 	
'page_num' => 1,
 	
'type' => 'textfield',
 	
'type' => 'textfield',
Line 138	Line 138
 	
'form_key' => 'customer_being_entered',
 	
'form_key' => 'customer_being_entered',
 	
'name' => 'Customer being entered',
 	
'name' => 'Customer being entered',
-	
'nid' => 22,
+	
'nid' => 10,
 	
'page_num' => 1,
 	
'page_num' => 1,
 	
'type' => 'textfield',
 	
'type' => 'textfield',
Line 151	Line 151
 	
'form_key' => 'uk_launch_date',
 	
'form_key' => 'uk_launch_date',
 	
'name' => 'UK launch date',
 	
'name' => 'UK launch date',
-	
'nid' => 22,
+	
'nid' => 10,
 	
'page_num' => 1,
 	
'page_num' => 1,
 	
'type' => 'textfield',
 	
'type' => 'textfield',
Line 167	Line 167
 	
'form_key' => 'customer_or_vendor',
 	
'form_key' => 'customer_or_vendor',
 	
'name' => 'Are you a customer or vendor',
 	
'name' => 'Are you a customer or vendor',
-	
'nid' => 22,
+	
'nid' => 10,
 	
'page_num' => 1,
 	
'page_num' => 1,
 	
'type' => 'select',
 	
'type' => 'select',
Line 173	Line 173
 	
),
 	
),
 	
),
 	
),
-	
'nid' => 22,
+	
'nid' => 10,
 	
'record_exists' => TRUE,
 	
'record_exists' => TRUE,
 	
'redirect_url' => '<confirmation>',
 	
'redirect_url' => '<confirmation>',
chriskinch’s picture

Issue summary: View changes
Status: Postponed (maintainer needs more info) » Active

Setting to active now more info has been supplied.

saltednut’s picture

This has to do with how the webform is being exported. You wouldn't want the NID hardcoded at all. Probably what would need to happen to make this cleaner would be to change how the nodes get exported with the extra webform component, leaving out the actual NID. In this use case, versioning the NID is useless and could actually create serious problems. Thats why we have the UUIDs in place. Anyway, there's really nothing wrong here, its just an annoyance. If you want to write a patch that changes how uuid_features exports webform components attached to nodes, we can review it.

zengenuity’s picture

There is a patch for webform that fixes this issue: https://drupal.org/node/2076483

Apply the patch, enable the new Webform UUID module and re-export your features.

torotil’s picture

We could simply remove the nid field from all components. They are ignored on import (via node save) anyway.

torotil’s picture

Version: 7.x-1.0-alpha3 » 7.x-1.x-dev
Category: Support request » Feature request
Status: Active » Needs review
StatusFileSize
new999 bytes

Here is a patch adding a webform integration.

torotil’s picture

Status: Needs review » Needs work

Todo

  • Remove nids from emails.
  • Remove nids from conditionals.
  • Add dependencies on modules providing webform components.
torotil’s picture

StatusFileSize
new1.41 KB

Still couldn’t find out how to add dependencies in the alter hook. But this should clean out all superfluous IDs.

torotil’s picture

StatusFileSize
new1.44 KB

Found another one. This also removes $node->webform['nid'].

torotil’s picture

Status: Needs work » Needs review
StatusFileSize
new1.89 KB

Ok next update: One more nid removed and dependencies for the webform components are added.

I think it’s final ;-)