Skip to main content

Zope2 session implementation using Beaker

Project description

Introduction

http://img.shields.io/pypi/v/Products.BeakerSessionDataManager.svg https://img.shields.io/travis/davisagli/Products.BeakerSessionDataManager/master.svg https://img.shields.io/coveralls/davisagli/Products.BeakerSessionDataManager/master.svg

Products.BeakerSessionDataManager is a replacement for the default Zope 2 session implementation. It uses Beaker as a backend (via collective.beaker) and adapts the Beaker session to provide the same interface as a normal Zope session.

Beaker is a better alternative to the default session implementation for several reasons:

  • The Zope session implementation does not perform well in high-write scenarios.

  • Beaker provides better flexibility in where session data is actually stored.

  • Beaker is used and maintained outside of the Zope ecosystem.

Installation

  1. Add the Products.BeakerSessionDataManager egg to your buildout:

    [instance]
    eggs =
        Products.BeakerSessionDataManager
  2. Make sure that buildout adds Beaker configuration to zope.conf. For example:

    zope-conf-additional =
        <product-config beaker>
            session.type            file
            session.data_dir        ${buildout:directory}/var/sessions/data
            session.lock_dir        ${buildout:directory}/var/sessions/lock
            session.key             beaker.session
            session.secret          secret
        </product-config>

    The “secret” should be replaced with a unique string for your system. It must be the same for all Zope instances using the same session store.

    See the collective.beaker docs for more details on configuration.

  3. In the ZMI, delete the session_data_manager object and add a Beaker Session Data Manager.

Notes

  • Beaker does not automatically clean up old sessions, so you may want to set up a cron job to take care of this.

Contributors

  • David Glick [davisagli]

  • Paul Roe [kuetrzi]

Changelog

2.1 (2021-05-12)

  • Add dict API methods on BeakerSessionDataObject for plone addons compatibility [mpeeters]

2.0 (2021-05-12)

  • Python 3 compatibility and drop Python 2.6 compability [mpeeters]

1.1 (2011-12-05)

  • Made compatible with Zope 2.10. [davisagli]

1.0 (2011-06-29)

  • Add test and fix for missing __len__. [kuetrzi]

1.0b1 (2011-04-17)

  • Initial release. [davisagli]

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

Products.BeakerSessionDataManager-2.1.tar.gz (8.8 kB view details)

Uploaded Source

File details

Details for the file Products.BeakerSessionDataManager-2.1.tar.gz.

File metadata

  • Download URL: Products.BeakerSessionDataManager-2.1.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.2

File hashes

Hashes for Products.BeakerSessionDataManager-2.1.tar.gz
Algorithm Hash digest
SHA256 f9e924d91cd17b4eca8cebea5d6d5f79435d2cca06d47c1571ce5ab0842b18ac
MD5 6b32be5fb8241c979e4665f85d91b14c
BLAKE2b-256 74c630534310c01f0a5f6922a9e88b75325d1875d990d844ae811963489a5caa

See more details on using hashes here.

Supported by

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