Page not found when Managed Metadata term has the same name as a subsite

Written by Yves

October 19, 2012

<Caution>This post is based on the SharePoint 2013 Consumer Preview. Thus, behavior described here may change in the next release of the platform</Caution>

SharePoint 2013 is coming with a very nice feature which is the Managed Metadata Navigation, allowing us to define the navigation completely separated from the content or the physical pages. But, it has to be used with some attentions.

I found what could be interpreted as a bug in the SharePoint 2013 Consumer Preview and its new Managed Metadata Navigation. When a term has the same name as a subsite, the navigation to the page targeted by the term itself is fine, but for all the sub-terms, you get a “Page not found??? message. The pictures below show that navigating to the “About??? term is well going to the default page of the “About??? subsite (i.e. /about/Pages/default.aspx), but when selecting an “About??? sub-term, it does not display the /about/companyinformation/Pages/default.aspx page :

about_ok

sub_about_notfound

The structure of the content is the following :

sitestructure

And the metadata structure :

metadata

Even if, for the “About??? term, I define a custom target page and explicitly specify /about/Pages/default.aspx , I still get the “Page not found??? error.

The only way to solve this problem is to change the automatically assigned Friendly URL, AND, to change also the Target Page.

In fact, this is because there is a naming collision. /about, which is the Friendly URL associated with the “About??? term is also the URL of the “About??? sub-site. This is why the “About??? term itself works.

It also works for the sub-term “About??? / “Locations???, because the associated Friendly URL is /about/locations, which is also the name of the sub-site, leading to its default page. Unfortunately, the “Company Information??? term is associated with the /about/company-information Friendly URL, which does not correspond to any sub-element of the /about site, which seems to take the precedence over the Friendly URL resolution and its Target Page. That explains that even if you specify a valid Target Page for the “Company Information??? term, “Page not found??? will still be displayed.

So, as written above, by changing the Friendly URL automatically associated to the “About??? term to “aboutus??? would only partially solve the issue. Indeed, /aboutus would remove the collision with the sub-site name, but would lead to an unexisting page. Changing also the Target Page, then, would completely work around this.

As a conclusion, be careful with the name you give to your site and the Friendly URL associated with the terms.

You May Also Like…

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *