---
title: "Breaking: Renamed itemsProcFunc handler classes to FormEngine namespace"
manual: "Academic Profiles"
version: "main"
source: "Changelog/2.4/Breaking-RenamedItemsProcFuncClassesToFormEngineNamespace.rst"
rendered: "2026-10-02T20:47:49+00:00"
---

# Breaking: Renamed `itemsProcFunc` handler classes to `FormEngine` namespace {#breaking-1783613367}

## Description {#description}

While introducing the shared PSR-14 event
`\FGTCLB\AcademicBase\Event\ModifyTcaSelectFieldItemsEvent` to allow
modifying the select items of fields populated by an `itemsProcFunc`, the two
`itemsProcFunc` handler classes shipped by `EXT:academic_persons` received a
proper namespace and class names suitable for classes providing
`itemsProcFunc` implementations.

The following classes have been renamed and moved:

-   `\FGTCLB\AcademicPersons\Backend\Form\ContractItemsProcFunc` is now
    `\FGTCLB\AcademicPersons\Backend\FormEngine\ContractItems`.
-   `\FGTCLB\AcademicPersons\Backend\Form\ProfileShowFieldsItemProcFunc`
    is now `\FGTCLB\AcademicPersons\Backend\FormEngine\ProfileShowFieldsItems`.

Additionally the entry method of the profile show fields handler has been
streamlined from `showFields()` to `itemsProcFunc()` to match the
other handlers.

The references to these classes in the shipped plugin FlexForms have been
adjusted accordingly.

## Impact {#impact}

Referencing the old class names or the old `showFields()` method throws
a PHP error. This affects TCA/FlexForm `itemsProcFunc` configurations,
projects extending or replacing these classes and any code instantiating them
directly.

## Affected Installations {#affected-installations}

Installations that reference the old classes in own TCA/FlexForm
configuration, extend or replace them, or call them directly.

## Migration {#migration}

Replace all usages of the old class names with the new ones and use the
`itemsProcFunc()` method for both handlers:

```text
FGTCLB\AcademicPersons\Backend\Form\ContractItemsProcFunc->itemsProcFunc
=> FGTCLB\AcademicPersons\Backend\FormEngine\ContractItems->itemsProcFunc

FGTCLB\AcademicPersons\Backend\Form\ProfileShowFieldsItemProcFunc->showFields
=> FGTCLB\AcademicPersons\Backend\FormEngine\ProfileShowFieldsItems->itemsProcFunc
```

Projects that only replaced the shipped items should consider using the new
`\FGTCLB\AcademicBase\Event\ModifyTcaSelectFieldItemsEvent` event listener
instead of a custom `itemsProcFunc`.
