Companies: a full name and acronyms, with the person choosing which one lists show #1245

Open
opened 2026-11-13 10:26:09 +00:00 by tiagoagueda · 0 comments
Owner

The need

A company is often known by two names: the full name and an acronym or short form, for example CNRS = Centre National de la Recherche Scientifique, EDF = Électricité de France, SNCF, AXA. Today a company holds one name (the identifying one) plus its names in other languages (CompanyName, #673). There is nowhere to say "this is its full name and this is its acronym", and the lists show whichever one was typed first.

Wanted

  • A company can hold a full name and one or more acronyms / short names, each editable under Edit and shown on the company page.
  • The person chooses which one the lists show (Companies, Listings, Applications, Today, the board, the command bar, documents' placeholders where the company name is used). The choice is per company, and a person can change it at any time.
  • The name not chosen is not lost: it is shown on the company page, searched by the search box and the command bar (typing CNRS or Centre National finds the same company), and offered by the duplicate notice and a merge's matching, so CNRS and Centre National de la Recherche Scientifique are not entered twice.

Design points to decide

  1. Model: extend CompanyName with a kind (full, acronym, short) beside its language, or a new table. The existing constraint is one name per company and language, so acronyms (which have no language, or several) need their own rule.
  2. Display name: Company.name stays the identifying value (uniqueness, merge, CSV), as #673 decided; a new display_name choice (which of the person's names is used in lists) is read through one helper so no template picks a field itself.
  3. Lookups: the register lookup and Wikidata can supply the full name and the acronym (Wikidata has "short name" and "official name"; the Annuaire has sigle and nom_complet); where they do, offer them to the person, never apply them silently. Related: #1244 (capitals in the Annuaire's answer).
  4. Documents: a letter or CV that names the company uses the full name by default, with the choice available per template; say which in the decision.
  5. Sharing and export: the names travel with the company in shares, the CSV, the JSON export, the API and the backup archive (format bump and migration), and the API shows both with the chosen one marked.

Tests

The list shows the chosen name; changing the choice changes every list; search and the duplicate notice find both names; a company without an acronym behaves as today; the API, export and archive round-trip the names.

Strings go through Weblate only.

## The need A company is often known by two names: the full name and an acronym or short form, for example **CNRS** = *Centre National de la Recherche Scientifique*, **EDF** = *Électricité de France*, **SNCF**, **AXA**. Today a company holds one `name` (the identifying one) plus its names in other languages (`CompanyName`, #673). There is nowhere to say "this is its full name and this is its acronym", and the lists show whichever one was typed first. ## Wanted - A company can hold a **full name** and one or more **acronyms / short names**, each editable under Edit and shown on the company page. - **The person chooses which one the lists show** (Companies, Listings, Applications, Today, the board, the command bar, documents' placeholders where the company name is used). The choice is per company, and a person can change it at any time. - The name not chosen is not lost: it is shown on the company page, searched by the search box and the command bar (typing `CNRS` or `Centre National` finds the same company), and offered by the duplicate notice and a merge's matching, so `CNRS` and `Centre National de la Recherche Scientifique` are not entered twice. ## Design points to decide 1. **Model:** extend `CompanyName` with a kind (`full`, `acronym`, `short`) beside its language, or a new table. The existing constraint is one name per company and language, so acronyms (which have no language, or several) need their own rule. 2. **Display name:** `Company.name` stays the identifying value (uniqueness, merge, CSV), as #673 decided; a new `display_name` choice (which of the person's names is used in lists) is read through one helper so no template picks a field itself. 3. **Lookups:** the register lookup and Wikidata can supply the full name and the acronym (Wikidata has "short name" and "official name"; the Annuaire has `sigle` and `nom_complet`); where they do, offer them to the person, never apply them silently. Related: #1244 (capitals in the Annuaire's answer). 4. **Documents:** a letter or CV that names the company uses the full name by default, with the choice available per template; say which in the decision. 5. **Sharing and export:** the names travel with the company in shares, the CSV, the JSON export, the API and the backup archive (format bump and migration), and the API shows both with the chosen one marked. ## Tests The list shows the chosen name; changing the choice changes every list; search and the duplicate notice find both names; a company without an acronym behaves as today; the API, export and archive round-trip the names. Strings go through Weblate only.
tiagoagueda added this to the 0.6.0 milestone 2026-11-13 10:26:09 +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#1245
No description provided.