OpenCMIS in-memory server

This commit is contained in:
2026-05-08 07:51:42 +02:00
parent c1e6bd6d65
commit 99085fb928
8 changed files with 919 additions and 6 deletions

View File

@@ -128,6 +128,42 @@ The `.local/` directory is ignored and must not be committed.
## Real TCK Run
For a controlled local pilot target, start the Apache Chemistry OpenCMIS
in-memory server:
```sh
cd /home/worsch/open-cmis-tck
source .local/toolchains/env.sh
export OPENCMIS_INMEMORY_USER=dummyuser
export OPENCMIS_INMEMORY_PASSWORD=dummysecret
python3 scripts/opencmis_inmemory_server.py start
```
Then run the in-memory pilot profile:
```sh
cd /home/worsch/guide-board
source /home/worsch/open-cmis-tck/.local/toolchains/env.sh
export OPENCMIS_INMEMORY_USER=dummyuser
export OPENCMIS_INMEMORY_PASSWORD=dummysecret
PYTHONPATH=src python3 -m guide_board \
--extension-dir ../open-cmis-tck \
run \
--target ../open-cmis-tck/profiles/targets/opencmis-inmemory-local.json \
--assessment ../open-cmis-tck/profiles/assessments/cmis-browser-inmemory-pilot.json \
--output-dir ../open-cmis-tck/.local/runs/opencmis-inmemory-pilot
```
Stop the local pilot server after the run:
```sh
cd /home/worsch/open-cmis-tck
python3 scripts/opencmis_inmemory_server.py stop
```
The in-memory target is a test infrastructure pilot only. It proves the local
TCK path before running against the actual CMIS-capable system.
After bootstrap reports `ready`, run the baseline assessment:
```sh

View File

@@ -117,6 +117,43 @@ case evidence. The retained raw stdout/stderr files remain the audit trail; the
normalized result records OpenCMIS result statuses, test names, messages,
source locations where present, and per-status counts.
## Local In-Memory Pilot Target
The extension can also launch Apache Chemistry's in-memory server WAR under
Tomcat 9 as a controlled CMIS Browser Binding pilot target:
```sh
python3 scripts/opencmis_inmemory_server.py start
python3 scripts/opencmis_inmemory_server.py probe
python3 scripts/opencmis_inmemory_server.py stop
```
The default Browser Binding URL is:
```text
http://127.0.0.1:18080/inmemory/browser
```
The default repository ID from the bundled in-memory configuration is `A1`.
Runtime files, logs, downloaded WAR/Tomcat artifacts, and server state are kept
under `.local/opencmis-inmemory`.
Because OpenCMIS 1.1.0 predates modern JDK module removals, the launcher also
adds Java EE API compatibility jars for JAX-WS, JWS, SOAP, and annotations to
the local Tomcat runtime. These files stay under `.local/`.
The bundled in-memory repository uses the sample credentials from its default
configuration:
```sh
export OPENCMIS_INMEMORY_USER=dummyuser
export OPENCMIS_INMEMORY_PASSWORD=dummysecret
```
Preflight and the TCK adapter both consume the target profile's
`credentials_ref`, so the local pilot profile uses these environment variables
without committing secrets.
## Session Parameters
For Browser Binding runs, the adapter writes OpenCMIS session parameters such