Hi *,
in my company we are about to switching from desktop client to Roundcube. I've no problem at all with Roundcube, except when talking about users with multiple imap accounts.
Now, following the Plugin Repository page and the ticket #1484075 I installed a plugin to achieve this and it works very well, with one big "problem": how it works.
Let me explain: the plugin works with session info, replacing them when the user choose a different account from the drop-down list (and consequently the browser refresh the page), like logout->autologon. I know that's the only way to do this switch with a plugin, and this is not a criticism to this useful code, but it's a workaround.
So I think that Roundcube needs to change how it's structured to allow N server connections. And we can also use an abstraction layer in order to allow people to write "server plugin" to retrieve e-mails (I'm thinking about the bad IMAP implementation of Google, or POP3 leave-on-the-server
Exchange).
I know that it sounds like trasform Roundcube into a complex webapp instead of a simple webmail, but I think that it's the only way to be a valid alternative to others webmail products.
I've hacked a bit of Roundcube code to build a custom version that allows switching IMAP connections like the plugin above, but also shows the folder list and take that updated with unreaded message count, like a real desktop software (there is no really multiple connections, my code switch between IMAPs account like the plugin mentioned when the user click on a folder). The problem is that I've added hooks and a bit of code outside the plugin (there is no other way), so it's very ugly and non-portable solution.
I can help with programming, so if you think that RC core can be modified to allow multiple account, I can write down some code.
Enrico
--- 8< --- detachments --- 8< --- The following attachments have been detached and are available for viewing. http://detached.gigo.com/rc/Q2/oZkn1AKO/signature.asc Only click these links if you trust the sender, as well as this message. --- 8< --- detachments --- 8< ---
List info: http://lists.roundcube.net/dev/ BT/aba52c80
There's certainly a lot of work to be done in order to properly implement such a features. The killer question I'd like to ask: how do you log into such a multi-imap-account account? Would you log-in to, let's say, a "primary" account which then has some "child" IMAP accounts configured including their passwords? Currently, Roundcube doesn't store account passwords (except in session data) and there are good reasons not to do so. But on the other hand, typing in several passwords when logging into Roundcube doesn't seem to be very user friendly either.
One other question: what products do you mean when saying "it's the only way to be a valid alternative to others webmail products". I don't know of many OSS webmail solutions that support multiple accounts.
~Thomas
On Tue, Oct 18, 2011 at 16:44, Enrico Bassetti enrico.bassetti@q4q5.it wrote:
Hi *,
in my company we are about to switching from desktop client to Roundcube. I've no problem at all with Roundcube, except when talking about users with multiple imap accounts.
Now, following the Plugin Repository page and the ticket #1484075 I installed a plugin to achieve this and it works very well, with one big "problem": how it works.
Let me explain: the plugin works with session info, replacing them when the user choose a different account from the drop-down list (and consequently the browser refresh the page), like logout->autologon. I know that's the only way to do this switch with a plugin, and this is not a criticism to this useful code, but it's a workaround.
So I think that Roundcube needs to change how it's structured to allow N server connections. And we can also use an abstraction layer in order to allow people to write "server plugin" to retrieve e-mails (I'm thinking about the bad IMAP implementation of Google, or POP3 leave-on-the-server
- useful when you don't have IMAP, or other protocols - like MS
Exchange).
I know that it sounds like trasform Roundcube into a complex webapp instead of a simple webmail, but I think that it's the only way to be a valid alternative to others webmail products.
I've hacked a bit of Roundcube code to build a custom version that allows switching IMAP connections like the plugin above, but also shows the folder list and take that updated with unreaded message count, like a real desktop software (there is no really multiple connections, my code switch between IMAPs account like the plugin mentioned when the user click on a folder). The problem is that I've added hooks and a bit of code outside the plugin (there is no other way), so it's very ugly and non-portable solution.
I can help with programming, so if you think that RC core can be modified to allow multiple account, I can write down some code.
Enrico
--- 8< --- detachments --- 8< --- The following attachments have been detached and are available for viewing. http://detached.gigo.com/rc/Q2/oZkn1AKO/signature.asc Only click these links if you trust the sender, as well as this message. --- 8< --- detachments --- 8< ---
List info: http://lists.roundcube.net/dev/ BT/0ddf6350
List info: http://lists.roundcube.net/dev/ BT/aba52c80
On 2011-10-19 16:15, Thomas Bruederli wrote:
There's certainly a lot of work to be done in order to properly implement such a features. The killer question I'd like to ask: how do you log into such a multi-imap-account account? Would you log-in to, let's say, a "primary" account which then has some "child" IMAP accounts configured including their passwords? Currently, Roundcube doesn't store account passwords (except in session data) and there are good reasons not to do so. But on the other hand, typing in several passwords when logging into Roundcube doesn't seem to be very user friendly either.
You could use the "primary" account password to encrypt the "secondary" IMAP account(s) password(s) with, and store that encrypted version, perhaps.
Kind regards,
Jeroen van Meeuwen
Il giorno dom, 30/10/2011 alle 13.27 +0000, Jeroen van Meeuwen (Kolab Systems) ha scritto:
You could use the "primary" account password to encrypt the "secondary" IMAP account(s) password(s) with, and store that encrypted version, perhaps.
Good idea, I think that this approach is safe.
Anyway, today I edited some Roundcube script: first I deleted completely the $IMAP global variable (ok this is going to break functionality, please read bottom), then I modified the RCMAIL::$imap attribute from object (rcube_imap) to array (of rcube_imap), then I added the attribute RCMAIL::$serverIndex to use as server index. For now I'm forcing $serverIndex to zero, so we have only one connection.
I've downloaded the latest trunk revision. My edits in the attached diff.
Please note that this approach will break plugin (and more) that use rcmail::$imap object. I've modified everything in the Subversion repository directory "roundcubemail" (under trunk) except for "installer", but we have dozen of external plugin that can be affected by this change.
If we need to be backward compatible even for RCMAIL::$imap object, the approach need to be different (maybe RCMAIL::$imap should be the selected IMAP connection picked from the array).
Please tell me what do you think ;-)
Enrico
--- 8< --- detachments --- 8< --- The following attachments have been detached and are available for viewing. http://detached.gigo.com/rc/Kj/OQiEvoH0/rctest.diff.gz http://detached.gigo.com/rc/Kj/OQiEvoH0/signature.asc Only click these links if you trust the sender, as well as this message. --- 8< --- detachments --- 8< ---
List info: http://lists.roundcube.net/dev/ BT/aba52c80
Il giorno mar, 18/10/2011 alle 16.44 +0200, Enrico Bassetti ha scritto:
I can help with programming, so if you think that RC core can be modified to allow multiple account, I can write down some code.
Ok I was re-thinking about that mail, and I realized that I was running too fast. So I created a diff patch to remove completely the use of $IMAP global variable to all Roundcube source (leaving the global variable intacts to backward compatibility). It's attached to the ticket id #1488148 ( http://trac.roundcube.net/ticket/1488148 ).
Enrico
List info: http://lists.roundcube.net/dev/ BT/aba52c80
Il 04/11/2011 13:43, Enrico Bassetti ha scritto:
Ok I was re-thinking about that mail, and I realized that I was running too fast. So I created a diff patch to remove completely the use of $IMAP global variable to all Roundcube source (leaving the global variable intacts to backward compatibility). It's attached to the ticket id #1488148 ( http://trac.roundcube.net/ticket/1488148 ). Enrico
Hey! There is anyone out there?
Enrico _______________________________________________ List info: http://lists.roundcube.net/dev/ BT/aba52c80