Skip to main content

UNKNOWN

Project description

https://travis-ci.org/collective/collective.workspace.svg?branch=master

collective.workspace

Introduction

collective.workspace package for providing ‘membership’ in specific areas of a Plone Site.

It allows you to grant people access to areas of content using a membership group rather than local roles for each user, and to delegate control over that group to people who don’t have access to the site-wide user/group control panel.

collective.workspace provides a behavior that can be enabled for any Dexterity content type. When enabled, it adds a “Roster” tab which is where you can manage the team.

All the functionality takes place via an IWorkspace adapter, which can be overridden to specify:

  • A list of groups, and the roles that each group should receive. These groups are created automatically via a PAS plugin, and automatically granted local roles using a borg.localrole adapter.

  • The schema for which fields should be stored for each member in the roster. This includes checkboxes for the groups, to determine which groups the member is in.

  • Action links for each row in the roster. The default is an “Edit” link which brings up a popup to edit the fields for that person’s roster membership.

  • Action buttons at the bottom of the roster which apply to the rows the user selects. An example of this could be a ‘Send email’ action, so a roster admin can easily email users in the roster.

Unlike similar previous packages (see slc.teamfolder and collective.local.*), collective.workspace supplies its own PAS groups plugin, instead of using standard Plone groups. This means that Workspace-specific groups do not appear in the sitewide group control panel.

Some other features are:

  • Membership in a roster is indexed, so you can search the catalog for items of portal_type X that have a particular user in their roster.

  • Events are fired when roster memberships are added/modified/removed.

Basic Installation

  • Add collective.workspace to your buildout eggs.

  • Install collective.workspace in the ‘Add-ons’ section of Plone’s Site Setup.

  • Enable the behaviour on your dexterity content type (Either using GenericSetup or Site Setup -> Dexterity Content Types).

Custom Workspace Groups

The default groups available on a workspace are ‘Members’ and ‘Admins’. You can customise the groups that are available and the default permissions they are given by adding a custom IWorkspace adapter:

configure.zcml

<adapter
   for="mypackage.MyContentType"
   provides="collective.workspace.interfaces.IWorkspace"
   factory=".adapters.MyWorkspace"
   />

adapters.py

from collective.workspace.workspace import Workspace

class MyWorkspace(Workspace):
    """
    A custom workspace behaviour, based on collective.workspace
    """
    # A list of groups to which team members can be assigned.
    # Maps group name -> roles
    available_groups = {
        u'Supervillians': ('Reader', ),
        u'Superheroes': ('Reader', 'Contributor', 'Reviewer', 'Editor',),
    }

Contributors

  • David Glick - Original Author

  • Adam Forsythe-Cheasley - Documentation/Testing

  • Ben Cole - Documentation/Testing

  • Matthew Sital-Singh - Documentation

Changelog

1.1 (2014-07-04)

  • Fixed distribution issues

1.0 (2014-07-04)

  • Initial release

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.workspace-1.1.zip (37.6 kB view details)

Uploaded Source

File details

Details for the file collective.workspace-1.1.zip.

File metadata

File hashes

Hashes for collective.workspace-1.1.zip
Algorithm Hash digest
SHA256 ff032c4a5b138ad761584becbc59be269bdae3848b4e569a5d7b0f615a43a246
MD5 3b721c565dd5a94a2b651c10723b1448
BLAKE2b-256 ce02be20e3a809323ea73c44d1ae2dc657e4bd276ab3ee91cf1e303f472bb382

See more details on using hashes here.

Supported by

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