Introduction
This package aims to make it easier to register visual components (e.g. views and viewlets) so that they only show up in a Plone site where they have been explicitly installed.
Basic usage
To use this feature, you should:
declare plone.browserlayer as a dependency, e.g. in setup.py:
install_requires=[ 'plone.browserlayer', ],ensure that its ZCML is loaded, e.g. with an include from your own package:
<include package="plone.browserlayer" />
create a layer marker interface unique to your product:
from zope.interface import Interface class IMyProductLayer(Interface): """A layer specific to my product """register this with GenericSetup, in a browserlayer.xml file:
<layers> <layer name="my.product" interface="my.product.interfaces.IMyProductLayer" /> </layers>register visual components in ZCML for this layer, e.g.:
<browser:page name="my-view" for="*" layer=".interfaces.IMyProductLayer" permission="zope.Public" template="my-view.pt" />
Changelog
4.0.0 (2026-05-16)
Internal:
Update configuration files. [plone devs]
4.0.0a2 (2025-11-29)
Bug fixes:
Fix removal of pkg_resources namespace. @davisagli
Move to src-layout. @mauritsvanrees
4.0.0a1 (2025-11-26)
Breaking changes:
Replace pkg_resources namespace with PEP 420 native namespace. Support only Plone 6.2 and Python 3.10+. (#3928)
3.0.2 (2023-10-07)
Internal:
Update configuration files. [plone devs] (cfffba8c)
3.0.1 (2023-03-14)
Internal:
Update configuration files. [plone devs] (ba6bcc29)
3.0.0 (2022-11-14)
Breaking changes:
Drop support for Plone 5 and Python 2. [maurits] (#600)
Bug fixes:
Fix ‘KeyError: file’ in browser tests on Python 3.11. [maurits] (#3663)
2.2.4 (2020-09-07)
Bug fixes:
Fixed deprecation warning for zope.component.interfaces.IComponentRegistry. [maurits] (#3130)
2.2.3 (2020-04-20)
Bug fixes:
Minor packaging updates. (#1)
2.2.2 (2018-09-28)
Bug fixes:
Fix tests for py3 [pbauer]
2.2.1 (2018-02-02)
Bug fixes:
Add Python 2 / 3 compatibility [pbauer]
2.2.0 (2017-02-12)
Bug fixes:
Fixed test when using Zope 4. [maurits]
2.1.7 (2016-11-01)
Fixes:
Removed ZopeTestCase. We were importing from it but not using it… [ivanteoh, maurits]
2.1.6 (2015-10-27)
Fixes:
Minor cleanup in order to follow plone code style conventions. [jensens]
2.1.5 (2015-04-29)
Rerelease for clarity, because 2.1.4 got released twice. [maurits]
2.1.4 (2015-04-29)
Move tests to plone.app.testing. [sdelcourt,timo]
2.1.3 (2014-02-25)
Fix tests with diazo. [davisagli]
2.1.2 (2012-10-03)
Add support for calling many times remove in export (ie:even when no corresponding layer is registered, remove option should not throw exception). [toutpt]
2.1.1 (2011-11-24)
Added uninstall support to browserlayer.xml with the ‘remove’ option. [maurits]
GS export xml is now repeatable. Before two consecutive exports could yield differently ordered results. [do3cc]
2.1 - 2011-05-12
Update import of BeforeTraverseEvent to come from zope.traversing instead of zope.app.publication. [davisagli]
Add MANIFEST.in [WouterVH]
2.0.1 - 2010-09-21
Make sure the layers don’t get applied twice if the site is traversed more than once (such as in a vhosting URL). [davisagli]
2.0 - 2010-07-18
Update license to GPL version 2 only. [hannosch]
Package metadata cleanup, require Zope2 distribution. [hannosch]
1.0.1 - 2009-09-09
Be more robust against broken layer registrations. These can occur when packages with registered layers are removed. [wichert]
Clarified license and copyright. [hannosch]
Register ourselves for the more generic ISiteRoot from CMFCore and not IPloneSiteRoot. [hannosch]
Declare test dependencies in an extra. [hannosch]
Specify package dependencies. [hannosch]
1.0.0 - 2008-04-20
Unchanged from 1.0rc4
1.0rc4 - 2008-04-13
Register the GenericSetup import and export steps using zcml. This means you will no longer need to install this package manually. [wichert]
1.0rc3 - 2008-03-09
Include README.txt and HISTORY.txt in the package’s long description. [wichert]
Add metadata.xml to the GenericSetup profile. This fixes a deprecation warning for Plone 3.1 and later. [wichert]
1.0b1 - 2007-09-23
Initial package structure. [zopeskel]
Metadata
Release files for plone.browserlayer 4.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plone_browserlayer-4.0.0.tar.gz | 18.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plone_browserlayer-4.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.7 kB
Release files / plone_browserlayer-4.0.0.tar.gz
| Download URL | plone_browserlayer-4.0.0.tar.gz |
|---|---|
| Size | 18.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a4d115acc2eecf16fd0ed78b8c210a8567ff0cc4707678749240be2ac82c0248
|
|
BLAKE2b-256 checksum How to use checksums |
498f374156592713d2c90331f01d14fb21ee4583569d84321bfd87bddd9cf2b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / plone_browserlayer-4.0.0-py3-none-any.whl
| Download URL | plone_browserlayer-4.0.0-py3-none-any.whl |
|---|---|
| Size | 12.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
90dd93fb565703a005263a87e7fd89b08596e03c32d5e76b9c7355d3409ad642
|
|
BLAKE2b-256 checksum How to use checksums |
eef185dcfe2f476b43c27cf4a47f59426c1119454e9a34a39b672eed2c5783ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|