How-To

HomeHow-To → Publish a MIL-STD-40051 PDF

Publish a MIL-STD-40051 PDF

Assemble a Publication Module from your work packages and publish to PDF. Cover page from project metadata, TOC, change bars against a baseline, and your choice of backend (WeasyPrint or XSL-FO).

Assemble the Publication Module

1

Left nav → PUBLISH → Publication Builder

The Builder shows every WP in the project plus the current PM structure. Drag WPs into chapters, drop chapters into the tree, reorder as needed. Sub-entries follow their parent when moved.

2

Update from TOC (optional)

If the source TOC was preserved on IADS import, Update from TOC rebuilds the PM structure to match the archive's original layout. Useful for round-trip parity.

Pick a backend

Two PDF backends ship in-box. Both consume the same PM + WPs; they differ in rendering fidelity and how much you can push the layout.

Two layers: engine binaries are registered once tenant-wide in Admin → Formatters & Tools; each project then picks its engine in Project Settings → PDF Engine. The XSL-FO fallback chain runs Antenna House → RenderX XEP → ironmarkpdf → Apache FOP — the highest-preference engine that's registered wins, with FOP as the guaranteed floor.

Publish

1

Publish the PM

From Publication Builder, click Publish. Modal picks the output (PDF, IETP, etc.), an optional stylesheet override, and change-bar options. Click Publish; the job runs in-process or via Celery if configured.

2

Download the PDF

Publish jobs write to outputs/publish/<job_id>/ and stream the PDF for download. Jobs stay in the list under Deliverables so you can re-download or promote to a Delivery revision.

Cover page and TOC

Cover page populates from Project Settings: title, TM number, CAGE code, contract number, classification, program type, pub date. Toggles for showing CAGE / NSN live in project settings — hide or show per project.

TOC generation is driven by toc_depth (default 2 for chapter + section). WPs are gathered from the PM's dmref entries. Page numbers land through the publish pipeline (WeasyPrint uses generated content; XSL-FO uses fo:page-number-citation).

Change bars

Change bars mark deltas between two versions of a WP. Enable in Project Settings; pick auto-baseline (last approved version) or a specific baseline version. The change-bar injector runs before the publish pipeline sees the XML, so both backends produce marked output.

Empty PM check: publish fails clean if the PM has no dmref entries — the error message points you back to Publication Builder to add chapters and WP references first. Common on freshly cloned projects.

Gotchas

Related

← All how-to guides