Package: collective.spaces
ContentsIntroductionWhat this offersUse Case (aka when-to-use-this)InstallationBuildoutActivation within PloneSecurity defaultsSuggestionsCollaborationIncompatibiltiesTo DoContributorsChangelog1.1 (2014-02-04)1.0 (2012-03-26)Introductioncollective.spacesis a simple way of creating mini-sites within the Plone
CMS, with each mini-site based on a fully-customisable template.
This product deploys a light-weight Dexterity-based content type
(called aSpace) within Plone and provides various additions that would
be useful in a self-managed, collaborative environment.  For instance:Ability for users to self-create SpacesEach Space appears as a sub-siteCustomisable logo per-SpaceAbility for site administration to customise a template used for new SpacesWhat this offersSimple Dexterity-based content typeWeb-based forms built usingplone.app.z3cformand friendsLeverages existing Plone tech (such as authentication, INavigationRoot and
Dexterity behaviours)
on offer.Other options (such ascollective.lineage) provide unnecessary features
or else introduce extra dependenciesUse Case (aka when-to-use-this)Desire to allow various groups of users to collaborate but without
administrative overhead/interventionUsers should be able to create new sub-sites at the Plone root, without
the need for administrative interventionEach workspace should be able to be self-managedEach workspace can be allowed limited customisationWorkspaces should be all contained within a single Plone siteDesire for a template to be easily customisable, with arbitrary content
attached within Plone.InstallationBuildoutcollective.spacesis compatible with recent version of Plone and is
tested with Plone 4.2 and Dexterity 1.2.1.  Add this egg to your Plone
instance in your buildout like so – it’s highly recommended that
you utilise a Known Good Set (KGS) for pinning versions of the form
libraries and Dexterity:[buildout]
extends =
    ...
    http://good-py.appspot.com/release/dexterity/1.2.1?plone=4.2b2

...

[instance]
...
eggs =
    collective.spacesZCML registration is not necessary as this egg includes az3c.autoincludeentry point.  Once you have added this to your buildout,
re-run your./bin/buildoutscript.Activation within PloneOnce buildout has completed, restart your Plone instance.Load and login to your Plone instance, and go toAdd-onsunderSite Setup.Locatecollective.spacesin the add-ons list andActivateit.Once complete, notice that:There isCreate new Spacein your personal tools menuASpace Templateexists at the root of your portalSite Administrators and Managers can manually addSpacecontent anywhereSecurity defaultsBy default:All logged-in users (Authenticated) have the ability to create new Spaces
via theCreate a new Spaceform (/@@create-space).Only Site Administrators and Managers can manually create Spaces via theAdd newmenu. Regular users, includingContributorusers, cannot do this.To change these defaults, load theManage AccessZMI page
(for instance,http://localhost:8080/Plone/manage_access) and change the
roles associated with the relevantcollective.spacespermissions. You can
also use a GenericSetup profile in an extension product to modify these
permissions (rolemap.xmlin your profile).SuggestionsWhilst this product is opinionated regarding aspects like default security
permissions, a configurator can use the rest of Plone’s functionality
to enhance Spaces (and reduce administration overhead). Some examples are:AuthenticationEnable user self-registration on Plone or enable
another authentication mechanism to reduce administrative input needed
(or both). Intertwining mechanisms like local authentication, LDAP, CAS, or
Shibboleth can easily mean that users can self-manage collaboration with
local and external users.NavigationIf users are expected to be creating many Spaces, then the Plone portal
tabs will quickly consume lots of space. To combat this, simply either turn
off theAutomatically generate tabsoption in theNavigation settingscontrol panel, or else de-select theSpacecontent type from
theDisplayed content typesoption. If using this latter strategy, then
consider how users will actually access their Space - hiding from
navigation entirely likely means users need directly access their URL.Email notificationA common situation may be where a site administrator
wants to keep track of the Spaces being created. A Plone Content Rule is
provided with this add-on to satisfy this use case.  Using this Rule is
completely optional – it is installed but not enabled by default.CollaborationSource code is available within thecollective GitHubathttps://github.com/collective/collective.spacesfor submission of issues,
fixes, and improvements.IncompatibiltiesProducts.CMFPlacefulWorkflow is currently incompatible due to policy
traversal leading to an infinite loop when performing actions like adding
or modifying comments on content. This issue is present with version 1.5.9
and caused by this loop: Products/CMFPlacefulWorkflow/adapter.py (line 71)To DoTests for email notification content rule (when enabled)Handle issues with displaying ID field - can we sanely present users
the ability to change their Space ID?  In standard Plone machinery, being
able to rename content in a context depends upon having theCopy or Movepermission on the folder context.ContributorsDavid Beitey (davidjb), AuthorChangelog1.1 (2014-02-04)Fix type conversion preventing Unicode characters being entered when
creating a Space.
[davidjb]Workaround folder type constraint inheritance issue by pretending Space
content is like Archetypes. This handlesPlone issue
#13792.
[davidjb]Enable folder constraints on the Space content type via Dexterity behaviour.
[davidjb]Ensure we depend on plone.app.contentmenu for correct ZCML loading.
[davidjb]Ensure create space action is only visible to those with the correct
permission.
[davidjb]Just create an empty space if the template doesn’t exist.
[davidjb]Adding logging for exceptions on space creation.
[davidjb]Ensureplone.app.dexerity [grok]is installed upon installation of this
package.
[davidjb]Updating URL in setup.py to be the correct GitHub address.
[davidjb]1.0 (2012-03-26)Provide email content rule for when Spaces are created. This is not
enabled by default.
[davidjb]Providing decorator for elevated contributor access on the portal.
[davidjb]Added doctests for Space self-creation form.
[davidjb]Adding ability to set custom logo on Space and set image scale.
[davidjb]Added basic Space self-creation form.
[davidjb]Package created using zopeskel
[davidjb]