[RCD] Breaking the 'mail' / 'addressbook' divide in Roundcube
ijl20 at cam.ac.uk
Mon Feb 27 18:42:10 CET 2012
Any advice appreciated of how best to do this.
I'm trying to re-model the current 'modal' behaviour of Roundcube
between the 'mail' view and the 'addressbook' view, and have spent maybe
a dozen hours working my way through the code trying to get things off
the ground. I haven't programmed in PHP for a while but I do have a PhD
in Computer Science, and I think I've put in a reasonable amount of
groundwork including creating a new set of templates/styles and reading
the plugin API documentation.
My intention could be simply put as having a 'Contact List' appear in
the left-pane of what is currently the 'mail' view, i.e. where the
folder list currently sits. My preference would be NOT to have to write
from scratch another addressbook sub-system, but somehow map the
existing functionality across into a new layout.
An edit of the 'mail' template should hopefully allow me to include the
contacts on the left e.g. as this mockup screenshot:
FYI the real objective is to experiment with a more contact-centric view
of emails, e.g. allowing a click on a contact to display the addressbook
details plus emails from/to, as in this mockup:
My problem is fundamentally the 'task' aspect of Roundcube assumes all
the folder/email stuff has querystring '_task=mail' and addressbook
routines have hardcoded things like $RCMAIL->task=='addressbook'. All
this breaks when I try and put the contacts list on the 'mail' page. A
smaller issue is 'mail' and 'addressbook' functionality (e.g. 'list')
seems to prevent that content co-existing on a page also.
E.g. is it very difficult to get <roundcube:object name="addresslist"
id="contacts-table"...> to be expanded correctly in the 'mail' template
using much of the existing program/steps/addressbook/ code ?
I'd rather not have to create a complete new 'addressbook' plugin just
to allow "public $task = 'mail'", but maybe that's the only way. Should
I effectively clone the program/steps/addressbook code into a plugin and
take out the 'task=addressbook' sensitivity? The downside of that is I'm
effectively forking the Roundcube base.
Thanks for any help...
Director, University Computing Service
University of Cambridge
office: +44 1223 334702
mobile: +44 7774 017590
List info: http://lists.roundcube.net/dev/
More information about the Dev