The module rcmail is currently broken.
Introduction
Basic: Integration of the roundcube webmail client in drupal
Pro / Contra iframe: The iframe solution is not very nice, but roundcube is just a complex application. Maybe it's also better for maintaining updates. Also following the unix philosophy: a task should have it's own application.
Advantages: rcmail is an module to use the nice-looking ajax webmail client roundcube in drupal. Users can leave their mail account information in drupals account settings to make use of a single-sign-on. The passwords stored crypted in drupals database*. Some scripts in roundcube were modified to use contacts managed with civicrm. Users can query, edit and insert new contacts in the contact pool of civicrm.
Future: Uses can see sent emails as activities in civicrm.
*Security: The password of the users IMAP account stored in the database using php mcrypt and a key you can set in the rcmail.module. So even a database administrator is not able to read users password as plain-text. To login the IMAP account, the password will be decrypted using mcrypt and the key in runtime. Paranoia: If an evil hacker gain access of booth, drupals database and your key (wich is stored in the script), the hacker is able to decrypt the passwords.
-
Notes 4.7.x <
rcmail was updated to work with drupal-4.7. But there are two outstanding tasks:
currently no patch for civicrm-module, if you need this don't hesitate
to contact me
Notes Drupal 5.x
rcmail.install
The automatic installation of tables needed by roundcubemail could not be done by a procedure of hook_install. Because drupal strips all protection characters like ' or ` . Because roundcubemail uses fieldnames like 'from' or 'reply-to' in the identities table f.e. Without protecting characters this breakes the MySQL syntax.
roundcube
Demo
Support / Development
Please use the rcmail project site at drupal.
If you need fast response or modification for your own needs
1) please contact me at
polyformal to open a business track.
Installation
Requirements
please have a look at Versions before.
rcmail.module comes with 2 different patches for 2 flavors of using adressbooks. The one with the great advantage to use the addressbook from civicrm, wich needs the patch patch_ab_civicrm.txt . The other one with the standard addressbook from roundcubemail needs patch_ab_rc.txt
— Superuser 2007/03/24 12:50 civicrm is not supported yet, because it seems like that nobody needs it.
Configuration
goto [drupal]/sites/all/modules/rcmail/
unpack roundcubemail to ./ so that you have [drupal]/sites/all/modules/rcmail/roundcubemail
assuming now that ./patch_ab_[flavor].txt and ./roundcubemail/ (create symbolic links if necessary)
apply patch patch -p0 -u < patch_ab_[flavor].txt
edit roundcubemail/conf/ (for further details read roundcubemail/README and INSTALL)
before
// you can define specific table names used to store webmail data
$rcmail_config['db_table_users'] = 'users';
after
// you can define specific table names used to store webmail data
$rcmail_config['db_table_users'] = 'rcmail_users';
There is also an file called roundcubemail/SQL/mysql.initial.sql for mysql 4.x. It should work in the same way.
before
CREATE TABLE `contacts`
after
CREATE TABLE `rcmail_contacts`
when using vi/vim you can use can use:
:%s/CREATE TABLE `/CREATE TABLE `rcmail_/
In the file rcmail.module you can change the $key variable in the _encrypt() and _decrypt() function to any random characters. Booth $key must have the same content.
Finish and Check it out
settings in druapl
enable the module / permissions
edit IMAP setting in 'my account'
select 'roundcubemail' from the menu
Versions
This is a matrix witch patch matches the right roundcube version.
patch | roundcube | drupal |
patch_ab_rc.txt 1.4 | 0.1beta2 | 4.7.3 |
patch_ab_rc.txt 1.5 | 0.1beta2 | 5 |
Modifications
This gives an overview how it was modified, for everybody who is interested in.
iframe problem: 'Compose' overrides the iframe (Zeile 845)
database to drupals database
adressbook civicrm support
see patch
make patch with addressbook from civicrm
diff -ruN roundcubemail/ drupal/modules/rcmail/roundcubemail/ -x .svn -x config > patch_ab_civicrm.txt
make patch with rcmail standard addressbook
diff -ruN roundcubemail/ drupal/modules/rcmail/roundcubemail/ -x .svn -x config -x program > patch_ab_rc.txt
TODO
Task | Status | Priority | Comments |
Basic Integration | Complete | 1 | Javascript issue |
Security | Complete | 1 | handled via drupals session_db |
Crypted Passwords | Complete | 1 | handled via php mcrypt |
CiviCRM integration | In Progress | 2 | difficult if, there were different databases, works when same db as drupal (table prefix civicrm_ |
# adressbook | In Progress | 2 | Query, Update & New works basicly
solve firstname-surname-display_name issue
solve 'edit contact'→email
delete contacts(?) |
# activities | | 3 | log sent email |
# permissions | | 3 | check drupals settings for civicrm, also perissions for groups |
drupal-4.7.0 tag | Complete | 2 | issues with grab and modify formdata in case:update hook_user
patch for civicrm adressbook |
code cleanup | | 2 | |
iframe dimensions | | 3 | adminster task |
signature fom user | | 3 | |
Priority
1 : essential
2 : for stable release
3 : make up