Compartir a través de


Metadatos, navegación del sitio y características de publicación del sitio de SharePoint

En este artículo se explica cómo administrar metadatos y personalizar las características del sitio de publicación y navegación del sitio en SharePoint Online mediante el modelo de complemento. También trata las formas de trabajar con patrones y bibliotecas de programación web comunes para ayudar a personalizar la personalización de marca del sitio de publicación de SharePoint.

Términos y conceptos

Tabla 1. Metadatos clave, navegación y conceptos de publicación

Término o concepto Descripción e instrucciones
Elemento web Búsqueda de contenido Elemento web de SharePoint que muestra contenido de búsqueda dinámica en las páginas de maneras que se puede dar formato fácilmente. Para obtener más información, vea: Configurar elementos web de búsqueda en SharePoint Server, Configurar un elemento web de búsqueda de contenido en SharePoint, Características de búsqueda en SharePoint Online
ContentTypeId Identificadores únicos de tipos de contenido diseñados para ser recursivos. Para obtener más información, vea ContentTypeId (clase ) (CSOM).
Tipo de contenido Colección reutilizable y centralizada de metadatos (columnas), flujo de trabajo, comportamiento y otras configuraciones para una categoría de información. Para obtener información, vea:- Columnas, Creación de tipos de contenido, Información personalizada en tipos de contenido
Concentrador de tipo de contenido Parte de la aplicación de servicio de metadatos administrados, que es un sitio central que publica tipos de contenido en otras colecciones de sitios. Permite publicar, volver a publicar y anular la publicación de tipos de contenido desde una ubicación central. Para obtener información, consulte: Publicación de un tipo de contenido desde un centro de publicación de contenido, Visualización de registros de errores para la publicación de tipos de contenido
Canales de dispositivo Método para representar páginas de sitio de publicación de varias maneras mediante diseños diferentes destinados a varios dispositivos. Para obtener más información, vea Agregar un fragmento de código de panel de canal de dispositivo en SharePoint.
Mostrar plantilla En los elementos web que usan la tecnología de búsqueda, las plantillas de visualización controlan la representación de los resultados de las consultas realizadas en el índice de búsqueda. Las plantillas para mostrar están disponibles para todos los elementos web de búsqueda. Para obtener más información, vea Mostrar referencia de plantilla en SharePoint Server.
Navegación administrada Navegación del sitio con tecnología del servicio de metadatos administrados de SharePoint (taxonomía). Úselo para compilar la navegación del sitio derivada de una taxonomía de metadatos administrados. La navegación administrada suele funcionar mejor con el catálogo de productos.
Metadatos administrados Colección jerárquica de términos administrados centralmente que puede usar para definir y atributo elementos en SharePoint.Puede usar metadatos administrados para administrar la publicación de tipos de contenido y crear taxonomías. En SharePoint y SharePoint Online, el servicio de metadatos administrados se usa para crear navegación administrada: navegación del sitio con tecnología de taxonomía. Para obtener más información, vea: Personalización de controles y proveedores de navegación en SharePoint Server 2010 (ECM),Introducción a los metadatos administrados, Introducción a los metadatos administrados en SharePoint Server 2010, Administración de metadatos administrados (SharePoint Server 2010),Metadatos administrados y navegación en SharePoint, Navegación administrada en SharePoint, Migración de metadatos administrados en SharePoint Server 2010
Espacio de nombres de navegación Contiene clases de modelo de objetos de cliente (CSOM) que admiten la navegación del sitio para sitios de publicación.
Espacio de nombres taxonomía Contiene clases de CSOM que admiten características de taxonomía. Para obtener más información, vea Sincronizar complemento de SharePoint de ejemplo de grupos de términos.
Anclaje De forma similar a la reutilización de un término, el anclaje mantiene una relación compartida entre el término de origen y la instancia de reutilización. Por ejemplo, la relación compartida puede abarcar colecciones de sitios en un escenario de publicación entre sitios. Cada vez que se agrega o quita el término, esa acción se actualiza en toda la jerarquía en cualquier lugar donde se ancle el término. Para obtener más información, vea Usar código para anclar términos a conjuntos de términos de navegación en SharePoint.
Catálogo de productos Para obtener información, vea lo siguiente: - Publicación entre sitios en SharePoint, Configuración de la publicación entre sitios en SharePoint Server
Fragmento Una parte de la funcionalidad HTML que puede agregar al archivo HTML generado por el Administrador de diseño. Por ejemplo, es posible que quiera agregar un panel Canal de dispositivo a la página de publicación; hay un fragmento de código para eso. En los artículos siguientes se proporcionan algunos ejemplos: Agregar un fragmento de código de panel de canal de dispositivo en SharePoint, Agregar un fragmento de código de zona de elementos web en SharePoint, Agregar un fragmento de código de recorte de seguridad en SharePoint
Navegación estructurada Para obtener información sobre el uso de la navegación estructurada, vea How to: Customize Navigation in SharePoint Server 2010 (ECM).

Requisitos previos para usar CSOM en sitios de publicación de marca

De forma predeterminada, el contenido web publicado en sitios web locales de SharePoint orientados al público está disponible para usuarios anónimos. De forma predeterminada, tanto CSOM como REST no están disponibles para los usuarios anónimos.

Importante

Este escenario presenta una amenaza potencialmente grave para los sitios locales de SharePoint. Antes de usar el modelo de aprovisionamiento remoto descrito en Uso del aprovisionamiento remoto para personalizar las páginas de SharePoint para aprovisionar la personalización de marca en sitios de publicación, asegúrese de que la seguridad y los permisos del sitio se establezcan correctamente y tenga en cuenta las implicaciones de seguridad del acceso anónimo.

En el caso de que el administrador del sitio cree una nueva aplicación web que incluya una colección de sitios que use la plantilla de publicación y también permita el acceso anónimo, el acceso anónimo estará disponible para todos los usuarios del sitio cuando la aplicación se cargue en el catálogo de complementos. Dado que el acceso anónimo está habilitado para el sitio de publicación de SharePoint local, ¿qué ocurre si un usuario que no está autenticado navega al sitio?

Si crea un complemento hospedado en SharePoint y agrega un elemento de complemento de cliente al proyecto, vaya a Complementos de Administración> centralAdministrar catálogo de complementos y cree un catálogo decomplementos> para la aplicación web, publique el complemento hospedado en SharePoint mediante Visual Studio para crear el paquete de complementos y, a continuación, cargue el paquete de complementos en el catálogo de complementos. En este momento, el administrador de la colección de sitios puede agregar el complemento al sitio de publicación. El complemento ya está disponible para agregarlo a una página del sitio de publicación.

Si edita la página principal del sitio de publicación y publica el complemento en él, el complemento funciona según lo previsto. Al elegir el título vinculado del complemento, se carga la experiencia de página completa. Si SharePoint produce un error, esto significa que el usuario anónimo no tiene acceso para usar el CSOM. Esto tiene sentido porque CSOM y REST no están disponibles de forma predeterminada para los usuarios anónimos.

Tenga en cuenta que deshabilitar los permisos Usar interfaces remotas puede suponer un riesgo para la seguridad.

En Permisos de sitio, la casilla Requerir el permiso Usar interfaces remotas está activada de forma predeterminada. Puede desactivar la casilla Usar permisos de interfaces remotas para permitir que los usuarios anónimos tengan acceso para usar CSOM y REST. Esto desacopla al usuario de los permisos Usar interfaces remotas, lo que concede al usuario acceso a SOAP, WebDAV y CSOM. Al desactivar la casilla también se quita la capacidad de usar Designer de SharePoint.

Puede haber ocasiones en las que quiera quitar la capacidad de usar sharePoint Designer, pero seguir permitiendo el uso de CSOM. La casilla Usar permisos de interfaces remotas permite a los usuarios anónimos usar CSOM sin necesidad de que tengan permisos Usar interfaces remotas. Cuando la casilla Usar permiso de interfaces remotas está desactivada y elige el título vinculado del complemento para cargar la experiencia de página completa, SharePoint no produce un error. El código básico de control de errores interpreta este caso como un usuario anónimo.

Precaución

  • Al agregar aplicaciones a sitios de SharePoint accesibles públicamente que usan la plantilla de publicación, no desactive la casilla Usar permisos de interfaces remotas en Permisos del sitio. Habilitar CSOM para usuarios anónimos presenta un posible riesgo de divulgación de información; divulgue mucha más información de la que anticiparía. Dicho esto, incluso con acceso al CSOM completo, se siguen aplicando permisos de SharePoint. Los usuarios anónimos solo podrán ver listas o elementos que se han puesto explícitamente a disposición de los usuarios anónimos. Más de lo que ve en la página web está disponible para los usuarios anónimos a través de CSOM y REST.
  • A menos que sea absolutamente necesario, no desactive la casilla Requerir el permiso Usar interfaces remotas cuando los permisos de acceso anónimo estén habilitados en un sitio de publicación local de SharePoint. Si lo hace, podría exponer el contenido del sitio publicado y no publicado a usuarios anónimos, y podría dejar el sitio abierto a un ataque por denegación de servicio.

Uso de la característica ViewFormPagesLockdown

Para evitar que los usuarios accedan a las páginas de formularios (por ejemplo, Pages/Forms/AllItems.aspx) en un sitio de SharePoint orientado al público, use la característica ViewFormPagesLockdown . Está diseñado para evitar que los usuarios vean la información Creado por y Modificado por . Esta característica quita el permiso para ver páginas de aplicación o usar interfaces remotas. Cuando esta característica está activa, los usuarios no pueden ir a Pages/Forms/AllItems.aspx y ver elementos de esa biblioteca.

Si CSOM y REST están disponibles para todos los usuarios anónimos (si la casilla Usar permisos de interfaces remotas está desactivada), aunque todavía no puedan ver la información Creado por y Modificado por en el explorador, pueden usar CSOM o REST para acceder a esa información.

Configuración del acceso anónimo (recorte de seguridad)

Al configurar el acceso anónimo para la aplicación web, se especifica la directiva anónima: Denegar escritura: no tiene acceso de escritura . Esto significa que los usuarios con acceso anónimo no pueden escribir en el sitio, incluso con código CSOM o REST. Los usuarios anónimos solo pueden ver la información que se les concedió cuando se configuró el acceso anónimo al sitio.

Las páginas no publicadas no son visibles para los usuarios anónimos de forma predeterminada. Solo pueden ver listas que habilitan el acceso anónimo.

Importante

Si la casilla Usar permisos de interfaces remotas está desactivada, use el modelo de permisos y otras precauciones para asegurarse de que los usuarios anónimos no tienen acceso a cosas que no deben.

Evitar ataques por denegación de servicio

No hay almacenamiento en caché con CSOM. Esto significa que un atacante malintencionado puede consultar miles de elementos de listas simultáneamente, todo mientras permanece bajo el umbral de vista de lista predeterminado y grava la base de datos de SharePoint. Esto podría propagarse y escalarse hasta convertirse en un ataque de denegación de servicio completo.

Uso de la directiva de solo aplicación

Puede usar la directiva de solo aplicación con complementos hospedados por el proveedor. La directiva de solo aplicación permite al complemento realizar acciones que el usuario actual no está autorizado a realizar. Por ejemplo, un usuario con permisos de solo lectura que es notable para escribir en una lista puede usar un complemento con permisos de solo aplicación para escribir en una lista.

Para obtener más información, vea Autorización y autenticación de complementos de SharePoint y Descripción de la autenticación y los permisos con aplicaciones para SharePoint y Office (vídeo de Channel 9).

Implementación de SSL

Cuando use el modelo de complemento, implemente el protocolo Capa de sockets seguros (SSL) para administrar la seguridad de las transmisiones de mensajes en Internet. SSL funciona mediante el sitio web remoto, enviando un token de acceso en el encabezado HTTP Authorization con un valor de Bearer + una cadena codificada en base64 (no cifrada).

Importante

SSL protege el sitio de publicación de SharePoint de los atacantes que quieren obtener un token de autorización y aprovechar ese acceso.

Sitios de aprovisionamiento y publicación remotos

Puede usar prácticas de aprovisionamiento remoto para aprovisionar personalización de marca y otras personalizaciones en sitios de publicación de SharePoint.

Los sitios de publicación dependen de los tipos de contenido y contentTypeId, que vincula los tipos de contenido a diseños de página y plantillas para mostrar. Personalizar y aprovisionar el contenido de la página de publicación de SharePoint depende de esta funcionalidad. Otros aspectos del comportamiento de aprovisionamiento de sitios de publicación personalizado, como los servicios de metadatos administrados y la navegación administrada, no dependen de ContentTypeId y son totalmente compatibles con CSOM.

Otras opciones de personalización del sitio de publicación, como canales de dispositivo y plantillas para mostrar, no requieren CSOM personalizado. Dependen de las características del Administrador de diseño, CSS y HTML. Son personalizaciones posteriores al aprovisionamiento que se compilan desde cero y no es necesario migrar.

Metadatos administrados

La característica de metadatos administrados, introducida por primera vez en SharePoint 2010, permite definir una jerarquía personalizada o taxonomía de etiquetas de metadatos para su uso en SharePoint. Si desea crear una navegación de sitio personalizada, puede usar la característica de navegación administrada, que se basa en la infraestructura de metadatos administrados.

Una taxonomía es una clasificación jerárquica de palabras, etiquetas o términos que se organizan en grupos en función de las similitudes. La unidad más pequeña de una taxonomía de SharePoint es el término . Los términos se pueden agrupar en conjuntos de términos. Los conjuntos de términos se pueden agrupar por afinidad en grupos más grandes.

Para obtener una breve introducción a la taxonomía en SharePoint, vea Una breve introducción a los metadatos administrados de empresa en SharePoint 2010 e Introducción a los metadatos administrados en SharePoint 2010.

SharePoint 2013 introdujo nuevas API y funcionalidad en el conjunto de características de metadatos administrados.

Modelo de programación de metadatos administrados

Para SharePoint, el modelo de programación de .NET Server para metadatos administrados se define en el siguiente conjunto de espacios de nombres:

Las clases de CSOM equivalentes se encuentran en el espacio de nombres Client.Taxonomy .

A diferencia de otras áreas del modelo de objetos de SharePoint, para los metadatos administrados, hay una afinidad estrecha entre las clases y miembros del modelo de programación de .NET Server y las clases y miembros de CSOM.

Las siguientes son algunas diferencias clave:

  • CSOM no admite la sincronización de tipos de contenido.
  • La clase Group , que representa la capa superior de la organización en la clase TermStore , solo está disponible en el modelo de objetos de .NET Server. Su equivalente en CSOM es la clase TermGroup .
  • La clase GroupCollection, que representa una colección de objetos Group, solo está disponible en el modelo de objetos de .NET Server. Su equivalente en CSOM es la clase de clase TermGroupCollection .
  • CSOM incluye las clases CustomPropertyMatchInformation y LabelMatchInformation que mantienen los datos de etiqueta y propiedad personalizados sincronizados con el servidor.

En la tabla siguiente se comparan las clases del modelo de objetos de .NET Server y el modelo de objetos CSOM.

Tabla 2. Comparación de clases en los dos modelos

Modelo de objetos de .NET Server API de CSOM equivalente
Microsoft.SharePoint.Taxonomy.ChangedGroup Microsoft.SharePoint.Client.Taxonomy.ChangedGroup
Microsoft.SharePoint.Taxonomy.ChangedItem Microsoft.SharePoint.Client.Taxonomy.ChangedItem
Microsoft.SharePoint.Taxonomy.ChangedItemCollection Microsoft.SharePoint.Client.Taxonomy.ChangedItemCollection
Microsoft.SharePoint.Taxonomy.ChangedItemType Microsoft.SharePoint.Client.Taxonomy.ChangedItemType
Microsoft.SharePoint.Taxonomy.ChangedOperationType Microsoft.SharePoint.Client.Taxonomy.ChangedOperationType
Microsoft.SharePoint.Taxonomy.ChangedSite Microsoft.SharePoint.Client.Taxonomy.ChangedSite
Microsoft.SharePoint.Taxonomy.ChangedTerm Microsoft.SharePoint.Client.Taxonomy.ChangedTerm
Microsoft.SharePoint.Taxonomy.ChangedTermSet Microsoft.SharePoint.Client.Taxonomy.ChangedTermSet
Microsoft.SharePoint.Taxonomy.ChangedTermStore Microsoft.SharePoint.Client.Taxonomy.ChangedTermStore
No procede. Microsoft.SharePoint.Client.Taxonomy.ChangeInformation
No procede. Microsoft.SharePoint.Client.Taxonomy.CustomPropertyMatchInformation
Microsoft.SharePoint.Taxonomy.FeatureIds No procede.
Microsoft.SharePoint.Taxonomy.Group No procede.
Microsoft.SharePoint.Taxonomy.HiddenListFullSyncJobDefinition No procede.
Microsoft.SharePoint.Taxonomy.ImportManager No procede.
Microsoft.SharePoint.Taxonomy.Label Microsoft.SharePoint.Client.Taxonomy.Label
Microsoft.SharePoint.Taxonomy.LabelCollection Microsoft.SharePoint.Client.Taxonomy.LabelCollection
No procede. Microsoft.SharePoint.Client.Taxonomy.LabelMatchInformation
Microsoft.SharePoint.Taxonomy.MobileTaxonomyField Microsoft.SharePoint.Client.Taxonomy.MobileTaxonomyField
Microsoft.SharePoint.Taxonomy.StringMatchOption Microsoft.SharePoint.Client.Taxonomy.StringMatchOption
Microsoft.SharePoint.Taxonomy.TaxonomyField Microsoft.SharePoint.Client.Taxonomy.TaxonomyField
Microsoft.SharePoint.Taxonomy.TaxonomyFieldControl No procede.
Microsoft.SharePoint.Taxonomy.TaxonomyFieldEditor No procede.
Microsoft.SharePoint.Taxonomy.TaxonomyFieldValue Microsoft.SharePoint.Client.Taxonomy.TaxonomyFieldValue
Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection Microsoft.SharePoint.Client.Taxonomy.TaxonomyFieldValueCollection
Microsoft.SharePoint.Taxonomy.TaxonomyItem Microsoft.SharePoint.Client.Taxonomy.TaxonomyItem
Microsoft.SharePoint.Taxonomy.TaxonomyItemPicker No procede.
Microsoft.SharePoint.Taxonomy.TaxonomyRights No procede.
Microsoft.SharePoint.Taxonomy.TaxonomySession Microsoft.SharePoint.Client.Taxonomy.TaxonomySession
Microsoft.SharePoint.Taxonomy.TaxonomyWebTaggingControl No procede.
Microsoft.SharePoint.Taxonomy.Term Microsoft.SharePoint.Client.Taxonomy.Term
Microsoft.SharePoint.Taxonomy.TermCollection Microsoft.SharePoint.Client.Taxonomy.TermCollection
No procede. Microsoft.SharePoint.Client.Taxonomy.TermGroup
No procede. Microsoft.SharePoint.Client.Taxonomy.TermGroupCollection
Microsoft.SharePoint.Taxonomy.TermProperty No procede.
Microsoft.SharePoint.Taxonomy.TermPropertyToolPart No procede.
Microsoft.SharePoint.Taxonomy.TermSet Microsoft.SharePoint.Client.Taxonomy.TermSet
Microsoft.SharePoint.Taxonomy.TermSetCollection Microsoft.SharePoint.Client.Taxonomy.TermSetCollection
Microsoft.SharePoint.Taxonomy.TermSetItem Microsoft.SharePoint.Client.Taxonomy.TermSetItem
Microsoft.SharePoint.Taxonomy.TermStore Microsoft.SharePoint.Client.Taxonomy.TermStore
Microsoft.SharePoint.Taxonomy.TermStoreCollection Microsoft.SharePoint.Client.Taxonomy.TermStoreCollection
Microsoft.SharePoint.Taxonomy.TermStoreOperationException No procede.
Microsoft.SharePoint.Taxonomy.TreeControl No procede.

Diseños de página

Para los sitios de publicación, el diseño de página define el diseño de una clase específica de páginas. También define las regiones personalizables de una página con marcadores de posición de contenido, que se rellenan mediante contenido de regiones coincidentes en diseños de página. Los diseños de página suelen basarse en un tipo de contenido personalizado. Los tipos de contenido definen campos de contenido personalizados que desea mostrar en una página. Normalmente, creará un tipo de contenido personalizado que incluya campos que se asignan al diseño de página que usted o el equipo de diseño habían planeado anteriormente.

Los controles de campo personalizados pueden incluir texto, imágenes, vídeo u otros tipos de contenido. SharePoint proporciona tipos de contenido para Artículo, Catálogo, Página de bienvenida y mucho más. Para acceder a los tipos de contenido de diseño de página, vaya a Site Settings>Site Content Types (Tipos de contenido del sitio). Estos tipos de contenido de diseño de página predeterminados pueden servir como tipos de contenido primarios para un tipo de contenido personalizado que cree.

Todos los tipos de contenido de diseño de página heredan del tipo de contenido Page. Después de crear un tipo de contenido personalizado, SharePoint muestra las columnas que el nuevo tipo de contenido hereda del tipo de contenido Page. Puede agregar nuevas columnas de sitio para representar los nuevos campos personalizados que desea mostrar en el diseño de página. Especifique un tipo para cada columna de sitio. Un tipo es un valor como "línea única de texto" o "HTML completo". Tenga en cuenta factores como el grado de descriptividad o control que el usuario debe tener con el campo al especificar su tipo.

Después de crear todos los campos que almacenan el contenido en el diseño de página, puede crear el diseño de página en el Administrador de diseño. Para obtener más información, consulte Crear un diseño de página en SharePoint.

Después de crear el diseño de página, publíquelo enPáginas maestras y diseños de página de configuración> del sitio. Hay un archivo HTML y un archivo ASPX. El archivo HTML es el maestro y puede usar cualquier editor HTML para editarlo. Después de guardar el archivo y publicarlo, el Administrador de diseño incorpora cambios y convierte el archivo HTML actualizado en formato ASPX, que SharePoint usa para representar la página. Para publicar el diseño de página, seleccione el archivo HTML y elija Publicar en la cinta de opciones.

Para crear una página basada en el nuevo diseño, vaya a Nuevos>>diseños de página de página para ver el nuevo diseño de página en la lista de diseños de página disponibles. Al elegir el nuevo diseño de página, debería ver todos los campos nuevos que especificó al crear un nuevo tipo de contenido para el nuevo diseño de página. Si ve la página y el CÓDIGO HTML no se representa de la manera esperada, puede editar el CÓDIGO HTML y, a continuación, usar el Administrador de diseño para cargar el archivo actualizado.

Hay cuatro tipos de navegación por el sitio:

  • Navegación global
  • Navegación local
  • Navegación estructurada
  • Navegación administrada

La navegación global hace referencia a los elementos de navegación que ayudan a los usuarios a moverse de un sitio de SharePoint a otro.

La navegación local hace referencia a la navegación dentro de un sitio de SharePoint.

La navegación estructurada y administrada está un poco más implicada.

Navegación estructurada

La navegación estructurada es un enfoque estático para implementar la navegación en sitios de SharePoint. Normalmente coincide con la estructura de la empresa, lo que requiere la reestructuración de la navegación del sitio de SharePoint. El trabajo de reestructuración suele significar mover subsitios o páginas y actualizar vínculos para que apunten a nuevos destinos.

La navegación estructurada podría ser suficiente para estructuras de sitio bastante planas y poco profundas si la estructura de la empresa (y, por tanto, la estructura del sitio) es estable durante largos períodos de tiempo. Para estructuras de sitio más profundas y complejas, y empresas con estructuras de navegación de sitios de publicación que necesitan crecer y cambiar dinámicamente, la navegación administrada podría ser una mejor opción.

Para obtener más información sobre la navegación estructurada, vea Cómo: Personalizar la navegación en SharePoint Server 2010.

Navegación administrada

La navegación administrada se basa en el sitio de publicación principal y la infraestructura de taxonomía. La navegación administrada está enlazada a una única colección de sitios. Usa conjuntos de términos y términos para definir la navegación global y local. Por ejemplo, puede crear un conjunto de términos que defina la navegación global global y, a continuación, agregar términos a ese conjunto de términos para elementos de navegación específicos en la navegación global.

Puede encontrar más información sobre la navegación administrada en los artículos siguientes:

A continuación se muestran algunos puntos clave de alto nivel sobre clases, métodos y propiedades en el modelo de extensibilidad de navegación de SharePoint para sitios de publicación:

  • Las clases NavigationTerm y NavigationTermSet agregan propiedades y métodos específicos de la navegación administrada. El estado adicional se almacena en la propiedad CustomProperties de la clase NavigationTerm .
  • Las clases NavigationTerm y NavigationTermSet tienen dos modos: editable y de solo lectura. En el modelo de objetos de .NET Server, los objetos NavigationTerm se almacenan en la caché de navegación de taxonomía, a la que solo pueden acceder las funciones de la clase estática TaxonomyNavigation .
  • Los objetos PortalSiteMapNodeProvider del modelo de objetos de .NET Server proporcionan una interfaz entre las características de navegación del sitio controladas por datos y los orígenes de datos de mapa de sitio. Normalmente, se escribe un proveedor de nodos de mapa de sitio personalizado para almacenar mapas de sitio en un archivo XML o en un formato de datos que SharePoint no admite de forma predeterminada.

CSOM incluye algunas clases y enumeraciones únicas:

  • La enumeración NavigationLinkType define el tipo de nodo de navegación en un árbol de navegación. Puede especificar un nodo como nodo raíz, una dirección URL descriptivo o un vínculo estándar.
  • La enumeración StandardNavigationScheme identifica la navegación como global o local.
  • La enumeración StandardNavigationSource incluye tres opciones para la navegación global y la navegación local. Cada opción representa un estado que corresponde a la configuración de los proveedores subyacentes.
  • La clase StandardNavigationSettings administra los esquemas de navegación global y local.

En la tabla siguiente se enumeran las clases de navegación de publicación en el modelo de objetos de servidor y sus equivalentes de CSOM.

Tabla 3. Publicación de clases de navegación

Modelo de objetos de servidor CSOM
Microsoft.SharePoint.Publishing.Navigation.CachedObjectSiteMapNode No procede.
Microsoft.SharePoint.Publishing.Navigation.NavigationComparer No procede.
No procede. Microsoft.SharePoint.Client.Publishing.Navigation.NavigationLinkType
Microsoft.SharePoint.Publishing.Navigation.NavigationTerm Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTerm
No procede. Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermCollection
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSet Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSet
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetItem Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSetItem
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetView Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSetView
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalDataSourceView No procede.
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalEnumerable No procede.
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchyData No procede.
Microsoft.SharePoint.Publishing.Navigation.PortalListItemSiteMapNode No procede.
Microsoft.SharePoint.Publishing.Navigation.PortalListSiteMapNode No procede.
Microsoft.SharePoint.Publishing.Navigation.PortalNavigation No procede.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapDataSource No procede.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapDataSourceSwitch No procede.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode No procede.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider No procede.
Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode No procede.
Microsoft.SharePoint.Publishing.Navigation.ProxySiteMapNode No procede.
Microsoft.SharePoint.Publishing.Navigation.SiteNavigationSettings No procede.
Microsoft.SharePoint.Publishing.Navigation.SiteNavigationSettingsWriter No procede.
Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode No procede.
No procede. Microsoft.SharePoint.Client.Publishing.Navigation.StandardNavigationSource
No procede. Microsoft.SharePoint.Client.Publishing.Navigation.StandardNavigationSettings
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigation Microsoft.SharePoint.Client.Publishing.Navigation.TaxonomyNavigation
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationCacheConfig No procede.
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationCacheStatistics No procede.
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationContext No procede.
Microsoft.SharePoint.Publishing.Navigation.TaxonomySiteMapNode No procede.
Microsoft.SharePoint.Publishing.Navigation.TaxonomySiteMapProvider No procede.
Microsoft.SharePoint.Publishing.Navigation.WebNavigationSettings Microsoft.SharePoint.Client.Publishing.Navigation.WebNavigationSettings

Características del sitio de publicación

SharePoint y SharePoint Online incluyen algunas características específicas de los sitios de publicación de SharePoint:

  • Los canales de dispositivo permiten aplicar un diseño de sitio de publicación único a varios dispositivos y exploradores.
  • Las plantillas para mostrar permiten personalizar y personalizar la apariencia de los elementos web relacionados con la búsqueda.
  • Las representaciones de imágenes definen las dimensiones que se usan para mostrar imágenes en páginas de sitios de publicación de SharePoint.

Puede implementar estas características mediante clases en el espacio de nombres Publishing del modelo de programación de CSOM.

Canales de dispositivos y paneles de canales de dispositivos

Puede usar canales de dispositivo y paneles de canales de dispositivo para optimizar su sitio para teléfonos y tabletas. Al crear un canal único para cada dispositivo de destino, puede representar un sitio de publicación de SharePoint de más de una manera. Puede crear un único sitio una vez y, a continuación, asignar el sitio y su contenido a diferentes páginas maestras y hojas de estilos para adaptarse a diferentes destinos.

Los canales se crean mediante el Administrador de diseño. Después de crear un canal, asígnelo al dispositivo móvil o al explorador con la cadena del agente de usuario del dispositivo entrante.

Un dispositivo puede pertenecer a más de un canal. En ese caso, puede clasificar los canales en caso de que un dispositivo pertenezca. Por ejemplo, si creas un canal para smartphones y un canal para una configuración de dispositivo específica, puedes clasificar los canales para que los dispositivos con la configuración específica obtengan el canal para ellos y el resto de smartphones obtengan el canal de smartphones.

Puede crear hasta 10 canales (incluido el canal predeterminado) en el Administrador de diseño. El canal predeterminado captura todo el tráfico que no detecta uno de los otros canales. Al crear un nuevo canal, complete los campos enumerados en la tabla siguiente.

Tabla 4. Canales de dispositivo

Campo ¿Obligatorio u opcional? Descripción
Nombre Obligatorio Identifica el canal para distinguirlo de otros.
Alias del canal Obligatorio Cómo el código, la cadena de consulta, las cookies o los paneles de canal de dispositivo distinguen las diferencias entre canales.
Reglas de inclusión de dispositivos Obligatorio Las subcadenas de agente de usuario que dirigen las solicitudes de los dispositivos (cada una debe estar en una línea diferente).
Descripción Opcional Describe lo que hace este canal.
Activo Opcional Cuando está activado, el canal usa los recursos relacionados para que el canal dirija el tráfico. De lo contrario, la cadena ?DeviceChannel=<alias> de consulta obtiene una vista previa del sitio en el canal.

Paneles de canales de dispositivo

Después de crear canales de dispositivo, asigne una página maestra a cada uno de ellos. Dado que las personalizaciones de página maestra son cada vez más raras, suele ser la página maestra predeterminada (seattle.master). Si crea una página maestra única para uno o varios canales de dispositivo, puede hacer referencia a un archivo CSS diferente al de la página maestra del canal predeterminado. Los diseños de página que cree funcionan con cada canal que cree. Puede usar el control Panel de canal de dispositivo para diferenciar los diseños de diseño de página entre canales.

Para obtener más información, vea Agregar un fragmento de código de panel de canal de dispositivo en SharePoint.

El panel del canal del dispositivo es un control de contenedor que está asignado a uno o varios canales. Puede agregar un control de panel de canal de dispositivo a un diseño de página y el panel controlará qué contenido se representa en cada canal. Cuando uno o varios de esos canales están activos cuando se representa la página, se representa todo el contenido del panel de canales del dispositivo. Use el panel del canal del dispositivo para determinar cuándo incluir contenido específico para uno o más canales específicos.

Considere la posibilidad de un diseño de página que incluya diez campos. Algunos de esos campos están disponibles para todos los canales y algunos solo deben representarse en canales específicos. Por ejemplo, considere un campo de banner de encabezado móvil que solo se representa en smartphones o una barra lateral personalizada grande que solo se representa en escritorios y tabletas.

También puede usar el panel del canal del dispositivo para cambiar el estilo y la ubicación del contenido en una página agregando CSS específico del canal.

Para obtener más información, vea Fragmentos de código de marca mediante CSS en SharePoint.

Cadenas de agente de usuario y canales de dispositivo

Una cadena de agente de usuario es una pequeña cadena de datos que identifica el explorador. Esta información se puede enviar al servidor, que identifica al agente de usuario. Los canales de dispositivo asignan una solicitud a un canal de dispositivo correspondiente en función de la cadena del agente de usuario (o subcadenas) del dispositivo (o explorador) desde el que está navegando el usuario. El desarrollador front-end web crea y configura canales para capturar el tráfico.

Para obtener más información, vea ¿Qué notificará Windows Internet Explorer como cadena de User-Agent?

Orden de resolución de los canales de dispositivo

Cuando cree varios canales, colóquelos en el orden en que desea que se resuelvan. Se usa el primer canal que incluye una regla de inclusión de dispositivos que coincide con la cadena del agente de usuario. En la tabla siguiente se muestra un ejemplo de esta regla.

Tabla 5. Ejemplo de regla de inclusión de dispositivos

Canal Orden 1 Pedido 2
1 Windows Phone 8 Windows Phone
2 Windows Phone Windows Phone 8
3 Predeterminada Predeterminada

Si el pedido 1 está activo, un usuario que solicita una página de un Windows Phone 8 recibe el canal de dispositivo 1 etiquetado Windows Phone 8. Un usuario con cualquier otro teléfono Windows usaría el canal 2 y todo lo demás usaría el canal 3. Sin embargo, con el pedido 2, un usuario que solicita una página de un Windows Phone 8 siempre recibiría el canal de dispositivo 1 etiquetado Windows Phone y nunca usaría el canal de dispositivo especificado para él.

Después de definir y ordenar canales de dispositivo, puede aplicar diferentes páginas maestras a cada canal. De forma predeterminada, todos los canales usarán la página maestra del canal predeterminado.

Nota:

CSOM no incluye una API pública para manipular canales de dispositivo y paneles de canales de dispositivo.

Plantillas para mostrar

Los sitios de publicación de SharePoint usan plantillas para mostrar para controlar qué propiedades administradas se muestran en los resultados de búsqueda y cómo aparecen en el elemento web. Solo los elementos web de búsqueda usan plantillas para mostrar; el elemento web Consulta de contenido no es un elemento web de búsqueda y no usa plantillas para mostrar.

En la tabla siguiente se enumeran los tipos de plantillas para mostrar, en el orden en que SharePoint las aplica.

Tabla 6: Tipos de plantillas para mostrar

Mostrar plantilla Descripción
Plantillas para mostrar de control Se aplica a todo el elemento web, por lo que SharePoint lo aplica primero y solo una vez. Proporciona HTML que estructura el diseño general para presentar los resultados de búsqueda. Por ejemplo, una plantilla para mostrar de control podría proporcionar HTML para el encabezado y el principio y el final de una lista. Esta plantilla solo se representa una vez en el elemento web.
Plantillas para mostrar de grupo Se aplica en segundo lugar y se aplica una vez por grupo al elemento web Resultados de búsqueda.
Plantillas para mostrar elementos Se aplica en último lugar a menos que se aplique una plantilla de visualización de filtro. Las plantillas para mostrar elementos se aplican a cada elemento. Esta plantilla determina cómo se muestra cada elemento del conjunto de resultados en el elemento web. Por ejemplo, podría proporcionar el CÓDIGO HTML para un elemento de lista que es texto sin formato, un elemento de lista que contiene una imagen o un elemento de lista que da formato a un bloque de vínculos adicionales e información de descripción de resumen para ayudar a proporcionar más contexto para los resultados de la búsqueda.

SharePoint almacena plantillas para mostrar en la carpeta Plantillas para mostrar de la Galería de páginas maestras.Cada plantilla para mostrar está asociada a un tipo de contenido en la página maestra Gallery.To identificar el tipo de contenido de cada archivo de plantilla para mostrar mientras se usa una unidad asignada, use el nombre de archivo.

Los receptores de eventos que convierten y actualizan páginas maestras y diseños de página de HTML a JavaScript también convierten plantillas para mostrar de HTML a JavaScript. La conversión y la sincronización son unidireccionales; no convierte de JavaScript a HTML.

Nota:

CSOM no incluye una API pública para manipular plantillas para mostrar.

Mostrar estructura de plantilla

Cada plantilla para mostrar contiene lo siguiente:

  • Un título.
  • Encabezado que contiene elementos personalizados delimitados por una <mso:CustomDocumentProperties> etiqueta.
  • Etiqueta <body> que contiene un bloque de script.
  • Una <div> etiqueta.

Las propiedades de documento personalizadas proporcionan información importante a SharePoint sobre la plantilla para mostrar. Cada plantilla para mostrar está asociada a un tipo de contenido, que se identifica mediante <ContenTypeId>. Puede establecer otras propiedades que determinen si se debe ocultar o mostrar la plantilla en la lista de plantillas para mostrar disponibles para el elemento web, la asignación de propiedades administradas html a JavaScript, el contexto en el que se usa la plantilla para mostrar, si un archivo .js está asociado actualmente con el HTML de la plantilla para mostrar y si la conversión de HTML a JavaScript se realizó correctamente o si se produjeron advertencias y errores.

Desde dentro de la <script> etiqueta, puede hacer referencia a archivos CSS o JavaScript externos fuera del archivo HTML de plantillas para mostrar principales.

Si se requiere la aprobación de contenido en la Galería de páginas maestras, todos los archivos CSS, JavaScript y otros recursos deben publicarse antes de que estén disponibles para las páginas maestras y los diseños de página.

Para más información, vea Requerir la aprobación de elementos en una lista o biblioteca de sitio.

La <div> etiqueta contiene un identificador que coincide con el nombre del archivo HTML de plantilla para mostrar. Coloque CSS o JavaScript que quiera incluir que personalice cómo se muestra este elemento web en el <div> bloque.

Visualización del procesamiento de plantillas

SharePoint define plantillas para mostrar en archivos HTML y JavaScript. Si en el Administrador de diseño cambia un archivo HTML que contiene una definición de plantilla para mostrar y guarda los cambios, SharePoint compila los cambios en un archivo JavaScript con el mismo nombre. SharePoint usa este archivo JavaScript para representar elementos web en páginas.

Importante

No edite el archivo JavaScript que contiene la definición de plantilla para mostrar. Actualice solo el archivo HTML. El proceso de conversión requiere que el archivo HTML sea compatible con XML. Por ejemplo, use <br>, no <br/>. Para obtener más información, vea Convertir un archivo HTML en una página maestra en SharePoint.

Creación de nuevas plantillas para mostrar

La manera más fácil de crear una nueva plantilla para mostrar es modificar una plantilla existente. Las distintas plantillas para mostrar cambian la apariencia de los distintos elementos web relacionados con la búsqueda, incluido el elemento web Búsqueda de contenido, el elemento web Refinamiento, el elemento web Refinamiento de taxonomía y el elemento web Resultados de búsqueda.

Para obtener más información, consulte:

Propiedades que se pueden usar en plantillas para mostrar

Antes de empezar a identificar las propiedades que puede usar en una plantilla para mostrar, busque una plantilla para mostrar existente desde la que desea compilar y guárdela con un nuevo nombre. El código de plantilla para mostrar se encuentra dentro de la <mso:ManagedPropertyMapping> etiqueta .

<mso:ManagedPropertyMapping msdt:dt="string">'Picture URL'{Picture URL}:'PublishingImage;PictureURL;PictureThumbnailURL','Link URL'{Link URL}:'Path','Line 1'{Line 1}:'Title','Line 2'{Line 2}:'Description','Line 3'{Line3}:'','SecondaryFileExtension','ContentTypeId'</mso:ManagedPropertyMapping>

A continuación, abraEsquema de búsquedade configuración> del sitio y, a continuación, busque un nombre de columna en el cuadro Filtro de propiedades administradas que desea incluir en una plantilla para mostrar. Seleccione la propiedad administrada y, a continuación, edite y copie el nombre de la propiedad.

<mso:ManagedPropertyMapping msdt:dt="string">'Picture URL'{Picture URL}:'PublishingImage;PictureURL;PictureThumbnailURL','Link URL'{Link URL}:'Path','Line 1'{Line 1}:'Title','Line 2'{Line 2}:'Description','Line 3'{Line3}:'','owsTXTPrice','owsTXTColor'</mso:ManagedPropertyMapping>

Nota:

En este ejemplo, PictureURL se asigna a la primera propiedad administrada que está presente cuando la búsqueda obtiene resultados para PublishingImage, PictureURL o PictureThumbnailURL.

Representaciones de imágenes

Una representación de imágenes define las dimensiones que se usan para mostrar imágenes en páginas de sitios de publicación de SharePoint. Puede usar CSOM para crear instancias y manipular representaciones de imágenes. Puede especificar metadatos como el alto, el ancho, el nombre y la versión de una representación de imágenes mediante la clase ImageRendition . Puede usar métodos y propiedades en la clase SiteImageRenditions para leer y escribir representaciones de imágenes de una colección de sitios.

Para obtener más información, vea Representaciones de imágenes del Administrador de diseño de SharePoint.

Técnicas de programación web y SharePoint

Los diseñadores y desarrolladores de SharePoint a menudo quieren usar técnicas de programación web estándar con SharePoint cuando diseñan sitios de publicación. Puede usar el diseño dinámico, el diseño adaptable o ambos canales de dispositivo y el diseño dinámico juntos.

Diseño dinámico

Con los canales de dispositivo, puede crear un sitio una vez y, a continuación, dirigirlo a varios dispositivos y exploradores. La comunidad de desarrollo web suele usar el diseño dinámico y el enfoque de "cuadrícula fluida" para administrar cómo se representan los diseños y diseñar sitios para representarlos correctamente en cualquier explorador o dispositivo. En un diseño con capacidad de respuesta, los elementos de una página se reorganizan para ajustarse al dispositivo del usuario y a la orientación de la pantalla.

El diseño dinámico se basa en la característica de consultas multimedia de CSS3. Usa consultas multimedia para que coincidan con el ancho de la pantalla del dispositivo y, a continuación, aplica estilos en el lado cliente para representar el contenido. Las consultas multimedia permiten que un diseñador tenga como destino propiedades de sitio específicas, como el ancho de pantalla. Puede usar consultas multimedia para crear diseños e imágenes flexibles, y llamar condicionalmente a alternativas de archivos CSS.

Para obtener más información y ejemplos, consulte:

Diseño adaptable

El diseño web adaptable (a veces denominado entrega web adaptable) es similar al diseño web con capacidad de respuesta. Un diseño adaptable escucha dispositivos o exploradores y elige la manera óptima de representar páginas.

La característica de canales de dispositivo en SharePoint es un diseño adaptable. Ofrece diseños adaptables a cada dispositivo en función del diseño de página, las especificaciones de cada canal de dispositivo y el orden definido en el panel del canal del dispositivo.

Canales de dispositivo y diseño dinámico juntos

Puede usar juntos canales de dispositivo y técnicas de diseño web con capacidad de respuesta para crear un sitio de publicación de SharePoint con capacidad de respuesta pública. Considere la posibilidad de crear una sola página maestra personalizada para dispositivos, como teléfonos y tabletas, y otra para exploradores web, y asociar cada una de ellas a un canal de dispositivo. A continuación, use cuadrículas fluidas, imágenes flexibles y consultas multimedia CSS3 para diseñar la mejor experiencia de visualización para cada dispositivo y explorador que el sitio necesita admitir.

Agregar jQuery a un sitio de SharePoint

Puede agregar jQuery a un sitio de SharePoint en el nivel de sitio, el nivel de página o dentro de las secciones de una página, como una de las regiones de página de SharePoint o un elemento web que haya agregado al diseño de página.

Puede usar una acción personalizada para cargar jQuery desde una biblioteca de documentos. Haga esto si necesita que jQuery esté disponible para todas las páginas de un sitio de SharePoint. Este enfoque es flexible, pero no es fácil de controlar, y esto afecta al diseñador de sitios y al administrador. Puede almacenar y mantener archivos JavaScript en la biblioteca de documentos, pero también se pueden modificar o eliminar accidentalmente. Por este motivo, no se recomienda este enfoque.

También puede cargar jQuery desde la raíz de SharePoint mediante ScriptLinkControl. Puede usar el control para insertar scripts que se ejecutan en un sitio remoto y modificar los scripts sin tocar la instalación de SharePoint. El enfoque ScriptLinkControl tiene sentido cuando se desea usar jQuery en una página de aplicación o en un elemento web que se muestra en una página. Aunque el aprovisionamiento con esta opción es lento y afecta al rendimiento porque jQuery se agrega a una página a la vez, la implementación del archivo jQuery en la regla de SharePoint evita otros requisitos heredados. Esto resulta útil si necesita migrar la solución de código de plena confianza (FTC) de SharePoint a CSOM, y la migración incluye mover y refactorizar comportamientos personalizados de JavaScript y jQuery.

Por último, puede usar el elemento web Editor de contenido para cargar jQuery desde una red de entrega de contenido (CDN). Esto resulta útil si necesita agregar jQuery a una o varias páginas, incluidas las páginas wiki y de elementos web. Dado que está cargando el archivo jQuery desde una red CDN, no es necesario almacenar archivos adicionales en el servidor de SharePoint y los usuarios obtienen las ventajas de una versión distribuida en caché de los archivos jQuery. SharePoint llama al archivo jQuery desde la red CDN y puede agregar código jQuery personalizado que cree al elemento web Editor de contenido.

Compilación de complementos hospedados por el proveedor de SharePoint con ASP.NET MVC 5

Puede crear complementos personalizados hospedados por el proveedor con el patrón model-view-controller (MVC) en SharePoint. Este modelo separa la aplicación en tres partes interconectadas. Esto separa las representaciones internas de la información de la forma en que el usuario las ve y acepta. El modelo representa la estructura subyacente del software, la vista (normalmente elementos de la interfaz de usuario) y el controlador, que son las clases que conectan el modelo y la vista.

Puede encapsular ASP.NET contenido de MVC en el contenido de la página maestra del sitio de SharePoint. De hecho, puede usar Office 365 API para crear un complemento de SharePoint con ASP.NET MVC 5.

Las API para el desarrollo de MVC para SharePoint se definen en Filters\SharePointContextFilterAttribute.cs y SharePointContext.cs. Estas API encapsulan los pasos que el proyecto web realiza para comunicarse sin problemas con SharePoint en una sola llamada, lo que simplifica la lógica que necesita implementar.

El atributo de filtro de contexto de SharePoint realiza un procesamiento adicional para obtener información estándar cuando se redirige desde SharePoint a la aplicación web remota, como dirección URL web de host. También determina si el complemento debe redirigirse a SharePoint para que el usuario inicie sesión (por ejemplo, marcadores). Puede aplicar este filtro al controlador o a una vista. Las clases de contexto de SharePoint encapsulan toda la información de SharePoint para que pueda crear contextos específicos para la web del complemento y la web host y comunicarse con SharePoint.

Para obtener más información, vea Más información sobre ASP.NET MVC e Introducción a la compatibilidad con MVC para complementos de SharePoint.

Vea también