mxm Workgroups for Plone
mxm Workgroups consists of three parts
- A Workgroup content type, that acts just like a normal Plone folder. With the difference that you can add members to it, and give these member local roles in the workgroup. These folders acts like Member folders, only for groups. Different groupmembers can have different roles.
- A workgroup tool that keeps track of the groups and their members. It registers the Workgroups internally for speed. This also means that Workgroup members does not need to have local roles in a workgroup to be members.
- A Workgroup workflow with an additional state "Visible for users" Content and Workgroups in this state can only be seen by members of the workgroup that has the local roles of "GroupMember" or "Owner" in that Workgroup.
Workgroup content type
A Workgroup is a fully functioning Plone folder, with a few additional tabs. It has workflow and metadata as you would expect.
A workgroup can be added anywhere in the portal. This means that even members can add add-hoc workgroups in their own home folder.
They also allow for easy sharing of workgroups that are outside the members folder. Ie. you can have a Workgroup called "news" in the root of the portal, and let any member add news items in this workgroup. Just as easily as if it was in his own home folder.
Members has a complete list of the groups they are group members of.
You can make groups that you are not a member of yourself. Which makes it easy for managers and others to make groups for others to use.
Group members can delegate their roles to others in a workgroup. Meaning ie. that if a Member has the "Reviewer" role, he can easily give it to other group members of the Workgroup.
The workgroup also has a simple email form, for sending emails to all group members.
The Workgroup tool keeps track of the Workgroups and the members in an efficient internal data structure (BTree's). No need to search the catalog.
Groups and members are referenced back and forth, so it is easy to get the members of a group, and the groups for a Memmber.
It is possible to move workgroups around without loosing the group/member relationships.
You can set up default roles that members get when they are added to a Workgroup.
The workgroup tool adds a new action/link to the "personal toolbar", where the Member can get a complete overview of the Workgroups he is a member of. Including the roles he has in the context of the Workgroup, and the subjects of the workgroup.
A Workgroup workflow
The Workgroup workflows are a pretty good base for developing your own workflows. They have one additional state: "Visible For Group".
The content in this state is only visible for members of the group with the local roles of "GroupMember" or "Owner"
This makes the Workgroups even more usable in many situations:
- A virtual classroom, where Teachers can add content and student can read only.
- Extranets, where the company can write, and customers can read only.
- A content portal, with exclusive content for specific members.
mxm Workgroups is compatible with Plone 2.x It might work under Plone 1.x if CMFFormController is installed.
But this setup is not tested!
It supports the quickinstaller tool under Plone 2.0 for install and uninstal.
If you want to update from an older version of mxm Workgroups, you should not use the reinstall method! This is important, as you will loose all your Workgroup <> Members relations.
You should create an external method with the values:
Id: update_workgroup Title: Module Name: Workgroup.Install Function Name: update
Then you should just click the test tab, and the Workgroups should be updated. Do yourself the favour of doing a backup of your Data.fs first though. You never know.
The product includes some portlets.
Visitors can see the workgroups that a Member is participating in.
The workgroup has a list of it's members in the right hand side.
Send mail to group
If you have the right permission, you can send an email to a group via a form.
Please send them to me at email@example.com, or post them here. If you post here, please leave your email address in the posting.
I got a relevant question from Tim Terlegård on the Plone list. I thought I would put the answer here too.
Tim Terlegård wrote:
>>mxm Workgroups makes collaboration easy and possible for networked and >>virtual organisations. It is a way to make shared "workspaces" where >>groups of people can collaborate. Yet it still has all the freedom, >>flexibility and simplicity as a normal Plone folder. > > What differs mxm Workgroups from PloneWorkspace and GrufSpace?
"Workspaces are places to put temporary references to content you are currently working on. Workspaces are designed to help you navigate efficiently."
So a PloneWorkspace is a virtual place with only references to other content. If you add a document in a PloneWorkspace, it ends up somewhere else.
mxm Workgroups is a an actual folder with the content in it. So imho it is easier to use and understand.
GrufSpace (GS) and mxm Workgroups (mxm) have many similarities. They are both folder like objects that users can share.
mxm can do a few more things, and is most likely a lot faster to get a list of all the groups a member participates in. Due to the mxm_workgroup tool OOBTree implementation.
This also makes it easy to make catalog searches in all of a members Workgroups, by getting the workgroup paths:
memberid = 'maxm' mxm_workgroups = context.mxm_workgroups workgroups = mxm_workgroups.getGroupsForMemberId(memberid) workgroup_paths = ['/'.join(wg.getPhysicalPath()) for wg in workgroups] catalog = context.portal_catalog all_content_from_all_workgroups = catalog(path=workgroup_paths)
The workgroup_paths can then be used in the catalog query. So it is practical ie. to see all events in all workgroups.
In a setting with many members and groups, like an educational institution, or a big company, it should have a significant speed advantage.
GS: GS membership is defined by users having a local role. mxm: Group membership is defined by a reference to a member. So you can be a member without having a local role.
This makes it possible to have be a member of a group where you don't have any elevated rights. Ie. if you don't participate in a group but only need easy acces to view the groups content.
This also delays the point where it is nessecary to fiddle around with Permissions in a group.
mxm: Non invasive. No dependencies. Easy to install. Documented, working.
It is thought as an end user tool, so I have tried to make it easy to install, use and understand.
Last modified 2005-08-22 01:33 PM