projection-only multifiling

This commit is contained in:
2026-05-07 02:52:49 +02:00
parent 801d2f4851
commit 81e132b33b
9 changed files with 250 additions and 46 deletions

View File

@@ -28,6 +28,7 @@ GET /cmis/{access_point_id}/browser/children
GET /cmis/{access_point_id}/browser/object/{object_id}
GET /cmis/{access_point_id}/browser/content/{object_id}
GET /cmis/{access_point_id}/browser/acl/{object_id}
GET /cmis/{access_point_id}/browser/parents/{object_id}
GET /cmis/{access_point_id}/browser/query
GET /cmis/{access_point_id}/browser/relationships
GET /cmis/{access_point_id}/browser/changes
@@ -61,6 +62,7 @@ Actor context is passed through the existing service headers, especially:
| Browser Binding repository info | yes | yes | yes | yes |
| Type definitions | yes | yes | yes | yes |
| Synthetic navigation | yes | yes | yes | yes |
| Projection-only multifiling | yes | yes | yes | yes |
| Object reads | yes | yes | yes | yes |
| Content stream descriptors | yes | yes | yes | yes |
| ACL projection | discover | discover | discover | discover |
@@ -103,7 +105,7 @@ It is not yet suitable for clients that require:
- AtomPub,
- SOAP/Web Services,
- full CMIS SQL,
- multifiling/unfiling,
- mutating multifiling/unfiling,
- private-working-copy semantics,
- retention/hold mutation,
- rendition streams,
@@ -132,6 +134,8 @@ capability groups before treating them as implementation bugs.
## Operational Notes
- Hidden objects should be treated as not found by CMIS clients.
- Multifiling is projection-only: assets may appear under multiple derived
folder paths without changing canonical asset identity.
- Relationship and change-log responses are filtered through the same visibility
gates as object reads.
- Mutations always pass through engine services and produce normal engine audit
@@ -140,4 +144,3 @@ capability groups before treating them as implementation bugs.
not physical removal.
- Compatibility should be discussed per profile and per client rather than as a
repo-wide binary property.

View File

@@ -120,6 +120,17 @@ Relationship listings and change logs now apply the same asset visibility gates
as object reads. This prevents indirect leakage of confidential or restricted
asset IDs through relationship targets or audit-backed change entries.
## Projection-Only Multifiling
CMIS navigation now supports projection-only multifiling. The same asset can be
listed under several derived folder paths, including source system, topics,
owner, lifecycle, and asset type. These folders are navigation projections; they
do not duplicate assets and do not become canonical storage locations.
`GET /cmis/{access_point_id}/browser/parents/{object_id}` returns the projected
parent folders for one asset. `GET /cmis/{access_point_id}/browser/children`
supports folder-scoped navigation through those projected paths.
## Fixture And Optional TCK Integration
CMIS fixtures now act as active compatibility contracts: