Subscribe via RSS Feed Connect with me on LinkedIn

Managed Metadata Column Limitations

[ 52 ] June 27, 2011 |

By now we have all heard about the new Managed Metadata features in SharePoint 2010. Most of it is good news, great news actually. However there are some limitations that you should be aware so that you can make the right choice for your organization.

So here is my list of some of the limitations of Managed Metadata Columns. If you have any more let me know so that I can add it and hopefully this can become a pretty good reference for all you good SharePoint people out there!

1) No InfoPath Support

There is no InfoPath support for Managed Metadata columns. Regardless of whether this is a InfoPath form that is hosted through Forms Services or a list form it is not supported.

Yes I know that people are angry (see this thread on the MS Forums), but it simply does not work. If you try to customize a form with InfoPath that has a Managed Metadata column you will get this:

image

This is really, really important if you intended to use InfoPath to start customizing all of your forms and intended to also leverage Managed Metadata. Put simply you cant Sad smile

2) No SharePoint Workspace Support

There is also no support for Managed Metadata columns in SharePoint workspace, as pointed out by a blog from Paul Culmsee. So if you have requirements around taking content offline with Workspace be careful on deciding whether Managed Metadata is right for you.

image

3) No Support in Office 2007

This is another one that gets many organizations. You can not edit Managed Metadata columns from the Office 2007 client, or 2003 for that matter. If you want  to be able to edit Managed Metadata columns you need to have Office 2010 installed.

This can be a major pain, especially if you have Managed Metadata columns set to required on a particular Content Type or library. For more information Corey Roth did a great point over at nothingbutsharepoint.com. Go check it out and don’t get caught like many organizations have.

4) Cannot Edit Managed Metadata values in Datasheet Mode

You cannot edit Managed Metadata columns in datasheet mode, the selected cells are read only. Therefore for bulk changes you need to either go through each item one by one, or you can also get some of the functionality of bulk metadata changed through Document Sets as I describe in this article.

image

There also seem to be quite a few third party solutions that are making their way on they market to tackle this issue as well.

5) Limitations in Views

There are also some limitations in the operators that you can use for views with Managed Metadata fields. You cannot use the ‘Begins With’ or ‘Contains’ operators for filters in views. Try that and you will get this:

image

6) Extra care required in SharePoint Designer Workflows

Many people assume that Managed Metadata columns do not work in SharePoint Designer workflows, when in fact they do.

However you cannot simply plug in the name of the term that you want to use by need to use GUID of the term.

If you are comparing fields you need to compare the value with the following format:

“TermLabel|xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”

So for setting values you are looking at a format of:

“-1;#TermLabel|xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”

or you might have something simpler like:

“xx;#TermLabel”

You can find out the correct format when you look at the field in Datasheet view and then use it in your workflows. So if I have a label of “Compliance” I need to find out what the format is and then use that in my workflow:

image

Yes its not fun, and I am sure that there are cases where this might not work or break. However it is possible but requires extra planning.

7) Feature deployment of Managed Metadata requires care

Once again this isn’t a limitation per se but it does require some extra care and knowledge. I am not the guy to get into the details of how this should be done but have a look at the following articles that explain some of what you need to consider:

8 ) Cannot be used in calculated fields

You cannot use a Managed Metadata Column for calculated fields. So if you have a requirement to do a calculated field you will need to use another column type

9) Maximum of 250 terms selected per Managed Metadata Column

This was pointed out to me by Kelly D Jones on his blog post entitled SharePoint Managed Metadata Column Limitation. Turns out that you can only have a maximum of 250 terms selected for a particular column otherwise you get an error.

10) Caution when restoring a Local Term Set to another Content Database

Another suggestion, this time from Bobby Chang from a post entitled Beware Local Term Store. When you create customize a Term Set for a Managed Metadata column you will experience issues if you then try to back up and restore it into another content database.

11) Taxonomy feature is not activated on the Blank Site Template

This one comes from Andy Burns that talks about why the feature needed to create a Managed Metadata column is not enabled on the blank site template ( you can see it here).

Fortunately it is pretty easy to fix, you just have to enable the Taxonomy feature.

12) Know capacity boundaries

This was mentioned by Richard Harbridge that you should be aware of the capacity limits around Managed Metadata. For all of the limits check out the SharePoint 2010 capacity management: Software boundaries and limits TechNet article. Remember if designing for large clients there are limit to how far you can push the Managed Metadata service.

13) Cannot add a Managed Metadata Column through SharePoint Designer

Although you can add a Managed Metadata column via the web interface you cannot add a Managed Metadata column with SharePoint Designer 2010. It’s a little weird but with a simple workaround.

image

 

Resources

Of course some good SharePoint folk have already read my brain and started documenting this already. Here are some people much smarter than I that have already looked at some of the issues above:

So that’s it for now, let me know if you have anything to add or alter as I intend this to be a ‘living’ blog post! There is grumblings in the community, let me hear these grumblings!!!

Tags: ,

Category: General, How To

About Michal Pisarek: Michal Pisarek is the founder of Dynamic Owl Consulting and a Microsoft SharePoint MVP. View author profile.

Comments (52)

Trackback URL | Comments RSS Feed

  1. mzavada says:

    You can not reference a managed metadata column from within a calculated column.

    You cannot select a managed metadata column for use in the SharePoint List Filter web part.

  2. Chris Poteet says:

    Not a limitation per se, but filtering on managed metadata columns is tricky. You have to use the term ID and not the name.

    http://msdn.microsoft.com/en-us/library/ff625182.aspx

  3. I ran into an error around the number of tags you can choose for a managed metadata column. Turns out, there’s a max of around 250.

    http://kellydjones.com/archive/2011/05/22/145485.aspx

  4. Great input guys, I will add these to the main body of the article soon!

  5. Bobby Chang says:

    Limitation with restore into another content database – http://spbuzz.it/jKLf5U

  6. Performance considerations.

    List view lookup threshold – 8 join operations per query – Threshold

    Specifies the maximum number of joins allowed per query, such as those based on lookup, person/group, or workflow status columns. If the query uses more than eight joins, the operation is blocked. This does not apply to single item operations. When using the maximal view via the object model (by not specifying any view fields), SharePoint will return up to the first eight lookups.

    Managed Metadata is a Lookup Column (for the sake of this list view threshold) so it experiences the same limits.

    Managed metadata – Max value = 94 – Threshold – 40 bytes for the first, 32 bytes for each subsequent

    The first Managed Metadata field added to a list is allocated four columns:

    A lookup field for the actual tag

    A hidden text field for the string value

    A lookup field for the catch all

    A lookup field for spillover of the catch all

    Each subsequent Managed Metadata field added to a list adds two more columns:

    A lookup field for the actual tag

    A hidden text field for the string value

    The maximum number of columns of Managed Metadata is calculated as (14 + (16 * (n-1))) where n is the row mapping value (default of 6).

    Note this as it impacts list planning on large lists where you use many managed metadata columns.

    Managed Metadata term store (database) limits

    The following table lists the recommended guidelines for managed metadata term stores.

    Limit
    Maximum number of levels of nested terms in a term store – 7 – Supported – Terms in a term set can be represented hierarchically. A term set can have up to seven levels of terms (a parent term, and six levels of nesting below it.)

    Maximum number of term sets in a term store – 1000 – Supported – You can have up to 1000 term sets in a term store.

    Maximum number of terms in a term set – 30,000 -
    Supported – 30,000 is the maximum number of terms in a term set.
    Additional labels for the same term, such as synonyms and translations, do not count as separate terms.

    Total number of items in a term store – 1,000,000 – Supported – An item is either a term or a term set. The sum of the number of terms and term sets cannot exceed 1,000,000. Additional labels for the same term, such as synonyms and translations, do not count as separate terms.
    note Note:

    You cannot have both the maximum number of term sets and the maximum number of terms simultaneously in a term store.

    Some of these limits impact planning when you are considering what you will use the term set for…

    Think that is all of the technical additions I would make. They are important though.

  7. Andy says:

    I’d like to suggest the fact that they don’t work nicely with Blank template based root sites in a site collection. You have to turn a hidden feature on – this always nails our consultants.

    Worse, if you look into why this feature isn’t activated by default, well, it’s pretty involved.

    It’s quite a long description – details here:
    http://www.novolocus.com/2011/04/06/why-blank-root-sites-dont-work-with-the-managed-metadata-field/

  8. Dean says:

    Thank you for this analysis. It would be great to see similar analyses on all of the other features in SharePoint. The typical articles frequently state the obvious benefits, but none of the sublte issues that can cause a great deal of frustration and dissapointment. Your point about Office 2010 is tremendously important to many organizations.

  9. @Michal Pisarek
    @Richard Harbridge

    Thank you both for your very useful article and additions…

    Andreas

  10. Michaela says:

    Hi, I tried to update a managed metadata field in a SPD workflow using the recommended syntax of “xx#Termlabel”. Although the workflow completed without error, the value had not been set.

    After spending some time on testing, I found out that the value is not set if I specify a “default value” for the managed metadata column. I a default value is specified, the field always still has the default value, regardless of what has been set in the workflow.

    Removing the default value solved my problem without redeployment of the workflow.

  11. Paul Culmsee says:

    Managed metadata can also be really tricky when performing SharePoint migrations – especially between domains:

    http://www.cleverworkarounds.com/2011/01/09/sp2010-migrating-managed-metadata-term-sets-to-another-farm-on-another-domain/

  12. Amit Lohogaonkar says:

    We would like to use managed metadata service. Is it scalable for millions of documents?

  13. [...] time and cost is about to blow out because nobody realised that, say,  Managed Metadata has a bunch of issues that precludes its use in many circumstances. Accordingly, SharePoint architects learn pretty [...]

  14. Joe Spadea says:

    More on View Limitations:

    You can’t use Contains, but ‘is equal to’ works like contains.

    Also, view filters are not updated by the taxonomy update service: if you change the spelling of the metadata term in the term store, and your filter criteria uses that term, the filtered view will no longer return the expected results

  15. mta-sp says:

    Thanks for this information. Unfortunately no managed metadata columns so far, too many limitations…

  16. Dave Pritchard says:

    It would also appear that using SharePoint 2010 OOB Export to Excel for MMD columns limits the # of chars in the export to 255 for that column (in Excel not in the List). Anyone else have this problem or find a way of getting around it (other than using Reporting Services to do your export)?

  17. Anders Rask says:

    Just like with blank, you need to add TaxonomyField feature to your ONET.XML when working with Web Templates. This feature is normally stapled to BLANKINTERNET and other site definitions, and Web Templates does not support feature stapling.

  18. Anders Rask says:

    Also the exact maximum term limit seems to be 256 (byte). I tested this by inserting large amounts of terms (pasting in test1;test2;test3; etc).
    When you paste in no 257 it breaks with an unhandled exception :-S

  19. Anders Rask says:

    Just tested taxonomy fields in User Profile properties, and it doesnt seem to have the same limitations. So far I have successfully inserted 1000 items into a multi-select field.
    One could suspect that the limit was related to the collected length of the terms, but I havent dug into this yet.

  20. Regarding #6 – when I set the managed metadata field using a SPD workflow, the field appears to update successfully (using your suggestion to set the field). However the search crawl reports that its lost its association to the metadata term store- do you have any advice?

    The SharePoint item being crawled returned an error when requesting data from the web service. ( Error from SharePoint site: *** Index was outside the bounds of the array. )

  21. Andrej Doms says:

    Regarding #2:

    I actually tested the behavior of MM enabled document libraries with sharepoint workspace and they are replicating just fine. Maybe some CU fixed this already.

  22. Hey Andrej,

    That is interesting, I am going to give it a shot and see what happens..

  23. Hans Smines says:

    I’m having a weird problem with Managed Metadata:

    I am using a 3rd party process management software (K2) to copy a document from a library in one site collection to an identical library in another site collection. Copying the document, and it’s “regular” metadata works perfectly, but when it comes to Managed Metadata columns and People and Groups columns I’m experiencing a lot of problems.

    I have a managed metadata column called Fruit, with the terms Apples, Oranges and Bananas. I upload a document to the library and enter Apples in the metadata colum. The document is saved to the document library and everything is showing correctly in all columns, including the term Apples in the Fruit column. K2 then triggers an automatic workflow that copies the document and its metadata over to another site collection. However, at the destination site, the term Oranges is showing in the Fruit column instead of the terms Apples. Similar problems occur in the People and Groups column. I add one user as metadata at the source site, but a different user is showing up in the column at the destnation site after the document has been copied over.

    K2, the 3rd party software vendor, is not able to recreate the problem and I was hoping someone could at least help me get a bit of an understanding of how the Managed Metadata columns works so that I can see if there is a problem with my environment or K2′s software.

  24. Peter Holpar says:

    The client object model support for managed metadata colums is also rather limited, not to mention the (lack of) REST access.

  25. Kristina P says:

    I wanted to contribute an out-of-the-box solution for emailing out the data of a managed metadata column. I ran it by the support guys at Microsoft and they agreed it’s the best you can do with OOTB, if you’re not using Visual Studio to customize.

    • You start with your managed metadata column (Column1Name)
    • Create a 2nd column (Column2Name) in the table of type string
    • On-create and On-modify workflows copy the value from Column1Name into the Column2Name. (sample: Level1Term:Level2Term:Level3Term|ba7e2a4f-6602-47a8-aa81-bca54756a356)
    • Create a 3rd calculation column (Column3Name) on the table
    • Calculation finds the pipe character and trims the value to clean text using find() and left() functions. Formula: =LEFT([Column2Name],FIND(“|”,[Column2Name])-1)
    • Email-out workflow uses Column3Name to send plain text without the hex string

  26. satyam says:

    Hi,

    In my document library, we have configured Key Filters on multiple fields. Some fields are hierarchical. It is working while I use single filter, but when I use multiple filter it shows 0 results.

    e.g.

    Having column of Country – United States, United Kingdom etc. and other column of States of country. Also have other column (department)

    If I Filter it by department only, it shows correct result. Filter by state and country it also shows correct result, but while filter by department and state it shows 0 results.

    Any help will be appreciable.

  27. Daniel says:

    Hi

    This is an excellent reference post.

    Has anyone got passed the InfoPath form restriction. My requirement is to embed a styled list form on page. I am sure there must be a easy way before I embark on a custom web part and or JQuery/SPServices.

    One other thing has SP1 fixed any of these ills. I don’t remember seeing anything to the effect.

    Daniel

  28. Brandon Murray says:

    Thank you, Michal! Your tips for making MM work in a SPD workflow just saved my bacon.

  29. Brandon Murray says:

    Actually, I take it back… Don’t use the tips in this blog post to make MM work in a SPD workflow! When you use the -1;# method, it looks at first like it works, but in reality the data that is plugged into an item’s MM field isn’t tied to the term store, so any changes to the term in the term store won’t affect the field in your item.

    Furthermore, since I tried to use this method, I’ve noticed a very strange error where NO changes to the term store are reflected in my managed metadata fields, regardless of site collection! I don’t know what’s going on, and I don’t know if it’s related to the SPD workflow I created yesterday, but I recommend caution!

    See this post for more info: http://www.notjustsharepoint.com/Lists/Posts/Post.aspx?List=8bca63b6-08d1-46c2-b5b3-b7613d966ced&ID=32&Web=c20ab23d-5215-4551-97b0-5414c416847a

    Michal, I’d recommend you take #6 out of your post.

  30. nihar says:

    great post
    thank you

  31. [...] Managed Metadata Column limitation [...]

  32. [...] Meta should not be used in all cases. These two posts cover those reasons. Well done boys! http://www.sharepointanalysthq.com/2011/06/managed-metadata-column-limitations/ [...]

  33. Chris says:

    In a workflow, if you use the 1#; notation and try to set a value, it will work fine if the current field is blank. However, the problem is that normal worklfow action of Set field in current item works with the {fieldname} and not the {fieldname}_0. Because of this, if there is already a value in the field, it does not accept the new value, but reverts to the current value; giving the impression that it is not actually setting the value.

  34. Chris says:

    Sorry to be consistent I should have said if you use the “xx;#TermLabel” notation.

  35. SharePoint Dexter says:

    Great Article btw :-),
    Successfuly set a managed metadata field in a SPD workflow via “xx;#Termlabel” syntax.

    ALAS! It does not seem to work if the column is set to accept multiple terms. In this scenario, if I set the column to “xx;#Termlabel1;xx;#Termlabel2″ nothing changes!

    What gives???

    Share.Dexter

  36. Jason Lochan says:

    Thanks to you and all of the others that have contributed to this topic — was a great source to wrap all considerations around managed metadata in one visit.

  37. michael says:

    Thanks for the info. Is it possible to clear/delete a value again or can I only change it to annother value?
    You see, I have a library (not list!) with a single select value of type Managed Metadata and one cannot clear the field, once it is set, only change is allowed.
    When I switch to MultipleSelect, I can delete the values. In Lists it seems to be working allright.
    Have you tried?
    Thanks for your reply.

  38. Isha says:

    I’ve ran into an oddity and I do not know if it’s 1) me doing something wrong, 2) limitation / behavior by design, or 3) a bug / limitation by annoyance.

    I have a managed meta data column defined as a site column and a document content type has it associated.

    When I select to upload a new document of that content type, the meta data column is not visible, just the title and name fields are visible.

    The meta data column IS only visible when I edit the properties of the document and then i can assign the meta data.

  39. Patrick says:

    14) Can not be lookup
    Managed metadata type column can not be lookup from other list in same site

  40. Tom Benjamin says:

    This was a very helpful article. I needed to set the value of a managed metadata column in a SharePoint Designer workflow, but after reading item #6, I couldn’t really tell where I should get the GUID from. A process of elimination led me to looking up the term (2800-02) in the TaxonomyHiddenList of the site collection my workflow and list are in, and then (using IE) right-clicking on the link to “copy shortcut” and pasting that into a text editor. That revealed ListId={961CE65A-6CFE-4365-9A88-F55FFAD9F404}&ID=219 – so the syntax I need in SharePoint Designer is 219;#2800-02|961CE65A-6CFE-4365-9A88-F55FFAD9F404

    What I found odd is that using “View Item” in TaxonomyHiddenList reveals three different GUIDs none of which worked – those were IdForTermStore, IdForTerm and IdForTermSet. SharePoint Manager also revealed the correct GUID, the path to it being the TaxonomyHiddenList of the site collection > Items > 2800-02 > Item > Fields > IdForTerm > SourceId.

  41. mari says:

    Michael, i have exactly the same problem. You found a solution ?

  42. [...] I know for this is the one in the comment from Kristina P on Michal Pisarek’s blog post Managed Metadata Column Limitations (a post which I find myself referring to far too [...]

  43. [...] Pisarek describes these in detail here: Managed Column Limitations.  So it is worth reviewing his post  before addressing a given business requirement with [...]

  44. Could find no easy way to copy metadata across lists, the approach in this post at #6 does not work in SharePoint 2013

  45. Ok here’s the solution if you’re running SP 2013 like I was.. instead of creating a SharePoint 2013 workflow, create a SharePoint 2010 workflow – there seems to be better support with the ‘copy list item’ activity & other metadata management with the older workflow code. go figure!

  46. Madubuko says:

    I’m really intrested in knowing how to perform bulk edit of managed metadata columns in lists using documents(or can it be done)

    unfortunatelly the link on #4 is dead so i couldnt really see how you managed to solve that using document sets.

    i would be nice if you could fix the link or explain your workaround.

    thanks for your help

  47. [...] support for Managed Metadata columns which made it really difficult to use Managed Metadata in SharePoint [...]

  48. [...] support for Managed Metadata columns which made it really difficult to use Managed Metadata in SharePoint [...]

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.