Hello,
I have written an implementation of message threading for RoundCube.
You can find it here: http://www.atomice.com/blog/?page_id=34
I have split it into a number of separate patches to make it easier to
apply. The patches are against yesterday's SVN trunk. I hope it can be
committed, but I appreciate a few things may need tweaking first.
Please review it.
Regards,
Chris January
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hi List,
here is the initial release (or peer review release) of a plugin for message highlighting. It has been quickly packaged as a
tarball and patch against the current trunk (r2456). This is not intended for production use.
We would be interested to hear what other devs have to say about this. We would like it to be less invasive into the internals
of RC, however we did not find out how to get this functionality all inside the plugin.
There are ways in which RC seems not to be very coherent in its-self. For example the message list building data seems to be
different between the JavaScript and HTML output. It seems to take two different paths through the code. Is this correct or have
we overlooked something fundamental? If this is correct, is it by design and if so why?!?
We believe that the use of jQuery could be greatly improved. We do a _lot_ of jQuery development and, to us, lots of what has
been implemented could do with being restructured and reworked.
We are also working on a Advanced Global Search plugin that we have working in-house but is not yet simple to package. That
plugin is even more invasive into the RC internals than this one.
Looking forward your feedback.
Chris Moules
--
Global Media Systems
--- 8< --- detachments --- 8< ---
The following attachments have been detached and are available for viewing.
http://detached.gigo.com/rc/qM/hKQ6SQEv/message_highlighting.tgz
Only click these links if you trust the sender, as well as this message.
--- 8< --- detachments --- 8< ---
_______________________________________________
List info: http://lists.roundcube.net/dev/
I've been spending a lot of time in Firebug with RoundCube the past few
weeks. One thing I've noticed is that there are quite a lot of network
requests to freshly load the front page. With the default theme there are
around 45 separate requests for a little less than 250K. I was asking
myself how to reduce the number of requests and was reminded of something
interesting that I had noticed Gmail doing, and that is to consolidate many
icons into a single image and then use CSS to position the image as the
background of a fixed width/height block-level element.
As I went to implement this, I began to realize that not only does this
approach reduce the number of network requests, but it also seems to
simplify the code a bit. With this method the code doesn't have to worry
at all about images or file names, but becomes somewhat image-agnostic by
only specifying the *type* of behavior it would like to see in a given
location. How that bahavior is implemented then becomes a simple matter of
CSS.
Here is the consolidated image with not all but most of the usual icons:
https://natha.nkinka.de/devmail/skins/default/images/icons/rc_icons.png
And here are the patches to implement this:
http://code.nkinka.de/gitweb?p=roundcube.git;a=commitdiff;h=84a7acd0f42e3c3…
I found that doing this reduced the number of requests on a clean load of
the main mailbox view from 45 to 35, which is fairly significant. It does
add about 5K to the page size because it brings along a number of unneeded
icons for that page. 10 less requests may not be perceptible for many
people running on a fast machine with broadband Internet to a server that
isn't very loaded. However, for a busy machine, perhaps an installation of
RoundCube serving webmail for a university, for example, 10 less requests
per fresh page load could make a noticeable difference. 10 less requests
will probably also make a noticeable difference for those on a high latency
connection, where 5K extra is less of a problem than 10 more network
requests.
I have no idea whether this is of any use or interest to anyone else, but I
thought I'd share my experiment with the list.
Nathan
_______________________________________________
List info: http://lists.roundcube.net/dev/
I send this message again, because it was sorted into a wrong thread.
----- Original Message -----
From: Roland Liebl
To: dev(a)lists.roundcube.net
Sent: Sunday, May 17, 2009 6:16 AM
Subject: Load skins templates from plugin directory
Hello Devs,
the attached patch is very usefull, IMO. It loads plugin templates from the plugin folder. It is similar to what you are already doing by the localization.
E.g.: $rcmail->output->send("settings.account") ... will parse the template from ./[conf:plugins_dir]/settings/skins/[conf:skin]/templates/account.html.
So we could use a "Domain Prefix" for plugin templates. It would make it easier to install a plugin, because the user does not have to copy things into the main skin folder.
Please let me know, if you will incorporate the patch. I'm in process to update MyRoundCube to use the new Plugin API and have to know if I can rely on this method.
Regards,
Roland
_______________________________________________
List info: http://lists.roundcube.net/dev/
In http_response() we have:
if (response.action == 'list')
this.triggerEvent('listupdate', { folder:this.env.source, rowcount:this.contact_list.rowcount });
I think we should add (instead) a "global" event at the end of http_response function:
this.triggerEvent('http_response', { action:response.action });
So, plugins could bind to one (http_response) event and there just check
for which action it's executed. Am I right?
--
Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252
LAN Management System Developer http://lms.org.pl
Roundcube Webmail Project Developer http://roundcube.net
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hi,
158 Apache:
159 -------
160 To enable these features in apache the following modules need to be enabled:
161 * mod_compress
162 * mod_expire
163 * mod_headers
I thought mod_compress is part of Lighttpd only. Isn't it mod_deflate for apache? I can't find mod_compress in my apache 2.2 installation.
Regards,
Roland
_______________________________________________
List info: http://lists.roundcube.net/dev/
1. Shouldn't 'create_identity' hook be called after 'create_user' (in
rcube_user::create)?
2. E.g. in rcube_user::create() we have:
$data = $rcmail->plugins->exec_hook('create_user', array('user'=>$user,
'user_name'=>$user_name, 'user_email'=>$user_email));
Do you plan to add possibility to stop function execution after
executing a hook inside of it?
3. In mail/compose.inc we have now in rcmail_save_attachment function:
'data' => $message->get_part_content($pid),
I think attachments could and should be handled via file pointer.
--
Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252
LAN Management System Developer http://lms.org.pl
Roundcube Webmail Project Developer http://roundcube.net
_______________________________________________
List info: http://lists.roundcube.net/dev/
I made some changes to the plugin doc to reflect recent changes. Hope
everyone is ok with them.
Cor
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hi Devs,
do you plan to implement the following (IMO standard) features during v0.3 development or should they better be implemented as a plugin?
#1 - Forward message as attachment
#2 - Copy message to folder (currently only "move" is available)
#3 - Attach vCard according to identity
#4 - Select Range/Invert Selection in message list (I like it and am used to that feature from Squirrel)
#5 - Expand/Collapse all folders in folder list
I'm in process to update MyRoundCube - which has all those features - to use your fantastic plugin API.
I have to take care about my ressources and won't spend time on things which might be already on your ToDo's.
Thank you.
Regards,
Roland
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hi Cor,
thanks for your advise ... i will change my plugin tomorrow.
When I add my plugin to repo, where should I store the plugin code?
Regards,
Oliver
Am 31.05.2009 um 23:31 schrieb Cor Bosman:
> Only thing id change is use your own config.inc.php file and call
> $this->load_config(). That way the central config.inc.php doesnt get
> cluttered with plugin config settings.
>
> I just changed the plugin doc to reflect this recent addition to the
> API.
>
> Cor
_______________________________________________
List info: http://lists.roundcube.net/dev/