Hi,

We are using Wetkit 4.5. (soon to be Wetkit 4.6.) and Wetkit Deployment.

When adding links to the Megamenu (Insert menu) the system stores the local system path (.../taxonomy/term/1353).

However Taxonomy tid's are not always the same in the source and target environments.

How can we get around this issue?

CommentFileSizeAuthor
#11 megamenu_system_path-2723471-11.patch616 bytessylus
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

fgjohnson created an issue. See original summary.

sylus’s picture

I assume this is for a deployment workflow?

If so you should always use UUID's. In this case instead of TID's you would use UUID contexts where possible.

Both views + panels context can take UUID arguments instead of tids so will work across environments.

sylus’s picture

This was talked about a bit over: https://www.drupal.org/node/2636504

sylus’s picture

Category: Bug report » Support request
joel_osc’s picture

I think the issue is that when you create a menu link it is of the form node/[nid]... and then it deploys the prod exactly as it is in auth and the menu link may or may not point to the correct node.

sylus’s picture

I thought this was what Entity Menu Links works around. It makes sure that menu links get deployed via UUID not NID.

shawntremere’s picture

joel_osc is correct in his description of the problem. We haven't noticed the problems with Node Ids, it has been with taxonomy Ids as there are several that have different IDs on auth and prod. Entity Menu Links is currently installed but does not appear to be working as suggested.

sylus’s picture

I am still a bit confused about this, can you give a quick reproducible scenario that I can check out to confirm this behavior? Again no step too small to list. :)

It was mentioned that there is no issue with node/nids in the menu path but there is with tids in the menu path? Just wanted to confirm.

A reproducible scenario can start from the assumption that there is a base drupal wxt source + dest site already configured.

Basically what terms + menus need to be added and in what order so that can I reproduce this problem in its most simplest base case.

Thx a bunch!

shawntremere’s picture

Here is a rundown of our situation.
Add a menu link /en/admin/structure/menu/manage/megamenu/add
The path field can only be saved as a drupal path (taxonomy/term/2159), you can't use an alias, or uuid for that matter.
We are adding the link on the authoring server. So the mega menu link gets deployed to production, and when you log in you can look at the menu link as see the path is:taxonomy/term/2159. The problem is that the term 2159 on authoring is Regulations, Permits and Licensing (for example) and is Business Basics and Financing (for example) on Production so the link is going to the wrong url.

The same issue could happen with node/nids we just have not come across this yet.

sylus’s picture

That should be enough for me to go on to debug, thanks for the steps! The taxonomy should be synced from the moment it was created on the source side. I wonder if you went to both taxonomies, if they have the same UUID. I'd bet they don't.

That said I will try to scenario today / tomorrow and report back, thanks a bunch!

sylus’s picture

Took me forever to find the culprit turns out entity_menu_links was calling entity_get_info with 'term' and not 'taxonomy_term'.

Attached a patch distro will use against entity_menu_links.

sylus’s picture

Category: Support request » Bug report
Status: Active » Fixed

  • sylus committed 7614f5e on 7.x-4.x
    Fixed WetKit Deployment for Issue #2723471 by sylus: Megamenu system...
  • sylus committed fd19fa7 on 7.x-4.x
    Merge pull request #1848 from sylus/7.x-4.x
    
    Fixed WetKit Deployment for...
shawntremere’s picture

sylus,
This appears to be working on our development environment. Will do some further testing and will update on the status, but it's looking good so far. Thanks for looking into this, really appreciate it.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.