The work is in progress (devel-framework branch). I'll give you a
current state information, so you can take over when I'll be on vacation
next week.
Framework classes can be grouped in three groups:
- Roundcube Framework - Backend
rcube_addressbook
rcube_cache
rcube_config
rcube_contacts
rcube_imap
rcube_imap_cache
rcube_imap_generic
rcube_ldap
rcube_mdb2
rcube_mime
rcube_plugin
rcube_plugin_api
rcube_result_*
rcube_session
rcube_smtp
rcube_storage
rcube_user
rcube_spellchecker
rcube_message
- depends on: rcmail, rcube_vcard, rcube_charset, rcube_shared.inc
- Roundcube Framework - Frontend
rcube_template
rcube_json_output
rcube_ui
rcube_html_page
- depends on rcmail, backend + utils
- Roundcube Framework - Utils
html
rcube_browser
rcube_base_replacer
rcube_string_replacer
rcube_vcard
rcube_charset
- depends on backend + utils
TODO:
- create rcube_framework class as a base for rcmail, which will contain
only backend-related functionality. The idea is that in use-case where
UI is not needed we'll be able to just do:
class rcmail extends rcube_framework {}
- make plugins api optional, create rcmail::exec_hook() as
plugins->exec_hook() wrapper,
- don't use translation (gettext()) inside backend classes, e.g. should
rcube_addressbook return translated error messages? I think so.
- should rcube_message go to the backend group? if so, it cannot depend
on rcube_ui nor localization,
- fix html class dependencies (rcube_ui::Q) so it can be "moved" to
Utils group,
- review dependencies and make so classes from Utils group depend only
on rcube_shared.inc or even nothing,
- fix rcube_message class dependencies (rcube_ui, localization) and/or
move it to Frontend,
- don't use function aliases from main.inc file, rename it to
rcube_bc.inc and don't include it by default. Leave it for lazy plugin
authors (or add an option in config to do that without any code changes).
- review RCMAIL_CHARSET constant usage
--
Aleksander 'A.L.E.C' Machniak
LAN Management System Developer [http://lms.org.pl]
Roundcube Webmail Developer [http://roundcube.net]
---------------------------------------------------
PGP: 19359DC1 @@ GG: 2275252 @@ WWW:
http://alec.pl
_______________________________________________
List info:
http://lists.roundcube.net/dev/
BT/aba52c80