Skip to main content

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)

Source distribution for plone.browserlayer 4.0.0
File Size Uploaded
plone_browserlayer-4.0.0.tar.gz 18.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for plone.browserlayer 4.0.0
File Interpreter ABI Platform
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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page