Concept of Spaces
The concept of Rooms, Items and Zones has been replaced by a generic concept of Spaces, which can be simply viewed as smart or rich folders. All containment (rooms, zones, folders) is managed through Spaces. There is no longer any distinction between Document Libraries and Zones with Files in - there are just Spaces that can contain further Spaces or Content.
Each Space has an owner that can make any changes to the Space or its immediate contents. A user in the system will usually (but not necessarily) have a Home Space, which they can organise in any way they like - they are the owner of that Space. A Home Space will contain a special system-managed Space (usually hidden) that contains any meta-data or content for that user, e.g. tasks. Home Spaces can be defined anywhere - which can make moving people or whole teams into different structures straight-forward. This is very like the Unix approach, but without the convention of storing all homes in a single location.
The owner of a Space may invite another user (or Team?) into the Space with a specific role (e.g. viewer, contributor, administrator). When a user is invited to a Space, they are given the option to create a shortcut to it (by default somewhere in their Home Space).
Once a Space shortcut is defined, it is possible for additional meta-data to be defined for it that personalises the interpretation of the linked Space, for example, changing the default view for the Space (but obviously not any permissions or capabilities).
It should also be possible to create a shortcut to a Space in another repository. The main issues this raises is how search is performed (federated query or crawling) and access to meta-data such as the data dictionary.
When a user logs in they are taken to their Home Space and this is presented as the root of their navigation, however they may switch the root to the true root of all Spaces (they may also be able to define other Spaces as "roots", in effect shortcuts).
Any Space structure can be used as a template to create a new subspace, or even as the starting structure at installation. The latter option would allow us to have an eRoom-like installation option, or SharePoint, or any other organisation that is dreamed up.
Templates can also be used in the same way as Room templates in the demo: when you create a any new Space you will be given the option of basing it on a template (e.g. a marketing project for a new product).
Where templates are stored needs to be decided, but should be the same as for Content Types, Classifications etc., in other words, in a standard "corporate" place as well as personal or team locations.
Working with Spaces
Working with Documents
In the simplest view of Spaces and Content, they are just folders and files. In any Space you can choose to upload a file and do all the appropriate document management actions on it (check-in/out, lock, version, etc). There does not need to be a separate concept of a Document Library - every Space is a potential document library.
One of the key requirements is to be able to provide a view of a Space that looks as if you are working in a filesystem directory.
Furniture or Application Spaces
The items within a Space, such as a wiki, bug-tracker, blog and so on, can be viewed as special Spaces. For example, a wiki is made up of wiki pages, so a wiki Space will contain the pages; likewise a forum Space can be viewed as containing forum entries, organised in whatever suits the forum application.
An application can now be thought of as a viewer or editor for a Space. For a Wiki Space containing wiki pages, the default Space viewer is the wiki application, but it could be switched to alternative views, including a generic folder/file view. Control over what views are available could be constrained by the Space type or explicitly on a Space instance.
It still should be possible to link a standard portlet as an Application Space, but the navigation and interaction will be more loosely-coupled.
It is possible to create templates that configure the spaces into a Rooms-like organisation. A user home template has a linked space to a globally accessible space for the rooms.
Back to Application Requirements