[WIP][Overview] Teams roadmap
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 177
- Forks
- 68
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 60
Description
Vision
Teams becomes Nextcloud's unified team workspace: the place where a group of people gets all the resources they need to collaborate (files, chat, knowledge base, tasks, data) provisioned together, governed together, and surfaced together.
The problem
Today a team is just a list of people that other apps can share to. It can't own most types of resources, and it comes with none by default. The main issues are:
- Ownership. Almost every resource belongs to a single user; the team only gets access via share. Team admins have no power over resources owned by members, and storage counts against one person's quota instead of the team's (unless a team folder is configured). Team folders and Collectives already do this right: they belong to the team, have their own quota, and survive any member leaving.
- Membership. Sharing a resource with one person is much easier than adding them to the team, so who can access a resource slowly stops matching who is on the team.
- Provisioning. Creating a team gives you an empty group. We need to provide the space (a team-folder) and required resources to get started.
Target experience
- Creating a team also creates a space for the team: a team-folder where all it's resources will find a new home.
- Creating a team also creates some core default resources: a calendar, a talk conversation and a collective. Users could then add optional ones to the team page.
- The team page shows everything in one place: members, description, and all the team's resources.
- People and access are managed once, on the team, and through the use of roles. Every resource follows.
- Team members can be managed from any app that shows the team.
- Teams are never nested. Grouping teams should be possible, but only for navigation and search; it never grants access to content. This is inspired by SharePoint's new architecture.
- Existing teams can be upgraded to a full "team space".
Work items (Nextcloud 35 MVP)
Teams app (circles)
- Move the team page front-end from contacts to the circles https://github.com/nextcloud/circles/pull/2561
- nextcloud/circles#2661
- nextcloud/circles#2663
- nextcloud/groupfolders#2669
- Teams admin settings page https://github.com/nextcloud/circles/issues/2717
Team folders (groupfolders)
- Team-bound flag: folders created for a team are marked as such; ACLs are off by default and hidden from the team UI → nextcloud/circles#2734, nextcloud/circles#2643
- Teams section in admin settings: let everyone, or only a chosen group, create team folders, with a maximum size →
- nextcloud/groupfolders#2665
- nextcloud/server#61385
Nextcloud 36 and future
- Team ownership of all Nextcloud resource types → nextcloud/circles#2644
- https://github.com/nextcloud/circles/issues/2637
- Visitor role: a team role that can only view; the first step towards a general role system
- Custom roles: define a role once (for example "Talk moderator"), set what it may do, and assign it to members; a member's rights are the sum of their roles → nextcloud/circles#2646
- Shared team-management component: one frontend component plus API to view, add and remove members, usable from any app; permissions checked server-side → nextcloud/circles#2432
- Sharing defaults on team resources: make adding people to the team easier than adding new shares, warn before sharing with an individual, and list such shares on the team
- Sharing lockdown per team: chosen at team creation; access comes only from membership, no re-sharing at all → nextcloud/circles#2645
- Ability to organize teams in collections that provide nested navigation and search, but not access rights inheritance, modeled after sharepoint hubs
- widget page for Teams nextcloud/circles/issues/2552
- Show activity of teams nextcloud/circles/issues/2692
- Track activities on Teams in the Audit log. Earlier PR for this: nextcloud/groupfolders#226
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
This is a roadmap rather than a standalone implementation task; no file or test is named. Start by reviewing the unchecked work items and their linked circles, groupfolders, and server issues, then confirm a specific scope and acceptance criteria before coding. Done cannot be determined from this issue alone.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100