A mini language for reuse of information
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).
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.
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.
If you are having issues, please let us know; please use the issue tracker mentioned above.
The project is licensed under the GPLv2.
- Tobias Herp, email@example.com
@@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
- If visaplan.zope.reldb is installed, the hub['sqlwrapper'] will use its wrapper for an SQLAlchemy -based database connection
Hard dependencies removed:
|visaplan.zope.reldb or visaplan.plone.sqlwrapper||
- info key my_translation: a proxy to get the appropriate language version for an object given by path or uid
- 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
- info['my_uid'] uses plone.uuid.interfaces.IUUID directly [tobiasherp]
- Initial release. [tobiasherp]
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size visaplan.plone.infohubs-1.2.0.tar.gz (30.0 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for visaplan.plone.infohubs-1.2.0.tar.gz