generated from coulomb/repo-seed
209 lines
9.3 KiB
JSON
209 lines
9.3 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"standard": {
|
|
"name": "CMIS",
|
|
"version": "1.1",
|
|
"primary_binding": "browser",
|
|
"deferred_bindings": ["atompub", "web_services"]
|
|
},
|
|
"profiles": {
|
|
"readonly-browser": {
|
|
"description": "Read-only Browser Binding access point for governed content access.",
|
|
"binding": "browser",
|
|
"mutations": false,
|
|
"visibility": ["public", "internal"],
|
|
"deny": ["confidential", "restricted"],
|
|
"expected_tck_posture": "repository/type/read/navigation/query/content-read subset"
|
|
},
|
|
"governed-authoring": {
|
|
"description": "Browser Binding access point with selected governed mutations.",
|
|
"binding": "browser",
|
|
"mutations": true,
|
|
"visibility": ["public", "internal"],
|
|
"deny": ["confidential", "restricted"],
|
|
"expected_tck_posture": "readonly subset plus selected create/update/delete checks"
|
|
},
|
|
"admin-export": {
|
|
"description": "Service-account export profile for broad governance inspection.",
|
|
"binding": "browser",
|
|
"mutations": false,
|
|
"visibility": ["public", "internal", "confidential", "restricted"],
|
|
"deny": [],
|
|
"expected_tck_posture": "internal contract tests, not general client compatibility"
|
|
},
|
|
"compat-tck": {
|
|
"description": "Compatibility profile tuned for selected OpenCMIS TCK groups.",
|
|
"binding": "browser",
|
|
"mutations": true,
|
|
"visibility": ["public", "internal"],
|
|
"deny": ["confidential", "restricted"],
|
|
"expected_tck_posture": "selected OpenCMIS TCK Browser Binding subset"
|
|
}
|
|
},
|
|
"objects": [
|
|
{
|
|
"id": "doc-public-source",
|
|
"kind": "document",
|
|
"title": "Public source document",
|
|
"sensitivity": "public",
|
|
"content_stream": true,
|
|
"media_type": "text/markdown",
|
|
"version_series": "vs-public-source",
|
|
"version_label": "1.0",
|
|
"folder_path": "/sources/public"
|
|
},
|
|
{
|
|
"id": "doc-internal-normalized",
|
|
"kind": "document",
|
|
"title": "Internal normalized representation",
|
|
"sensitivity": "internal",
|
|
"content_stream": true,
|
|
"media_type": "application/json",
|
|
"version_series": "vs-internal-normalized",
|
|
"version_label": "2.0",
|
|
"folder_path": "/representations/normalized"
|
|
},
|
|
{
|
|
"id": "doc-confidential-risk",
|
|
"kind": "document",
|
|
"title": "Confidential risk note",
|
|
"sensitivity": "confidential",
|
|
"content_stream": true,
|
|
"media_type": "text/markdown",
|
|
"version_series": "vs-confidential-risk",
|
|
"version_label": "1.0",
|
|
"folder_path": "/sources/confidential"
|
|
},
|
|
{
|
|
"id": "rel-derived-from",
|
|
"kind": "relationship",
|
|
"source_id": "doc-internal-normalized",
|
|
"target_id": "doc-public-source",
|
|
"relationship_type": "derived_from"
|
|
},
|
|
{
|
|
"id": "event-content-updated",
|
|
"kind": "change_event",
|
|
"change_type": "updated",
|
|
"object_id": "doc-internal-normalized",
|
|
"change_token": "chg-0002"
|
|
}
|
|
],
|
|
"capability_groups": [
|
|
{
|
|
"id": "repository-type",
|
|
"service": "repository",
|
|
"examples": ["repo-browser", "readonly-browser", "governed-authoring"],
|
|
"supported_profiles": ["readonly-browser", "governed-authoring", "admin-export", "compat-tck"],
|
|
"must_validate": ["repository_info", "capability_flags", "base_type_definitions", "property_definitions"],
|
|
"unsupported": []
|
|
},
|
|
{
|
|
"id": "navigation",
|
|
"service": "navigation",
|
|
"examples": ["root-folder", "topic-folder", "source-system-folder", "unfiled-assets"],
|
|
"supported_profiles": ["readonly-browser", "governed-authoring", "admin-export", "compat-tck"],
|
|
"must_validate": ["get_children", "projection_parent_folders", "unsupported_descendants_flag", "unsupported_folder_tree_flag"],
|
|
"unsupported": ["get_descendants", "get_folder_tree", "multifiling", "unfiling"]
|
|
},
|
|
{
|
|
"id": "object-content",
|
|
"service": "object",
|
|
"examples": ["source-document", "normalized-representation", "metadata-rich-document", "streamless-document"],
|
|
"supported_profiles": ["readonly-browser", "governed-authoring", "admin-export", "compat-tck"],
|
|
"must_validate": ["get_object", "get_properties", "get_content_stream", "append_content_stream", "allowable_actions"],
|
|
"unsupported": []
|
|
},
|
|
{
|
|
"id": "versioning",
|
|
"service": "versioning",
|
|
"examples": ["single-version-document", "multi-version-document", "read-only-checkout"],
|
|
"supported_profiles": ["readonly-browser", "governed-authoring", "admin-export", "compat-tck"],
|
|
"must_validate": ["version_properties_projection", "latest_version_flags", "unsupported_versioning_flags"],
|
|
"unsupported": ["versioning_services", "private_working_copy", "all_versions_search"]
|
|
},
|
|
{
|
|
"id": "discovery-query",
|
|
"service": "discovery",
|
|
"examples": ["lexical-query", "metadata-filter", "relationship-scoped-query", "bounded-order-by", "unsupported-join"],
|
|
"supported_profiles": ["readonly-browser", "governed-authoring", "admin-export", "compat-tck"],
|
|
"must_validate": ["query_capabilities", "paging", "bounded_order_by", "unsupported_grammar_diagnostics"],
|
|
"unsupported": ["full_cmis_sql_joins", "custom_order_by"]
|
|
},
|
|
{
|
|
"id": "relationships",
|
|
"service": "relationship",
|
|
"examples": ["asset-to-asset", "asset-to-context-entity", "lineage-relation"],
|
|
"supported_profiles": ["readonly-browser", "governed-authoring", "admin-export", "compat-tck"],
|
|
"must_validate": ["relationship_projection", "source_filter", "target_filter", "profile_visibility"],
|
|
"unsupported": []
|
|
},
|
|
{
|
|
"id": "acl-policy",
|
|
"service": "acl",
|
|
"examples": ["public-asset", "internal-asset", "confidential-asset", "denied-actor", "service-account"],
|
|
"supported_profiles": ["readonly-browser", "governed-authoring", "admin-export", "compat-tck"],
|
|
"must_validate": ["allowable_actions", "acl_projection", "denial_omits_object", "no_metadata_leakage"],
|
|
"unsupported": ["apply_acl", "apply_policy", "remove_policy"]
|
|
},
|
|
{
|
|
"id": "change-log",
|
|
"service": "change_log",
|
|
"examples": ["asset-create", "metadata-update", "content-update", "transformation-output", "workflow-run", "policy-denial"],
|
|
"supported_profiles": ["readonly-browser", "governed-authoring", "admin-export", "compat-tck"],
|
|
"must_validate": ["change_tokens", "event_ordering", "audit_correlation", "paging"],
|
|
"unsupported": []
|
|
},
|
|
{
|
|
"id": "retention-renditions-bulk",
|
|
"service": "extension",
|
|
"examples": ["retention-metadata", "legal-hold-metadata", "preview-representation", "bulk-metadata-update"],
|
|
"supported_profiles": ["admin-export"],
|
|
"must_validate": ["explicit_capability_flags", "structured_unsupported_operation"],
|
|
"unsupported": ["retention_hold_mutation", "bulk_update_properties", "rendition_streams"]
|
|
}
|
|
],
|
|
"unsupported_diagnostics": {
|
|
"atompub": "binding_not_supported",
|
|
"web_services": "binding_not_supported",
|
|
"get_descendants": "capability_not_supported",
|
|
"get_folder_tree": "capability_not_supported",
|
|
"multifiling": "projection_only",
|
|
"unfiling": "capability_not_supported",
|
|
"versioning_services": "capability_not_supported",
|
|
"private_working_copy": "capability_not_supported",
|
|
"all_versions_search": "capability_not_supported",
|
|
"full_cmis_sql_joins": "query_not_supported",
|
|
"custom_order_by": "custom_order_by_not_supported",
|
|
"apply_acl": "operation_not_implemented",
|
|
"apply_policy": "capability_not_supported",
|
|
"remove_policy": "capability_not_supported",
|
|
"retention_hold_mutation": "capability_not_supported",
|
|
"bulk_update_properties": "capability_not_supported",
|
|
"rendition_streams": "capability_not_supported",
|
|
"type_mutability": "capability_not_supported"
|
|
},
|
|
"profile_expectations": {
|
|
"readonly-browser": {
|
|
"must_expose": ["repository-type", "navigation", "object-content", "versioning", "discovery-query", "relationships", "acl-policy", "change-log"],
|
|
"must_not_expose_objects": ["doc-confidential-risk"],
|
|
"must_reject_actions": ["create_document", "update_properties", "delete_object", "set_content_stream", "append_content_stream"]
|
|
},
|
|
"governed-authoring": {
|
|
"must_expose": ["repository-type", "navigation", "object-content", "versioning", "discovery-query", "relationships", "acl-policy", "change-log"],
|
|
"must_not_expose_objects": ["doc-confidential-risk"],
|
|
"must_authorize_actions": ["create_document", "update_properties", "delete_object", "set_content_stream", "append_content_stream"]
|
|
},
|
|
"admin-export": {
|
|
"must_expose": ["repository-type", "navigation", "object-content", "versioning", "discovery-query", "relationships", "acl-policy", "change-log", "retention-renditions-bulk"],
|
|
"must_not_expose_objects": [],
|
|
"must_reject_actions": ["create_document", "update_properties", "delete_object", "set_content_stream", "append_content_stream"]
|
|
},
|
|
"compat-tck": {
|
|
"must_expose": ["repository-type", "navigation", "object-content", "versioning", "discovery-query", "relationships", "acl-policy", "change-log"],
|
|
"must_not_expose_objects": ["doc-confidential-risk"],
|
|
"must_authorize_actions": ["create_document", "update_properties", "delete_object", "set_content_stream", "append_content_stream"]
|
|
}
|
|
}
|
|
}
|