Netsight is working with Cosent and the Plone Intranet Consortium to design and build an open source social intranet platform.
At this relatively early stage of development, a small team from Netsight have been focusing on the architecture and initial implementation of some of the core components. With regular consultation amongst the Plone Intranet Consortium, we are hoping to establish a stable base intranet platform that can be extended and improved in future within the broader Plone Community.
One of the core requirements that came out of early discussions was the need for a flexible team / community workspace solution, which would allow teams of employees to communicate and collaborate effectively within their own area of the intranet. We established an architecture plan that distills the extensive permission framework within Plone into a set of distinct policies that control who can access a workspace, who can join a workspace, and what users can do once they are part of a workspace.
A few sprints in, and there are a number of key packages around this functionality that now have (or are nearing) an initial release:
An optimisation for catalog security re-indexing after role/workflow changes.
For more details see Matt Hamilton’s separate blog post.
- Provides workspace container and content workflow working in conjunction to provide flexible levels of content access
- Three levels of access controlled via a single ‘policies’ tab:
- External visibility (who can see the workspace)
- Join policy (who can join / add users to a workspace)
- Participation policy (default permissions given to members of a workspace)
- Built on dynamic PAS group/role plugins from collective.workspace
- New ‘self-publisher’ role that allows users to publish their own content, but not the content of others (something that cannot be achieved with existing contributor/editor/reviewer roles).
- Support for easily copying/moving members between workspaces
For more information see the ploneintranet.workspace architecture document.
- Generic token framework to support dropbox / drive-style URL-based actions
- Demo implementation that allows user account login (and creation) via unique URL
- An update to api.content.transition that allows you to move an item to a target workflow state, regardless of the number of transitions required to get there.
For details see https://github.com/plone/plone.api/pull/164