generated from coulomb/repo-seed
4.1 KiB
4.1 KiB
CMIS WP-0014 OpenCMIS Evidence - 2026-05-08T15:33:16Z
Scope
This note records the second WP-0014 maturity pass for the CMIS 1.1 Browser Binding adapter. The pass followed the earlier folder/action work and focused on OpenCMIS compatibility issues that fit the engine architecture naturally.
Implemented Since Prior Evidence
- Added Browser Binding
cmisaction=updateas an alias forupdateProperties. - Added scoped
cmisaction=movesupport for CMIS-authored workspace documents and adapter-managed workspace folders. - Added URL-path Browser Binding routes under
/browser/root/{path}for object, children, parent, parents, properties, allowable actions, content, and POST actions against path-addressed objects. - Normalized stored CMIS content stream media types and emitted explicit
Content-Typeheaders so text streams do not acquire an unwanted charset. - Accepted metadata-backed standard property updates for
cmis:name,cmis:description, andcmis:secondaryObjectTypeIds. - Honored
cmis:secondaryObjectTypeIdsduring document creation. - Rejected invalid
createDocumenttype ids, such ascmis:folder. - Removed non-standard
cmis:pathfrom document property definitions and document object projections while retaining foldercmis:path.
Local Verification
Focused CMIS suite:
.venv/bin/python -m pytest tests/cmis -q
Result:
48 passed- Performance monitor warnings appeared on two Browser Binding tests; these should be watched across additional runs before treating them as a regression.
OpenCMIS Run
The final run used an isolated temporary target on port 8010 to avoid
colliding with other local services:
cd /home/worsch/guide-board
source /home/worsch/open-cmis-tck/.local/toolchains/env.sh
PYTHONPATH=src python3 -m guide_board \
--extension-dir ../open-cmis-tck \
run \
--target /tmp/kontextual-cmis-compat-8010.json \
--assessment ../open-cmis-tck/profiles/assessments/cmis-browser-baseline.json \
--output-dir /tmp/open-cmis-tck-kontextual-wp14-20260508T153146Z
Result:
- Run ID:
run-20260508T153316Z - Run directory:
/tmp/open-cmis-tck-kontextual-wp14-20260508T153146Z - Harness status:
infrastructure_error - Maturity scorecard:
/tmp/open-cmis-tck-kontextual-wp14-20260508T153146Z/reports/cmis-maturity-scorecard.md - Maturity score:
19.05 - Coverage:
2/9groups
Capability Interpretation
repository-type: improved from failing towarning/ partial. Repository info and type metadata are now usable enough for the selected baseline, with warnings instead of hard failures.object-content: still infrastructure-blocked in guide-board classification, but the blockers are now concrete object/content edge cases rather than Browser Binding startup, folder creation, MIME, or secondary-type basics.
Remaining Frontier
getObjectByPathstill fails in several OpenCMIS child checks for paths such as/test-folder/test-folder; this likely needs tighter folder/document child path-segment semantics and cleanup behavior investigation.- Creating a document without content still leads OpenCMIS into a missing content-stream exception. We need decide whether CMIS-created no-content documents should expose an empty stream or clearer no-content semantics.
- Invalid-type errors are now correctly rejected, but OpenCMIS still classifies our HTTP 422 as a runtime warning rather than a clean CMIS constraint response.
- Folder
cmis:pathstill appears when property filters request narrower property sets. Operation-context filtering for properties, ACLs, allowable actions, and path segments remains a compatibility gap. bulkUpdate,deleteContent, and some change-token tests still receive unsupported-action or validation responses. These should be handled either by natural implementation or sharper unsupported behavior.
Conclusion
The CMIS adapter foundation is sounder and more standards-shaped after this pass. We should keep WP-0014 active for the remaining object/content frontier, but the work has moved from "basic Browser Binding compatibility" into specific CMIS behavior polish and optional-service boundary decisions.