Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

viernes, 28 de mayo de 2010

¿Crear una aplicación eGroupWare?

Para crear un aplicación que podamos usar en nuestra web corportativa con eGroupWare nos tendremos que familiarizar con la API que nos ofrecen. Recordemos la definición de API:

Una interfaz de programación de aplicaciones o API (del inglés application programming interface) es el conjunto de funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Usados generalmente en las bibliotecas.


(Fuente Wikipedia)

Para ello obtendremos información de su própia página web:


No es el fin de este documento enseñar a programar, ni tan siquiera explicar como funciona la API de eGroupWare. Sería muy complejo como para explicarlo en un solo artículo. Hoy nos vamos a conformar con saber crear un "Hola Mundo". También dejaremos de explicar como instalar la aplicación que vamos a crear, dado que eso ya se explicó en un artículo pasado:
Bien, para crear una aplicación eGroupWare lo que primero haremos es crear una estructura de directorios necesaria para la instalación y funcionamiento del programa. Creamos una carpeta y luego dentro creamos una serie de subcarpetas y un archivo index.php. La estructura de será la siguiente:


Pero eso no es todo. Dentro de las subcarpetas anteriores deberemos crear (en algunas de ellas), otras subcarpetas. En definitiva, la estructura en árbol de carpetas quedará así:


En donde vacation en este caso será el nombre de nuestra aplicación (podeis cambiarle el nombre para poner vuestro própio titulo de aplicación).

Así pues, siguiendo el ejemplo de una supuesta aplicación llamada "vacation", nos encontraremos con una estructura de directorios como la anterior y crearemos unos archivos (de momento vacios, que ya rellenaremos) y un icono png al que llamaremos navbar.png de tamaño aproximado de 32x32:

Dentro de vacation: index.php
Dentro de inc: class.uivacation.inc.php
Dentro de vacation/templates/default/images: navbar.png

El archivo class.uivacation.inc.php se llama de esta manera porque nuestra aplicacion se llama vacation. Así  pues, si nuestra aplicación se llamara ejemplo, nuestra carpeta raíz se llamaria ejemplo y el archivo de dentro de la carpeta inc se llamaría class.uiejemplo.inc.php.
La imagen navbar.png será el icono que veremos en nuestra barra de tareas y que nos servirá para ejecutar nuestra aplicación:


Bien, pues ahora ya tenemos la estructura. Ahora os explicaré un poco como funciona el engranaje de la aplicación y os será más facil entender porque luego escribiremos el código de una o otra manera. 
eGroupWare canaliza todas las acciones por un archivo que se llama index.php. De esa manera, cada click que hacemos va a pasar por él y luego redirige el flujo del programa hacia la aplicación en cuestión. El archivo index.php al que me refiero tendrá un aspecto en vuestro egroupware así:

http://egroupware.midominio.es/index.php

Cuando nosotros hagamos click en nuestro navbar.png que estará en la barra de iconos, eGroupWare le lanzará la petición a ese index.php, que hará las acciones necesarias y luego lo redirigirá (por decirlo de una manera muy simplista) a nuestro "vacation/index.php". Es decir, el index.php general del eGroupWare le pasa el control a nuestro index.php de programa. A su vez, nuestro index.php lo que hará es llamar a una función (que esta dentro de la clase class.uivacacion.inc.php). Es decir, le pasa el control a esa función (como os he dicho antes, mi intención no es enseñaros a programar, y por tanto, usaré un lenguaje impreciso pero espero que más fácil de entender que el própio de programación). Una vez el control le pasa a nuestra función, simplemente esta función se encargará de escribir "Hola Mundo" por la pantalla.

Pues manos a la obra:


index.php








class.uivacation.inc.php
















Como vemos, nuestro index.php redirije el flujo del programa a vacation.uivacation.vacationinterface, que es una función dentro de la clase class.uivacation. ¡Recordar que en cada sitio que veais vacation vosotros teneis que renombrarlo por vuestra própia aplicación!


Las lineas create_header y create_footer son las que "pintaran" la parte de arriba de egroupware y la parte de abajo. Es decir, la cabecera y el pie de la aplicación egroupware. En medio, entre la cabecera y el pie, estará nuestra aplicación, en nuestro caso, "Hola Mundo".

Pues bien, con ello ya tendreis escrito un programa en PHP integrado en vuestro entorno de trabajo colaborativo. 

Enlaces de interés:




That u don't know what you've got 'til it's gone