Skip To Content

Integrar con un sistema de administración de contenido

En este tema

Integrar el Geoportal con un sistema de administración de contenido

Un Sistema de administración de contenido (CMS) es un software que permite a los usuarios introducir y cambiar el contenido en un sitio Web. Existen varios CMS disponibles y el geoportal se puede integrar dentro de un CMS o un CMS se puede integrar dentro del Geoportal como una nueva pestaña. Un CMS no es un requisito del geoportal, pero integrar uno puede dar una vista más dirigida del contenido del catálogo de metadatos geográficos. Las páginas de CMS pueden resaltar conjuntos de datos y servicios geográficos que son aplicables a ciertos grupos de usuarios o temas. Hay varias opciones disponibles para la integración de CMS, según se ilustra en la figura de abajo:

  • Opción 1: un explorador puede integrar páginas Web de CMS dentro de las páginas Web de Geoportal por medio de una etiqueta <iframe> de HTML. Un enfoque común implicaría agregar una pestaña a la interfaz de usuario de Geoportal que hace referencia a una página inicial de CMS.
  • Opción 2: de lo contrario, un explorador puede integrar páginas Web de Geoportal dentro de páginas Web de CMS por medio de una etiqueta <iframe> de HTML. Un enfoque común implicaría agregar una pestaña a la interfaz de usuario de CMS que hace referencia a una página inicial de geoportal.
  • Opción 3 : las páginas Web de Geoportal podrían simplemente iniciar el CMS en una ventana separada al agregar una etiqueta <a> de HTML a la interfaz de usuario de Geoportal.
  • Opción 4 : las páginas Web de CMS podrían simplemente iniciar el Geoportal en una ventana separada al agregar una etiqueta <a> de HTML a la interfaz de usuario de CMS.
  • Opción 5: el CMS también podría consumir contenido objetivo por medio de API Rest de Geoportal. API Rest permite enviar solicitudes de consulta del catálogo por medio de una dirección URL simple y puede devolver los resultados de la consulta en HTML, fragmento de HTML (sin etiqueta de encabezado <html>), GeoRSS, KML o formato JSON. Como un ejemplo:
    http://host:port/[GeoportalApplicationName]?searchText=maps&f=georss&max=100
    
    Esta búsqueda de ejemplo se ejecutaría para el término mapas y se devolvería una respuesta de GeoRSS con un máximo de 100 registros. Entonces el CMS daría la respuesta.
La metodología para representar en pantalla la respuesta dentro de una página de CMS puede variar. Algunos sistemas tienen una capacidad inherente de presentar uno o más de los formatos de respuesta que proporciona el Geoportal. Otro enfoque implica transformar una respuesta usando la tecnología XSL; esto da total control sobre la apariencia del contenido de respuesta que se presentó. Implementar este enfoque dependerá de las capacidades del CMS. Muchos sistemas de administración del contenido también brindan la capacidad de agregar adaptadores de representación en pantalla personalizada. Este enfoque implicaría desarrollar un componente personalizado. Este tema proporciona un ejemplo para integrar el Geoportal con un CMS libremente disponible llamado JSP Wiki. Este tema está formado por dos partes:
  1. Uso de JSPWiki con las fuentes de GeoRSS del Geoportal
  2. Usar JSPWiki con el API REST del Geoportal
Después de que haya configurado su página JSPWiki, intégrela en una nueva pestaña en su geoportal siguiendo las instrucciones en Agregar otra pestaña a la interfaz del Geoportal.

Uso de JSPWiki con las fuentes de GeoRSS del Geoportal

En este ejemplo, instalará JSP Wiki desde el sitio JSP Wiki. Después de instalar JSP Wiki, tendrá que instalar un plug-in de RSS localizado en http://www.jspwiki.org/wiki/RssViewerPlugin. Recuerde reiniciar la aplicación Web del geoportal después de instalar los archivos jar plug-in. A continuación encontrará los pasos para crear una página JSP Wiki para capturar las fuentes RSS del Geoportal:

  1. Instalación de JSP Wiki.
  2. Crear una nueva página en JSP Wiki a la que insertará las fuentes de GeoRSS.
  3. Vaya al modo de edición de la página y pegue la siguiente cadena de caracteres en el mismo. Este cambio insertará las fuentes de GeoRSS del Geoportal. En la cadena de caracteres, el atributo url debe hacer referencia a la cadena de caracteres del resultado REST para la búsqueda que desea que se visualice en la página wiki. Por ejemplo, si desea que la página wiki muestre los recursos relacionados con un incendio, el parámetro url se vería como el del ejemplo a continuación. Los parámetros como "detalle", "ttl", "fecha" y "maxitems" son parámetros definidos por el plug-in y se pueden ajustar de acuerdo con la documentación de sintaxis en la página RssViewerPlugin:
    [{fr.univ.reunion.iremia.rss.RssViewer url='http://yourGeoportalserver/geoportal/rest/find/document?searchText=wildfire' detail='1' ttl='120' date='1' maxitems='20'}]
    
  4. Puede definir resultados de búsqueda más complejos al usar la sintaxis REST para especificar la extensión, categorías del tema, fechas y más.
  5. Guarde la página wiki, salga del modo de edición y verá una página que muestra los resultados que corresponden a los criterios de búsqueda que especificó con la url RssViewer.

Usar JSPWiki con API REST del Geoportal

También es posible visualizar sus resultados REST usando el API REST del geoportal. En este ejemplo, deberá instalar un xslt-plugin.jar y publicar un xsl llamado IdentityTransform.xsl de manera que JSPWiki pueda acceder al archivo xsl. Los pasos están más adelante:

  1. Instalación de JSP Wiki.
  2. Instale el xslt_plugin.jar, disponible en http://www.jspwiki.org/wiki/XSLTPlugin:
    • Vaya a la pestaña Adjuntar en el sitio Web y copie el archivo xslt_plugin.jar en su carpeta \\JSPwiki\WEB-INF\lib.
    • Agregue la siguiente entrada a su archivo jspwiki.properties en la sección Rutas de búsqueda de plug-ins:
      #############################################################################
      #
      #  Plugin search paths.
      #
      #  Define here the packages you want to use for searching plugins, 
      #  separated with commas.
      #  For example, use the following command to add "org.myorganisation.jspwiki.myplugins"
      #  and "com.foobar.myplugins" to the search path.
      #
      #  The default path is "com.ecyrd.jspwiki.plugins", and it will be always
      #  the last item on the path.  This allows you to override JSPWiki default
      #  plugins.  Note that you are only adding to the path, not replacing it (ie.
      #  the default path is never removed.)
      #
      #  jspwiki.plugin.searchPath = org.myorganisation.jspwiki.myplugins,com.foobar.myplugins
      #
      jspwiki.plugin.searchPath =net.panonet.XSLTPlugin
      
  3. Cree el archivo IdentityTransform.xsl y guárdelo en su carpeta JSPWiki. Puede nombrar el archivo como quiera, siempre y cuando haga referencia al mismo en su JSPWiki. El texto para el archivo es:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    	<xsl:output method="text"/>
    	<xsl:template match="/">
    		<xsl:for-each select="//item">
    			<div>
    				<xsl:text>&lt;a </xsl:text> href="<xsl:value-of select="link/@href"/>" target="_blank"<xsl:text> &gt;</xsl:text>
    				<xsl:text>&lt;h4&gt;</xsl:text>
    					<xsl:value-of select="title"/>
    				<xsl:text>&lt;/h4&gt;</xsl:text>
    				<xsl:text>&lt;/a&gt;</xsl:text>
    				<p>
    					<xsl:value-of select="description"/>
    				</p>
    				<xsl:text>&lt;br&gt;</xsl:text>
    			</div>
    		</xsl:for-each>
    	</xsl:template>
    </xsl:stylesheet>
    
  4. Ahora creará una nueva página JSP wiki e integrará los resultados de API REST del geoportal en ella.
    • Crear la página JSP wiki.
    • Vaya al modo de edición de la página.
    • Pegue la siguiente cadena de caracteres en el mismo. El parámetro xml= deberá tener una dirección URL de su página de resultados de búsqueda para los resultados API REST del Geoportal y el parámetro xsl= deberá referir la dirección URL a su IdentityTransform.xsl publicada.
      [{INSERT net.panonet.XSLTPlugin WHERE xml='{url to document (or search result page) of Geoportal REST API}', xsl='{url to IdentityTransform.xsl}'}]
      
      Por ejemplo:Wildfire Metadata
      [{INSERT net.panonet.XSLTPlugin WHERE xml='http:// yourGeoportalServer /geoportal/rest/find/document?searchText=wildfire*', xsl='C:/Tomcat/webapps/JSPWiki/channelPage.xsl'}]
      
  5. Guarde la página, salga del modo de edición y verá los resultados de búsqueda en la página que corresponde a la url de REST que introduce a XSLTPlugin.