[closed] Site: Element dmLink is undefined in a CFML structure referenced as part of an expression

G’day,

This one is doing my ‘wish I was still on holidays’ head in. The rest of webtop work fine except Site. It shows “Element dmLink is undefined in a CFML structure referenced as part of an expression”.

This is only in my dev, I have another site running on the same core and it’s fine. I’ve reset all code so it’s the same as live and no luck. I’ve even downloaded and restored the live database, run the Repair refObjects. Cleared browser just in case it was a cookie issue.

I only had one reference to dmLink in the project which I’ve removed.

Any help would be appreciated, totally lost what to try next…

Vern

Update: Added a virtually empty dmLink type in the project and it worked but there must be something in there from an older version of core that is still referencing dmLink.

The dmLink content type is a part of the CMS plugin (https://github.com/farcrycore/plugin-farcrycms). You probably have that plugin installed on prod, but not locally.

Blair

I think what it was is I have an old version on prod and then a new version local. I thought I read somewhere else that dmLink was killed off in 7?

The content type was removed from the latest version CMS plugin I think, but I’d say there must have been a dmLink record still attached to your tree in your local DB. Often it was a child object in aObjectIDs on the Home (or Root?) dmNavigation node (i.e. you could check dmNavigation_aObjectIDs for the offending record).

However, I though I might have added a check for missing types so that the tree didn’t crash… Maybe not…

@justincarter should we be raising this as an edge case to fix in the tree or should we close the bug? I believe a recent commit to v7.x bubbled up tree based errors rather than suppressing them or blowing up. Perhaps, that is enough to shed light on this edge case for others in the future?

The recent commit does show more info at the top of the site tree page rather than throwing an error, so the rest of the site tree remains functional (missing content types may not appear in the tree until the missing plugins / project content types are put back in to place).

1 Like