Documentate is a WordPress plugin for generating official resolutions and structured administrative documents from ODT/DOCX templates.
It uses OpenTBS for template merging and supports conversion to PDF/DOCX via Collabora Online (server) or LibreOffice WASM (browser).
Try it in the browser with WordPress Playground (includes sample data; changes are lost when you close the tab):
Preview in WordPress Playground
- Document types (templates) defined as a custom taxonomy with schema-driven fields
- Generation of ODT/DOCX from templates via OpenTBS
- Optional conversion to PDF (and between office formats) with:
- Collabora Online (default, server-side)
- LibreOffice WASM in the browser (experimental, client-side)
- Per-user scope filtering (hierarchical categories) for document visibility
- Workflow, revisions, attachments, collaborative editing support
- Multisite compatible
- Download the latest release from the GitHub Releases page.
- Upload the ZIP via Plugins → Add New → Upload Plugin.
- Activate the plugin.
- Configure conversion engine and other options under Settings → Documentate.
Requires Docker (wp-env).
make up # Start Docker wp-env (http://localhost:8889, admin / password)
make down # Stop containers
make check # fix + lint + plugin-check + tests + translationsSee AGENTS.md for the full agent/developer instructions and ARCHITECTURE.md for system design.
| Target | Description |
|---|---|
make fix |
Format PHP with mago |
make lint |
Lint PHP with mago |
make check-plugin |
WordPress plugin-check |
make test |
PHPUnit unit tests |
make test-e2e |
Playwright E2E tests |
make check |
Full verification suite |
make test runs the PHPUnit suite inside the wp-env tests-cli container (MySQL); make test-e2e runs the Playwright E2E suite. Both accept FILE= / FILTER=.
Selectable under Settings → Conversion Engine:
- Collabora Online (recommended): server-side web service, reliable for batch/PDF generation.
- LibreOffice WASM (experimental): runs entirely in the browser via
@matbee/libreoffice-converter. Large binaries are loaded from a CDN (configurable); requires cross-origin isolation headers (COOP/COEP). Seeadmin/vendor/libreoffice-converter/README.md.
- Document Types (templates): only administrators can create/edit/delete them.
- Documents: filtered by a per-user scope category (hierarchical). Administrators see everything. Users without an assigned scope see no documents.
Assign scope under Users → Edit user → Documentate section.
Schema field definitions support help text before and after the control:
before_description: shown before the inputdescription: shown after the input (standard behaviour)
Optional styling keys: before_description_class, before_description_style, before_description_color.
GPL-3.0. See LICENSE.txt.