martes, 21 de septiembre de 2010

Add managed metadata programmatically II

En el post anterior comentaba el nuevo servicio de managed metadata introducido en MSS 2010, además se explicaba como añadir los términos utilizando la interfaz gráfica. En este nuevo post se va a hacer incapie de como añadir estos metadatos a través del modelo de objetos de MSS 2010.

TaxonomySession session = new TaxonomySession(site);
TermStore termStore = session.DefaultSiteCollectionTermStore;
ImportManager im = termStore.GetImportManager();

var groupToAddTermSet = termStore.CreateGroup("Group name");
groupToAddTermSet.Description = "Group description";

bool allTermsAdded = false;
string errorMessage = string.Empty;

using (TextReader streamReader = new StreamReader(csvPath))
{
im.ImportTermSet(groupToAddTermSet, streamReader, out allTermsAdded, out errorMessage);
}

termStore.CommitAll();


Cómo podemos ver en este code snippet, le estamos pasando un TextReader a la función de ImportTermSet del objecto de tipo ImportManager. Este TextReader es un stream a un fichero .csv, con el siguiente formato:



"Term Set Name","Term Set Description","LCID","Available for Tagging","Term Description","Level 1 Term","Level 2 Term","Level 3 Term","Level 4 Term","Level 5 Term","Level 6 Term","Level 7 Term"

1 comentario:

Anónimo dijo...

Excelente post, justo estaba buscando esta funcionalidad! Saludos desde Canada.