lunes, 21 de abril de 2014

Usando Resource Action Handler Tag

Una de las taglibs mas usadas por el Framework de WebCenter Portal es la del Resource Action Handler (<rah:resourceActionBehavior>

RAH Tag

Enlace versión inglés.

Descarga de la aplicación de ejemplo

Este tag permite la creación de enlaces y navegar a los detalles de los recursos/servicios definidos en WebCenter (oracle.webcenter.doclib, oracle.webcenter.page...)
Estos servicios estan definidos en el archivo de configuración service-definition.xml (ya sea dentro de una ADF JAR Lib como la mayoría de servicios OOTB o dentro de la propia aplicación de Portal). Durante la configuración de un nuevo servicio, éste suele enlazarse a un Task Flow como resource-viewer (detalle del recurso) o a una clase URL Rewriter que generara una URL con parámetros hacia la página donde se encuentra el recurso.

Uno de los ejemplos más comunes de uso de esta taglib es el fragmento de resultados del servicio de búsqueda. Cada link de cada elemento de resultado usa rah:resourceActionBehavior para enlazar con el detalle del recurso.


 
 
 

Otro ejemplo de uso de este tag puede encontrarse en los ejemplos de plantillas de Content Presenter que trae la instalación de JDeveloper (articles.jsff)


   
   
   
   
   
   
   
   
   
   


En este caso el tag enlaza con un recurso de tipo oracle.webcenter.content.presenter.
En el archivo service-definition.xml dentro de la libraría de Documentation Library View puede encontrarse que el Resource-Viewer de este servicio es precisamente el Task Flow de Content Presenter.
Para enviar parámetros diferentes a los de por defecto(resourceId, resourceType...) entonces el tag f:attribute debe ser usado conjuntamente con rah:resourceActionBehavior para poder enviar los valores que el Task Flow espera

En el ejemplo adjunto a este post puede encontrarse un sencillo ejemplo de una Framework Portal Application que define un nuevo servicio y utiliza este tag para acceder al resource-viewer asociado al mismo. Los pasos seguidos han sido:
  • Modificar service-definition.xml file definiendo un nuevo servicio denominado oracle.webcenter.merchan.sample y registrando una Custom Bounded Task Flow como resource-viewer


    
    
    Sample resource
    Sample resource for the blog
    
    


  • La Bounded Task Flow usada como Resource Viewer contiene alguno de los parámetros por defecto enviados automáticamente y uno custom para ser mostrados en un fragmento de detalle.

    Parámetros de entrada del Resource-Viewer del ejemplo
  • home.jspx modificado incluyendo rah:resourceActionBehavior tag para linkar con el nuevo servicio


  
  
  


  • Al ejecutar el ejemplo hacer Click sobre el enlace generado por el Tag y comprobar que la información fue enviada de manera correcta a la Bounded Task Flow.
Enlace generado con RAH Tag

Resource-Viewer tras hacer click al Link generado con RAH Tag

Referencias:

3 comentarios:

  1. Hola buen dia, instale webcenter portal pero al momento de crear una wiki o un blog obtengo el siguiente error:
    1 -. WCS#2015.07.31.09.40.41: Se ha producido un error al intentar provisionar el servicio oracle.webcenter.doclib. No se ha podido provisionar el servicio.
    2-. jul 31, 2015 9:40:41 AM oracle.webcenter.doclib.internal.view.RepositoryLogic createInstance TODO: No se ha especificado ninguna conexión para los documentos que se van a utilizar.

    Seria de mucha ayuda si usted me puede ayudar con estos errores. Gracias

    ResponderEliminar
    Respuestas
    1. Hola, tengo un problema muy similar, quisiera saber si lograste corregirlo?

      Muchas gracias de antemano.

      Eliminar
    2. Hola.

      Ese error es que no teneis configurado la conexión de vuestro Portal con WebCenter Content. En el caso de Portal Builder o habéís activado Document Service.

      Un saludo.

      Eliminar