Fórum

Despliegue de HOOK

Joaquín Fernández, modificado 11 Anos atrás.

Despliegue de HOOK

Junior Member Postagens: 93 Data de Entrada: 02/01/12 Postagens Recentes
Buenas,

Estoy modificando un fichero JSP con HOOK, pero sin embargo, cuando lo despliegue, obtengo el mensaje diciendoq ue lo tengo disponibles para usarlo, pero no veo el cambio.
En el tomcat veo que el cambio no lo ha desplegado en el directorio ROOT, sino en un nuevo directorio con el nombre del plugin del hook.
¿Qué estoy haciendo mal??

Muchas gracias!
thumbnail
Pavel Savinov, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 94 Data de Entrada: 24/09/12 Postagens Recentes
Hola Joaquin,

Puedes mostrar tu liferay-hook.xml archivo?
Joaquín Fernández, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 93 Data de Entrada: 02/01/12 Postagens Recentes
Aquí lo dejo:

<?xml version="1.0"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.1.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_1_0.dtd">

<hook><custom-jsp-dir>/META-INF</custom-jsp-dir>
</hook>

Por defecto lo que ponía en ese fichero era:
<?xml version="1.0"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.1.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_1_0.dtd">

<hook><custom-jsp-dir>/META-INF/custom-sql</custom-jsp-dir>
</hook>
Pero siguiendo las indicaciones que hay en los foros y wiki, lo he cambiado, pero sigue sin desplegarse en el directorio ROOT...

Gracias!
thumbnail
Pavel Savinov, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 94 Data de Entrada: 24/09/12 Postagens Recentes
Hola de nuevo.

Y tus páginas realmente están en /META-INF/custom-sql dir?
Es muy extraño. Crea un hook de la estructura siguiente:

en liferay-hook.xml:

<custom-jsp-dir>/custom_jsps</custom-jsp-dir>

y en esta carpeta de tu proyecto es necesario poner las páginas que quieres reemplazar, con el camino completo, por ejemplo:

/custom_jsps/html/portlet/journal/edit_structure.jsp
Joaquín Fernández, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 93 Data de Entrada: 02/01/12 Postagens Recentes
El problema lo tengo más arriba en la estructura de directorios.

En el bundled tomcat, la aplicación está desplegada por defecto en ../tomcat-7.0.27/webapps/ROOT/, sin embargo, el hook lo está desplegando en ../tomcat-7.0.27/webapps/mi-proyecto-hook/ (dentro de esta carpeta, sí que lo despliega en la ruta que le indico en el liferay-hook.xml), entonces los cambios que hago no los veo en la aplicación.

Y ahora me entra otra duda, da igual la ruta que yo le ponga en el liferay-hook.xml???

Muchas gracias Pavel.
Joaquín Fernández, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 93 Data de Entrada: 02/01/12 Postagens Recentes
Nadie sabe porque me está desplegando el hook en un directorio que no es wl webapps/ROOT/??
No consigo desplegarlo ahí y por lo tanto no veo los cambios...

Gracias anticipadas
thumbnail
Jose Jiménez, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Regular Member Postagens: 176 Data de Entrada: 23/08/12 Postagens Recentes
Hola Joaquín,

Para la creación del hook he de suponer que estás utilizando la ( Plugins-SDK ), o por ejemplo el Liferay IDE . Aunque no son obligatorias estas opciones te facilitarán la correcta creación del esqueleto del hook, siguiendo la estructura adecuada.

A partir del esqueleto del hook podrías empezar a trabajar para añadir tus cambios.

En tu caso, deberías añadir la jsp, y configurar la ruta de dónde la tomará en el descriptor del hook:

/docroot/custom_jsps/html/ejemplo/tufichero.jsp
y
/docroot/WEB-INF/liferay-hook.xml

<!--?xml version="1.0"?-->


<hook>
<custom-jsp-dir>/custom_jsps</custom-jsp-dir>
</hook>


Con esto tendrías listo el hook para su empaquetado y despliegue, una vez más, tarea sencilla mediante la SDK (mediante ant deploy) o el Liferay Developer Studio.

El resultado observable sería que se ha desplegado tu hook dentro del directorio TOMCAT_HOME/webapps/nombre-del-hook y copiado el fichero incluído en TOMCAT_HOME/webapps/ROOT/html/ejemplo/tufichero.jsp , renombrando el original del portal por si en algún momento el hook es desinstalado y necesita ser recuperado.

Comentarte también que si no estás usando la sdk, tras empaquetar tu hook como war, habría de ser copiado al directorio $LIFERAY_HOME/deploy ya que Liferay necesita procesar el hook antes de desplegarlo y registrarlo.

Si consultas el log del Tomcat podrás comprobar el resultado del despligue del hook y si el hook ha sido registrado.

Espero que esta información te sea de ayuda si no la conocías aún.

Un saludo!
Joaquín Fernández, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 93 Data de Entrada: 02/01/12 Postagens Recentes
Buenas José,

En primer lugar muchas gracias. Has comentado cosas que no sabía, como que el directorio TOMCAT_HOME/webapps/nombre-del-hook está bien, y lo que hace es copiar el contenido en el ROOT. A mí me crea ese directorio, pero sin embargo en el ROOT no lo copia. Abro el fichero y sigue siendo el original.
De hecho en el log del tomcat no deja ninguna huella. Lo que me responde el ANT es lo siguiente:
Buildfile: C:\programa\liferay-plugins-sdk-6.1.1\hooks\MyProject-hook\build.xml
compile:
merge:
[copy] Copying 5 files to C:\programa\liferay-plugins-sdk-6.1.1\hooks\MyProject-hook\docroot\WEB-INF\lib
compile-java:
merge:
war:
[delete] Deleting: C:\programa\liferay-plugins-sdk-6.1.1\dist\MyProject-hook-6.1.1.1.war
clean-portal-dependencies:
[zip] Building zip: C:\programa\liferay-plugins-sdk-6.1.1\dist\MyProject-hook-6.1.1.1.war
deploy:
[copy] Copying 1 file to C:\programa\liferay-bundled-tomcat\deploy
BUILD SUCCESSFUL
Total time: 1 second


Pero es como si el tomcat no se enterara. Imagino que será porque algo tengo mal configurado, pero no sé qué puede ser...

Uso los plugins SDK.

Muchas gracias
thumbnail
Jose Jiménez, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Regular Member Postagens: 176 Data de Entrada: 23/08/12 Postagens Recentes
Hola de nuevo,

¿has comprobado tener bien las rutas en tu hook? ¿puedes indicar ambas? la real y la configurada en el liferay-hook.xml.

Por otro lado, comprueba un log que reside en un nivel superior. LIFERAY-HOME/logs/liferay.log

También indicarte que es importante la versión para la que liferay lo considera compatible, si no indicas la adecuada el portal no llegaría a registrarlo y por tanto no copiaría la vista dentro de ROOT/. Dicha versión se indica. en el archivo liferay-plugin-package.properties de tu hook : http://docs.liferay.com/portal/6.1/definitions/liferay-plugin-package_6_1_0.dtd.html#liferay-versions

No obstante comentarte que si tuvieras todo bien, debería de indicar en los ficheros de log que el hook está siendo desplegado.

Espero que estas orientaciones te ayuden.

Un saludo,
Joaquín Fernández, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 93 Data de Entrada: 02/01/12 Postagens Recentes
Buenas José,

Te comento, la dirección real del hook es la siguiente:
LIFERAY_SDK_HOME\hooks\MyProject-hook\docroot\...

La dirección del liferay-hook.xml es:
LIFERAY_SDK_HOME\hooks\MyProject-hook\docroot\WEB-INF\ y el contenido es el mimso que indicabas en una respuesta anterior.


En cuanto al log, el único que veo lo tengo en TOMCAT_HOME/logs, y no escribe nada cuando hago el direct deploy.

La versión del liferay-plugin-package.properties conincide con la del sdk.

Tiendo a pensar que por lo que sea, el deploy no está desplegando el hook porque no encuentro ninguna traza que indique que lo está haciendo. No sé si en las rutas arriba comentadas hay algo que estuviera mal. ¿Ves algo extraño?

Gracias!!
thumbnail
Jose Jiménez, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Regular Member Postagens: 176 Data de Entrada: 23/08/12 Postagens Recentes
Hola Joaquin,
Me refería a la ruta dónde residen tus jps y la que has configurado dentro del descriptor.
¿Has probado con el ant clean deploy? Previamente borra el directorio del webapps con el servidor arrangado para desinstalar la antigua versión.
Un saludo,
Joaquín Fernández, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 93 Data de Entrada: 02/01/12 Postagens Recentes
El JSP que estoy intentando modificar es el init.jsp del login (uno facilito para ver que funciona y luego ya trabajar en serio).
Te adjunto una imagen donde puedes ver la ruta del fichero que intento sobreescribir.

He probado haciendo clean, eliminando el directorio del webapps, incluso borrando el sdk y volviendo a crear el proyecto, pero siempre tengo el mismo resultado.

Muchas gracias por la atención que me estás prestando a ver si somos capaces de dar con el problema!!
thumbnail
Jose Jiménez, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Regular Member Postagens: 176 Data de Entrada: 23/08/12 Postagens Recentes
¿Puedes realizar la siguiente prueba?
- Borrar el directorio correspondiente al hook de TOMCAT_HOME/webapps
- Mostrar la salida de ejecutar situado en liferay-plugins-sdk/hooks ,
ant clean deploy

Saludos,
thumbnail
Jose Jiménez, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Regular Member Postagens: 176 Data de Entrada: 23/08/12 Postagens Recentes
Por cierto, la mejor forma de personalizar los init.jsp, siempre que el portlet "de fábrica" en cuestión lo contemple, es mediante un init-ext.jsp. En tu caso es el que necesitarías modificar.
Saludos++
Joaquín Fernández, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 93 Data de Entrada: 02/01/12 Postagens Recentes
Adjunto la imagen de la prueba, después de borrar el directorio del webapps.

Si hago el clean en el proyecto hook, lo termina bien, pero me choca que haciéndolo desde el sdk falle. Hasta ahora todas las acciones de ANT las hacía desde el proyecto hook y no desde el sdk.

Gracias!!

PD: No sabía que debía usar el init-ext.jsp, pero aún así, el problema sigue existiendo porque lo que pasa es que no actualiza el directorio ROOT, no?
thumbnail
Jose Jiménez, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Regular Member Postagens: 176 Data de Entrada: 23/08/12 Postagens Recentes
Hola Antonio,

Comentarte que lo que pretendes hacer es una tarea muy sencilla siguiendo los pasos adecuados. Puesto que estás en una fase inicial de pruebas te recomiendo que empieces de cero ya que probablemente ahorres tiempo. Para ello lo mejor es seguir los pasos descritos en la documentación oficial, en dónde te explica paso a paso la configuración del sdk de plugins, de un servidor (bundle), y la generación de los distintos tipos de plugins así como las buenas prácticas.

http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/installing-the-sdk

Y si estás utilizando el IDE te vendrá bien la siguiente página de la wiki: http://www.liferay.com/community/wiki/-/wiki/Main/Liferay+IDE+Getting+Started+Tutorial

Como te digo, no debería haber problemática ninguna si sigues los pasos indicados en la guía de desarrollo.

Un saludo,
Adolfo Benitez Sanchez, modificado 11 Anos atrás.

RE: Despliegue de HOOK

New Member Postagens: 12 Data de Entrada: 24/09/08 Postagens Recentes
Solo por comprobar..puedes pegar aquí la estructura de carpetas del hook al desplegarse en /webapps/myproject-hook
Joaquín Fernández, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 93 Data de Entrada: 02/01/12 Postagens Recentes
Ehi Adolfo!! Qué tal?

Pues no sé qué he hecho diferente ahora respecto a antes, pero ahora es cierto que cuando hago el direct-deploy, el tomcat se actualiza, y pilla los cambios, y de hecho los veo en la web, con lo que parece que ya estaría listo.
Tan sólo una duda, supongamos que modifico un fichero y finalmente decido volver atrás el cambio y quedarme con el fichero original. ¿Qué puedo hacer? Porque si lo elimino del plugin del hook y hago un clean, sigue el cambio y no vuelve al fichero original...
¿Alguna idea para terminar con este hilo??

Muchas gracias José!! Estaría siendo imposible sin tu ayuda!!
thumbnail
Jose Jiménez, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Regular Member Postagens: 176 Data de Entrada: 23/08/12 Postagens Recentes
Hola Joaquín,

Me alegro que te haya cogido los cambios. Te hago un apunte, el direct-deploy suele ser usado para plugins de tipo ext y se recomienda sólo para fase de desarrollo, puesdes encontrar los detalles aquí http://www.liferay.com/es/documentation/liferay-portal/6.0/development/-/ai/developing-an-ext-plugin

Por tanto para hooks bastaría con usar el target deploy.

Relativo a tu pregunta, la forma de eliminar el cambio sería la siguiente:

- Borrar de webapps el directorio que corresponde a tu hook (ejemplo: TOMCAT_HOME/webapps/my-project-hook ) -> obligará al Portal a desinstalar tu hook.
- Borrar del hook la jsp y volver a desplegar el hook con: ant clean deploy.

Enjoy! emoticon
Joaquín Fernández, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Junior Member Postagens: 93 Data de Entrada: 02/01/12 Postagens Recentes
He tenido que parar el tomcat para que pille los cambios pero los ha pillado.

Muchas gracias José!! Tu ayuda me ha sido funcamental!!!!
thumbnail
Jose Jiménez, modificado 11 Anos atrás.

RE: Despliegue de HOOK

Regular Member Postagens: 176 Data de Entrada: 23/08/12 Postagens Recentes
You are welcome! emoticon