Skip to main content

Plone integration for the basic plone.uuid package

Project description

Introduction

This package integrates the low-level plone.uuid into Plone-the- application. In particular, it:

  • Registers a portal_catalog indexer for the UID index that allows an object’s UUID to be indexed.

    This name is intentionally chosen to be the same as the Archetypes UID() attribute, which is already indexed by Plone. The effect is that the UID catalog attribute/metadata is now generalised to all content that supports the plone.uuid protocol.

    As of version 1.7, Products.Archetypes depends on plone.uuid and implements an IUUID adapter suitable for Archetypes content. It also uses the plone.uuid IUUIDGenerator utility to generate UUIDs for (new) content, although note that UUIDs generated by the pre-1.7 UUID algorithm, whilst different, cannot collide with the UUIDs generated by the default IUUIDGenerator implementation.

    It follows that the plone.uuid IUUID adapter and @@uuid view are now the preferred, generalised way to look up a UUID for an object.

  • Registers a utility view, @@redirect-to-uuid. You can use this with a URL like:

    http://example.org/some/path/@@redirect-to-uuid/b2dc6f7a-9d17-11df-8788-58b035f3cfa0

    This will then redirect to the object identified by that URL.

    Hint: You can use the @@uuid view from plone.uuid to render a UUID. In TAL, you can do something like:

    <a tal:attributes="href string:${portal_url}/@@redirect-to-uuid/${obj/@@uuid}">Click here</a>
  • Provides several utility methods in the plone.app.uuid.utils module:

    uuidToPhysicalPath(uuid)

    Returns the physical path (relative to the ZODB root) as a string of the object with the given UUID, or None if it cannot be found.

    uuidToURL(uuid)

    Returns the absolute URL of the object with the given UUID, or None if it cannot be found.

    uuidToObject(uuid)

    Returns the content object associated with the given UUID, or None if it cannot be found.

Please see the plone.uuid package for more details about how UUIDs are generated and can be accessed.

Changelog

2.2.3 (2024-01-19)

Internal:

  • Update configuration files. [plone devs] (7723aeaf)

2.2.2 (2023-03-22)

Internal:

  • Update configuration files. [plone devs] (b2d5d4a5)

2.2.1 (2022-10-11)

Bug fixes:

  • Process the catalog queue before looking up in the catalog [ale-rt] (#15)

2.2.0 (2022-08-30)

Bug fixes:

  • Add optional security check for uuidToObject [anirudhhkashyap] (#13)

2.1.0 (2021-12-29)

New features:

  • Speed up uuidToPhysicalPath and uuidToObject. Do this by using an IndexQuery to only query the UID index. Note: of the four functions in utils.py, only uuidToObject checks the security. For the other functions, it is up to the caller to do this, if needed. We may change this in the future, but for now the behavior should be the same as in previous versions. [maurits] (#11)

2.0.2 (2020-04-20)

Bug fixes:

  • Minor packaging updates. (#1)

2.0.1 (2020-03-13)

Bug fixes:

  • Fix use case where UID to object is failing. [rodfersou] (#8)

  • Initialize towncrier. [gforcada] (#2548)

2.0.0 (2018-11-02)

Breaking changes:

  • Fix test that fails since it raises zExceptions.NotFound instead of zope.publisher.interfaces.NotFound. (This makes the tests incompatible with Zope 2.13.) [pbauer]

Bug fixes:

  • Fix deprecation warning on zope.site.hooks import. [pbauer]

1.2 (2017-07-03)

New features:

  • Remove unittest2 dependency [kakshay21]

1.1.3 (2017-02-12)

Bug fixes:

  • Fix test in Zope 4. [davisagli]

1.1.2 (2016-11-17)

Bug fixes:

  • Update code to follow Plone styleguide. [gforcada]

1.1.1 (2016-08-10)

Fixes:

  • Use zope.interface decorator. [gforcada]

1.1 (2014-02-19)

  • Make the test setup independent from basic content types in the PLONE_FIXTURE. [timo]

1.0 - 2011-05-13

  • Release 1.0 Final. [esteele]

  • Add MANIFEST.in. [WouterVH]

1.0b2 - 2011-01-03

  • Use user id instead of user name to fix tests. [davisagli]

1.0b1 - 2010-11-27

  • Initial 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

plone.app.uuid-2.2.3.tar.gz (19.8 kB view hashes)

Uploaded Source

Built Distribution

plone.app.uuid-2.2.3-py3-none-any.whl (10.1 kB view hashes)

Uploaded Python 3

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