Europass: the importer and the Postulo Templates CV theme share one name #911

Closed
opened 2026-10-15 17:03:56 +00:00 by tiagoagueda · 0 comments
Owner

Two different things are both called "Europass": the core plugin that reads Europass files, and the CV theme from Postulo Templates. Wherever both show up, nobody can tell which is which.

What exists today

  • The importer (core). src/postulo/plugins/europass/__init__.py declares a shipped plugin:
    • name="europass", label=_("Europass");
    • kind="importer", under the File formats parent;
    • it reads the Europass PDF, its Candidate XML, and the older SkillsPassport XML and JSON.
    • It appears among the plugins, and its own help text refers to it as "Europass".
  • The theme (postulo-templates). src/postulo_templates/plugin.py declares:
    • Theme(name="europass", label=_("Europass"), provider=_("Postulo Templates")), a CV laid out like the Europass CV;
    • the theme picker shows it as "Europass, from Postulo Templates".
  • Names clash in two places. The two names are in different namespaces (plugins and themes), so nothing collides in code today. But:
    • the visible label is identical;
    • a person who switches "Europass" off, reads about "Europass" in help, or searches for it gets the other one, or both.
  • It will get worse. A Europass export (writing the format, not only reading it) would join the importer under the same name.

What would change

  • Give each its own label, saying what it is. For example:

    • the importer: Europass files (or Europass import while it only reads);
    • the theme: Europass layout (or Europass-style CV).

    The exact wording is the maintainer's call, and the help texts that mention either one should use the same words.

  • Decide whether the theme's internal name changes as well. Stored documents record the theme name, so a rename needs an alias or a data migration so existing CVs keep their theme.

    Keeping europass as the theme name and changing only the labels is the lighter option.

  • New labels go through the catalogues (Weblate), in core and in postulo-templates.

Where

Core for the importer's label. postulo-templates for the theme's label, in its own repository, as a twin of this issue once the wording is chosen.

Two different things are both called "Europass": the core plugin that reads Europass files, and the CV theme from Postulo Templates. Wherever both show up, nobody can tell which is which. ## What exists today - **The importer (core).** `src/postulo/plugins/europass/__init__.py` declares a shipped plugin: - `name="europass"`, `label=_("Europass")`; - `kind="importer"`, under the *File formats* parent; - it reads the Europass PDF, its Candidate XML, and the older SkillsPassport XML and JSON. - It appears among the plugins, and its own help text refers to it as "Europass". - **The theme (postulo-templates).** `src/postulo_templates/plugin.py` declares: - `Theme(name="europass", label=_("Europass"), provider=_("Postulo Templates"))`, a CV laid out like the Europass CV; - the theme picker shows it as "Europass, from Postulo Templates". - **Names clash in two places.** The two `name`s are in different namespaces (plugins and themes), so nothing collides in code today. But: - the visible label is identical; - a person who switches "Europass" off, reads about "Europass" in help, or searches for it gets the other one, or both. - **It will get worse.** A Europass *export* (writing the format, not only reading it) would join the importer under the same name. ## What would change - **Give each its own label, saying what it is.** For example: - the importer: *Europass files* (or *Europass import* while it only reads); - the theme: *Europass layout* (or *Europass-style CV*). The exact wording is the maintainer's call, and the help texts that mention either one should use the same words. - **Decide whether the theme's internal `name` changes as well.** Stored documents record the theme name, so a rename needs an alias or a data migration so existing CVs keep their theme. Keeping `europass` as the theme name and changing only the labels is the lighter option. - **New labels go through the catalogues (Weblate)**, in core and in postulo-templates. ## Where Core for the importer's label. **postulo-templates** for the theme's label, in its own repository, as a twin of this issue once the wording is chosen.
tiagoagueda added this to the 0.5.0 milestone 2026-10-25 17:04:12 +00:00
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#911
No description provided.