Posts

WebCenter Portal BUG: java.io.NotSerializableException: oracle.webcenter.admin.view.backing.ProducerConnection

Image
Es muy usual encontrar el siguiente error en una aplicación WebCenter Portal en su versión 11.1.1.6 ADFc: Scope object serialization failed (object not serializable), scope='pageFlowScope[/oracle/webcenter/admin/view/jsf/taskFlowDefs/producer.xml#producer]', objectKey='ProducerConnection', objectType='oracle.webcenter.admin.view.backing.ProducerConnection'. [2013-01-17T12:18:52.829+00: 00] [WC_CustomPortal1] [ERROR] [] [oracle.adfinternal. controller.state.SessionBasedScopeMap] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [ecid: 0000Jl8ScwT3n3b5xJ^ AyW1GxgoE0000T5,0] [APP:MyPortal#V2.0] [[ java.io. NotSerializableException: oracle.webcenter.admin.view. backing.ProducerConnection         at java.io.ObjectOutputStream. writeObject0( ObjectOutputStream.java:1164)         at java.io.ObjectOutputStream. writeObject( ObjectOutputStream.java:330)         at oracle.adfinternal.contro...

OTN WebCenter Portal: Rescatando Post de interés

Ante un problema con Oracle WebCenter existen dos lugares donde encontrar información (Oracle My Support y los foros oficiales): Oracle My Support: Para todo Partner de Oracle, se puede tener acceso ayuda por parte de la propia Oracle ante problemas serios. También, es un gran repositorio en el que consultar problemas que pueden haber sido resueltos. OTN WebCenter Portal : Foro oficial de WebCenter Portal donde la gente que trabajamos con el producto intentamos ayudar y compartir soluciones a problemas que se tienen con el producto. OTN WebCenter Content: Foro oficial de WebCenter Content (UCM) con ayuda relativa al gestor de contenidos y Site Studio. OTN JDeveloper & ADF: Para cualquier problema con el Framework base de los productos de Oracle, es el foro por excelencia.  En este post intentaré recoger algunos de los últimos Post interesantes que rescato de mis ratos libres por OTN: Ejecución en Threads de ADF BC: En este Post se comenta que para ejecutar transacci...

Bug en navegación de espacios en WebCenter Portal : Spaces PS5

Recientemente el blog de A-Team ha publicado información acerca del "bug" de WebCenter Portal : Spaces por el cual las navegaciones tanto de páginas como de espacios parece no funcionar. Enlace al post de A-TEAM En este post os quería comentar la solución temporal a dicho "bug" hasta que no se proporcione una solución oficial. Muchas veces las navegaciones de espacios son implementadas en puro JSTL  + HTML donde el enlace se genera mediante un: - <af:goLink destination="/webcenter/spaces/yourSpaceName"/> - <a href="/webcenter/spaces/yourSpaceName"/> En navegadores como IE 7 e IE8, al cabo de una cierta navegación y por cuestiones de caché de estos navegadores, la navegación deja de funcionar sin poder acceder a los espacios. ¿Cómo solucionar este problema? Mediante el uso de un <af:commandLink> o componente con actionListener. La solución lo que hace es ejecutar un Manage Bean del propio API de WebCenter para regi...

Oracle WebCenter Portal / Spaces: Páginas corruptas en el MDS

Image
Durante la configuración en Runtime de las páginas creadas en portales, tanto de WebCenter Portal como de WebCenter Portal : Spaces, puede ocurrir que una EL Expression mal configurada deje la página corrupta y sin posibilidad de edición. En la versión PS5 de WebCenter, en caso de error se refresca la página perdiendo los últimos cambios realizados. Incluso puede aparecer otra ventana en la que se permite al usuario elegir entre eliminar la última " customización" o todas las realizadas. Error de Oracle Composer en un error al editar un componente en WebCenter PS5 Sin embargo, en versiones anteriores a la PS5 se hace necesario modificar manualmente el MDS para recuperar la página. ¿Cómo se puede arreglar dicha página?. Toda configuración realizada sobre las páginas son almacenadas en el MDS ( Metadata Repository Service ) y por lo tanto pueden recuperarse para ser modificadas. Existen dos formas de recuperar la página del MDS y solucionar el problema: - Mediant...

ADF 11g: af:query + af:table con datos precargados al iniciar

Image
Al hacer Drag & Drop de una  Named Criteria de una View ( del Data Control de un  Application Module), se puede crear un formulario de búsqueda con una tabla asociada para el manejo de los datos de nuestra base de datos. Drag & Drop para formulario de búsqueda + tabla Cuando se ejecuta la vista se puede observar que por defecto la tabla está vacía puesto que no se ha realizado ninguna búsqueda. Tabla vacía nada más cargar la vista Esto se debe a que es necesario que se realice una búsqueda (aunque sea con los campos vacíos) para que la tabla se rellene. Sin embargo, modificando el binding asociado a la View Criteria sobre la que se basa el af:query se puede lograr precargar una búsqueda para que cuando se cargue la página salgan datos inicialmente. Para conseguirlo únicamente es necesario modificar el atributo InitialQueryOverriden poniendo su valor a true . Modificación del binding a la View Criteria para precargar la búsqueda Con esta configurac...

ADF 11g: JDBC Connection vs Data Source

Image
Una de las dudas / problemas que surgen a la hora de desplegar aplicaciones ADF viene ligada con las conexiones a base de datos que se configuran en el Model de la aplicación. En esta entrada voy a intentar aclarar cuál es el modo correcto para configurar las conexiones a BBDD de una aplicación ADF. Cuando se comienza el desarrollo de una aplicación ADF con capa de negocio en base de datos. Lo primero que se hace es crear una conexión de Base de Datos desde las Application Resources. Conexión a BBDD configurada El siguiente paso es la creación de los ADF Business Components a partir de esa conexión a BBDD. ADF BC generados a partir de la conexión Como podrá observarse, también se ha generado un fichero llamado Model.jpx . Este fichero tiene, entre otras cosas, una conexión a BBDD. La conexión configurada en Model.jpx es la conexión de BBDD que utiliza la aplicación por defecto para generar los ADF Business Components . No es la utilizada por la aplicación en R...

Refrescar un UI Component externo a una af:region

Image
Un caso muy común en el desarrollo con WebCenter Portal / Spaces es el de refrescar componentes de la página según acciones que se ejecuten en los Task Flow que esta incluye. Enlace a la descarga del ejemplo ¿Cómo refrescar un UI Component según lo que haya ocurrido en un Task Flow? Esta pregunta se responde fácilmente. Eventos Contextuales La mayoría de  Task Flows  de WebCenter, como por ejemplo el de People Connections, disparan eventos según las acciones que se realicen en los mismos. Por ejemplo en People Connections las acciones de aceptar, ignorar o declinar una petición son disparadas. En el siguiente ejemplo se va a simular esta problemática refrescando un af:outputLabel según los eventos que dispare un Task Flow. "Antes de comenzar el ejemplo, recomiendo una lectura del ejemplo de Eventos Contextuales" . En el ejemplo el caso es el siguiente: UI Component que se refresca por PPR de una af:region Tenemos un componente af:outputLabel...