Generar una Aplicación con xpotronix

Prerequisitos

Una vez instalado las liberías xpotronix y las aplicaciones de base estarás listo para generar la primera aplicación. Para ello, deberás

  • descomprimir y acceder a un proyecto
  • configurar el usuario de la base de datos,
  • cargar datos de ejemplo
  • y correr el comando xpotronize para poder generar la aplicación dentro del DocumentRoot del web server.

Descomprimir los proyectos

Puedes utilizar los proyectos de ejemplo que se encuentran en projects/examples o descargar otros en la ubicación que prefieras, incluído tu carpeta personal o home local

$ cd
$ tar -xzvf mi-proyecto.tar.gz

Una vez realizada la operación, deberá crear una base de datos para la aplicación recién instalada

Creando la base de datos en mysql

Si tienes los permisos necesarios, podrás crear una base de datos con los siguientes comandos:

$ mysqladmin create mi-base

Si el comando es exitoso, no devolverá ningún mensaje. Caso contrario, revisa el manual de administración del MySQL, en la dirección http://dev.mysql.com/doc/

Cargando datos en la base recientemente creada

Para que la aplicación pueda funcionar, deberá contener las mínimas tablas necesarias para ejecutar la aplicación.
Si es una aplicación nueva, puedes instalar los datos de una aplicación base, contenidos en el directorio

projects/examples/xpotronix/sql/xpotronix.sql

con los datos de una base de datos “básica” que contendrá todos los registros necesarios para funcionar

Para cargar estos datos entonces, deberás ejecutar:

$ sudo mysql mi-base < xpotronix.sql

Si ya posees una base de datos para operarla dentro de xpotronix, vuelca estos datos dentro de la base recientemente creada:

mysql mi-base < mis-datos.sql

Configurando en la aplicación el usuario para el acceso a la base de datos

Una vez creada la base de datos, deberás especificar con qué usuario y clave la aplicación accederá a tu base. Esto debes realizarlo en el archivo de configuración config.xml dentro del directorio de la aplicación:

$ cd projects/mydns
$ vi config.xml

Utiliza un editor de textos que te resulte más confortable. Al ser archivos XML, es bueno que tu editor pueda cerrar los elmentos o tags para no introducir errores en él. Modifica las variables para que se adapten a tu preferencia:

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <db_instance>
    <host>localhost</host>
    <database>mi-base</database>
    <user>mi-usuario-db</user>
    <password>la-clave-de-usuario-db</password>
    <implementation>mysqli</implementation>
  </db_instance>
</config>

Configurando la aplicación

El archivo feat.xml contiene la configuración de la aplicación pero a diferencia de config.xml estos datos son públicos para poder ser accedidos en las transformaciones. En él deberás configurar el nombre que identifica la aplicación, el título y otra información adicional que puede resultarte útil:

<?xml version="1.0" encoding="utf-8"?>

<feat>

  <!-- datos sobre la aplicación y su ubicación -->
  <application>mi-aplicacion</application>
  <page_title>Mi aplicación en xpotronix</page_title>
  <base_url>http://mi-web-server.com/mi-aplicacion/</base_url>

  <!-- modulo por default al inicio -->
  <default_module>home</default_module>

  <!-- URL por default al inicio -->
  <defaultSrc>?m=_empleado</defaultSrc>

  <!-- cantidad por default de registros por página -->
  <page_rows type="int">50</page_rows>

  <!-- si carga automáticamente las grillas al inicio o espera que busque el usuario -->
  <auto_load type="bool">true</auto_load>

  <!-- formato de fecha -->
  <date_format>d/m/Y</date_format>

</feat>

 

Generando la aplicación

Una vez realizados los cambios, corre el comando xpotronize para generar el código:

$ xpotronize mi-aplicacion

El nombre debe coincidir con el que has definido en el archivo feat.xml en el elemento <aplication/>. Si es la primera vez que ejecutas xpotronize sobre una base de datos o has realizado cambios en ella, deberás preceder el parámetro -f  (full) para que la generación de código inspeccione la base de datos y contemple los cambios:

$ xpotronize -f mi-aplicacion

Si no hubo cambios en la base de datos, puedes ejecutar sólo:

$ xpotronize mi-aplicacion

Si te encuentras dentro del directorio de la aplicación y no has realizado cambios en la base, con

$ xpotronize

Configuración del Apache Web Server

Puedes correr xpotronix en dos modalidades:

  • como un directorio dentro de tu host
  • como un virtual host

Para ello deberás configurar la aplicación de la siguiente forma

Como un directorio dentro de tu host

# Acceso a las liberías de ExtJS
Alias /ext /usr/share/xpotronix/lib/ext

# Requerido para usar los templates de xpotronix para ExtJS
Alias /ux /usr/share/xpotronix/templates/ext/ux

# Enumera todos los directorios que tengas aplicaciones xpotronix

Alias /mi-aplicacion /var/www/xpotronix/mi-aplicacion
Alias /mi-otra-aplicacion /var/www/xpotronix/mi-otra-aplicacion

# para todas las instancias de xpotronix en tu server esto puede funcionar

<Directory /var/www/xpotronix/>
  <IfModule mod_php5.c>
  php_value include_path ".:/usr/share/php:/usr/share/php/adodb:/usr/share/xpotronix"
  </IfModule>
</Directory>

Como un VirtualHost

<VirtualHost *:80>

        ServerName mi-aplicacion.mi-server.com
        ServerAlias www.mi-aplicacion.mi-server.com
        DocumentRoot /var/www/xpotronix/mi-aplicacion/

        <Directory /var/www/xpotronix/mi-aplicacion/>
                <IfModule mod_php5.c>
                php_value include_path ".:/usr/share/php:/usr/share/php/adodb:/usr/share/xpotronix"
                </IfModule>
        </Directory>

        # Acceso a las liberías de ExtJS
        Alias /ext /usr/share/xpotronix/lib/ext

        # Requerido para usar los templates de xpotronix para ExtJS
        Alias /ux /usr/share/xpotronix/templates/ext/ux

        # Esto puede resultarte útil para comprimir los flujos XML:
        #<IfModule mod_deflate.c>
        #       SetOutputFilter DEFLATE
        #</IfModule>

</VirtualHost>

 

Una vez configurado el servidor apache2 procede a incorporar los cambios realizados:

# service apache2 reload

Accediendo a la aplicación

Ahora podrás acceder a la aplicación según hayas configurado:

  • como un directorio dentro de tu host

http://mi-server.com/mi-aplicacion

  • como un virtual host

http://mi-aplicacion.mi-server.com

Usuario de acceso por default

El usuario provisto por la base de datos xpotronix.sql es

  • usuario: admin
  • clave: admin