La funcionalidad Cross-Site Publishing de SharePoint 2013 nos permite crear elementos y documentos en un sitio y poder visualizarlos en sitios, colecciones de sitios o aplicaciones web distintas, manteniendo una URL relativa al sitio donde se está visualizando, y sin tener que duplicar el contenido.
En este ejemplo, crearemos una serie de noticias en una colección de sitios y las visualizaremos en otra colección de sitios distinta en base a una columna de taxonomía. Estas noticias adicionalmente estarán categorizadas por otra columna de taxonomía. Para ello haremos uso de las aplicaciones de servicio de búsqueda y de metadatos administrados.
El primer paso será crearnos la taxonomía para categorizar tanto las noticias como para definir el destino de las mismas:
Creación de taxonomías
Accederemos a la Aplicación de Servicio de Metadatos Administrados en la Administración Central. En ella nos crearemos un nuevo grupo y, dentro de este, dos conjuntos de términos: uno para definir el destino de las noticias y otro para categorizarlas. Los términos quedarán de la siguiente manera:
A continuación, crearemos la colección de sitios donde generaremos las noticias, o Authoring Site Collection.
Authoring Site Collection
Para crear la Authoring Site Collection, accederemos a la Administración Central y crearemos una colección de sitios nueva a partir de la plantilla “Catálogo de productos”. También se podría crear como “Portal de publicación” y posteriormente activar la característica de colección de sitios “Publicación de colecciones entre sitios”.
En este caso la URL quedará de la siguiente manera:
Accederemos al sitio y crearemos dos columnas de sitio que nos servirán para definir el objetivo de publicación de las noticias creadas, utilizando el conjunto de términos Destino, y otra para categorizarlas, utilizando el término Noticias, y un tipo de contenido que herede de Página de artículo, y al que le agregaremos las dos columnas recién creadas.
Seguidamente agregaremos el tipo de contenido a la biblioteca de páginas y crearemos unas noticias con diferentes categorías y destinos, para luego pasar a configurar la publicación del catálogo:
Configurar catálogo
Para configurar una lista o biblioteca como catálogo habrá que acceder a su configuración y acceder al enlace “Configuración del catálogo”:
En la página de la configuración marcaremos la casilla “Habilitar esta biblioteca como catálogo”, habilitaremos el acceso anónimo si es necesario, qué propiedades aparecerán en la URL de las noticias en los sitios destino, y que columna servirá como categoría de las noticias. En nuestro caso agregaremos el ID a la URL y seleccionaremos la columna Categoría para clasificar las noticias:
En este momento, el catálogo ya estaría correctamente configurado, pero hasta que no se realice un rastreo completo sobre la colección de sitios no aparecerá en el listado de catálogos.
Búsqueda
A continuación, realizaremos un rastreo completo sobre la aplicación. En este caso, crearemos un origen de contenidos específico para la aplicación web (aunque esto no sería necesario):
Publishing Site Collection
Ahora crearemos otra colección de sitios utilizando la plantilla de “Portal de publicación” dónde mostraremos las noticias con destino “Público”. En este caso la URL quedará de la siguiente manera:
A continuación, confirmaremos que la navegación del sitio está configurada para utilizar “Navegación administrada” y conectaremos el sitio al catálogo para poder obtener las noticias desde la colección de sitios de Authoring.
Conexión al catálogo
Para ello acceder a la configuración del sitio y hacer clic sobre el enlace “Administrar conexiones al catálogo”:
Hacer clic sobre el enlace “Conectar a un catálogo” y elegir “Conectar” sobre el catálogo recién creado. En el formulario de configuración seleccionaremos la opción “Integrar el catálogo en mi sitio”, nos aseguraremos que la columna para clasificar los elementos sea “Categoría” y que el término raíz de la jerarquía sea “Noticias”, y marcaremos la casilla “Incluir término raíz en la navegación del sitio”. El resto de campos los dejaremos por defecto.
Con esta configuración conseguiremos que el acceso a las noticias le aparezcan al usuario con una URL relativa al sitio actual, apareciendo la palabra Noticias y la categoría de la noticia, construyendo así URLs amigables. Además, se nos crearán dos páginas que nos servirán para listar todas las noticias y para acceder a una de ellas:
Configuración página listado elementos
Después de conectar con el catálogo veremos que se ha creado una serie de entradas en el menú, las cuales llevan al listado de noticias:
Si accedemos a la página Noticias se mostrarán todas las noticias que creamos anteriormente, y si accedemos a alguna de las categorías veremos las noticias filtradas por categoría. Estos listados los podemos configurar como cualquier CSWP para modificar su aspecto, consulta, número de elementos que muestra, etc.
Inicialmente se muestran las 4 noticias que creamos anteriormente, pero como nuestra intención es sólo mostrar las noticias con un determinado Destino habrá que configurar la consulta para adecuarla. Editaremos la página y en la siguiente ventana haremos clic sobre “Editar plantilla de página”:
Accederemos a la configuración del WebPart de resultados y haremos clic sobre el botón “Cambiar consulta”. En el panel de configuración cambiaremos al modo avanzado y realizaremos los dos siguientes pasos:
- Cambiaremos la configuración de la propiedad “owstaxidCategoria” para que obtenga la información desde la URL cambiando su valor por “{URLToken.1}”
- Agregaremos el filtro para que sólo nos traiga las noticias que tengan como campo “Destino” el valor “Publico”
Estas dos acciones harán que la consulta quede como sigue:
Guardamos los cambios y publicamos la página.
Con esta configuración veremos que en la página Noticias han desaparecido las noticias que habíamos creado, aunque si accedemos a alguna categoría sí que aparecen, y ahora sí ya aplicando el filtro de categoría. Para que la página de todas las noticias vuelva a listar los elementos volveremos a editar la página Noticias, pero en este caso haremos clic sobre “Editar página para dirección URL única (Noticias)”:
Esta acción nos permitirá modificar esta página sin afectar a las páginas de categoría. Volveremos a modificar el WebPart de resultados, y de la consulta quitaremos el filtro de la categoría. Guardamos y publicamos la página. Con esto conseguiremos que se muestren todas las noticias con Destino Publico sin importar la categoría.
A continuación configuraremos la página que muestra un elemento.
Configuración página elemento
Para poder editar la página que muestra un elemento accederemos a cualquiera de las noticias. Ya podemos ver que, aunque muestre información almacenada en otra colección de sitios, la URL es relativa al sitio actual.
Esta sería la URL real de la página:
Y esta la URL que se utiliza en el sitio de publicación:
Cuando accedemos a una noticia vemos un listado con metadatos de la noticia que, aunque editemos la página, no se pueden quitar. Esto es porque van fijos en el diseño de página, por lo que para conseguir que la noticia se muestre de forma correcta deberemos modificarlo.
Si abrimos el sitio con SharePoint Designer veremos que tenemos dos diseños de página nuevos que se utilizan para listar las noticias y para mostrar una noticia:
Editamos el diseño de página CatalogItem-Noticias.aspx. Veremos que se está haciendo uso del WebPart “CatalogItemReuseWebPart” para mostrar cada una de las propiedades de la noticia. Para crear nuestro propio diseño se nos presentan dos maneras de hacerlo:
- Dar formato y utilizar estos WebParts incrustados en el diseño para mostrar las propiedades del elemento
- Dar formato y utilizar WebPart Zones para que luego se agregue manualmente estos WebParts, y se configuren manualmente, sobre las zonas
En este caso vamos a copiar la estructura de Artículo con imagen a la derecha para mostrar nuestras noticias, incrustando en cada sección correspondiente un WebPart configurado con la propiedad administrada correspondiente. El diseño de página quedaría como sigue:
Publicaremos el diseño de página, y la propia página que muestra un elemento, y veremos la noticia de la siguiente manera: