Orgs, Repos, and Collections
This article describes the role of the “Cluster” named graph in Flexo MMS. Layer 1 forbids arbitrary writes to this graph and instead exposes a set of LDP endpoints.
This named graph holds organizational objects that are global to the deployed Flexo MMS cluster. Specifically, a Repo is the container for version-controlled data (similar to a git repository), a Collection is readonly view that selects the union of any number of Refs when queried, and an Org is an entity that owns Repos or Collections.
Linked Data Platform (LDP) actions
The following list describes the LDP semantics of various HTTP operations available on Cluster objects.
/orgs
HEAD
– Returns state of all orgs along with their entity tags.GET
– Enumerates all orgs along with their public properties.POST
– Creates a new org.
/orgs/{ORG_ID}
PUT
– Creates a new org, or replaces an existing one.Suggested properties:
dct:title "{ORG_TITLE}"
HEAD/GET
– Reads public properties of the given org.PATCH
– Updates an existing org.DELETE
– Deletes an org.
/orgs/{ORG_ID}/repos
HEAD
– Returns state of all repos under the given org, along with their entity tags.
GET
– Enumerates all repos along with their public properties.POST
– Creates a new repo.
/orgs/{ORG_ID}/repos/{REPO_ID}
PUT
– Creates a new repo, or replaces an existing one.Suggested properties:
dct:title "{REPO_TITLE}"
HEAD/GET
– Reads public properties of the given repo.PATCH
– Updates an existing repo.DELETE
– Deletes a repo.
/orgs/{ORG_ID}/repos/{REPO_ID}/branches
HEAD
– Returns state of all branches under the given repo, along with their entity tags.GET
– Enumerates all branches belonging to the given repo.
/orgs/{ORG_ID}/repos/{REPO_ID}/branches/{BRANCH_ID}
PUT
– Creates a new branchHEAD/GET
– Reads public properties of the given branch.PATCH
– Updates an existing branch.DELETE
– Deletes a branch.
/orgs/{ORG_ID}/repos/{REPO_ID}/locks
HEAD
– Returns state of all locks under the given repo, along with their entity tags.GET
– Enumerates all locks belonging to the given repo.
/orgs/{ORG_ID}/repos/{REPO_ID}/locks/{LOCK_ID}
PUT
– Creates a new branchHEAD/GET
– Reads public properties of the given branch.PATCH
– Updates an existing branch.DELETE
– Deletes a branch
/orgs/{ORG_ID}/collections/{COLLECTION_ID}
GET
– Enumerates all collections along with their public properties.
/orgs/{ORG_ID}/collections/{COLLECTION_ID}
PUT
– Creates a new collection.Suggested properties:
dct:title "{COLLECTION_TITLE}"
GET
– Reads public properties of the given collection.PATCH
– Updates an existing collection.DELETE
– Deletes a collection.