Imprimir

Compilar una extensión

Si declaramos una extensión como un paquete, queda disponible para ser compilada y distribuida.

Para compilar, debemos seleccionar una o más extensiones:

y presionar el botón:

También, es posible compilar presionando el botón:

En algunas ocasiones, se desplegarán modales que irán preguntando si deseamos actualizar versiones. Por último, obtendremos el siguiente formulario:

Los valores por defecto serán los necesarios para distribuir.

Cómo funciona la compilación

Cuando una extensión se compila, se tienen en cuenta tres procesos: copiar los archivos, exportar la estructura de la base de datos y recolectar datos. Para ello, se utilizan tres sistemas: components, db_queries y xdata, respectivamente.

 

Copiar archivos

Copiar archivos es sencillo si los tenemos bien organizados. Para ello, utilizamos el concepto de componentes, los componentes serán carpetas con el nombre del alias de la extensión. El compilador sólo tendrá que buscar estas carpetas en los siguientes espacios:

app/

cms/libraries/

cms/plugins/

cms/scripts/

cms/snippets/

media/

vendor/

 

Exportar la estructura de la base de datos

La estructura de la base de datos incluirá tablas, funciones, procedimientos y disparadores.

Se exportarán de dos modos: como un archivo sql y como uno json. Este último modo, permite modificar las bases de datos de las distribuciones, incluido renombrar tablas y campos.

El compilador va a exportar todas las tablas cuyo nombre comience con el nombre del alias. Por ejemplo, si tenemos la extensión con el alias de nombre posts, exportará la tabla posts y todas las que se llamen posts_*.

A su vez, serán exportadas las funciones y los procedimientos cuyo nombre esté escrito en camelCase y su segundo texto sea el alias. Para el mismo ejemplo anterior, el compilador exportará createPosts o removePostsTags.

 

Recolectar datos

Todos los datos serán distribuidos a través de archivos json, ya sea que provengan de la base de datos o de archivos. Esto se hace para agregar capas de procesamiento de datos y seguridad.

Los datos pueden ser: configuraciones, menús, permisos de ususarios, activos, etc.

El sistema que los recolecta y los distribuye se llama xdata.

Un proceso de datos de los más importantes de xdata es el que permite combinar, en la instalación de actualizaciones, los datos existentes, con los datos que trae el paquete de actualización.