---
title: "For developers"
manual: "Academic Base"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-base:developers@main"
source: "Developers/Index.rst"
rendered: "2026-10-17T08:47:46+00:00"
---

# For developers {#developers}

What the academic extensions offer to the code of a project, and what they
keep to themselves.

**[Extension points](https://docs.typo3.org/permalink/fgtclb/academic-base:developers-extension-points@main)**

The public API of every academic extension and of
**category_types**: the events, the interfaces, the domain
models, and what an XCLASS or a subclass may and may not rely on.

**[Events](https://docs.typo3.org/permalink/fgtclb/academic-base:developers-events@main)**

The three events of this extension: one it dispatches itself, and two
it owns for the other academic extensions to dispatch.

## Events {#developers-events}

This extension owns three PSR-14 events. It dispatches one of them itself.
The other two are dispatched by the plugins and the backend item providers of
the other academic extensions, which is why they live here: one event class
serves all of them, and a listener written once applies to every extension
that dispatches it. The pages below describe each event in general. The
developer chapter of every dispatching extension describes what that
extension passes in, with an example that fits its plugins.

| Event | Dispatched | What a listener can change | Owner |
| --- | --- | --- | --- |
| [CollectFrontendIconsEvent](https://docs.typo3.org/permalink/fgtclb/academic-base:developers-event-collect-frontend-icons-event@main) | by this extension, once each time the frontend icon registry is built, when the system caches are built or warmed up, not per request | contribute icons it computes in code | this extension |
| [ModifyPluginViewEvent](https://docs.typo3.org/permalink/fgtclb/academic-base:developers-event-modify-plugin-view-event@main) | by the plugins of seven other academic extensions, once each time an action renders its view, after the action assigned its own variables | assign further view variables | this extension |
| [ModifyTcaSelectFieldItemsEvent](https://docs.typo3.org/permalink/fgtclb/academic-base:developers-event-modify-tca-select-field-items-event@main) | by the item providers of **academic_jobs**, **academic_persons** and **academic_contacts4pages**, when the items of one of their select fields are built, in the backend form and in the job form | add, remove and reorder the items | this extension |

Every event is public API, see [Events](https://docs.typo3.org/permalink/fgtclb/academic-base:developers-extension-points-events@main).
