|
Consejos de Instalación Cocoon 2 para Principiantes |
Organización del Proyecto y 2
Ya hemos aprendido a separar nuestro trabajo de la distribución de Cocoon. Pero aún trabajamos dentro de la carpeta de la aplicación web de cocoon. Esto podría no ser deseable por varias razones.
Separar nuestra Carpeta de Trabajo de Cocoon
Si queremos mover toda la carpeta work de $cocoon-root, se puede hacer especificando un punto de montaje similar a los que describimos en la página anterior. Sólo tenemos que añadir un nuevo pipeline dentro del fichero $cocoon_root/sitemap.xmap. Aquí está lo que tendremos que hacer:
- Movernos a la carpeta cocoon_root.
- Editar el fichero original sitemap.xmap de $cocoon_root:
- Buscamos la línea con <map:pipelines>. Esta es la etiqueta de inicio de los pipelines y está cerca de la línea 530.
- añadimos el siguiente fragmento de código justo después de la etiqueta anterior y grabamos las modificaciones:
<map:pipeline> <map:match pattern="work/**"> <map:mount check-reload="yes" reload-method="synchron" src="/work/sitemap.xmap" uri-prefix="work"/> </map:match> </map:pipeline>
- Ahora el src para la etiqueta mount es un path absoluto. Con esto hemos situado nuestra carpeta de trabajo real en un lugar arbitrario de nuestro sistema de ficheros. Creamos nuestra caperta work en la localización que hemos espcificado en el atributo src y procedemos igual que en Parte II: Conectar nuestra Carpeta "work" con Cocoon. En ese ejemplo elegimos la localización /work (puedes ver el atributo src de la etiqueta <map:mount>) aunque el nombre de la carpeta es arbitrario.
Ya hemos separado claramente nuestro trabajo de la distribución de cocoon. Nuestra carpeta work puede estar localizada en cualquier lugar de nuestro sistema de ficheros. La URL de nuestra carpeta se parecerá a:
http://localhost:8080/cocoon/work/index.html
Configurar un Punto de Montaje Genérico Fuera de Cocoon
Si sucede que necesitamos más de una carpeta de trabajo externa, podemos configurar un sitemap genérico similar al de la página anterior. Asumimos que queremos poner algunas aplicaciones cocoon dentro de una subcarpeta de /work, por ejemplo /work/coconuts y /work/cocobolts. Y que queremos acceder a esas aplicaciones con URLs distintas como:
http://localhost:8080/cocoon/work/coconuts http://localhost:8080/cocoon/work/cocobolts
Esto también se puede conseguir con una ligera modificación de nuestro pipeline. Vamos de nuevo al fichero $cocoon_root/sitemap.xmap y modificamos nuestro pipeline de esta forma:
<map:pipeline>
<map:match pattern="work/*/**">
<map:mount check-reload="yes"
reload-method="synchron"
src="/work/{1}/sitemap.xmap"
uri-prefix="work/{1}"/>
</map:match>
</map:pipeline>
Observa que este sitemap se asemeja al primer fragmento de código de los puntos de montaje internos de Cocoon. Sólo hemos tenido que especificar un path absoluto y ya está...
















































