Skip to main content

A mini language for reuse of information

Project description

https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336:target:https://pycqa.github.io/isort/

visaplan.plone.infohubs

This product establishes a “mini language” for the calculation and re-use of information in Plone instances during the processing of a single request, e.g. when creating breadcrumbs; e.g., if the login state is important for the breadcrumb for /foo, that same state might be important for the /foo/bar breadcrumb as well.

It is part of the footing of the “Unitracc family” of Plone sites which are maintained by visaplan GmbH, Bochum, Germany; the mini-language was established during the development of the now factored-out package visaplan.plone.breadcrumbs.

The purpose of this package (for now) is not to provide new functionality but to factor out existing functionality from our former monolithic 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

  • The info dictionary holds the collected information of interest during processing of the request.

  • The hub dictionary holds the tools which were used to get those information chunks.

    For some named tools, there are abbreviations available (e.g. pc for portal_catalog), mostly for historical reasons.

Examples

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

Installation and usage

Add visaplan.plone.infohubs to the requirements of your add-on.

Then, in your own code:

from visaplan.plone.infohubs import make_hubs
...
    # in some function or method where you have a meaningful context:
    hub, info = make_hubs(self.context)
    someval = info['some_known_key']

While getting the information for the given key some_known_key, the used tools will be stored in the hub dictionary, and other information found on the way will be stored in the info dictionary.

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

1.2.0 (2020-12-16)

New Features:

  • @@infohubs-demo view to allow interactive tests; info keys and their values are listed in resolution order.

    With visaplan.tools >= v1.3.1, the keys input field will take multiple keys to demonstrate.

  • info key my_translation: a proxy to get the appropriate language version for an object given by path or uid

Improvements:

Hard dependencies removed:

Package

Depending features

visaplan.plone.groups

  • info['group_title']

  • info['gid'] (group id)

  • info['managed_group_title']

  • info['is_member_of'](`group`)

visaplan.plone.tools

  • info['session']

  • info['gid'] (group id)

visaplan.plone.pdfexport

  • info['PDFCreator']

visaplan.zope.reldb or visaplan.plone.sqlwrapper

  • hub['sqlwrapper']

visaplan.plone.unitracctool

  • info['desktop_brain']

  • info['desktop_url']

  • info['bracket_default']

Requirements:

[tobiasherp]

1.1.0 (2020-07-15)

New Features:

  • info key my_translation: a proxy to get the appropriate language version for an object given by path or uid

[tobiasherp]

1.0.2 (2019-05-09)

  • convenience function context_tuple, e.g. for methods with optional hub and info arguments

  • Explicitly raise TypeErrors instead of using assertions (context_and_form_tuple, context_tuple)

  • New info keys counter and counters

[tobiasherp]

1.0.1 (2019-01-31)

  • info['my_uid'] uses plone.uuid.interfaces.IUUID directly [tobiasherp]

1.0 (2018-09-17)

  • 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.infohubs-1.2.0.tar.gz (30.0 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