Skip to main content

Browser layer management for Zope applications

Project description

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

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]

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

plone.browserlayer-3.0.1.tar.gz (17.6 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-3.0.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file plone.browserlayer-3.0.1.tar.gz.

File metadata

  • Download URL: plone.browserlayer-3.0.1.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for plone.browserlayer-3.0.1.tar.gz
Algorithm Hash digest
SHA256 616fc4f29533ba48db71bc68d6bcf037e39d697fcc1e63baed60e5e30e087d0e
MD5 63d6c73c8ae50a866785db07a6ab2751
BLAKE2b-256 d9aa647c9f9afe1a5e8902ea6d667959153322827d8f2cfed5f7448e6e25f696

See more details on using hashes here.

File details

Details for the file plone.browserlayer-3.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for plone.browserlayer-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4872dd9301193378facd51168c5ceb2a5f995ec4f3ab69ae2cbc35c2334b5360
MD5 b98ef6d8f24067b4efe264839b6432db
BLAKE2b-256 a0abe8a210dbc5f0e899b12af143cf51d9f9d30c30c9109b288b496c1071c585

See more details on using hashes here.

Supported by

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