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]

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plone_browserlayer-4.0.0.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plone_browserlayer-4.0.0-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file plone_browserlayer-4.0.0.tar.gz.

File metadata

  • Download URL: plone_browserlayer-4.0.0.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for plone_browserlayer-4.0.0.tar.gz
Algorithm Hash digest
SHA256 a4d115acc2eecf16fd0ed78b8c210a8567ff0cc4707678749240be2ac82c0248
MD5 160f90387db1578161905ac5a65f886d
BLAKE2b-256 498f374156592713d2c90331f01d14fb21ee4583569d84321bfd87bddd9cf2b4

See more details on using hashes here.

File details

Details for the file plone_browserlayer-4.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for plone_browserlayer-4.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90dd93fb565703a005263a87e7fd89b08596e03c32d5e76b9c7355d3409ad642
MD5 efc0c1146e238f00476e7f5c8144d345
BLAKE2b-256 eef185dcfe2f476b43c27cf4a47f59426c1119454e9a34a39b672eed2c5783ba

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.0.0 This release

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.2.4

2 files

2.2.3

2 files

2.2.2

2 files

2.2.1

2 files

2.2.0

1 file

2.1.7

1 file

2.1.6

1 file

2.1.5

1 file

2.1.4

2 files

2.1.3

1 file

2.1.2

1 file

2.1.1

1 file

2.1

1 file

2.0.1

1 file

2.0

1 file

1.0.1

1 file

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page