0

I setup Metadata Navigation Hierarchy for a list based on a Managed Metadata field (Taxonomy field).

The term tree structure looks like this:

Level 1
     Level 2
         Level3
             Child
             Child2
             Child3

When I click on Level 1, the filter filters out everything, there is also no button coming up to include descendants. But when I click on Level 3, the filter works, and the list is populated with Child1,Child2, and Child3.

Other parts of the tree actually work, and when clicking on a parent term, all descendants (not just direct) are selected.

What have I done wrong or is this a Sharepoint bug?

1

This problem and the reaseon for this is described here: https://stackoverflow.com/questions/4961019/sharepoint-2010-taxonomy-not-filtering-correctly It has to do with the number of items.

0

I've found the default behaviour of metadata naviagtion to be different from what I would say a normal person expects so this might be by design.

For example: If you apply Key Filters at the root of a document library, it does a recursive filter across the entire library. If you apply Key Filters within a folder it does it for that folder only and not recursively through any subfolders.

Have a look at the control and see if it has any properties that might influence this behaviour. The fix of the problem I mentioned was to override some javascript called by the control itself.

  • Any idea where the taxonomy filter js is located? – user879 Feb 10 '11 at 11:12
  • Not without going and hunting for it again. Look for the function "_mdnSubmitKeyFilters" which is what SharePoint used for keyfilters (we overrode it). There is probably something similar for submitting metadata navigation. Basically that function determines the parameters passed into the keyfilter control (i.e. recursive yes/no?). I'm guessing its v. similar to your approach. Ultimately we had to use Reflector to figure out what was going on and how to fix it, which led us to this javascript solution. – Neil Richards Feb 10 '11 at 12:08
  • Thanks Neil, I checked the query strings being passed in the request, and they seem alright. What I have done is delete and recreate the site collection, and reapplied the test case, worked fine with small amounts of data. Now I'm loading up full blown data, and retesting... Possibly the issue has to do with a site setting of some kind. – user879 Feb 10 '11 at 13:21
0

I'm a step closer to solving this, but I need more time. So far I have identified that it seems to be an issue only when terms are used in the site.

In other words. I start with just 1 term being used, and filtering works, I then use more and more terms, until at some point it breaks.

I'm still determining at exactly which point it breaks, I'll keep this answer updated.

Filtering is definitely using that hidden list to generate results. I hope someone more experienced can help me solve the remainder of the problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.