Summary
=======

GrufSpaces is a product that provides a GroupSpace content type that is used to allow groups of users to work together on a project.

And, of course, it's Open-Source (GPL licence for versions < 2.0, ZPL licence otherwise).

GrufSpaces allows you to assign a "GroupMember" role to a user or a group using the standard sharing tab of Plone. GroupMembers can share documents inside the GrufSpace.

GrufSpaces has its own custom groupspace-specific workflow. There are portlets
for showing groups a user belongs to and for showing the last groupspace changes.
There is a roles tab for assigning roles to users, which can be used in addition
to the sharing tab. A number of services are added to a GroupSpace by default,
but this is customizable in a Python Script.

During initial installation, the following permissions are set::

    'GrufSpaces: Add GroupSpaces':  Manager
    'GrufSpaces: Edit GroupSpaces' : Manager, GroupLeader, GroupAdmin
    'GrufSpaces: Assign GroupSpace Roles': Manager, GroupLeader, GroupAdmin
    'GrufSpaces: Send Mail to GroupSpace Members': Manager, GroupLeader, GroupAdmin, GroupMember

You may want to adapt the workflows of Plone if you want to fully protect a
closed workspace. Otherwise, members of your site will be able to find and navigate
to objects in a closed workspace. By giving Anonymous explicit access rights,
Plone is much too permissive for our purposes. 

1. In the private states of both plone_workflow and folder_workflow, deselect
   "Access Contents Information" and "View" permissions for Anonymous.

2. Click on the "Update security settings" button on the bottom of the portal_workflow
   tool page.

Make sure to also take care of any other workflows you may have added to your site.
