...
Synapse Managed Plans require a new object to encapsulate the definition of the plan (the limits (storage, egress, others) to manage data and users governance across projects. Organizations are the proposed solution. Organizations are a paradigm that is used by other applications (GitHub, HuggingFace). Organizations allow us to support users with complex data curation needs that span projects.
What are Organizations? Organizations are objects that enforce Plan limits . Organizations serve no other purpose, they are not intended for governance or access (other than project creation and data upload as part of plan enforcement), data curation or dissemination. and encapsulate a collection of projects, storage locations or both..
Glossary
Content: User-contributed files, datasets. (as opposed to Data which is too ambiguous)
...
Custom Storage: Storage managed by the user. Users control and manage the storage. Storage and egress costs are paid by the user and no limits are imposed by Synapse. Data from custom storage does not count against the plan limits.
Private Storage: (previously BaaS) Storage managed by Sage on behalf of the Organization in the form of an S3 bucket that contains only that Organization’s content. Storage and Egress is limited by the Organization’s Plan. AWS Open Data is an example of private storage.
...
Downloader Only - User who does not need a plan - only wishes to browse and access data.
Basic Plan User (aka: Independent Researchers) - User who wants a Basic Plan for publishing content. Each Certified User account has a single Default Organization as part of a Basic Plan.
Multi-Plan User - User who has one Basic Plan, and a member of one or more Self-Managed Plans or DCC Plans.
Legacy Plan User - User who has uploaded content into Synapse previous to the plan rollout date (##/##/2023) or is a member of a Legacy Plan.
Use Cases
Actors:
Data Contributors
Data Users (Downloaders)
Organization Managers (may or may not be Data Contributors)
System (Synapse)
As a System, Synapse needs to track a collection of projects and storage locations associated with those projects. (Organizations)
As a System, Synapse can limit storage based on Organization in order to limit storage costs for Sage.
As a System, Synapse can limit egress based on Organization for Shared and Private storage locations in order to limit Egress costs for Sage.
As an Organization Manager, I want to invite other Synapse users to my Organization so that they can participate in my Organization.
As an Organization Manager, I want to invite other non-Synapse users via email to my Organization so that I can invite users who are not yet a user of Synapse.
As an Organization Manager, I want to remove a user from my organization maintaining the data they contributed. (Organization is the data owner, but data contributor just uploads data).
As an Organization Manager, I want Synapse to limit the size of data from uploaded into my Custom Storage from Synapse.
As an Organization Manager, I want to be able to rename my organization.
Functional Design
Organization Properties
...