Skip to main content

Patch Plone GopipIndex to sort objects by "global" position

Project description

Patch GopipIndex to sort objects by ‘global’ position

By default, Plone GopipIndex (Get object position in parent Index) sorts results only by objects order in their own folder.

While this works for the most common use cases, the resulting order may look weird if it contains results from multiple folders:

>>> pc = layer['portal']['portal_catalog']
>>> [brain.getPath() for brain in pc(sort_on='getObjPositionInParent')]
['/plone/a/a1', '/plone/b/b1', '/plone/a/a2', '/plone/b/b2', '/plone/a/a3', '/plone/b/b3', '/plone/a', '/plone/b']

This package patches the results to be sorted as follows:

>>> layer['patch']()
>>> pc = layer['portal']['portal_catalog']
>>> [brain.getPath() for brain in pc(sort_on='getObjPositionInParent')]
['/plone/a', '/plone/b', '/plone/a/a1', '/plone/a/a2', '/plone/a/a3', '/plone/b/b1', '/plone/b/b2', '/plone/b/b3']

This package may affect the performance of sorting by getObjPositionInParent.

https://secure.travis-ci.org/datakurre/experimental.globalgopipindex.png

Changelog

1.0.0 (2015-01-07)

  • First release.

Project details


Release history Release notifications

This version
History Node

1.0.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
experimental.globalgopipindex-1.0.0.zip (12.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page