Overriding

cancel
Showing results for 
Search instead for 
Did you mean: 
carlos_raw
Member II

Overriding

Hola a todos,

Acabo de empezar con Alfresco (bueno, ya llevo unas semanas dándome cabezazos con él  :mrgreen: ) por un proyecto interno para mi empresa. Y una de las cosas que tengo que hacer es modificar el Front-End todo lo posible. Ya he modificado los .css para utilizar los colores corporativos y he modificado alguna de las imágenes de images/parts para adaptarlas al nuevo aspecto.

Desde el browse.jsp, se llama a algunas de estas imágenes y para que las modificaciones sean lo más "límpias" posibles, las nuevas imágenes las he copiado en una nueva carpeta y he modificado la ruta de estas imágenes en el browse.jsp, pero haciendo un override de éste archivo desde el web-client-config-custom.xml:


   <config>
      <navigation>
         <override from-view-id="/jsp/browse/browse.jsp" to-view-id="/jsp/extension/browse.jsp"/>
         <override from-outcome="browse" to-view-id="/jsp/extension/browse.jsp"/>
         <override from-outcome="cancel" to-view-id="/jsp/extension/browse.jsp"/>
         <override from-outcome="finish" to-view-id="/jsp/extension/browse.jsp"/>
         <override from-outcome="success" to-view-id="/jsp/extension/browse.jsp"/>
      </navigation>
   </config>


Quería hacer un override de otros jsp para indicar en ellos otras rutas para las imágenes que utilizan, pero no sé cómo indicarlo en el config-custom. Los jsp's que quiero "overridear" son el titlebar.jsp y el breadcrumb.jsp

¿Alguien sabe como indicarlo para estos jsp's? ¿Cualquier jsp se puede sobreescribir con este método?
Gracias por adelantado.
7 Replies
pjcaracuel_2349
Active Member II

Re: Overriding

Hola Carlos,

Para sobreescribir los jsp, tienes que indicarlo en el fichero
/web/META-INF/faces-config.xml

http://wiki.alfresco.com/wiki/Customising_An_Alfresco_JSP

Saludos
carlos_raw
Member II

Re: Overriding

Pedro, muchas gracias por responder tan rápidamente.
He estado haciendo pruebas y no he conseguido sobreescribir ningún jsp.
He creado un faces-config.xml en ..\..\tomcat\webapps\alfresco\META-INF y he intentado sobreescribir desde aquí el browse.jsp (quitando antes el código del web-client-config-custom.xml)

El contenido del faces-config.xml es:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
                              "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>


   <navigation-rule>
      <from-view-id>/jsp/browse/browse.jsp</from-view-id>        #También he probado con: <from-view-id>/jsp/*</from-view-id>
      <navigation-case>
         <from-outcome>browse</from-outcome>
         <to-view-id>/jsp/extension/browse.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
         <from-outcome>cancel</from-outcome>
         <to-view-id>/jsp/extension/browse.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
         <from-outcome>finish</from-outcome>
         <to-view-id>/jsp/extension/browse.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
         <from-outcome>success</from-outcome>
         <to-view-id>/jsp/extension/browse.jsp</to-view-id>
      </navigation-case>
   </navigation-rule>


</faces-config>


No tengo claro si no me funciona porque no estoy poniendo el archivo en el sitio adecuado, porque el browse.jsp no se puede sobreescribir de este modo o si tengo algún fallo en la sintaxis.

En cualquier caso tengo otra duda, para sobreescribir el browse.jsp, utilizo como posibles casos: browse, cancel, finish y success ¿Como puedo saber qué casos indicar para otros jsp's (como p.e. para el titlebar.jsp)?

Muchas gracias de nuevo
pjcaracuel_2349
Active Member II

Re: Overriding

Buenas Carlos,

Leiste esta entrada de la wiki?
http://wiki.alfresco.com/wiki/Packaging_And_Deploying_Extensions#JSF_configuration_files

Si ya la leiste y no funciona, puedes indicar el error que muestra?

Saludos
carlos_raw
Member II

Re: Overriding

Muchas Gracias Pedro, ahora sí conseguí sobreescribir el browse.jsp  :wink:  :wink: (creando un .jar en en ..\alfresco\tomcat\webapps\alfresco\WEB-INF\lib)

Sólo tengo una duda más y espero no abusar con ello de tu paciencia ¿Como puedo saber qué casos indicar para sobreescribir cada jsp (como p.e. para el titlebar.jsp)?
pjcaracuel_2349
Active Member II

Re: Overriding

Hola Carlos,

No alcanzo muy bien a comprender la pregunta, para el caso del title-bar, entiendo que no tiene reglas de navegacion asociadas.Es algo "estatico" no" ? Perdona si he dicho alguna tonteria pero yo de programacion los justo para defenderme.

Saludos
carlos_raw
Member II

Re: Overriding

Hola Pedro, me temo que yo de programación en java, también voy justito Smiley Surprisedops: .
Lo que quiero es que no se utilice el /jsp/parts/titlebar.jsp, sino mi /jsp/extension/titlebar.jsp y preferiría no modificar el original.
He probado insertando las nuevas condiciones en el mismo faces-config.xml que ya he utilizado para el override del browse.jsp y también creando un nuevo .jar.

He probado varias sintaxis, pero ninguna ha funcionado:


   <navigation-rule>
      <from-view-id>/jsp/parts/titlebar.jsp</from-view-id>
      <navigation-case>
         <to-view-id>/jsp/extension/titlebar.jsp</to-view-id>
      </navigation-case>
   </navigation-rule>


   <navigation-rule>
      <from-view-id>/jsp/parts/titlebar.jsp</from-view-id>
      <to-view-id>/jsp/extension/titlebar.jsp</to-view-id>
   </navigation-rule>


   <navigation-rule>
      <from-view-id>/jsp/*</from-view-id>
      <to-view-id>/jsp/extension/titlebar.jsp</to-view-id>
   </navigation-rule>
pjcaracuel_2349
Active Member II

Re: Overriding

Hola Carlos,

Has cojido un mal ejemplo el titlebar.jsp es una de las pocas jsp que no se pueden extender, es decir puedes modificarlo pero tiene que ser "a capon"
https://issues.alfresco.com/jira/browse/ALFCOM-571

Saludos