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 hashes)

Uploaded Source

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