PhpGroupware:

una oportunidad de participar

<jarg@linuxuanl.org>

Jonathan Rivera

http://linuxuanl.org

Que es phpGroupware

Plataforma de groupware libre y api de desarrollo

Iniciado en 2000 por Joseph Engo aka jengo como webdistro.

Mas de 50 aplicaciones según el registro interno.

Parte del proyecto GNU

Implementaciones en diversos países con mas de 4000 usuarios.

Esta por liberarse la versión 0.9.16

Un groupware libre

El objetivo como groupware, es ser una plataforma poderosa de colaboración

Que los usuarios se puedan comunicar, colaborar y coordinar activades.

Aplicaciones básicas:

Addressbook

Email

Calendar

Notes

Todo

Un api de desarrollo

Tiene un api robusto

Diferentes repositorios

SQL

LDAP

Diferentes DB

Mysql

Postgres

Mssql

Oracle (soporte desactualizado)

Un api de desarrollo

Metodos de autenticación

Sql

ldap

Pam

Nis

http

Sistema de templates

phplib

xslt

etemplates

Un api de desarrollo

Sistema de preferencias

ACL

Virtual file system

Internacionalización

Soporte para soap y xmlrpc

Sistema de hooks

Juguetes interesantes

Schema-proc

Maquinaria de instalación y actualización de la base de datos.

Representas tu modelo en arreglos y schema-proc se encarga de hacer el trabajo para cada base de datos soportada.

Sql_builder

Generador de queries, se representa a cada tabla como una clase y el sql_builder hace la magia.

Juguetes interesantes

Contacts backend

Nuevo backend, usa sql_builder.

Robusto, enriquecido con métodos para poder ser usados por las diferentes aplicaciones.

Relación cuenta-contacto

IPC

Nuevo sistema de sincronización de phpgw

Tiene varias capas y permitirá sincronización entre las mismas aplicaciones de phpgw y otras aplicaciones externas.

Maquinaria de importación basada en xml

Características del desarrollo

PhpGroupware esta compuesto de aplicaciones

Cada aplicación esta programada en tres capas

ui = Todo lo que tenga que ver con la interfaz (uso de templates)

bo = Toda la lógica de la aplicación

so = Todos los llamados al repositorio de datos (sql_generator)

Características del desarrollo

Cada aplicación tiene el siguiente árbol de directorios:

app_name

index.php

setup

Aquí van todos los archivos para la instalación y actualización de la aplicación.

templates

Aquí se ponen todos los templates que se usan en esta aplicación. Soporte para temas.

inc

Aquí se ponen todas las clases que se usan para la aplicación, aquí van ui, bo y so.

Características del desarrollo

El index.php debe contener esta información

$GLOBALS['phpgw_info']['flags']['currentapp'] = 'app_name';

include('../header.inc.php');

Cosas especificas para nuestra aplicacion

$GLOBALS['phpgw']->common->phpgw_footer();

Los archivos importantes en setup:

tables_current.inc.php: Representación de las tablas de la aplicación

tables_update.inc.php: Funciones de control de versiones de la aplicación.

setup.inc.php

$setup_info['app_name']['name'] = 'name'

$setup_info['app_name']['title] = 'title'

$setup_info['app_name']['hooks'] = array('hooks')

$setup_info['app_name']['deps'] = array('deps')

Características del desarrollo

Los archivos en templates

Subdirectorios de cada tema

Dentro todos los templates

Los archivos en inc

Todas las clases que usaremos en nuestra aplicación, cada clase ui debe tener un arreglo para definir las funciones que podrán ser accesadas desde cualquier otra aplicación.

La comunidad

Existe un equipo de coordinación

Joseph Engo

Dan Kuykendall

Bettina Gille (Alemania)

Dave Hall (Australia)

Alejandro Borges (México)

Se pueden subir parches a savanah

Existe un wiki donde están las propuestas

Todo colaborador es bienvenido

Los parches al api se cuidan mucho

La comunidad

Canal de irc

#phpgroupware en irc.freenode.net

Listas de correo

Dev: Todo lo que tiene que ver con el desarrollo, propuestas para próximas versiones.

Users: Ayuda general de cualquier aplicación de phpgw

Doc: Equipo de documentación.

Foros

http://forums.phpgroupware.org

Savanah

Porque participar

Es un proyecto reconocido

El groupware es uno de los puntos clave en la migración de usuarios de otras plataformas

Es facil la integración

Se puede aprender mucho

Se necesitan mas colaboradores

Como participar

Para los desarrolladores

Instala phpgroupware

Echale un ojo a una aplicación sencilla como las notas

Practica haciendo una aplicacion sencilla y empieza a usar el api

Echale un ojo al wiki

Entra al canal de irc

Participa en las listas de correo

Como participar

Para los no desarrolladores

Instala phpgroupware

Puedes ayudar con la documentación

También reportando bugs en savanah

Puedes ayudar con la traducción

Con la administracion del sitio

Haciendo un weekly news o algo así

Ayudando en el irc o la lista a otros usuarios

El futuro planeado

Nuevo framework basado en xslt

Templates completamente basados en css

Fortalecer mas el api

Mejor integración de las aplicaciones

eLearnign

Ser la mejor alternativa libre de groupware, fácil de comunicar hacia el exterior.

Mas infomación

http://phpgroupware.org

http://docs.phpgroupware.org

http://savannah.gnu.org/projects/phpgroupware/

http://www.probusiness.de/projekte/phpgroupware/sync.html

http://axisgroupware.org

2004-01-01T03:14:25