---
title: "Breaking: Removed duplicated ContractItemsProcFunc in EXT:academic_contacts4pages"
manual: "Academic Contacts for Pages"
version: "main"
source: "Changelog/2.4/Breaking-RemovedDuplicatedContractItemsProcFunc.rst"
rendered: "2026-09-18T06:17:05+00:00"
---

# Breaking: Removed duplicated `ContractItemsProcFunc` in `EXT:academic_contacts4pages` {#breaking-removed-duplicated-contractitemsprocfunc-in-ext-academic-contacts4pages}

## Description {#description}

`EXT:academic_contacts4pages` shipped its own
`\FGTCLB\AcademicContacts4pages\Backend\FormEngine\ContractItemsProcFunc`,
which basically duplicated the contract `itemsProcFunc` of the hard-depended
`EXT:academic_persons`.

The duplicated class has been removed. The contract selection field now uses
the `itemsProcFunc` shipped by `EXT:academic_persons`,
`\FGTCLB\AcademicPersons\Backend\FormEngine\ContractItems`, which is
easier to maintain, especially when changes to the `itemsProcFunc` are made.

## Impact {#impact}

Referencing the removed class throws a PHP error. The shipped TCA of
`tx_academiccontacts4pages_domain_model_contact` has been switched to the
`EXT:academic_persons` handler.

## Affected Installations {#affected-installations}

Installations that reference
`\FGTCLB\AcademicContacts4pages\Backend\FormEngine\ContractItemsProcFunc`
in own TCA/FlexForm configuration, extend or replace it, or call it directly.

## Migration {#migration}

Use the `itemsProcFunc` provided by `EXT:academic_persons` instead:

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

Projects that need to adjust the available contract items should use the
`\FGTCLB\AcademicBase\Event\ModifyTcaSelectFieldItemsEvent` event listener
instead of a custom `itemsProcFunc`.
