Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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)

Open
#7,901 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
java, postgresql
Domain
api, backend, databases

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/tenant lists DIRIGIBLE_PRINT_TEMPLATE_SALESINVOICE_EN = standard-custom.

But:

  • GET /services/print/SalesInvoice/templates?lang=en reports [email protected] as active, and standard-custom as not active;
  • POST /services/print/SalesInvoice?lang=en with no template parameter renders the shipped layout. Its byte size equals that of [email protected] (37 387), not that of template=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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from eclipse-dirigible/dirigible

All issues in eclipse-dirigible/dirigible

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.