Managed Metadata and Electronic Form Design
In my latest adventures I was tasked with coming up with a design for an application which leveraged all out of the box SharePoint features to provide a listing of enterprise content and allow that content to be searchable. The content was to come from business users filling out a form with some details and submitting to a workflow. Sound simple enough and very doable in the realm of SharePoint. The customer then wanted to use the SharePoint 2010 Managed Metadata service with several terms to force the selection of these terms by the end user. This was the first monkey wrench as my options for the form were Word and InfoPath. Per #1 below this leaves Word. The second monkey wrench was the fact that users cannot use Office 2007 with the Managed Metadata columns (see #3 below), my customer’s user base was 80% still on Office 2007. So that was the last straw. These two limitations eliminated the use of the Managed Metadata Service and its subsequent columns for use in my solution. At this point we were then regulated to using an InfoPath form with the options which would have been used in the Managed Metadata Service embedded in the form. This was an okay solution as we still only had 1 place to up date the data. We were also able to promote the columns we wanted such that they became available in the Enterprise Search managed properties, for use in the search results.
Moral of the story is beware of the Managed Meta Data. While the features and capabilities seem cool the limitations can quickly get you in a bind.
In my research I ran across Michal Pisarek’s blog on the limitations of the Managed Metadata service. Michal lists the following as the limitations he’s found thus far with links to other articles written by the community, please keep these in mind when designing any type of electronic form, InfoPath or otherwise:
1) No InfoPath Support
There is no InfoPath support for Managed Metadata columns. Regardless of whether this is an 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:
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 can’t
2) No SharePoint Workspace Support
There is also no support for Managed Metadata columns in SharePoint workspace, as pointed out in 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.
3) No Support in Office 2007
This is another one that gets many organizations. You cannot 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.
There also seem to be quite a few third party solutions that are making their way on the 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:
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 but need to use the 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:
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:
- SharePoint Config: Provisioning SharePoint 2010 Managed Metadata fields
- Wictor Wilen: How to provision SharePoint 2010 Managed Metadata columns
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 a customized 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 limits to how far you can push the Managed Metadata service.
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:
- Un-Managed Metadata: A couple of gotchas by Paul Culmsee
- SharePointSanity.com: Managed Metadata “Gotchas”
- SharePoint 2010 Managed Metadata: Understanding the tradeoffs – knowing when to use and when to pass by Jennifer Mason
- Managed Metadata Limitations: Original Article in SharePointAnlaystHQ