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

intent: a roll-up cannot read the injected file / audit columns of a function: Attachment child (latest StoragePath by CreatedAt -> 422)

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

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
java
Domain
api, backend

Research direction

Start with the roll-up validation path and EdmIntentGenerator.attachmentProperties, which the issue identifies as injecting attachment metadata after authored fields are validated. Trace how the generator builds roll-ups and how audit columns are added, then check whether StoragePath and CreatedAt are recognized for a function: Attachment child. Done means the latest roll-up in the example is accepted and generated, or the print feeder resolves the documented extra relation hop.

Written by the indexing model from the issue text.

Description

The gap

A print template reaches a cross-model record one hop away ({{document.Company.<Field>}}, PrintFeederSupport: cross-model depth 1). A company's logo uploaded as a function: Attachment child (CompanyLogo) is therefore two hops from an invoice (document.Company.<logo row>.StoragePath) and cannot be printed. The natural declarative bridge is a roll-up that mirrors the newest upload's path onto the parent:

entities:
  - name: Company
    fields:
      - { name: logo, type: string, length: 1000, readOnly: true }
  - name: CompanyLogo
    function: Attachment
    relations:
      - { name: Company, kind: manyToOne, to: Company, composition: true, required: true }
rollups:
  - { name: latestLogo, entity: CompanyLogo, via: Company, field: logo, op: latest, of: StoragePath, by: CreatedAt }

On 14.93.0 the generate answers 422:

rollup [latestLogo] of [StoragePath] is not a field of [CompanyLogo]
rollup [latestLogo] by [CreatedAt] is not a field of [CompanyLogo]

The file-metadata columns (FileName, ContentType, FileSize, StoragePath, Uuid) and the implicit audit columns (CreatedAt, ...) of a function: Attachment child are injected by the EDM generator (EdmIntentGenerator.attachmentProperties), after the parser has validated the roll-up against the authored fields only.

Ask

Either of:

  1. The roll-up validation (and its generator) knows the injected columns of a file child (and the audit columns of an audited / file-child entity), so op: latest, of: StoragePath, by: CreatedAt is accepted; or
  2. the print feeder descends one more hop into a cross-model record's to-one relations / file children (the "documented follow-up" in PrintFeederSupport), so {{document.Company.Logo.StoragePath}} resolves.

(1) is the smaller change and also serves "latest attachment" mirrors in general (a product's photo, an employee's signed contract).

Where it comes from

BusinessIntents billing: the issuer's logo on invoices / credit notes / debit notes / proformas (#7024 shipped the <image> resolver). Today the tenant has to place Templates/Company/<company id>/logo.png through the Documents perspective by hand; the module wants an upload on the Company record.

🤖 Generated with Claude Code

Dominant language
Java
Stars
278
Forks
97
Avg merge
19h 30m
Merged PRs (30d)
242

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.