Personal tools
You are here: Home Products Plone Roadmap #116: Improved Large Folder behaviour and user interface
Document Actions

#116: Improved Large Folder behaviour and user interface

Contents
  1. Definitions
  2. Motivation
  3. Proposal
  4. Risks
  5. Progress log
by Alexander Limi last modified August 22, 2006 - 05:09
The Large Folder in Plone should be improved to work better with large amounts of content, since this is the primary use case for it.
Proposed by
Alexander Limi
Proposal type
User interface
State
being-discussed

Definitions

Large Folder
Here used as a common term for any BTree-based folder, which are designed to hold thousands of elements. They are not the same in all cases, but the improvements proposed here are applicable to any BTree-based folder structure.

Motivation

Currently, Plone has a content type for holding thousands of items that is based on a BTree structure called the Large Folder, that supports thousands of content items in an efficient way - and has no ordering support.

This content type is created for a radically different use case than the normal folder, and should have an interface and a behaviour that matches and optimizes this usage.

There are three main areas where Large Folders could use improvement:

  • Behaviour in the navigation tree
  • The interface when manipulating the contents of the folder (potentially containing thousands of items)
  • The view of the folder

Proposal

The changes proposed are:

Navigation tree changes
Large Folders should not expand in the navigation tree. The currently selected item should be there, but its sieblings should not be shown. This is an obvious change, since there could easily be thousands of items in the navigation tree.
Folder Contents view changes
The Folder Contents view of a Large folder should be search-based. Ideally, we want this to be a LiveSearch-like implementation of the table view that is the contents view of a normal folder.
Default view changes
The default view of a Large Folder should at the very least have batching — and preferrably have a search-based interface like the Folder Contents one, if possible.

Risks

We should evaluate what developers are available for this PLIP and go for the non-LiveSearch-like implementation if we don't have the available resources to do it properly.

Progress log

This is the second part of the folder contents updates; no bundle for the deadline here either since it needs a decision in the AJAX discussion. (There are of course parts that could have been done in the meantime, but it's always harder to motivate people when there's no UI on top ;) 

another improvement, underneath suggested

Posted by Sean Upton at March 17, 2006 - 22:54

Catalog-backed folder_contents is good; making large folders have a search-not-browse UI is as well. However, there are also cases for using objectIds() (still used by some applications on top of Plone for certain operations not driven by the catalog - also useful for len(self.objectIds()) as well) - BTreeFolder2.objectIds() out-of-the-box doesn't scale, but there is an easy fix that makes objectIds() much faster for tens-of-thousands of items and possible for hundreds of thousands of items (we are using in CMFMember setup wtih 200k+ users). I've proposed a patch (http://mail.zope.org/pipermail/zope-dev/2006-January/026585.html) for BTreeFolder2, but haven't lobbied hard to get a Zope committer to push this into BTreeFolder2 - it could also go into a subclass like BaseBTreeFolder or anywhere else in AT/Plone? Anyone interested?

Sounds good to me

Posted by Alexander Limi at March 22, 2006 - 02:54
I guess I don't see where it's relevant to this PLIP. :)

Faster objectIds() would be good, I don't think we'll be using it outside of calculating the number of items, though.

Keywords

Posted by Martin Aspeli at April 16, 2006 - 16:53
Another mode of navigation (that limi mentioned) would be to use DC:Subject/keywords to "drill-down" into a large folder. Combined with a better UI for tagging things with keywords, this would make for a more useful UI and a poor man's taxonomy/categorisation/tagging solution.

tag-based btree browsing

Posted by Justin Ryan at July 20, 2006 - 00:51

I think this idea is Great(tm).

view options

Posted by Duco Dokter at September 18, 2006 - 14:38
A few more view options might be useful, like the usual batched view, with N items per page, but in many cases (well, for me anyway) you'd have items in a BTree folder that have a more or less balanced distribution over an alphabet, so you could provide a view with a top bar with clickable starting letters.

Faceted Browsing

Posted by Daniel Bennett at April 8, 2007 - 12:47
Using metadata for browsing large folders through faceted browsing would be very exciting. Rather than a keyword or advanced search or even a good Btree breakdown, being able to "tweak" the results click by click with facets makes finding results more open-ended (not looking for a particular object, but one that meets various criteria) and allows for multiple intuitive interfaces (often used now for ecommerce sites like Amazon). One example is http://facetmap.com/browse/ which shows how to take metadata, convert it to XFML and use their system to allow 4 types of faceted browsing. There is also a lot of work being done on OWL/RDF along these lines.

For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by