GrufSpaces 2.0.1 (Jan 18, 2010)

This release makes it possible to migrate an existing Plone site with GrufSpaces content to Plone 3.3. This is especially useful if you have content types that inherit from the GroupSpace content type. If you start a new Plone site, you should directly use the collective.groupspace suite.

For additional information about this project, please visit the overview page .

Available downloads

GrufSpaces-2.0.1.tar.gz

For all platforms (24.2 kB)

GrufSpaces-2.0.1.tar.gz

For all platforms (24.2 kB)

Release Notes

Tested with Plone 3
State Final release
License GPL
Release Manager Maik Röder

GrufSpaces has been split into multiple packages that can completely replace the GrufSpaces product itself:

* collective.groupspace.content

* collective.groupspace.roles

* collective.groupspace.workflow

* collective.groupspace.mail

You don't need the GrufSpaces product at all if you are starting a new Plone site.

Those who have an existing Plone site with GrufSpaces content should use GrufSpaces 2.0 with the following packages:

* collective.groupspace.roles

* collective.groupspace.workflow

* collective.groupspace.mail

Please note that you also need to have CMFPlacefulworkflow installed.

The migration to GrufSpaces 2.0 is described in Extensions/migration.py:

https://svn.plone.org/svn/collective/GrufSpaces/trunk/Extensions/migration.py

The migration script only works if you have Products.contentmigration installed:

http://pypi.python.org/pypi/Products.contentmigration/

Change log

[2.0.1 2010-01-18]

* The old GroupLeader role used to permit users to edit the roles
in a GroupSpace. In order to better map this role to the new roles
of collective.groupspace, the migration script now makes sure that the
GroupAdmin role is also given to any user that used to have the
GroupLeader role.

Check out the migration script:

* GrufSpaces/Extensions/migration.py

[2.0 2009-11-17]

* Make GrufSpaces just a simple content type that it can be used with

* collective.groupspace.roles

* collective.groupspace.workflow

* collective.groupspace.mail

* The migration script to collective.groupspace is now available in

* GrufSpaces/Extensions/migration.py

* Backup you Data.fs before the migration. Make sure to keep a copy
of any workflow you may have customized.

* See the migration script for migration instructions

* The migration is repeatable so it is easy to customize and run multiple
times until everything works perfectly

* The migration has the following steps:

* Reinstall GrufSpaces

* Refresh the catalog

* Remove any old groupspace portlets

* Remove the GrufSpaces configlet

* Remove the GrufSpaces property sheet

* Remove the GrufSpaces catalog indices

* Remove the old GrufSpaces roles: GroupVisitor, GroupMember and GroupLeader

* Replace any existing local roles with roles stored in the user_roles and
group_roles attributes.

* Install the local workflows in existing GroupSpaces

* Update the role mappings, so the local workflows are being applied

* Refresh the catalog

[1.1.1 2008-01-16]

* Fix : we can send a mail without Manage properties permission using PAS

* GroupAdmin can assign all kinds of local roles except Manager

* When project members are modified,
project subobject indexes relative to security and project users are updated

* GrufSpace is now an ATFolder, not an OrderedBaseFolder

* refactored portlet templates as they are prettiest, and plone 2.5 compliant

* only favorite types are shown on group news portlet

[1.0.1 - 2007-08-21]

* added translations translate group roles in roles form

* add aliases on groupspace listing view

* display document actions on groupspace listing view

[1.0 - 2006-12-26]

* Show email in user search of roles form using getProperty

* Warning when no email set in preferences

* Todd Graham contributed some bug fixes and a migration howto

- Migration howto and fixes

- Email form gets a default action, so it works in Safari

- Email form cancel button takes you to GroupSpace listing

- Rename after creation

- Portlets pointing to content without view

* Mauro Moura Gomes Lopes and Bruna Diirr GonÔøΩalves da Silva
provide i18n files for brazilian portuguese

[0.7.2 - 2006-11-17]

* Uncommented installation of property for portal_groupdata in Install.py.
It causes a problem with Plone 2.5.1:

#gd_tool = getToolByName(self, 'portal_groupdata')
# Prepare group data tool for delegated group member management
#if not hasattr(gd_tool, 'delegated_group_member_managers'):
# gd_tool._setProperty('delegated_group_member_managers', (), 'lines')

If you need group member management delegation in Plone 2.1.x, uncomment
these lines.

* Uninstall of 'delegated_group_member_managers' property. Otherwise Plone
group management remains unusable even after uninstallation of GrufSpaces
in Plone 2.5.1. Thanks to Eric BREHAULT for submitting the bug report.

[0.7.1 - 2006-10-31]

* Moving experimental skin layers to a separate directory

[0.7 - 2006-10-31]

* Spanish translation added thanks to Gustavo Gonzalez <gusti99@integra.com.py>

* Fix installation problem with Plone 2.5 related to rolesSeeUnpublishedContent

* Added a groupspaces_ajax layer thanks to Florent Carlier <florent.carlier@univ-lemans.fr>

* Now the GroupSpace content type is based on Archetypes

You need to run the migration. Add and run the following External Method:

id:migrate_grufspaces
Title: Migrate GrufSpaces
Module name: GrufSpaces.Install
Function name: migrate

* When assigning a role to a GroupSpace member, you can choose to send an
email notification to the member by activating the checkbox "Send email
notification".

* added show_id method to GroupSpace for forward compatability to Plone 2.5

* GroupVisitor doesn't need to see box.

* Explicitly give GroupAdmin and GroupLeader permissions to avoid having
to make them GroupMember as well.

* Remove unused filter_groupspacemembers.py

* When upgrading to the new version of GrufSpaces, it needs to be
documented that the catalog needs to be refreshed (not reindexed)
because the API and Indices have changed. (See Changes)

* In the upgrade notes, also note that the following methods have
disappeared:

* listGroupSpaceMemberUsers (Now listGroupSpaceMemberIds)

* listGroupSpaceVisitorUsers (Now listGroupSpaceVisitorIds)

* Note that GroupAdmins and GroupLeaders are treated like GroupMembers,
and that they don't need to be made GroupMembers any more.

* listGroupSpaceMemberIds method now produces not only GroupMembers, but also
GroupAdmins and GroupLeaders. This way, GroupAdmins and GroupLeaders
are considered as GroupMembers. As a consequence:

* GroupAdmins and GroupLeaders see the last changes in the portlet

* Removing listGroupSpaceMemberUsers, which is replaced by
listGroupSpaceMemberIds. Catalog is changed and refreshed.

* Removing listGroupSpaceVisitorUsers, which is replaced by
listGroupSpaceVisitorIds. Catalog is changed and refreshed.

* Added GroupAdmin and GroupLeader in getGroupSpaceEmails.py, so that
the GroupAdmin and GroupLeader also get email messages sent
through GroupSpaces

* Remove unused method listMembersForDisplay on GroupSpace

* Remove GrufSpaces configlet when uninstalling

* Pass default_charset to mail template

* Fix permission check in validate_GroupSpace_email.vpy

* Start of work areas created automatically as GroupSpace infrastructure (MR)

* use_groupspace_areas property added upon installation

* prefs_grufspaces_form now shows option to create groupspace areas

* add_groupspace_services optionally adds groupspace areas

[0.6 - 2005-11-05]

* Tested with PlonePAS 0.4.1 under Plone 2.1.1

* Now depending on GroupUserFolder 3.0 upwards

* Now depends on the getUserName method in GRUFUser.py in GroupUserFolder,
to return the unprefixed group name

* Dropping folder_localrole_form_plone1.pt

* Removing addGroupMember and removeGroupMember methods

* Split removeFromCollabRole method into removeCollabRoleFromUser and
removeCollabRoleFromGroup

* Split assignToCollabRole method into assignCollabRoleToUser and
assignCollabRoleToGroup

[0.51 - 2005-10-25]

* Removed implementation of listFolderContents, which was protected by
Access Contents Information. (MR)

* Removed implementation of __init__ and edit (MR)

* Removed GroupSpace edit permission (MR)

* No more implementation of getGroupId and getMemberId (MR)

* Remove _isGroupId method (MR)

* Remove _sendMailToGroup method (MR)

* Remove canSendMailToGroup method (MR)

* Remove listUserIdsInGroup method (MR)

* Removing getUsersInGroup script (MR)

* Use validate_title, and remove validate_GroupSpace_edit.vpy (MR)

* remove listGroupSpaceContentTypes (MR)

* Remove getGroupSpaceId index and method (MR)

* Remove GroupSpace_add_groups.py (MR)

* Remove GroupSpace_remove_members.py (MR)

* GroupSpace_localrole_edit.py (MR)

* Remove GroupSpace_Member_form.pt (MR)

* Remove GroupSpace_Member_form.pt.metadata (MR)

* GroupSpace_membersForm.pt (MR)

* GroupSpace_membersForm.pt.metadata (MR)

* Use folder_listing macro in GroupSpace_listing.pt (MR)

* use toLocalizedTime instead of toPortalTime (MR)

* correction to skin layer installation (MR)

* Fix bug in GroupSpace_rolesForm.cpt, making it impossible to assign roles
to groups. (MR)

* getCollabUsers refactoring (MR)

* use portal_membership where appropriate (MR)

* Added a comment on a workflow issue in the Readme.txt. A change to
the Plone workflow is needed to completely close a GroupSpac. Thanks
to Johannes Graumann for the feedback. (MR)

[0.5 - 2005-10-05]

* Extending permissions for Plone 2.1 (Thanks to Marco Stadler for adding
the necessary permissions to the workflow) (MR)

* Fixed news and summary templates for Plone 2.1 (Thanks to Thierry Benita) (MR)

[0.4 - 2005-07-29]

* Uninstall portlets correctly (MR)

* Removed "Create new group" button. (MR)

* search_term split into user_search_term and group_search_term (MR)

* user search possible when no search results (MR)

* translate validator error messages (MR)

* functional tests work with AT sites as well as Plone sites (MR)

* extended user and group search tests (MR)

* Preparation for PloneSelenium (MR)

- Adding Functional Test Python Script in grufspaces layer (MR)

- Using PloneInstallation (MR)

- Adding Functional Test action to PloneSelenium if existing (MR)

- Added config.py (NG)

* Added getCurrentGroupSpace method (MR)

* Make Installation work with Plone 2.1 (MR)

* Fix bug with LDAP. Use getProperty('email') to get email instead .email. (CL)

* Check "Add group" permission" in GroupSpace_rolesForm on "Create new group"
button. (MR)

* Added method "listVisitorIds" to complement "listMemberIds" (MR)

* Added portlet for visitors (MR)

* Added method and index listGroupSpaceVisitorUsers (MR)

* Added GroupVisitor, GroupMember, GroupAdmin and GroupLeader to
portal_properties/navtree_properties/rolesSeeUnpublishedContent
so they can see unpublished GroupSpaces (MR)

* i18n (MR)

* Installing default permissions for GroupSpace roles (MR)

* Fixed a call to manage_setLocalRoles using a tuple instead of
a list, which can make it impossible to add content to a GroupSpace. (MR)

* Readme extended with a section on how to adapt the Plone workflows
for closed GroupSpaces. (MR)

* Force reindex listGroupSpaceMemberUsers (CL)

[0.3 - 2004-06-14]

* Release

[0.2 - 2004-05-13]

* Implementation of the CollabSpace Interface as defined in
PloneGroupSpace by Helmut Merz:

http://cvs.sourceforge.net/viewcvs.py/collective/PloneGroupSpace/

* Changed the add permission to "GrufSpaces: Add GroupSpaces" from "Add Portal
Folders", so that we can better control who is allowed to add
GroupSpaces.

* New role tab for adding new members and groups in a controlled
way without being Manager or also having the role that you assign
The code for this tab was taken over from the PloneGroupSpace product

- The 'GrufSpaces: Assign GroupSpace Roles' permission allows the use
of the "role" tab to change local roles for users and groups

- The sharing tab is protected with the same permission now. It is still
usefull to manage local roles that are not used for GrufSpaces.

* Integrated a "Mail to group" feature, which consists of a page where
you can type in a message that you can then send by email to all group
members.

- The 'GrufSpaces: Send Mail to GroupSpace Members' permission allows
sending a mail to GroupSpace members.

- Adding roles GroupVisitor, GroupAdmin and GroupLeader to the root

* Added default roles in Install script (MR)

* We now have the following new roles: (MR)

- GroupAdmin: Responsible for the Group

- GroupVisitor: Restricted to read-only activities in the GroupSpace

- GroupLeader: Responsible for representing the Group to the outside

* Inheriting GroupSpace from PloneFolder. (MR)

[v0.1 - 2004-03-09]

* Relase 0.1

[0.0 - 2004-02-25]

* No more group unmangling for listGroupSpaceMemberUsers index
Fixing searches in all of the templates to include the groups
a user belongs to. (MR)

* The person adding a GroupSpace is not automatically becoming a GroupMember
An admin is not necessarily interested to work on a GroupSpace he has to
add (MR)

* Call add_groupspace_services script during installation of GroupSpace (MR)

* Adding add_groupspace_services.py script (MR)

- This script is automatically called when a GroupSpace is created

- It is responsible for adding additional services to a new GroupSpace

- This script can be customized in a custom skin

* Moved GroupSpace out of GRUF into this product (MR)