---
title: "Important: Extended ProgramDemand and demand handling"
manual: "Academic Programs"
version: "main"
source: "Changelog/2.4/Important-ExtendedProgramDemandSignatures.rst"
rendered: "2026-09-27T09:40:45+00:00"
---

# Important: Extended `ProgramDemand` and demand handling {#important-ace-250-academic-programs}

## Description {#description}

To support the new "Show hidden records" plugin option, the program
demand pipeline gained a new transport flag:

-   `\FGTCLB\AcademicPrograms\Domain\Model\Dto\ProgramDemand` has a new
    `bool $showHiddenRecords` property with
    `setShowHiddenRecords(bool): void` and
    `getShowHiddenRecords(): bool` accessors (default `false`).
-   `\FGTCLB\AcademicPrograms\Factory\DemandFactory::createDemandObject()`
    now reads `$settings['showHiddenRecords']` and sets the flag on the
    demand object.
-   `\FGTCLB\AcademicPrograms\Domain\Repository\ProgramRepository::findByDemand()`
    honours the flag: when it is `true`, the query ignores only the
    `disabled` (`hidden`) enable field via the Extbase query settings.

The public method signatures of `DemandFactory::createDemandObject()`
and `ProgramRepository::findByDemand()` are unchanged.

## Impact {#impact}

The change is non-breaking: the new flag defaults to `false` and no
existing method signature changed. Projects that build a
`ProgramDemand` themselves can opt in by calling
`setShowHiddenRecords(true)`.

## Affected Installations {#affected-installations}

Only installations that extend or replace the `ProgramDemand` DTO,
the `DemandFactory` or the `ProgramRepository` need to take the
added flag into account. All other installations are unaffected.
