---
title: "Important: Extended ProjectDemand and demand handling"
manual: "Academic Projects"
version: "main"
source: "Changelog/2.4/Important-ExtendedProjectDemandSignatures.rst"
rendered: "2026-09-22T20:39:25+00:00"
---

# Important: Extended `ProjectDemand` and demand handling {#important-ace-250-academic-projects}

## Description {#description}

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

-   `\FGTCLB\AcademicProjects\Domain\Model\Dto\ProjectDemand` has a new
    `bool $showHiddenRecords` property with
    `setShowHiddenRecords(bool): void` and
    `getShowHiddenRecords(): bool` accessors (default `false`).
-   `\FGTCLB\AcademicProjects\Factory\DemandFactory::createDemandObject()`
    now reads `$settings['showHiddenRecords']` and sets the flag on the
    demand object.
-   `\FGTCLB\AcademicProjects\Domain\Repository\ProjectRepository::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 `ProjectRepository::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
`ProjectDemand` themselves can opt in by calling
`setShowHiddenRecords(true)`.

## Affected Installations {#affected-installations}

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