miércoles, 27 de noviembre de 2013

Cambiando el mensaje de incompatibilidad de Navegador

Encontré en el foro de OTN una pregunta acerca de como cambiar el mensaje por defecto de ADF 11g R1 correspondiente con la incompatibilidad del navegador utilizada.

Mensaje de ADF 11gR1 corriendo en IE con Compatibily View Mode
Mensaje sobreescrito con ADF Skinning
Hilo en el foro de WebCenter Portal

Versión en inglés (coming soon)

Indagando por las librerías internas del core de ADF encontré el siguiente fragmento de código en el DocumentRenderer (el renderizador del componente af:document de ADF):

if (checkAgentSupport) 
    { 
      String unsupportedAgentMessage = arc.getTranslatedString("AFUnsupportedBrowser"); 
      out.writeText("AdfAgent._UNSUPPORTED_BROWSER_ALERT=\"", null); 
      out.writeText(unsupportedAgentMessage, null); 
      out.writeText("\";", null); 
}  


La variable arc no es mas que una instancia de org.apache.myfaces.trinidad.context.RenderingContext
El método getTranslatedString recoge del Resource Bundle de la Skin actual el literal deseado.

En el caso de WebCenter Portal 11.1.1.8 y la Skin skyros estos literales se encuentran en:
oracle.adfinternal.view.faces.renderkit.rich.resource.RichBundle

...{ "AFUnsupportedBrowser", "You are using an unsupported browser. The supported browsers are Internet Explorer 7 and higher, Firefox 2.0.0.2 and higher, Safari 3.1.2 and higher, and Google Chrome 1.0 or higher." }, { "AFUnsupportedBrowserMode", "The current compatibility setting is not supported. Disable Compatibility View before running this web page." }...

¿Cómo modificar los mensajes?

Solución 1: Mediante Skinning (recomendado y soportado por Oracle)
Crea una Custom Skin que extienda tu Skin actual cuya configuración incluya un Resource Bundle que sobreescriba las entradas AFUnsupportedBrowser y AFUnsupportedBrowserMode.
Link a la entrada de Skinning de mi Blog

Solución 2: Sobreescribir la clase RichBundle (No recomendado)
Crear la misma estructura de paquetes y clases que RichBundle en el codigo que se despliega con WebCenter Portal Framework o con el PortalExtension de WebCenter Portal y modificar las cadenas de texto necesarias.

NOTA: Esta solución sobreescribe la funcionalidad estándar de ADF y afectará a futuros parches.

Articulo OTN: Construyendo adaptadores de busqueda

Ha sido publicado mi primer artículo técnico para Oracle OTN.

http://www.oracle.com/technetwork/articles/enterprise2/garcia-wcp-search-adaptor-2066866.html

Twitter Search Adapter for WebCenter Portal

Este artículo trata de complementar la documentación oficial de Oracle acerca de la construcción de adaptadores de búsqueda para WebCenter Portal. En él encontraréis un ejemplo práctico de cómo construir un adaptador y qué es importante conocer del API de WebCenter Search.

Manejo de estaticos en WebCenter Portal Framework Application

Versión española en proceso...

Para la version inglesa haz click aqui: Versión en inglés