Multi-Tenancy Architecture
8Space organizes collaboration around tenants (workspaces) that contain projects:Tenant Level
A tenant is a workspace for an organization or team. Each tenant has:
- Unique slug (URL identifier)
- Tenant name
- Tenant members with roles
- Multiple projects
The tenant slug appears in URLs like
/app/{tenantSlug}/projects/{projectId}, making workspaces easy to identify and share.Tenant Roles
Users can have one of three roles at the tenant level:- Owner
- Admin
- Member
Full control over the tenant:
- Manage tenant settings
- Invite and remove members
- Assign tenant roles
- Create and archive projects
- Access billing (if applicable)
Tenant roles control workspace-level actions. Project-level permissions are controlled separately by project roles.
Project Roles
Each user in a project has one of three project-specific roles:Owner
Full project control:
- Edit all project settings
- Add/remove members
- Assign project roles
- Archive project
- Create, edit, delete tasks
- Move tasks across workflow
- Set dependencies
Editor
Full task management:
- Create tasks
- Edit all tasks
- Delete tasks
- Move tasks across workflow
- Drag cards on Board
- Adjust dates on Timeline
- Cannot change project settings or members
Viewer
Read-only access:
- View all project views
- See task details
- Access Dashboard metrics
- Cannot create, edit, or delete
- Cannot move tasks
- Cannot change dates
Role-Based View Behavior
The UI adapts based on your project role:Backlog View
Backlog View
- Owner/Editor: Can create tasks, edit inline, drag to reorder, delete
- Viewer: All inputs disabled, no drag handles, no delete buttons, notice shown at top
Board View
Board View
- Owner/Editor: Can create cards, drag between columns, delete
- Viewer: Cards not draggable, quick-add forms disabled, notice shown at top
Timeline View
Timeline View
- Owner/Editor: Can drag task bars, resize dates, manage dependencies
- Viewer: Task bars not draggable, dependency editor disabled, read-only
Dashboard View
Dashboard View
- All roles: Full access to metrics and charts (read-only for everyone)
Project Members
Project membership is managed at the project level:- Project members are a subset of tenant members
- You must be a tenant member before being added to a project
- Each project member has a project role (Owner, Editor, or Viewer)
- Tenant owners can add any tenant member to any project
Member Profiles
Each member has a profile displaying:- Display name: Shown in assignee dropdowns and Dashboard workload widget
- User ID: Unique identifier
- Avatar (optional): Profile picture (if configured)
Display names appear throughout the UI when tasks are assigned, making it easy to see who’s responsible for what.
Inviting Team Members
To collaborate with others, you need appropriate permissions:Tenant-level invites
Owners and Admins can invite users to the tenant workspace, giving them access to the organization’s workspace.
Project-level invites
Project Owners can add existing tenant members to specific projects and assign their project role.
Real-Time Collaboration
While 8Space doesn’t currently have live presence indicators or real-time updates, the system is designed for asynchronous team collaboration:- Data refreshes when navigating between views
- Manual refresh is available by navigating away and back
- Recent changes are reflected after a browser reload
Collaboration Patterns
Teams typically collaborate by:
- Assigning clear task ownership
- Updating task status as work progresses
- Using comments and descriptions for context
- Reviewing Dashboard metrics in standups
- Planning together in Backlog view
- Tracking progress in Board view
Workload Distribution
The Dashboard’s Workload by Assignee widget helps teams balance work:- Shows each member’s active task count
- Helps identify overloaded team members
- Assists in redistributing tasks
- Visible to all project members (including viewers)
Team-Friendly Features
Assignee Management
Tasks can be assigned to team members:- Backlog view: Use assignee dropdown to assign or change
- Board view: Assignee name appears on each card
- Unassigned option: Leave tasks unassigned if ownership isn’t clear yet
Activity Tracking
Each task maintains an activity log capturing:- Task creation
- Field changes (title, dates, status, etc.)
- Actor ID (who made the change)
- Timestamp
- Event payload (before/after values)
While activity logs are captured in the data model, they may not yet be exposed in the UI for viewing. This is a foundation for future audit and history features.
Permissions Summary
Quick reference for what each role can do:| Action | Tenant Owner | Tenant Admin | Tenant Member | Project Owner | Project Editor | Project Viewer |
|---|---|---|---|---|---|---|
| Create tasks | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| Edit tasks | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| Delete tasks | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| Move tasks (drag) | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| View Dashboard | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Manage dependencies | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| Add project members | ✓ | ✓ | ✗ | ✓ | ✗ | ✗ |
| Invite to tenant | ✓ | ✓ | ✗ | - | - | - |
| Manage project settings | ✓ | ✓ | ✗ | ✓ | ✗ | ✗ |
Permissions are enforced both in the UI (by hiding/disabling controls) and on the backend (by validating roles before processing actions).
Best Practices
Assign Clearly
Every task should have an owner. Clear assignment prevents confusion and ensures accountability.
Use Viewer Role
Give stakeholders and clients Viewer access for transparency without risk of accidental changes.
Balance Workload
Regularly check the workload widget and redistribute tasks when imbalances appear.
Right-Size Permissions
Grant the minimum role needed. Most team members work well as Editors; reserve Owner for those who manage the project.
Document in Tasks
Use task descriptions and checklists to share context asynchronously, reducing meeting overhead.
Review Together
Use the Dashboard in team standups and reviews to align on progress and priorities.
Future Collaboration Features
While 8Space already supports multi-user projects and role-based permissions, potential future enhancements include:- Real-time presence indicators showing who’s viewing the same page
- Live updates when others make changes (no refresh needed)
- In-app notifications for task mentions and assignments
- Task comments and threaded discussions
- @mentions to notify specific team members
- Detailed activity timeline UI for audit and history