Skip to main content

No project description provided

Project description

Introduction

This package provides 3 behaviors to secure your Dexterity content types in 3 ways:

  • “Password Protected”: Will allow you to set a password to specific object so any user, except manager or its owner, needs to provide it to access it or its children (if the protected content type is a folderish)

  • “Delete Protection”: Intended for folderish content types, this behavior will protect the content’s children for being removed.

  • “Rename Protection”: Intended for folderish content types, this behavior will protect the content’s children for being renamed. Note: For this particular behavior, this only protects renaming through the UI, and does not protect the object if it is renamed using manage_renameObjects programatically from its parent.

Installation

Just add ‘collective_folderprotection’ to your eggs list in your buildout and re-run buildout. The dexterity is included by the use of the ‘dexterity’ extra, so make sure to include that, or to pull dexterity separatedly.

Usage

After installing this product, you should be provided with 3 new behaviors to activate from the “Dexterity content types” tool. If you want to enable them from your type XML, just add any of the following:

  • collective_folderprotection.behaviors.interfaces.IPasswordProtected

  • collective_folderprotection.behaviors.interfaces.IDeleteProtected

  • collective_folderprotection.behaviors.interfaces.IRenameProtected

Password protection

There are 3 different ways in which you can assign a password to your “Password protected” enabled content.

Through the add/edit views

When adding or editing a content type which has the behavior enabled, you should see a new field along the schema, with the “Password” label. Enter your password here to assign it. Leave it blank, to remove password protection for this specific object. NOTE: This is not available for Archetypes.

Through the “Assign password” view

You should see a new tab for an object which has the behavior enabled. Going to this view and entering any password will assign it. Leave it blank, to remove password protection for this specific object. This view is independent from the add/edit ones, you can use either one.

Programatically on content creation

If you are creating content programatically, you can assign a password when calling the function, just by adding the optional “password” argumnent.

from plone.dexterity.utils import createContentInContainer
...
...
createContentInContainer(self.portal, "your.app.dexterity.fti.information", title=title, password=pw)

Delete protection

When the behavior is enabled for a given content type, a new checkbox will be shown in both the add and the edit screens, when creating or editing that specific content type. Marking the checkbox will protect this element and its direct children (if this is a folderish type) from being deleted.

Rename protection

When the behavior is enabled for a given content type, a new checkbox will be shown in both the add and the edit screens, when creating or editing that specific content type. Marking the checkbox will protect this element and its direct children (if this is a folderish type) from being renamed. Contributors ============

  • Franco Pellegrini, Original Author

Lock Icons provided by http://www.danilodemarco.com/

Changelog

2.0.1 (2019-08-06)

  • Fix rst format for pkg description [frapell]

2.0 (2019-08-06)

  • As of this version, this product only supports Plone 5.0+

  • Remove support for Archetypes [enfold-josh]

  • Support Python 3 and Plone 5.2 [enfold-josh,frapell]

  • Catch exception raised when inserting post_traverse hook during a non-publishing traversal. [enfold-josh]

  • Fix tests. [enfold-josh]

  • Change functional test files extensions to .robot [enfold-josh]

1.0-dev (unreleased)

  • Add support for Archetypes [frapell]

  • Make Dexterity an optional dependency [frapell]

  • Include behavior to prevent removing items from a folderish [frapell]

  • Include behavior to prevent renaming items in a folderish (only through UI). [frapell]

  • Include behavior to allow setting a password for viewing a folder [frapell]

  • Package created using templer [frapell]

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

collective_folderprotection-2.0.1.zip (60.6 kB view details)

Uploaded Source

File details

Details for the file collective_folderprotection-2.0.1.zip.

File metadata

  • Download URL: collective_folderprotection-2.0.1.zip
  • Upload date:
  • Size: 60.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for collective_folderprotection-2.0.1.zip
Algorithm Hash digest
SHA256 c4f4f11c8e35be5d6c4b201a5217b1c5b6b02257ad19aca2362e0ecc2df76ec8
MD5 0f06415af6706535b0ccaf55c4d449cd
BLAKE2b-256 eb5dcbe7ec0fd05b6c601e79ec51930cb558ffdd3379f0deee32310abd7da78c

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