---
title: "Breaking: Removed duplicated ContractItemsProcFunc in EXT:academic_contacts4pages"
manual: "Academic Contacts for Pages"
version: "3.0"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-contacts4pages:breaking-1783613369@3.0"
source: "Changelog/2.4/Breaking-RemovedDuplicatedContractItemsProcFunc.rst"
rendered: "2026-10-26T17:55:07+00:00"
---

# Breaking: Removed duplicated `ContractItemsProcFunc` in `EXT:academic_contacts4pages` {#breaking-1783613369}

## Description {#description}

`EXT:academic_contacts4pages` shipped its own
`\FGTCLB\AcademicContacts4pages\Backend\FormEngine\ContractItemsProcFunc`,
which duplicated the contract `itemsProcFunc` of `EXT:academic_persons`, a
required dependency of this extension.

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 fails with a PHP error, because the class no
longer exists. 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`.
