1. GroupAdmin adds a GroupSpace

    GroupAdmins can add GroupSpaces anywhere in the site to allow a group 
    to work together. 

    1. GroupAdmin goes to the folder where he wants to put the GroupSpace

    2. GroupAdmin adds a GroupSpace object

    - The GroupAdmin is not automatically becoming a member

2. GroupAdmin makes GroupSpace available for a group

    1. GroupAdmin clicks on the Sharing Tab of the GroupSpace

    2. GroupAdmin uses "Add sharing permissions to groups" to make the
       group a member of the GroupSpace

    This will be replaced by the following use case soon:

    1. GroupAdmin clicks on the "Add group" tab

    2. GroupAdmin selects among the available groups

    3. GroupAdmin clicks on "Make GroupMember"

    - We need to replace the sharing interface with an interface for
      easily adding group GroupMembers.

    - The group becomes "GroupMember"

    - The script should reindex the object or at least the security part of it.
      Now calling: context.reindexObjectSecurity()

3. GroupAdmin makes GroupSpace available for a Member

    1. GroupAdmin clicks on the Sharing Tab of the GroupSpace

    2. GroupAdmin uses "Add sharing permissions to members" to make the
       Member a GroupMember of the GroupSpace

    This will be replaced by the following use case soon:

    1. GroupAdmin clicks on the "Add member" tab

    2. GroupAdmin searches a Member and selects one

    3. GroupAdmin clicks on "Make GroupMember"

4. GroupAdmin assigns a user to a group, so that the user can work in a GroupSpace

   GroupAdmin wants to assign a user to a group, so that the user is part
   of a GroupSpace.

   1. GroupAdmin goes to Plone Preferences

   2. GroupAdmin clicks on "Users and Groups GroupAdministration"

   3. GroupAdmin selects the user

   4. GroupAdmin sees the personal information of the user including the service
      that the user belongs to

   5. GroupAdmin selects the group membership tab

   6. GroupAdmin selects the group

   7. GroupAdmin clicks on "add user to group"

   - Unfortunately the names of the groups are given by id and the title
     of the groups is not shown. It would be preferable to show the title
     and the id in parenthesis.

5. GroupAdmin would like to sign new users on to groups they demanded

   The GroupAdmin gets several requests from people asking to be group members.
   
   - The GroupAdmin needs a list of members, showing which groups they are
     on, and in which GroupSpaces they are GroupMember. 

   - The list should show what groups the Members want to be on,
     and an easy way to assign group members to groups or even GroupSpaces

6. GroupAdmin wants to remove a group and its GroupSpaces

    The GroupAdmin wants to remove a group that is not needed any more.

    1. GroupAdmin clicks on "plone setup" action in a Plone site

    2. GroupAdmin clicks on "Users and Groups GroupAdministration" under Plone Configuration

    3. GroupAdmin clicks on the "groups" tab of the Users Overview

    4. GroupAdmin selects "remove group" checkbox for the group

    5. GroupAdmin clicks on "apply changes"

    - When you remove a group, you have to verify that the group does
      not have the role "GroupMember" in any of the existing GroupSpaces,
      or anywhere else in the site.

    - Let GroupAdmin decide on GroupSpace destruction in portal_groups tool
      When you remove a group in Plone, also the GroupSpace gets removed.
      This may possibly not be the intention of the GroupAdministrator.
