-
-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Labels
breaking changeenhancementNew feature or requestNew feature or requestp2Non-critical bugs, and features that help organizations to identify and reduce riskNon-critical bugs, and features that help organizations to identify and reduce risksize/LHigh effortHigh effortspike/researchRequires more research before implementationRequires more research before implementation
Description
Current Behavior
Currently, multiple versions of the same project are represented as separate, independent records in the PROJECT
table.
The concept of a project version is treated very loosely: the fact that two PROJECT
records represent different versions of the same project is merely implied by both sharing the same NAME
column.
This poses a challenge for features such as portfolio ACL, where it becomes increasingly impractical to explicitly grant access to individual project versions.
Proposed Behavior
Decouple project from project version. Enable features such as portfolio ACL to apply to projects, rather than individual project version.
Most of what is currently associated with a project would switch to being associated with a project version instead. A rough sketch:
erDiagram
project {
bigint id pk
text name
}
project_version {
bigint id pk
bigint project_id fk
text name
}
component {
bigint id pk
bigint project_version_id fk
text name
text version
text purl
}
team {
bigint id pk
text name
}
project_version |o--o{ component: "contains"
project_version }|--|| project: "is version of"
project }o--o{ team: "is accessible by"
Checklist
- I have read and understand the contributing guidelines
- I have checked the existing issues for whether this enhancement was already requested
Metadata
Metadata
Assignees
Labels
breaking changeenhancementNew feature or requestNew feature or requestp2Non-critical bugs, and features that help organizations to identify and reduce riskNon-critical bugs, and features that help organizations to identify and reduce risksize/LHigh effortHigh effortspike/researchRequires more research before implementationRequires more research before implementation