Products.Sessions


NameProducts.Sessions JSON
Version 5.0 PyPI version JSON
download
home_pagehttps://github.com/zopefoundation/Products.Sessions/
SummaryZope session management.
upload_time2023-10-16 13:19:43
maintainer
docs_urlNone
authorZope Foundation and Contributors
requires_python>=3.7
licenseZPL 2.1
keywords zope sessions management transience product zmi
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. image:: https://github.com/zopefoundation/Products.Sessions/actions/workflows/tests.yml/badge.svg
        :target: https://github.com/zopefoundation/Products.Sessions/actions/workflows/tests.yml

.. image:: https://coveralls.io/repos/github/zopefoundation/Products.Sessions/badge.svg?branch=master
   :target: https://coveralls.io/github/zopefoundation/Products.Sessions?branch=master

.. image:: https://img.shields.io/pypi/v/Products.Sessions.svg
   :target: https://pypi.org/project/Products.Sessions/
   :alt: Current version on PyPI

.. image:: https://img.shields.io/pypi/pyversions/Products.Sessions.svg
   :target: https://pypi.org/project/Products.Sessions/
   :alt: Supported Python versions

Overview
========

Zope server side session management.

This package contains ``Products.Sessions`` and ``Products.Transience``.

Please note
-----------
Before release 5.2 of the ``tempstorage`` package sessioning configurations
using the simple temporary folder implementation shown below were discouraged
because the temporary storage backend could lose data. This is no longer the
case.

Using sessions with Zope
------------------------
For simple RAM memory-based sessioning support, suitable for smaller
deployments with a single Zope application server instance, add or uncomment
the following temporary storage database definition in your Zope configuration
file::

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

After a Zope restart, visit the Zope Management Interface and select
ZODB Mount Point from the list of addable items to instantiate the temporary
folder mount point. This only needs to be done once. After that point the
``temp_folder`` object will be recreated on each Zope restart and the session
support will automatically put a session data container into the temporary
folder.

For more advanced scenarios see the `Zope book chapter on Session management
<https://zope.readthedocs.io/en/latest/zopebook/Sessions.html#alternative-server-side-session-backends-for-zope-4>`_.

Changelog
=========

5.0 (2023-10-16)
----------------

- Add support for Python 3.12.

- Fix the browser ID manager cookie setting for Availability.
  The name of the cookie flag ws incorrect so it was always False.

- Drop support for Python 2.7, 3.5, 3.6.


4.15 (2022-12-16)
-----------------

- Fix insidious buildout configuration bug for tests against Zope 4.

- Add support for Python 3.11.


4.14 (2022-09-20)
-----------------

- Add ability to set the session cookie's ``SameSite`` flag.
  See https://hacks.mozilla.org/2020/08/changes-to-samesite-cookie-behavior/
  for some background on how browsers change handling ``SameSite``.
  The behavior of existing sites will not change unless the site administrator
  changes the cookie configuration explicitly. New browser id managers will use
  ``Lax`` by default.


4.13 (2022-07-13)
-----------------

- Add support for Python 3.10.

4.12 (2021-08-09)
-----------------

- Fix PY2 bug in ``BrowserIdManager.getNewBrowserId``
  (`#45 <https://github.com/zopefoundation/Products.Sessions/issues/45>`_)


4.11 (2021-07-07)
-----------------

- Improve out-of-the-box experience by instantiating a session data container
  if the session data manager uses the default configuration that points
  to a temporary folder

- Reinstate simple sessioning with ``Products.TemporaryFolder``
  (`#43 <https://github.com/zopefoundation/Products.Sessions/issues/43>`_)


4.10 (2021-07-02)
-----------------

- Reduce usage of deprecated ``tempstorage`` for testing and remove warnings
  (`#41 <https://github.com/zopefoundation/Products.Sessions/issues/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 <https://github.com/zopefoundation/Products.Sessions/issues/35>`_)


4.7 (2020-08-07)
----------------

- Make the product compatible with ``transaction`` version 3
  (`#32 <https://github.com/zopefoundation/Products.Sessions/issues/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 <https://github.com/zopefoundation/Products.Sessions/issues/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 <https://github.com/zopefoundation/Products.Sessions/pull/24>`_)

- Fix Python 3 compatibility of ``_p_resolveConflict``.
  (`#25 <https://github.com/zopefoundation/Products.Sessions/pull/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 <https://github.com/zopefoundation/Products.Sessions/issues/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 <https://github.com/zopefoundation/Products.Sessions/pull/22>`_)

4.3 (2019-02-17)
----------------

- Specify supported Python versions using ``python_requires`` in setup.py
  (`Zope#481 <https://github.com/zopefoundation/Zope/issues/481>`_)

- Add support for Python 3.8


4.2.1 (2018-11-30)
------------------

- Make sure ``TransientObjectContainer.getTimeoutMinutes`` returns ints.
  (`#17 <https://github.com/zopefoundation/Products.Sessions/issues/17>`_)

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

- Fix ZMI layout.
  (`#19 <https://github.com/zopefoundation/Products.Sessions/pull/19>`_)


4.2 (2018-11-06)
----------------

- Update the forms to Bootstrap ZMI.
  (`#8 <https://github.com/zopefoundation/Products.Sessions/pull/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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/zopefoundation/Products.Sessions/",
    "name": "Products.Sessions",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "Zope sessions management Transience product ZMI",
    "author": "Zope Foundation and Contributors",
    "author_email": "zope-dev@zope.org",
    "download_url": "https://files.pythonhosted.org/packages/c3/de/65067f856ca267b9faae8dadede93ad8010377b6b9163ad7bdab40b5a4a0/Products.Sessions-5.0.tar.gz",
    "platform": null,
    "description": ".. image:: https://github.com/zopefoundation/Products.Sessions/actions/workflows/tests.yml/badge.svg\n        :target: https://github.com/zopefoundation/Products.Sessions/actions/workflows/tests.yml\n\n.. image:: https://coveralls.io/repos/github/zopefoundation/Products.Sessions/badge.svg?branch=master\n   :target: https://coveralls.io/github/zopefoundation/Products.Sessions?branch=master\n\n.. image:: https://img.shields.io/pypi/v/Products.Sessions.svg\n   :target: https://pypi.org/project/Products.Sessions/\n   :alt: Current version on PyPI\n\n.. image:: https://img.shields.io/pypi/pyversions/Products.Sessions.svg\n   :target: https://pypi.org/project/Products.Sessions/\n   :alt: Supported Python versions\n\nOverview\n========\n\nZope server side session management.\n\nThis package contains ``Products.Sessions`` and ``Products.Transience``.\n\nPlease note\n-----------\nBefore release 5.2 of the ``tempstorage`` package sessioning configurations\nusing the simple temporary folder implementation shown below were discouraged\nbecause the temporary storage backend could lose data. This is no longer the\ncase.\n\nUsing sessions with Zope\n------------------------\nFor simple RAM memory-based sessioning support, suitable for smaller\ndeployments with a single Zope application server instance, add or uncomment\nthe following temporary storage database definition in your Zope configuration\nfile::\n\n  <zodb_db temporary>\n      <temporarystorage>\n        name Temporary database (for sessions)\n      </temporarystorage>\n      mount-point /temp_folder\n      container-class Products.TemporaryFolder.TemporaryContainer\n  </zodb_db>\n\nAfter a Zope restart, visit the Zope Management Interface and select\nZODB Mount Point from the list of addable items to instantiate the temporary\nfolder mount point. This only needs to be done once. After that point the\n``temp_folder`` object will be recreated on each Zope restart and the session\nsupport will automatically put a session data container into the temporary\nfolder.\n\nFor more advanced scenarios see the `Zope book chapter on Session management\n<https://zope.readthedocs.io/en/latest/zopebook/Sessions.html#alternative-server-side-session-backends-for-zope-4>`_.\n\nChangelog\n=========\n\n5.0 (2023-10-16)\n----------------\n\n- Add support for Python 3.12.\n\n- Fix the browser ID manager cookie setting for Availability.\n  The name of the cookie flag ws incorrect so it was always False.\n\n- Drop support for Python 2.7, 3.5, 3.6.\n\n\n4.15 (2022-12-16)\n-----------------\n\n- Fix insidious buildout configuration bug for tests against Zope 4.\n\n- Add support for Python 3.11.\n\n\n4.14 (2022-09-20)\n-----------------\n\n- Add ability to set the session cookie's ``SameSite`` flag.\n  See https://hacks.mozilla.org/2020/08/changes-to-samesite-cookie-behavior/\n  for some background on how browsers change handling ``SameSite``.\n  The behavior of existing sites will not change unless the site administrator\n  changes the cookie configuration explicitly. New browser id managers will use\n  ``Lax`` by default.\n\n\n4.13 (2022-07-13)\n-----------------\n\n- Add support for Python 3.10.\n\n4.12 (2021-08-09)\n-----------------\n\n- Fix PY2 bug in ``BrowserIdManager.getNewBrowserId``\n  (`#45 <https://github.com/zopefoundation/Products.Sessions/issues/45>`_)\n\n\n4.11 (2021-07-07)\n-----------------\n\n- Improve out-of-the-box experience by instantiating a session data container\n  if the session data manager uses the default configuration that points\n  to a temporary folder\n\n- Reinstate simple sessioning with ``Products.TemporaryFolder``\n  (`#43 <https://github.com/zopefoundation/Products.Sessions/issues/43>`_)\n\n\n4.10 (2021-07-02)\n-----------------\n\n- Reduce usage of deprecated ``tempstorage`` for testing and remove warnings\n  (`#41 <https://github.com/zopefoundation/Products.Sessions/issues/41>`_)\n\n\n4.9 (2021-03-16)\n----------------\n\n- Add support for Python 3.9\n\n\n4.8 (2020-08-21)\n----------------\n\n- Don't break completely when no session data container is available\n  (`#35 <https://github.com/zopefoundation/Products.Sessions/issues/35>`_)\n\n\n4.7 (2020-08-07)\n----------------\n\n- Make the product compatible with ``transaction`` version 3\n  (`#32 <https://github.com/zopefoundation/Products.Sessions/issues/32>`_)\n\n\n4.6 (2019-10-12)\n----------------\n\n- Banish dependency on ``Products.TemporaryFolder`` into a tests extra\n  and point out its issues under Zope 4 in the README.\n  (`#26 <https://github.com/zopefoundation/Products.Sessions/issues/26>`_)\n\n- Switch tests dependencies to Zope 4.x branch to retain Python 2 compatibility\n\n- Fix access permissions for ``meta_type`` and ``zmi_icon`` properties so\n  they don't raise when accessed in the admin interface.\n  (`#24 <https://github.com/zopefoundation/Products.Sessions/pull/24>`_)\n\n- Fix Python 3 compatibility of ``_p_resolveConflict``.\n  (`#25 <https://github.com/zopefoundation/Products.Sessions/pull/25>`_)\n\n\n4.5 (2019-04-15)\n----------------\n\n- add badges to the README\n\n- add additional links on PyPI\n\n\n4.4 (2019-03-28)\n----------------\n\n- improve flake8 compliance\n\n- Implement ``__contains__`` on ``TransientObject``\n  (`#21 <https://github.com/zopefoundation/Products.Sessions/issues/21>`_)\n\n- Fix session data manager edit form\n\n\n4.3.2 (2019-03-07)\n------------------\n\n- Fix ``NameError`` in ``Products/Transience/Transience.py`` introduced in\n  version 4.3.\n\n\n4.3.1 (2019-03-07)\n------------------\n\n- Fix HTML of ``manageDataManager.dtml``.\n  (`#22 <https://github.com/zopefoundation/Products.Sessions/pull/22>`_)\n\n4.3 (2019-02-17)\n----------------\n\n- Specify supported Python versions using ``python_requires`` in setup.py\n  (`Zope#481 <https://github.com/zopefoundation/Zope/issues/481>`_)\n\n- Add support for Python 3.8\n\n\n4.2.1 (2018-11-30)\n------------------\n\n- Make sure ``TransientObjectContainer.getTimeoutMinutes`` returns ints.\n  (`#17 <https://github.com/zopefoundation/Products.Sessions/issues/17>`_)\n\n- Add ``tox``-based testing for unit tests, code coverage and linting.\n\n- Fix ZMI layout.\n  (`#19 <https://github.com/zopefoundation/Products.Sessions/pull/19>`_)\n\n\n4.2 (2018-11-06)\n----------------\n\n- Update the forms to Bootstrap ZMI.\n  (`#8 <https://github.com/zopefoundation/Products.Sessions/pull/8>`_)\n\n- Add support for Python 3.7.\n\n\n4.1 (2018-06-06)\n----------------\n\n- Add support for Python 3.5 and 3.6.\n\n- Quote variables in Products.Transience manage_container to avoid XSS.\n  From Products.PloneHotfix20160830.\n\n- Bring back Application initialization (creation of BrowserIdManager and\n  SessionDataManager in the ZODB on first startup).\n  This requires Zope >= 4.0b5.\n\n\n4.0 (2016-07-23)\n----------------\n\n- Released as separate distribution including the code.\n  This release requires Zope >= 4.0.\n\n\n3.0 (2016-08-01)\n----------------\n\n- Create a separate distribution called `Products.Sessions` without\n  any code inside it. This allows projects to depend on this project\n  inside the Zope 2.13 release line.\n",
    "bugtrack_url": null,
    "license": "ZPL 2.1",
    "summary": "Zope session management.",
    "version": "5.0",
    "project_urls": {
        "Homepage": "https://github.com/zopefoundation/Products.Sessions/",
        "Issue Tracker": "https://github.com/zopefoundation/Products.Sessions/issues",
        "Sources": "https://github.com/zopefoundation/Products.Sessions"
    },
    "split_keywords": [
        "zope",
        "sessions",
        "management",
        "transience",
        "product",
        "zmi"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a57d4375fe288274730ff7c215376bb976c42c9c5874113f905f4094f7bd2948",
                "md5": "795dd89a605b5889f64a15cec0812384",
                "sha256": "4b4e7f56c7cb6560becc90bf04e23264f76f570be08469c923a0ee7b4ce2dada"
            },
            "downloads": -1,
            "filename": "Products.Sessions-5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "795dd89a605b5889f64a15cec0812384",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 73835,
            "upload_time": "2023-10-16T13:19:42",
            "upload_time_iso_8601": "2023-10-16T13:19:42.123618Z",
            "url": "https://files.pythonhosted.org/packages/a5/7d/4375fe288274730ff7c215376bb976c42c9c5874113f905f4094f7bd2948/Products.Sessions-5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c3de65067f856ca267b9faae8dadede93ad8010377b6b9163ad7bdab40b5a4a0",
                "md5": "a6bff40a1077619e5ea00b95e9603a38",
                "sha256": "f493d501a051c98c92fb9be27e272516c8c34c62e077ed357c15c39cdc8db57b"
            },
            "downloads": -1,
            "filename": "Products.Sessions-5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a6bff40a1077619e5ea00b95e9603a38",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 59780,
            "upload_time": "2023-10-16T13:19:43",
            "upload_time_iso_8601": "2023-10-16T13:19:43.829544Z",
            "url": "https://files.pythonhosted.org/packages/c3/de/65067f856ca267b9faae8dadede93ad8010377b6b9163ad7bdab40b5a4a0/Products.Sessions-5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-16 13:19:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zopefoundation",
    "github_project": "Products.Sessions",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "products.sessions"
}
        
Elapsed time: 0.22978s