Skip to main content

BTree folder with the option to keep an ordering in the items

Project description


3.1 (2021-10-19)

  • Pin to setuptools < 52 to work around and incompatibility with zc.buildout in that version.

  • Add support for Python 3.9.

  • Require “view management screens” permission for the following methods (#20224):

    • .orderedbtreefolder.OrderedBTreeFolder.manage_changeOrder

    • .orderedbtreefolder.OrderedBTreeFolder.getBatchObjectListing

3.0 (2020-03-16)

Backwards incompatible changes

  • Drop support for Python 2.


  • Add support for Python 3.8.

2.0.1 (2019-11-05)

  • When moving an element behind the end of the list this no longer reverses the whole list. (#18264)

2.0 (2019-02-20)

Backwards incompatible changes

  • Drop support for Zope 2.


  • Support Zope 4.

  • Add support for Python 3.6 and 3.7.

Other changes

  • Flake8. (#16318)

1.5 (2017-08-10)

  • Remove dependency on Globals (Zope 4 forward compatibility).

1.4 (2016-10-24)

  • Fix moveObjectsByDelta() to be usable with unicode ids.

  • getObjectPosition() now raises a LookupError if object is not found.

  • Move source code to new directory ‘src’.

  • Update, so it accepts a pinned version of setuptools.

  • Use py.test as the one and only testrunner.

1.3.0 (2011-03-15)

  • Updated package to use Products.BTreeFolder2 >= 2.13.3, so most compatibility code added in version 1.2.1 could be removed, thus requiring at least Products.BTreeFolder2 version 2.13.3.

  • Removed not needed dependency on Products.CMFCore.

1.2.1 (2011-03-07)

  • Methods objectItems, objectValues, keys, values and items returned values unordered when package was used together with Products.BTreeFolder2 >= 2.13.

1.2.0 (2011-03-03)

  • Updated to run on Zope 2.12+, thus requiring at least this version.

1.1.0 (2009-04-01)

  • Initial packaging as an egg.

  • Code cleanup.

Ordered BTreeFolder

This btree folder class implements the OrderSupport interface from the core Zope distribution. It is a subclass of the BTreeFolder2 product from Shane Hathaway. The BTreeFolder2 product needs to be installed alongside this product.


This folder has the advantages of a normal BTreefolder. Object listing and access to single objects, does not load unused objects into memory.

With the ordering support one can use this folder as a base class for other more application oriented containers.

Every OBTreeFolder has the property insertmodus which defines where in the ordering new objects should be added. Default is at the beginning of the ordered list.

In the ZMI, there is a simple javascript based method to change the order of several objects with one request.


This product is licensed under the GPL, read LICENSE.GPL for more info.


For questions regarding this product you can send an email to


Thanks to Helge Tesdal for a nice optimization hint.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Products.orderedbtreefolder-3.1.tar.gz (31.9 kB view hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page