A API deve manusear sessões, usuários e grupos, múltiplos banco de dados, e suporte a módulos.
- Suporte a templates
- Abstração de usuários e grupos
- Possivelmente uma busca unificada entre todos os módulos
Suporte a módulos
A API deve oferecer aos módulos:
- Camada Javascript
- suporte unificado a línguas
- suporte unificado a conexões Ajax
- suporte unificado a apresentação
- Abas e janelas
- Mensagens de erro e status
- Assistir carregamento e descarregamento do módulo.
- Teclas de atalho unificadas
- Comunicação entre os módulos
- Por exemplo disparar email centralizado no expressoMail, consultar usuários centralizados no ContactCenter
- Camada Php
- Preferências
- Abstração de usuários
Como é definido o módulo Raíz (ex. /var/www/expresso/)
- modulo_exemplo/
- index.php
- templates/
- default/ (obrigatório)
- outro/ (opicional)
- inc/
- class.appname_ui*.inc.php
- class.appname_bo*.inc.php
- class.appname_so*.inc.php
- hook_*.inc.php
- js/
- main.js
- setup/
- phpgw_pt-br.lang
- setup.inc.php