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


Download files

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

Source Distribution

experimental.globalgopipindex-1.0.0.zip (12.6 kB view details)

Uploaded Source

File details

Details for the file experimental.globalgopipindex-1.0.0.zip.

File metadata

File hashes

Hashes for experimental.globalgopipindex-1.0.0.zip
Algorithm Hash digest
SHA256 057722982df5486760d1a5b10cc4e9ef49150525e0dacfb35b3c5b0fb4e78530
MD5 fe02656645f24b7ba280dd09f1ec8ff0
BLAKE2b-256 3efbf9bad16e9791c4ed47ac0c07f7e3920d80138f927021234a123f32b5924a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page