Skip to main content

Zope session management.

Project description

https://github.com/zopefoundation/Products.Sessions/actions/workflows/tests.yml/badge.svg https://coveralls.io/repos/github/zopefoundation/Products.Sessions/badge.svg?branch=master Current version on PyPI Supported Python versions

Overview

Zope server side session management.

This package contains Products.Sessions and Products.Transience.

Using sessions under Zope 4

The default session support under Zope 2 relied on Products.TemporaryFolder for storing session data, which in turn used the tempstorage package. tempstorage is no longer recommended because it has unfixed and possibly unfixable issues under Zope 4 that lead to corrupted temporary storages.

If you use sessions sparingly and don’t write to them often, a quick workaround is to remove the existing /temp_folder instance in the ZODB if it still is a Temporary Folder and create a normal Folder object named temp_folder in its stead. Inside that new /temp_folder, create a Transient Object Container with the ID session_data. Now session data will be stored in the main ZODB.

If you use sessions heavily, or if the workaround above leads to an unacceptable number of ZODB conflict errors, you should either try using cookies or local browser storage via Javascript for storing session data, or switch to a different session implementation that does not store session data in the ZODB at all. See the Zope book on Sessions for details.

Using sessions under Zope 2

If you use the standard Zope session implementation, don’t forget to add or uncomment the temporary storage database definition in your Zope configuration:

<zodb_db temporary>
    <temporarystorage>
      name Temporary database (for sessions)
    </temporarystorage>
    mount-point /temp_folder
    container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>

Changelog

4.10 (2021-07-02)

  • Reduce usage of deprecated tempstorage for testing and remove warnings (#41)

4.9 (2021-03-16)

  • Add support for Python 3.9

4.8 (2020-08-21)

  • Don’t break completely when no session data container is available (#35)

4.7 (2020-08-07)

  • Make the product compatible with transaction version 3 (#32)

4.6 (2019-10-12)

  • Banish dependency on Products.TemporaryFolder into a tests extra and point out its issues under Zope 4 in the README. (#26)

  • Switch tests dependencies to Zope 4.x branch to retain Python 2 compatibility

  • Fix access permissions for meta_type and zmi_icon properties so they don’t raise when accessed in the admin interface. (#24)

  • Fix Python 3 compatibility of _p_resolveConflict. (#25)

4.5 (2019-04-15)

  • add badges to the README

  • add additional links on PyPI

4.4 (2019-03-28)

  • improve flake8 compliance

  • Implement __contains__ on TransientObject (#21)

  • Fix session data manager edit form

4.3.2 (2019-03-07)

  • Fix NameError in Products/Transience/Transience.py introduced in version 4.3.

4.3.1 (2019-03-07)

  • Fix HTML of manageDataManager.dtml. (#22)

4.3 (2019-02-17)

  • Specify supported Python versions using python_requires in setup.py (Zope#481)

  • Add support for Python 3.8

4.2.1 (2018-11-30)

  • Make sure TransientObjectContainer.getTimeoutMinutes returns ints. (#17)

  • Add tox-based testing for unit tests, code coverage and linting.

  • Fix ZMI layout. (#19)

4.2 (2018-11-06)

  • Update the forms to Bootstrap ZMI. (#8)

  • Add support for Python 3.7.

4.1 (2018-06-06)

  • Add support for Python 3.5 and 3.6.

  • Quote variables in Products.Transience manage_container to avoid XSS. From Products.PloneHotfix20160830.

  • Bring back Application initialization (creation of BrowserIdManager and SessionDataManager in the ZODB on first startup). This requires Zope >= 4.0b5.

4.0 (2016-07-23)

  • Released as separate distribution including the code. This release requires Zope >= 4.0.

3.0 (2016-08-01)

  • Create a separate distribution called Products.Sessions without any code inside it. This allows projects to depend on this project inside the Zope 2.13 release line.

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.Sessions-4.10.tar.gz (54.4 kB view details)

Uploaded Source

Built Distribution

Products.Sessions-4.10-py2.py3-none-any.whl (70.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file Products.Sessions-4.10.tar.gz.

File metadata

  • Download URL: Products.Sessions-4.10.tar.gz
  • Upload date:
  • Size: 54.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.5

File hashes

Hashes for Products.Sessions-4.10.tar.gz
Algorithm Hash digest
SHA256 e47d1ab2b430445e32caec2bfb8efe4d5604a10d4449ecc20edf3a55166e1ad5
MD5 a32174499e16e68ce5f5cb64a60abd07
BLAKE2b-256 c9e58e53b151f32c0a39bffff156b13bacb1c5977a97fa82bf8201383fc43594

See more details on using hashes here.

File details

Details for the file Products.Sessions-4.10-py2.py3-none-any.whl.

File metadata

  • Download URL: Products.Sessions-4.10-py2.py3-none-any.whl
  • Upload date:
  • Size: 70.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.5

File hashes

Hashes for Products.Sessions-4.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 790d4071c2bd994c6d5647220c93c411fbf7b20338f60c35dd46906bc3974af0
MD5 0ac0c8e06e48c66c5ce224da5e7bd92b
BLAKE2b-256 5316ccc41dc747a28df1a7894b4f189b468ab99c97025d462477a8a730c9f4a3

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