Skip to main content

Django-CMS Plugin for blocking pages which are edited by another user

Project description

djangocms-concurrent-users

A Django-CMS plugin for blocking pages which are edited by another user. This provides a simple mechanism to prevent two users working on the same page. Due to the fact, that only the version of the last user hitting the save button is stored, data loss is very likely.

This plugin adds a hidden toolbar item in order to provide the required code to the client. Once the browser enters a page, it checks for another user and gets blocked in case the page has been locked. If the page is not edited at this moment, the client acquires a lock and hence blocks it for other users for the time of working. The check if performed by polling the server with an specified interval. Once the client lefts the page, the lock is released and the next user will be able to make changes.

Features

  • blocks a page with an overlay in case another user is already working on it

  • reloads the page once it is released, in order to fetch the latest changes

  • displays the username and time of the blocking user

Installation

To get started using djangocms-concurrent-users:

  • install it with pip:

    $ pip install djangocms-concurrent-users
  • add the plugins to INSTALLED_APPS:

    INSTALLED_APPS = (
        ...
        'djangocms-concurrent-users',
        ...
    )
  • run migrate.

  • add url(r'', include('djangocms_concurrent_users.urls', namespace='concurrent_users'), ), to your urls

Configuration

  • CONCURRENT_BLOCKING_OFFSET: Time to wait until the page is release just after the user left; is 20 by default; Must not be shorter than CONCURRENT_POLLING_INTERVAL

  • CONCURRENT_POLLING_INTERVAL: Interval for the clients to poll the server; is 20 by default; Must not be greater than CONCURRENT_BLOCKING_OFFSET

  • CONCURRENT_BLOCK_EDITING: Specifies if the blocking actually happens; is True by default;

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

djangocms_concurrent_users-0.0.5-py2-none-any.whl (631.7 kB view details)

Uploaded Python 2

File details

Details for the file djangocms_concurrent_users-0.0.5-py2-none-any.whl.

File metadata

File hashes

Hashes for djangocms_concurrent_users-0.0.5-py2-none-any.whl
Algorithm Hash digest
SHA256 fe1412f5dd797e6372e91d9e7b79a48a88e20cdb0aae4fa0699e8e41dbae2b9b
MD5 dd4f888f9c24f2e4b7d24905b9305f3d
BLAKE2b-256 1c767f5c853e95c38e96c04a1431bf81198ffd2b24dbd77f506c9a7c5898e709

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