Share and Enjoy !

Find this Podcast “Working with Managed Metadata” on the ThreeWill Soundcloud, Stitcher, and iTunes.


Danny Ryan:Hi, this is Danny Ryan, and welcome to the ThreeWill podcast. Today I have Bo George here with me. Thanks for joining me Bo.


Bo George:Thanks for having me.


Danny Ryan:Absolutely. Absolutely. Thank you for taking a little bit of time off projects, you’ve been busy recently.


Bo George:Yep. Two or three projects going at the same time.


Danny Ryan:No!


Bo George:Each with their own challenges. Yeah.


Danny Ryan:It keeps you out of trouble.


Bo George:Yeah.


Danny Ryan:My goodness. Yeah, that’s tough to be on multiple projects.


Bo George:Yeah, because you always want to give your all to all your customers, and sometimes when you’re balancing the two you’ve got to choose when to fight the battles and all that stuff.


Danny Ryan:Cool. Thank you for coming in here. I know today we wanted to focus in on managed metadata. What is … You know me, I used to be technical, I’m not technical anymore, but maybe for someone who needs a little bit of a primer on this, what is managed metadata?


Bo George:Okay, yeah. It’s a service within SharePoint, you have a bunch of service applications, searches of service application, user profilers. Managed metadata just happens to be another service that’s available.


Danny Ryan:Okay.


Bo George:Some customers use it more than others, and I thought it would be kind of fun to talk about because I haven’t heard much talk of it in our podcasts. There’s plenty of stuff on the web, but I thought a couple of recent projects I’ve used it on, and I really like what value it adds to the projects, so I thought we would talk about it.


Danny Ryan:Very cool. Very cool. You’ve used it on a couple of recent projects then?


Bo George:Yep.


Danny Ryan:There were some requirements that sort of said, ‘hey this really lends itself to managed metadata’?


Bo George:Yeah. If you step back and think about managed metadata, a lot of people historically who’ve built things in SharePoint, will build site columns, say a choice list, or, and then a content type that uses that site column, and you’ll have a list of choices and those are of course relevant to the content type. I was trying to think of a good way to explain this, that would make sense. I was thinking about, as a technical person we always use auto manufacturers. Say you’ve got a truck and a car, and then within cars you’ve got the manufacturers, you’ve got Toyota, Lexus, and so on, then within Toyota you’ve got the different types of cars, you’ve got the Camry and so on. That is a hierarchy of things, but also at the same time you’ve got trucks. When they select a truck, you want them to only be able to pick trucks, or when they’ve selected car, only cars.


Danny Ryan:Yep.


Bo George:Further down if they’ve only selected Toyota, you only want them to pick within Toyota, and so that hierarchical – that is such a hard word to say – hierarchical nature of data that you want to tag stuff with really lends itself to the managed metadata service. You can define a tree of all your corporate stuff, and in a corporate sense it might be you have accounts within accounts, you have projects within projects, you have an initiative, or you have a task, or whatever it is. Not everything, but most things can have a hierarchy. That’s the mentality that made me think of using the managed metadata service. Once you put your data into the managed metadata service, and in a little bit I’ll talk about ways to get it in there, but once you put it in there then you can expose it in site columns for use in different ways.


What I really like about the relationship between the two, between the TermSet and that you define in managed metadata service, so in our car sense you might have a automotive TermSet and the whole tree of all that stuff I talked about in there. You can pick different pieces of the hierarchy and use those in a site column. You could say when I’m in the Toyota list and the Toyota content type, then I only want to use a subset of the overall tree and I create that relationship. Then I can have another site column that maybe is further up in the tree or further down in the tree, so you can limit how much of the tree your users interact with and can choose from, which is nice. Meanwhile, you still have have all of that metadata to find in a central place. I like the flexibility of how you can use the tree in your different lists, libraries, site columns.


Danny Ryan:You can use in multiple lists, you can use it wherever you need it.


Bo George:Yep. That’s what, on the projects I’ve been on, that’s what we’ve done. Sometimes we’ve used the whole TermSet and sometimes we divide it up to limit it based on the scope of maybe where someone is within the site, of the particular list they’re interacting with or the particular site or what have you. It makes for a good, flexible experience. Then, all of this metadata and everything of course bubbles up in search, and search refiners, and all of that kind of stuff. When people are looking for documents, they tend to be more global and so they’re not within the scope of a particular list. They’re usually within the whole farm and everything, so having that managed metadata values of true text as a refiner is of course supported and pretty cool too.


Danny Ryan:This relates over to search. Back to the automotive, if you want to look for all the content that’s related to a certain type of car, you could search for that content.


Bo George:Right. Yep.


Danny Ryan:It sounds like for a typical project or a typical client, you’re designing multiple TermSets? Is that correct?


Bo George:Yeah. In the case of some clients, one type of term that I’ve used across all is usually document type. That’s a really good example of a lot of customers may call these content types in a lot of cases, but I think stepping back and not creating a content type for each type of document in their company but instead creating a TermSet with document types allows you a hierarchy and a little bit simpler, more flexible way to manage things, so document types is one. Then, a lot of the other TermSets are usually very business specific. Maybe it’s, I’m trying to think of one that doesn’t give too much away. Maybe it’s organizational structure so your departments and you have a hierarchy to your organization so one might be that so that you could tag content with maybe the owning department or, if you have a hierarchy, it could be well this is owned by the IT services group or this one might be owned by global IT. With a hierarchy, you can tag at different locations there too.


Danny Ryan:Is there typically industry specific TermSets, something that has to do with whatever industry the client is in?


Bo George:You can have those as well and import them. That’s the other thing that’s awesome about TermSets is there’s a really easy way to import a TermSet. It’s just a CSV file so if you go to the service, you right click on it and say ‘import file’ and there’s just a structure. It’s column based where you say here’s my level one values, here’s my level two, my level three, and so on and as long as you follow their little structure for your Excel CSV file, you click import and it creates this whiz bang looking tree in there for you to use for tagging stuff.


Danny Ryan:Are people sort of publishing TermSets out on the web or you’re doing your own stuff with this?


Bo George:You’re usually doing your own. I suspect, I haven’t looked for industry standard TermSets but there probably some are, but the cool thing about the service, you just go to the service and say I want to download a sample file. It gives you that structure, you kind of fill in your own, and you then turn around and import it in.


Danny Ryan:Nice.


Bo George:One thing that actually to get a little more technical that I found is pretty cool, so I had two different clients that we’re using it on. One is an on-premise and one is an Microsoft 365. For the Microsoft 365, we’re trying some repeatability so we’re using patterns and practices and what’s really cool in patterns in practices is you have that same CSV file, but if you run it through their code, you can import it over and over and over and over. What it will do is it will try to figure out the differences between your Excel file and what’s in the TermSet, so if you add terms, delete terms, move around the hierarchy, it will figure all that out for you which is really cool.


Danny Ryan:Nice. As things are changing with the TermSet you can keep them up to date.


Bo George:Yeah. A really good example of that happening is one, the term store and TermSets are intended to support change. That’s kind of why they’re centralized and you can move and all those things are supported through the UI, but one of the customers I had, they probably worked on defining their managed metadata taxonomy for a year. Even when we got down to the final wire where it was like you guys have been at this for a year, we’re going to import these into the term store, well the next day it was like we want to change, we want to add a fourth level here, we want to move this stuff around and so the patterns and practices stuff would be great for that sort of change so that you don’t have somebody in the UI going through and click add, click add, click add. That can be painful.


Danny Ryan:Since this is a service, it’s something that can work across site collections then, no issues with that?


Bo George:Yeah. That’s another great reason why I like that because in the site column space, if I just defined a site column through code and created that, I could create it in the content type hub and some ways to get it to all the site collections, but typically it’s required a developer and a code to make that the values and that choice filled be the same across site collections typically. With the managed metadata service, because it is a service and it’s exposed to all the web apps and site collections, it just inherently is available to everything.


Danny Ryan:Do we typically, after we’re done with the project, do we train somebody how to keep the term store up to date or do you show somebody how to do that then?


Bo George:Yeah. In one of the customer’s cases, she’s what I call a SharePoint power user. She’s maintaining the TermSet. IT, who manage, and central admin can grant specific end users the power to manage the term store and TermSets so she doesn’t have to be a SharePoint administrator to get in. She can just get in to manage bits and pieces of that service through the permission they granted. She’s been doing that now already.


Danny Ryan:It seems like something you want to use almost across most projects you’re on.


Bo George:I find I like it more and more and I’ve known about it and used it in the past, but recent projects really made it come to the forefront as something that made a lot of sense. The Microsoft 365 project, we have a very business specific site structure so there’s parent sites and then child. I’ll call them project sites but it’s another term that’s sort of specific to that company, so there’s a structure there and then our TermSet relates to those sites as well. When you are at the parent, I’ll call it the account site, only specific terms are available and then when you’re down in the project site then a larger subset of terms are available and stuff like that. I like that ability.


Another thing that is kind of cool is it’s not only a single term. How do I put this in English and not techie?


Danny Ryan:How do I put this so Danny will understand what I’m talking about?


Bo George:No, I’m thinking about everybody.


Danny Ryan:I appreciate that, yeah, good.


Bo George:I’m going to crack my knuckles. Let’s take that car paradigm and say you do have, what do I drive, I have a Toyota Tacoma so that’s already my truck, my make, and my model based on the hierarchy. There’s other attributes that describe my particular Tacoma. It actually has some custom wheels so I might want to say that about my Tacoma term, and then I might want to say it has pleather seats and other attributes. The cool thing about a term is not only is it a single label that the world can see, it can have other attributes that tell you more about it and projects is a good case for some of our customers where we have a project code, you have a project label, but you might have a start date, an end date. You might have an industry associated technology, an account owner, all these attributes about that project. You can put that in the term store too and then that stuff can bubble up in other places. When I pick the Toyota Tacoma, all these other attributes about that term can be available to be used in different stuff, too.


Danny Ryan:A term can have as many attributes as you want it to.


Bo George:Mentally, visually I think of it as sort of a star coming off of a term where it’s really in SharePoint it’s called a custom attribute which it’s weird because you’ve got metadata which is an attribute of say a document, but then your term can have attributes that further describe it too.


Danny Ryan:Don’t make my head explode, please, thank you. I appreciate it.


Bo George:Metadata about metadata.


Danny Ryan:How meta. That’s very meta. Anything since, for somebody who may be on a first project where they’re using managed metadata, anything that you’ve learned so far as far as tips that you would say hey look out for this, or I learned this after a while, or anything that you have, any pearls of wisdom that you have since you’ve been using it a lot recently?


Bo George:Think a lot about your structure of your TermSet and how people will use it. If I flip the side of the coin to say some things that drive me a little bit bonkers is because it can be, it doesn’t have to be, it can be a hierarchy based structure, you have to make sure you define that and decide how you’re going to use it really well because you want to make it easy on end users and not confusing. By that I mean, if you have a really massive structure, we have some with 13,000 items. When a user starts typing in that box to pick something you want it to lead them to the answer. If you have multiple terms that are kind of the same, where I have to as a user go do I mean A or do I mean B, because these two are so similar I’m not sure. Those sorts of things are what you should think about with how you define your hierarchy and how much of your hierarchy you expose to users in different places.


Danny Ryan:Good. Anything else? Anything else before we wrap this up?


Bo George:My one last cool technical thing about the TermSet is patterns and practices as a great way to fill it in. On some other projects we have stuff coming from an external content database into the TermSet so we have timer jobs that pull an external database from a third party system and create terms and manage terms out of that, and I think that’s cool. At the time we were debating external content types or TermSets and in our case, I didn’t like external content types and stuff like that for this solution, so in the end when you making it native to SharePoint which external content isn’t quite native, I think we’ve gotten more functionality out of it, so consider a simple timer job can populate your term store and TermSets from some other database or application.


Danny Ryan:Some other system is actually the thing that, once it gets updated, that’ll update your TermSet.


Bo George:Yeah, the other system is actually what owns the data and the terms and we’re just figuring out how to create the TermSet from it.


Danny Ryan:Very cool. Thank you for taking the time to do this. I appreciate you coming by. At least I see your quarterly. It’s nice. How’s Beth doing?


Bo George:She’s good. We just got back from a vacation, a cruise, and she’s already trying to plan the next one. I think that’s the way it goes. Cruise life.


Danny Ryan:Barrett looking forward to the summer?


Bo George:Yeah. He just got out of school so he’s already staying up late, sleeping late. He’s 12 going on 18 I guess.


Danny Ryan:Oh my goodness, oh my goodness. Well, thank you for doing this. I appreciate you spending some time with me and everybody listening, thank you for taking the time to listen and have a wonderful day. Thank you! Bye bye.


Bo George:I didn’t think I could talk that long about it.



Share and Enjoy !

Related Content: