Metadata-Version: 2.1
Name: Products.orderedbtreefolder
Version: 3.2
Summary: BTree folder with the option to keep an ordering in the items
Home-page: https://gitlab.com/gocept/union.cms/products.orderedbtreefolder
Author: union.cms developers
Author-email: dev@unioncms.org
License: GPL
Keywords: union.cms zope python content
Classifier: Framework :: Zope :: 4
Classifier: Framework :: Zope :: 5
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.7, <4
License-File: LICENSE.txt
Requires-Dist: AccessControl
Requires-Dist: Acquisition
Requires-Dist: Products.BTreeFolder2 (>=4)
Requires-Dist: Products.ZCatalog
Requires-Dist: ZODB
Requires-Dist: Zope (>=4.0b7)
Requires-Dist: setuptools
Requires-Dist: zExceptions
Provides-Extra: test
Requires-Dist: zope.testing (>=3.8) ; extra == 'test'

.. contents ::

=======
Changes
=======

3.2 (2023-06-05)
================

- Add support for Python 3.11.

- Add support for Python 3.10.


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.

Features
++++++++

- 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.

Features
++++++++

- 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 `bootstrap.py`, 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.


Features
========

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.


License
=======

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


Info
====

For questions regarding this product you can send an email to

  core@unioncms.org


Contributions
=============

Thanks to Helge Tesdal for a nice optimization hint.


