Repository Paths
The repository does not manage paths of repository files, they are plain attributes. To be able to manage and control access to various areas of the repository we need to introduce a new RepositoryFolder
entity with ACL support.
All RepositoryFile
on that RepositoryPath
inherit ACL permissions from the path, but also retain their own ACL entries. This allows for efficient management of permissions over various paths in the repository and handles file movement.
Parent path
The parent path must exist for every path, except repository root. The path OID must have a parent OID set so that permissions are properly propagated.
Renaming paths
The repository path is designed to be immutable and it's path
attribute cannot be modified. Entries have to be moved first and the path deleted in order to "change it".
Path ownership
The path OID is owned by whoever creates it.