Complemento de SharePoint de prueba de operaciones de taxonomía
La aplicación de consola de prueba Core.MMS muestra cómo interactuar con el servicio de metadatos administrado de SharePoint para crear y recuperar términos, conjuntos de términos y grupos. Este ejemplo también se ejecuta en un complemento hospedado por el proveedor, como una aplicación web ASP.NET MVC.
Use esta solución si desea migrar términos entre granjas de SharePoint o mostrar los términos en el complemento personalizado.
Antes de empezar
Para empezar, descargue el complemento de prueba Core.MMS desde el proyecto modelos y prácticas de desarrollo de Office 365 en GitHub.
Nota:
El código de este artículo se proporciona tal cual, sin garantía de ningún tipo, expresa o implícita, incluidas las garantías implícitas de aptitud para un propósito particular, comerciabilidad o ausencia de infracción.
Antes de ejecutar este complemento, necesitará:
- La dirección URL del sitio de SharePoint.
- El permiso para acceder al almacén de términos en el servicio de metadatos administrados.
La figura siguiente muestra el Centro de administración de Office 365 donde se asignan los permisos.
Asignar permisos al almacén de términos:
En el Centro de administración de Office 365, seleccione Almacén de términos.
En almacén de términos de taxonomía, seleccione el conjunto de términos que quiere asignar a un administrador.
En Administradores del almacén de términos, escriba la cuenta de la organización que necesita permisos de administrador del almacén de términos.
Usar el complemento de prueba Core.MMS
Al iniciar el complemento, verá una aplicación de consola parecida a la que se muestra en la figura siguiente. Se le solicita que escriba la dirección URL de su sitio de SharePoint o SharePoint Online y sus credenciales.
Tras proporcionar sus credenciales y la dirección URL de SharePoint, se produce la autenticación de usuario.
El siguiente código realiza la autenticación de usuario en SharePoint Online.
ClientContext cc = new ClientContext(siteUrl);
cc.AuthenticationMode = ClientAuthenticationMode.Default;
// For SharePoint Online.
cc.Credentials = new SharePointOnlineCredentials(userName, pwd);
El siguiente código realiza la autenticación de usuario en SharePoint Online dedicado o en una granja de SharePoint local.
ClientContext cc = new ClientContext(siteUrl);
cc.AuthenticationMode = ClientAuthenticationMode.Default;
// For SharePoint Online Dedicated or on-premises .
cc.Credentials = new NetworkCredential(userName, pwd);
El método CreateNecessaryMMSTermsToCloud crea un grupo, un conjunto de términos y varios términos en el servicio de metadatos administrados. El código obtiene primero una referencia al objeto TaxonomySession y, después, al objeto TermStore , antes de crear los términos personalizados TermGroup, TermSet y new terms.
private static void CreateNecessaryMMSTermsToCloud(ClientContext cc)
{
// Get access to taxonomy CSOM.
TaxonomySession taxonomySession = TaxonomySession.GetTaxonomySession(cc);
cc.Load(taxonomySession);
cc.ExecuteQuery();
if (taxonomySession != null)
{
TermStore termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
if (termStore != null)
{
//
// Create group, termset, and terms.
//
TermGroup myGroup = termStore.CreateGroup("Custom", Guid.NewGuid());
TermSet myTermSet = myGroup.CreateTermSet("Colors", Guid.NewGuid(), 1033);
myTermSet.CreateTerm("Red", 1033, Guid.NewGuid());
myTermSet.CreateTerm("Orange", 1033, Guid.NewGuid());
myTermSet.CreateTerm("Yellow", 1033, Guid.NewGuid());
myTermSet.CreateTerm("Green", 1033, Guid.NewGuid());
myTermSet.CreateTerm("Blue", 1033, Guid.NewGuid());
myTermSet.CreateTerm("Purple", 1033, Guid.NewGuid());
cc.ExecuteQuery();
}
}
}
Después de crear los nuevos términos, el método GetMMSTermsFromCloud() recupera todos los grupos de términos, conjuntos de términos y términos del servicio de metadatos administrados. Al igual que el método CreateNecessaryMMSTermsToCloud(), el código proporciona primero una referencia al objeto TaxonomySession y, luego, al objeto TermStore, antes recuperar y mostrar la información del término.
private static void GetMMSTermsFromCloud(ClientContext cc)
{
//
// Load up the taxonomy item names.
//
TaxonomySession taxonomySession = TaxonomySession.GetTaxonomySession(cc);
TermStore termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
cc.Load(termStore,
store => store.Name,
store => store.Groups.Include(
group => group.Name,
group => group.TermSets.Include(
termSet => termSet.Name,
termSet => termSet.Terms.Include(
term => term.Name)
)
)
);
cc.ExecuteQuery();
//
// Writes the taxonomy item names.
//
if (taxonomySession != null)
{
if (termStore != null)
{
foreach (TermGroup group in termStore.Groups)
{
Console.WriteLine("Group " + group.Name);
foreach (TermSet termSet in group.TermSets)
{
Console.WriteLine("TermSet " + termSet.Name);
foreach (Term term in termSet.Terms)
{
// Writes root-level terms only.
Console.WriteLine("Term " + term.Name);
}
}
}
}
}
}
Verá los datos de términos desde el servicio de metadatos administrados que aparece en la aplicación de consola, como se muestra en la siguiente ilustración, y en el almacén de términos en su servicio de metadatos administrados, como se muestra en la segunda figura.