-
Notifications
You must be signed in to change notification settings - Fork 10
MS Spaces
This page gives a high-level overview of spaces in PROCEED.
Spaces (originally called environments) are isolated workspaces within the PROCEED Management System where users can create and manage their assets. They provide a multi-tenant architecture that enables both individual work and team collaboration while maintaining strict data isolation between different tenants.
Note
Spaces were originally called "environments" in PROCEED's development. While we've renamed them to "spaces" for clarity, both terms are still used throughout the codebase and documentation.
Every asset in the MS (processes, folders, machines, etc.) belongs to exactly one space. Users live outside of spaces and can be part of multiple spaces.
PROCEED supports two types of spaces, each designed for different use cases:
Personal spaces are automatically created for every user when they sign up. They serve as a private workspace where users can work on individual projects. They can only have one member (the owner).
Organization spaces can be created by authenticated users to facilitate team collaboration. They provide:
- Shared workspace for multiple team members
- Flexible permission management through the role system
Each space is created with a folder structure (one root folder to be specific). For now folders only can store processes and other folders.
- Each space has a root folder, which is created automatically
- Assets and folders store a reference to their parent folder (adjacency list model)
Roles can be associated with specific folders, and their permissions cascade down the folder structure:
The following diagram shows a conceptual overview of how everything in the MS is related (keep in mind that this does not directly reflect database models)
This is the Dev Wiki