Document Gotenberg-powered file conversion for non-core formats - #2218
Conversation
Adds a "Convertible Formats (via Gotenberg)" section to docs/upload_methods/supported_formats.md explaining the ~126 LibreOffice-backed extensions the optional pre-parse converter can turn into PDF, and a screenshotted "File Converters (Gotenberg)" walkthrough in docs/pipelines/pipeline_configuration.md covering enabling/disabling via the Admin UI or DEFAULT_FILE_CONVERTER. Also documents the already-running gotenberg compose service in choose-and-configure-docker-stack.md, adds GOTENBERG_* examples to the sample .django env files, and updates README's Supported Formats section. Adds a data-testid to the File Converter row in FiletypeDefaults.tsx and three docScreenshot captures in the existing file-converter on/off Playwright component tests to back the walkthrough.
ReviewDocs-focused PR (README, Verification performedI cross-checked the technical claims in the docs against the current code rather than taking them at face value:
I did not find any factual inaccuracies in the documentation — this is a well-verified PR, consistent with the stated test plan (tsc, targeted Playwright run, changelog check, manual link review). Minor observations (non-blocking)
Test coverageThe three new SecurityNo security-relevant code changes. The docs appropriately point readers to the pipeline architecture doc for the "SSRF/stored-content security posture" discussion rather than re-explaining it here, avoiding duplicated (and potentially drifting) security guidance. Overall: Solid, accurate, well-scoped documentation PR. No blocking issues found. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Summary
docs/upload_methods/supported_formats.md, explaining the ~126 LibreOffice-backed extensions (legacy Office, OpenDocument, iWork, WordPerfect, images, HTML, ...) the optional pre-parse file converter can turn into PDF, how conversion fits into the ingest pipeline, and where the live/authoritative extension list lives.docs/pipelines/pipeline_configuration.mdwith step-by-step instructions for enabling/disabling conversion via the Admin UI (with new screenshots) or theDEFAULT_FILE_CONVERTERenv var, plus a note that thegotenbergcompose service already ships inlocal.yml/production.ymland needs no compose-file changes to use.docs/configuration/choose-and-configure-docker-stack.mddocumentinggotenberg(and pointers towarp-ingest/privacy_filter).GOTENBERG_SERVICE_URL,GOTENBERG_CONVERTER_TIMEOUT, andDEFAULT_FILE_CONVERTERin the sample.djangoenv files.README.md's "Supported Formats" section and documentation table to mention the conversion capability.docs/upload_methods/index.mdandsingle_upload.mdto mention the pre-parse conversion step.Screenshots
New
data-testid="file-converter-row"on the File Converter row inFiletypeDefaults.tsx, and three newdocScreenshotcaptures in the existing "file converter on/off" Playwright component test suite (frontend/tests/system-settings-flows.ct.tsx) back the walkthrough:admin--pipeline-settings--file-converter-disabled.pngadmin--pipeline-settings--file-converter-picker.pngadmin--pipeline-settings--file-converter-enabled.pngThese were generated locally by running the actual component tests (not hand-crafted), so they reflect the real UI.
Test plan
yarn tsc --noEmitpassesyarn test:ct --reporter=list -g "file converter on/off"— both tests pass, screenshots generatedpre-commit(configured hooks) pass on all changed filespython scripts/collate_changelog.py --checkpasses🤖 Generated with Claude Code
Generated by Claude Code