Module “Extend file formats”: PDF, DOCX, ODT, iCalendar, vCard and Europass as its sub-modules #877

Closed
opened 2026-10-10 16:11:38 +00:00 by tiagoagueda · 1 comment
Owner

A new module Extend file formats, whose sub-modules each add a format to import and export:

  • PDF: a special sub-module, always on, that cannot be disabled;
  • DOCX, ODT, iCalendar, vCard;
  • Europass: the built-in importer becomes this module's sub-module;
  • References and GeoJSON: new, #879 and #880.

What exists today

  • Export of documents: a format registry, documents/formats.py (register, :122; txt, ODT, DOCX at :156-192), offered to plugins as register_document_format (plugins/api.py). PDF is separate (documents/pdf.py, WeasyPrint as PDF/UA-1, or Chromium).
  • No import of DOCX or ODT (documents/docx.py, documents/odt.py write only).
  • iCalendar (#661): applications/ical.py (the icalendar library), ical_reader.py, ical_import.py. vCard 4 (#660): core/vcard.py. Both exposed on the plugin surface (plugins/api.py:66-100).
  • Europass: the importer plugin plugins/europass/ (kind importer, label Europass, not translated).

What would change

  • A file-formats parent; each format a sub-module whose switch decides whether the format is offered (in the Documents export menu, the calendar and contacts downloads and imports, Your career → Import).
  • PDF declared required: its switch drawn on and disabled.
  • DOCX and ODT import: a new reader for each (see Decisions).
  • Ties in with #862 (Import and Export beside the heading, with a format choice) — its registry is this module's children.

Decisions

  • What "import DOCX/ODT" brings in. A CV or a letter typed elsewhere has no structure Postulo can read reliably. Recommended: import as a file (an upload, as today) plus its text for search, not as a structured CV; structured import stays Europass's and the candidate file's.
  • Switching vCard or iCalendar off hides their downloads, imports and feeds; existing feed URLs answer 404 while off. Recommended.
  • Milestone. Recommended 1.0.0 for the reorganisation, after the module hierarchy.

Checked against main at 8c3d03570. From the maintainer's improvements list of 2026-10-07 (plugins).

A new module **Extend file formats**, whose sub-modules each add a format to import and export: - **PDF**: a special sub-module, **always on**, that cannot be disabled; - **DOCX**, **ODT**, **iCalendar**, **vCard**; - **Europass**: the built-in importer becomes this module's sub-module; - **References** and **GeoJSON**: new, #879 and #880. ## What exists today - Export of documents: a format registry, `documents/formats.py` (`register`, `:122`; txt, ODT, DOCX at `:156-192`), offered to plugins as `register_document_format` (`plugins/api.py`). **PDF** is separate (`documents/pdf.py`, WeasyPrint as PDF/UA-1, or Chromium). - **No import** of DOCX or ODT (`documents/docx.py`, `documents/odt.py` write only). - iCalendar (#661): `applications/ical.py` (the `icalendar` library), `ical_reader.py`, `ical_import.py`. vCard 4 (#660): `core/vcard.py`. Both exposed on the plugin surface (`plugins/api.py:66-100`). - Europass: the `importer` plugin `plugins/europass/` (kind `importer`, label *Europass*, not translated). ## What would change - A `file-formats` parent; each format a sub-module whose switch decides whether the format is offered (in the Documents export menu, the calendar and contacts downloads and imports, *Your career → Import*). - PDF declared `required`: its switch drawn on and disabled. - DOCX and ODT **import**: a new reader for each (see Decisions). - Ties in with #862 (Import and Export beside the heading, with a format choice) — its registry is this module's children. ## Decisions - **What "import DOCX/ODT" brings in.** A CV or a letter typed elsewhere has no structure Postulo can read reliably. Recommended: import as a **file** (an upload, as today) plus its text for search, not as a structured CV; structured import stays Europass's and the candidate file's. - **Switching vCard or iCalendar off** hides their downloads, imports and feeds; existing feed URLs answer 404 while off. Recommended. - **Milestone.** Recommended 1.0.0 for the reorganisation, after the module hierarchy. Checked against `main` at `8c3d03570`. From the maintainer's improvements list of 2026-10-07 (plugins).
tiagoagueda added this to the 1.0.0 milestone 2026-10-10 16:11:38 +00:00
Author
Owner

Fixed in f0a41ac49 on main.

Fixed in f0a41ac49 on main.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo#877
No description provided.