I managed metatada sono uno strumento molto utile introdotto da SharePoint 2010 e notevolmente migliorato da SharePoint 2013. Di base ti permettono di salvare una lista di termini che può essere riutilizzata dovunque all'interno della farm, offrendo così un utilizzo consistente della terminologia di alcune tipologie di informazioni all'interno della vostra intranet.
SharePoint 2013 poi li utilizza anche per la navigation, la ricerca e altre funzionalità.
Se volete più informazioni sui Managed Metadata, potete far riferimento alla documentazione a questo indirizzo:
https://technet.microsoft.com/en-us/library/ee424402.aspx
Come per la stragrande maggior parte delle funzionalità di SharePoint, anche per i Managed Metadata avete un set di API da utilizzare per accedere al term store (la Managed Metadata service application che potete creare all'interno della vostra Central Administration) ed effettuare le operaizoni di lettura/scrittura sui termini che intendete gestire.
Questo il codice che potete utilizzare per leggere tutti i termini di un particolare term set creato all'interno di un particolare term group.
private TermCollection GetTerms(string groupName, string termSetName) { TermCollection result = null; using (SPSite site = new SPSite("http://YOURSITEURL") { site.OpenWeb().RunElevated((elevatedWeb) => { TaxonomySession session = new TaxonomySession(elevatedWeb.Site); TermStore termstore = session.DefaultKeywordsTermStore; Group group = termstore.Groups[groupName]; TermSet termset = group.TermSets[termSetName]; result = termset.Terms; }); } return result; }
Per poter eseguire correttamente questo codice, dovete prima aggiungere la referenza alla libreria Microsoft.SharePoint.Taxonomy.dll che trovate all'interno della folder "ISAPI" del server in cui avete installato SharePoint.
Spero vi sia utile ;)