Skip to content

Comments

docs(dicom-printer-2): migrate verified content and add SetSequence#6

Open
mostlydev wants to merge 11 commits intodocs/dicom-printer-2from
docs/dicom-printer-2-migration
Open

docs(dicom-printer-2): migrate verified content and add SetSequence#6
mostlydev wants to merge 11 commits intodocs/dicom-printer-2from
docs/dicom-printer-2-migration

Conversation

@mostlydev
Copy link
Contributor

Summary

Migrates human-verified documentation from the docs-conformance-md branch of the dicom-printer-2 repo into the public VitePress site, replacing AI-generated stubs where better content exists.

New pages

  • Conformance Statement (conformance.md) — DICOM 3.0 conformance statement assembled from modular sections, verified against codebase
  • Architecture & Design (architecture.md) — application lifecycle, job processing pipeline, DICOM services internals
  • Query Attributes (actions/query-attributes.md) — attribute precedence, all query types, configuration reference
  • SetSequence (actions/setsequence.md) — full documentation for the newly-implemented SetSequence action (Issue #53): attributes, nested DcmItem/DcmTag/DcmSequence, placeholder support, Query interaction

Replaced with verified content

  • Configuration Reference (config.md) — 166-line AI stub → 1046-line spec verified against DTD and source code
  • command-line.md — corrected binary name (DicomPrinter.exe), accurate --activate description
  • installation.md, troubleshooting.md, drop-monitor.md, logs.md — replaced AI-generated content with operator guide sections verified against implementation

Fixes

  • actions/settag.md — corrected incorrect type="Global|Unique" syntax block; replaced with accurate attribute table including tagName for private tags
  • config.md — added <SetSequence> subsection with example

Sidebar

  • Added: Architecture & Design, Query Attributes, SetSequence, Conformance Statement

Notes

  • Branches from docs/dicom-printer-2 (the existing AI-generated structure), preserving all pages not covered by verified content
  • Remaining action pages (query.md, store.md, print.md, etc.) are still AI-generated and can be audited in follow-up work

… branch

- Add conformance.md: DICOM 3.0 Conformance Statement (540 lines, from modular sections)
- Replace config.md: full Configuration File Tags Specification (1046 lines, verified against DTD and code)
- Add architecture.md: application lifecycle, job processing, DICOM services (from operator guide)
- Replace command-line.md: accurate args table with correct binary name and --activate behavior
- Replace installation.md, troubleshooting.md, drop-monitor.md, logs.md: from verified operator guide
- Add actions/query-attributes.md: query attribute precedence and configuration reference
- Update sidebar: add Architecture, Query Attributes, and Conformance Statement entries
…ocument in config reference

- Add actions/setsequence.md: full documentation for new SetSequence action (replace, unique,
  nested DcmItem/DcmTag/DcmSequence, placeholder support, Query interaction)
- Fix actions/settag.md: replace wrong type="Global|Unique" syntax block with accurate
  attribute table; add tagName attribute for private tags
- Add SetSequence subsection to config.md configuration reference
- Add SetSequence to sidebar
… licensing docs

<ValidityPeriod> controls how long a failed job stays in the queue before
being discarded — it has nothing to do with license expiry. Removed the
"License Validity" section that misrepresented it as a license duration
setting and removed it from the config.xml example in the licensing page.
- Main landing page: expand DP2 feature list to match Capacitor's level of detail
- DP2 index.md: rewrite to accurately describe workflow engine, two job sources
  (printer driver + Drop Monitor), component table, and quick-start links
Add specific examples and explanations for how query attributes are handled before a query (request building), when a query returns a match, and when a query returns no matches or empty values.
Verified against source code (DicomPrinter.cpp, main.cpp, EventReporter.cpp):
- All four General subsections are optional per DTD (?) not required
- CheckingInterval default: 1 second (was: None)
- SuspensionTime default: 15 minutes (was: None)
- ValidityPeriod default: 5 days (was: None); clarify no relation to licensing
- Verbosity default: 35 (was: None); fix description (20/2 values were wrong)
…XML syntax

Hold and Suspend were described backwards:
- Hold: job stays on disk, retried on next CheckingInterval scan (no timer)
- Suspend: job held in memory, retried after SuspensionTime minutes from the
  failing action (not from workflow start)

Also fix example XML: Query/Store use <ConnectionParameters> child elements,
not inline calledAE/callingAE/host/port attributes; SetTag uses correct
single-tag-per-element syntax.
Fix inaccuracies regarding 'Hold' and 'Suspend' behaviors.
- 'Hold' does NOT automatically retry; it preserves the file on disk for manual intervention or service restart.
- 'Suspend' is the mode that performs automatic retries using the 'SuspensionTime' interval.
…broken examples

Tag placeholders use exactMatch — they only substitute when the entire config
value is the placeholder. Mixing with static text silently leaves the
placeholder unreplaced (e.g. 'Study for #{PatientName}' does not expand).
Date placeholders use indexIn and work anywhere including mixed strings.
If/Switch condition values do not support any placeholder expansion.

- Add importance note and summary table clarifying where each type works
- Remove misleading 'combine static text with placeholder' examples for tags
- Fix broken Save archive example (E:\DICOM\#{Modality}\#{PatientID} doesn't work)
- Remove source code line reference (not appropriate for user docs)
- Remove broken If conditional placeholder example
- Fix query examples to use correct <ConnectionParameters> syntax
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant