print: the tenant key DIRIGIBLE_PRINT_TEMPLATE_<ENTITY>_<LANG> does not select a tenant template - standard-custom stays unprinted, the newest shipped version prints (14.88.0, #7755)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 78/100
Research direction
Start with PrintTemplateSelection.get and trace how TenantConfigurationInitFilter.resolveInjectableForCurrentTenant populates the thread configuration, then inspect the DIRIGIBLE_PRINT_TEMPLATE_ handling in TenantConfigurationKeyPolicy. Reproduce through the SalesInvoice template-list and print endpoints, including the tenant configuration update. The work is done when standard-custom is active and renders for the migrated template while the shipped version remains selectable, with the BusinessIntents STA coverage verifying tenant selection.
Written by the indexing model from the issue text.
Description
What happens
On 14.88.0 (PostgreSQL, Cognito, single tenant, DIRIGIBLE_MULTI_TENANT_MODE=false), the first boot migrated a customised legacy Templates/SalesInvoice/Print/en/standard.print. Two things are as documented:
- it is kept as
standard-custom(derived-from: standard@legacy); GET /services/core/configurations/tenantlistsDIRIGIBLE_PRINT_TEMPLATE_SALESINVOICE_EN = standard-custom.
But:
GET /services/print/SalesInvoice/templates?lang=enreports[email protected]asactive, andstandard-customas not active;POST /services/print/SalesInvoice?lang=enwith notemplateparameter renders the shipped layout. Its byte size equals that of[email protected](37 387), not that oftemplate=standard-custom(37 308);PUT /services/core/configurations/tenant {"key":"DIRIGIBLE_PRINT_TEMPLATE_SALESINVOICE_EN","value":"standard-custom"}answers 2xx, but the catalogue and the print stay on[email protected].
The same holds for all 16 migrated copies: 8 documents × en/bg, each with key=standard-custom and active=standard@<shipped>.
Expected (#7755 / PR #7763)
"Resolution: the template request parameter, then the configuration, then the newest shipped version". The migration's own selection (standard-custom) should print until the tenant picks the shipped version, and re-selecting standard-custom should be the rollback.
Where to look
PrintTemplateSelection.get reads Configuration.get(key) from the thread configuration that TenantConfigurationInitFilter fills (resolveInjectableForCurrentTenant, prefix DIRIGIBLE_PRINT_TEMPLATE_ in TenantConfigurationKeyPolicy). On this instance the stored value never reaches the resolution, for the list endpoint or for the render.
Evidence
BusinessIntents STA suite on solution-all 1.31.0 (Gaia/Rhea 14.88.0). Row the tenant key decides which SalesInvoice layout prints reported:
before=standard-custom shipped=37387 custom=37308 ; key=standard-custom [email protected] [email protected] ; [email protected] [email protected] [email protected]
(runs 39005114253 and 39009837889 of BusinessIntents/businessintents-aws, sta-suite.yaml).
Impact
Tenants already print the new shipped layout, which is harmless for us. However, no tenant can select a tenant template, so a customised layout cannot be chosen and the documented rollback does not work.
- Dominant language
- Java
- Stars
- 278
- Forks
- 97
- Avg merge
- 18h 53m
- Merged PRs (30d)
- 228
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from eclipse-dirigible/dirigible
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
eclipse-dirigible/dirigible#7958 ·
Maintainers usually reply within 1 day
-
intent: a create-from without fromStatus answers 200 on a missing or unknown source id (no 400/404)Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
eclipse-dirigible/dirigible#7945 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
eclipse-dirigible/dirigible#7891 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
eclipse-dirigible/dirigible#6538 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
eclipse-dirigible/dirigible#4812 ·
Maintainers usually reply within 1 day
All issues in eclipse-dirigible/dirigible
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
QuiltMC/update-quilt-meta#28 ·
-
area/kotlin
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Large page[number] overflows the computed offset and returns the wrong pagePossibly taken @auraseb claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day