generated from coulomb/repo-seed
109 lines
3.4 KiB
Markdown
109 lines
3.4 KiB
Markdown
# INTENT
|
|
|
|
## Extension Name
|
|
|
|
`open-cmis-tck`
|
|
|
|
## Parent Project
|
|
|
|
`guide-board`
|
|
|
|
## Purpose
|
|
|
|
`open-cmis-tck` is the first guide-board extension. It provides a reusable CMIS
|
|
compatibility test facility around selected Apache Chemistry OpenCMIS TCK checks.
|
|
|
|
The extension turns CMIS capability claims into guide-board evidence:
|
|
|
|
- execute selected OpenCMIS TCK groups against a target access point,
|
|
- capture raw logs and run metadata,
|
|
- normalize results into guide-board-compatible evidence,
|
|
- classify outcomes by CMIS capability area,
|
|
- distinguish unsupported-by-design behavior from implementation defects,
|
|
- produce scorecard and assessment inputs for downstream projects.
|
|
|
|
## Boundary
|
|
|
|
This extension is a test facility, not a CMIS implementation and not a
|
|
certification authority. It does not implement server behavior, replace the CMIS
|
|
specification, or claim formal certification.
|
|
|
|
Target systems own:
|
|
|
|
- CMIS endpoints,
|
|
- repository data fixtures,
|
|
- authentication and authorization behavior,
|
|
- supported and unsupported capability decisions,
|
|
- product scorecards.
|
|
|
|
This extension owns:
|
|
|
|
- target profile shape for CMIS Browser Binding checks,
|
|
- CMIS preflight probes,
|
|
- OpenCMIS TCK orchestration,
|
|
- CMIS result normalization,
|
|
- CMIS capability mapping,
|
|
- guide-board report fragments.
|
|
|
|
## Primary Use Case
|
|
|
|
Given a running CMIS Browser Binding access point, such as:
|
|
|
|
```text
|
|
http://127.0.0.1:8000/cmis/compat-tck/browser
|
|
```
|
|
|
|
the extension should:
|
|
|
|
1. load a CMIS target profile,
|
|
2. verify target reachability and repository posture,
|
|
3. run selected OpenCMIS TCK checks,
|
|
4. normalize raw TCK output,
|
|
5. map pass, fail, skip, expected gap, and infrastructure outcomes to CMIS
|
|
capability groups,
|
|
6. write guide-board-compatible JSON and Markdown reports.
|
|
|
|
## First Target Integration
|
|
|
|
The first target profile is `kontextual-engine` `compat-tck`.
|
|
|
|
Expected target URL:
|
|
|
|
```text
|
|
http://127.0.0.1:8000/cmis/compat-tck/browser
|
|
```
|
|
|
|
Initial expected posture:
|
|
|
|
- selected repository/type checks should pass,
|
|
- selected object/content checks should pass,
|
|
- navigation, query, ACL, and versioning checks may partially pass,
|
|
- AtomPub and Web Services are not target bindings,
|
|
- unsupported optional capabilities should be treated as expected skips or
|
|
explained gaps, not failures by default.
|
|
|
|
## Source Posture
|
|
|
|
The extension should track source authority and maintenance status explicitly.
|
|
Apache Chemistry OpenCMIS provides TCK package APIs and Maven artifacts, but the
|
|
Apache Chemistry project appears retired. The extension must therefore preserve
|
|
harness version metadata and avoid overstating the meaning of a TCK pass.
|
|
|
|
Useful sources:
|
|
|
|
- [Apache Chemistry OpenCMIS TCK package](https://chemistry.apache.org/java/javadoc/org/apache/chemistry/opencmis/tck/package-summary.html)
|
|
- [Maven Central artifact](https://central.sonatype.com/artifact/org.apache.chemistry.opencmis/chemistry-opencmis-test-tck)
|
|
|
|
## Success Criteria
|
|
|
|
The extension is useful when it can:
|
|
|
|
- run from a clean checkout with documented Java/Maven requirements,
|
|
- validate a CMIS Browser Binding target before TCK execution,
|
|
- execute or cleanly skip selected OpenCMIS TCK groups,
|
|
- preserve raw TCK output as optional artifacts,
|
|
- emit normalized guide-board evidence,
|
|
- map results to CMIS capability groups,
|
|
- identify expected gaps separately from unexpected failures,
|
|
- provide enough evidence to update downstream CMIS capability scorecards.
|