[Tickets #8196] Re: Dimp folder list never shows up when there is many (>1000) folders

bugs at horde.org bugs at horde.org
Fri Apr 17 19:21:00 UTC 2009


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/8196
------------------------------------------------------------------------------
  Ticket             | 8196
  Updated By         | Michael Slusarz <slusarz at horde.org>
  Summary            | Dimp folder list never shows up when there is many
                     | (>1000) folders
  Queue              | DIMP
  Version            | 1.1.2
  Type               | Bug
-State              | Feedback
+State              | Not A Bug
  Priority           | 1. Low
  Milestone          |
  Patch              |
  Owners             |
------------------------------------------------------------------------------


Michael Slusarz <slusarz at horde.org> (2009-04-17 15:20) wrote:

> In Dimp, there is no way to work with only some folders (say,
> personal folder and no shared / other user namespace) and access the
> other folders in a more static way like in Imp.

Correct - this is by design.

> In this case, there are shared folders with customer informations (a
> customer = a folder). They are nested (no more than 100 at a given
> level, so if it where possible to request and display only the top
> folders it would be ok.
>
> I'm not that experienced in web programming (especially json, ajax
> etc), but isn't there a way to ask IMP the top folders list only, and
> to refresh the list only when a subfolder is requested ?

Technically this is possible, but it adds a bunch of complexity,  
provides for a much slower UI (certain IMAP servers are notoriously  
slow at returning mailbox lists), and for the 99.9% of people without  
1000's of folders, it is not needed.

I optimized a few things in IMP 5 in the last few days to cut down on  
the JSON data size.  JSON data size is one of the areas that might  
cause a slowdown - older browsers can take a long time to parse a long  
JSON string.  But even with 1000's of folders the JSON data size is  
only 70-100KB.  And upcoming browsers will have json parsing support  
built-in so this will become less of an issue going forward.

The more important issue has to do with javascript event handling.  In  
DIMP 1.x, each folder inserted into the DOM required at least 1 event  
handler to be attached (others were attached on the first mouseover).   
Thus, inserting 1500 folders into the DOM required 2000+ event  
handlers.  This is not a great thing and I guarantee older browsers  
would probably be sluggish simply because of this issue.  The dimp  
interface in IMP 5 has already had its event model rewritten.  Now,  
even after inserting 1500 folders, the dimp screen only has 7 total  
event handlers registered.  This alone should fix any problems with  
display.

FWIW, I can display 1500 folders just fine on DIMP 1.x, albeit with a  
bit of a lag during loading (I am using a reasonably fast Dual Core  
machine running FF 3).  With the improvements mentioned above that  
have already been implemented in IMP 5, I don't think there is much  
more we need to do going forward - squeezing out even more performance  
for those .1% of people who have thousands of mailboxes simply isn't  
worth it.

> I know there is a hook to hide shared folders, but when using it, is
> there a way to access hidden folders (other than going to imp) ?
> Also, would this be a setting that could be changed for some users
> only ?

I assume you are talking about IMAP subscriptions and, at the moment,  
there is no support for this in dimp (although it is on the TODO list).






More information about the bugs mailing list