Spaces module as a concept is really nice -- a set of features/ sections one can enable/ disable.
However it's not a secret the 7.x is a direct port of 6.x, resulting with lots of cruft.

When I think of Spaces I think of an Entity holding info about a specific feature. If the Space doesn't exist, then the feature is disabled (This is inline with OG-Vocab architecture).

We would have a Parent Space, and the the per-groups spaces can inherit from it.

Then, the whole PURL will be ripped out of it, and moved for example to OG-PURL module

CommentFileSizeAuthor
#4 Screenshot_5_9_13_12_29_PM.jpg259.94 KBamitaibu
#3 spaces.jpg266 KBamitaibu
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

amitaibu’s picture

Spaces should dal with "App" (enable, disable, private) and overriding variables.

Space entity:
- id
- global (boolean)
- Parent space (Reference to a parent Space entity, which will have the defaults values)
- Settings: Serialized array with the settings. Would probably use this
- private (boolean)

Reference to:
- entity type
- entity_id

amitaibu’s picture

Started working on proof-of-concept here

amitaibu’s picture

Status: Active » Needs work
FileSize
266 KB

https://github.com/RoySegall/spaces

  • Enable Spaces-example
  • Create a node
  • Watch the site name changes

spaces.jpg

Next is working on an optional UI for the "Apps" page

amitaibu’s picture

FileSize
259.94 KB

Added UI, to allow settings of overrides. Very pluggable!
Screenshot_5_9_13_12_29_PM.jpg

Grayside’s picture

Great that you are jumping in, and with code!

A while back we were discussing some new directions, I think they are at least compatible.

#1203046: Spaces 7.x-4.x Architecture

hefox’s picture

Looked to see what domain was doing for configuration and found they were using variable api, and made http://drupal.org/project/og_variables for per group variables based on it. Only works for node groups atm, but shouldn't be too hard to extend it to others.