Skip to main content

Flexible breadcrumbs classes for Zope/Plone

Project description

This package provides breadcrumbs classes for object trees in Zope/Plone instances; e.g., it is possible to have the uid request variable used for the breadcrumb if a certain template is used.

For each view template name, it allows the registration of an executable breadcrumbs instance, which may create zero or more breadcrumbs and then give over processing to a parent breadcrumb. Such breadcrumbs instances usually use the current value of a certain request variable, or they may suppress the creation of any breadcrumbs at all.

NOTE:

The purpose of this package is not to provide new functionality but to factor out existing functionality from an existing monolitic Zope product. Thus, it is more likely to lose functionality during further development (as parts of it will be forked out into their own packages, or some functionality may even become obsolete because there are better alternatives in standard Plone components).

Features

  • Breadcrumbs classes for several use cases

  • A simple registry for breadcrumbs and the templates they are triggered by

Due to it’s history, this package still has a few dependencies which are not really important for the core functionality but rather are related to particular breadcrumbs classes of our old monolithic product and it’s eggified successors. For this reason, and because of some weaknesses of the current breadcrumbs registry, the current versions are called 0.x.

Before you fork you own mycompany.plone.breadcrumbs package, here is what we plan for the 1.x versions:

  • The register function will take …

    • the name of a breadcrumbs class,

    • the (single) parent (or None, for the standard breadcrumbs from the objects tree), and

    • optional keyword arguments.

    Currently, it takes an instance of a breadcrumbs class, and the further information thrown at the breadcrumbs class when constructing the instance. The main drawback is that the parent breadcrumb needs to already exist when a new breadcrumb is to be registered, which leads to very annoying module dependenies.

    Thus, versions 1.x will take all the necessary information during registration, and will create a breadcrumb instance when it is first used, including the parent (and “grandparents”, if any).

  • The parents list will be replaced by a single parent; each breadcrumb has exactly one parent to which it hands over it’s results after processing (or None, which will cause the usual standard breadcrumbs to be created from the objects tree).

  • The tweak method will likely be renamed to something more reasonable; unless someone comes up with something better, this will be process. It’s signature might change, too.

Examples

This add-on can be seen in action at the following sites:

Documentation

Sorry, we don’t have real user documentation yet.

Installation

Install visaplan.plone.breadcrumbs by adding it to your buildout:

[buildout]

...

eggs =
    visaplan.plone.breadcrumbs

and then running bin/buildout

Contribute

Support

If you are having issues, please let us know; please use the issue tracker mentioned above.

License

The project is licensed under the GPLv2.

Contributors

Changelog

0.1.6 (2022-03-04)

New Features:

  • New generic crumb class .base.UidCrumb

Miscellaneous:

  • Converted the .base module in a subpackage.

[tobiasherp]

0.1.5 (2022-01-18)

Bugfixes:

  • From hub['getbrain'] we expect a brain, of course, rather than an object

[tobiasherp]

0.1.4 (2020-12-16)

Bugfixes:

  • Fixed a NameError in certain breadcrumbs

Improvements:

  • Python 3 compatibility, using six

  • Sorted imports, using isort

Requirements:

Miscellaneous:

  • Removed the currently empty test extra

[tobiasherp]

0.1.3 (2020-07-02)

Miscellaneous:

  • (For now) hard-coded media center support

[tobiasherp]

0.1.2 (2020-03-05)

  • Provides “feature” VisaplanTentativeBreadcrumbs The feature VisaplanBreadcrumbs will be provided by version 1+.

    You may provide an oldcrumbs module depending on VisaplanTentativeBreadcrumbs, and a crumbs module depending on VisaplanBreadcrumbs

[tobiasherp]

0.1.1 (2019-11-27)

  • Reduced logging.

  • Tools update [tobiasherp]

0.1 (2018-09-18)

  • Initial release. [tobiasherp]

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

visaplan.plone.breadcrumbs-0.1.6.tar.gz (32.1 kB view details)

Uploaded Source

File details

Details for the file visaplan.plone.breadcrumbs-0.1.6.tar.gz.

File metadata

  • Download URL: visaplan.plone.breadcrumbs-0.1.6.tar.gz
  • Upload date:
  • Size: 32.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.19.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.5

File hashes

Hashes for visaplan.plone.breadcrumbs-0.1.6.tar.gz
Algorithm Hash digest
SHA256 a73abccd9999fa602248c86e34477b74e5ca69833cf91a942dd3f4b8f80e9577
MD5 c378b72c7e1c357d42167f67687bc288
BLAKE2b-256 11777a4a9352c1e0178a40f203ff81eaee5cea9905d0205e08fdab7c1ce3dda5

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