Academic Persons Edit 

Extension key

academic_persons_edit

Package name

fgtclb/academic-persons-edit

Version

2.3

Language

en

Author

FGTCLB

License

This document is published under the Creative Commons BY 4.0 license.

Rendered

Sun, 26 Apr 2026 17:08:40 +0000


This extension extends the academic person extension by connection person profiles to frontend users. This extension provides plugins to edit the assigned profiles from the TYPO3 frontend.


Table of Contents:

What does it do? 

This extension provides the option to connect person profils from EXT_academic_persons to TYPO3 frontend users.

In addition this extension provides plugins to choose and edit an assigned profile. Therefore a frontend user with an assigned person profile has to be logged in.

Installation 

This extension can be installed using the TYPO3 extension manager or by composer.

composer install fgtclb/academic-persons-edit
Copied!

General configuration 

Extension configuration There are some options for global extension configuration:

profile.autoCreateProfiles

profile.autoCreateProfiles
type

boolean

Default

false

If enabled, a new profile will be created when a frontend user without an

assigned profile and that meets the criteria logs in.

profile.createProfileForUserGroups

profile.createProfileForUserGroups
type

string

Default
 

A comma-separated list of frontend group IDs. When a user without an assigned profile logs in and is assigned to one of these groups, a new profile will be created.

profile.allowedLanguages

profile.allowedLanguages
type

string

Default
 

A comma-separated list of language IDs. These IDs configure in which languages a persons profile can be translated by a frontend user.

Overriding templates 

EXT:academic_persons_edit is using Fluid as template engine.

This documentation won't bring you all information about Fluid but only the most important things you need for using it. You can get more information in the section Fluid templates of the Sitepackage tutorial. A complete reference of Fluid ViewHelpers provided by TYPO3 can be found in the ViewHelper Reference

Change the templates using TypoScript constants 

As any Extbase based extension, you can find the templates in the directory Resources/Private/.

If you want to change a template, copy the desired files to the directory where you store the templates.

We suggest that you use a sitepackage extension. Learn how to Create a sitepackage extension.

# TypoScript constants
plugin.tx_academicpersonsedit {
    view {
        templateRootPath = EXT:mysitepackage/Resources/Private/Extensions/myextension/Templates/
        partialRootPath = EXT:mysitepackage/Resources/Private/Extensions/myextension/Partials/
        layoutRootPath = EXT:mysitepackage/Resources/Private/Extensions/myextension/Layouts/
    }
}
Copied!

Known problems 

Please note that this extension is still in development. Changes to existing code may appear in upcoming versions.

If you run into a bug or a feature that would be helpful, please use the issue tracker.

Breaking: Migrated extbase plugins from list_type to CType 

Description 

TYPO3 v13 deprecated the tt_content sub-type feature, only used for CType=list sub-typing also known as list_type and mostly used based on old times for extbase based plugins. It has been possible since the very beginning to register Extbase Plugins directly as CType instead of CType=list sub-type, which has now done.

Technically this is a breaking change, and instances upgrading from 1.x version of the plugin needs to update corresponding tt_content records in the database and eventually adopt addition, adjustments or overrides requiring to use the correct CType.

Impact 

The change relates to following plugins:

  • academicpersonsedit_profileediting
  • academicpersonsedit_profileswitcher
  • academicpersons_listanddetail
  • academicpersons_selectedcontracts
  • academicpersons_selectedprofiles

Affected Installations 

All installations using the above listed plugins prior V2.0.

Migration 

A TYPO3 UpgradeWizard academicPersonsEdit_pluginUpgradeWizard is provided to migrate plugins from CType=list to dedicated CTypes matching the new registration.

Breaking: Removed nullable form dto argument from all controller newActions() 

Description 

The newAction() of the EXT:academic_persons_edit controllers only displays the initial form for create a new entity submitting data submission to the createAction() [POST] and never handles the form again. Following that, there is no need to have form data as optional argument for the newAction() and beside that this would allow to prefill data used for the form using link manipulations as the action is a GET action, which we do not want to work.

Not verified if having the form object as nullable for action in place has been required in earlier extbase days, but today that is absolutely not the case and could only be uses to prefill form data calling that action with corresponding get arguments, which can be considered dangerous and needs to be omitted in the first place.

In case the validation for the createAction() is invalid extbase calls the errorAction() of the controller forwarding the request internally to the newAction() along with the validationResult, already omitting to send the form data argument and being null in any-case. Using the <f:form.* /> fluid ViewHelpers to render the form elements takes care of this and keep the entered values as values even if the form dto object is initialized with empty values, which means that we do not have to take care of that ourself.

Impact 

The optional (nullable) form arguments are removed from following actions:

  • ContractController->newAction()
  • EmailAdressController->newAction()
  • PhoneNumberController->newAction()
  • PhysicalAddressController->newAction()
  • ProfileInformationController->newAction()

Affected Installations 

All installations using the EXT:academic_persons_edit extension version prior V2.1.

Migration 

Making this visible, for example this

public function newAction(
    Profile $profile,
    ?ContractFormData $contractFormData = null,
): ResponseInterface { /* ... */ }
Copied!

to

public function newAction(
    Profile $profile,
): ResponseInterface { /* ... */ }
Copied!

Important Notes 

There may be use-cases in projects to provide kind of prefilled actions, albeit this should be only a edge-case. In these cases, the project should implement a custom controller and action to create the entity with the prefilled data and display (redirect) to the editAction(). If that case rises up in projects, we may revisit this here and eventually come up with another solution, considering security aspects more seriously in these cases.

Feature: Added options to move items to top or bottom in lists 

Description 

Profile related lists now provide additional actions to quickly move entries directly to the first or last position without having to step through them item by item. This applies to contracts and profile information on a profile as well as email addresses, phone numbers and physical addresses on a contract.

Instead of only being able to move an item one step up or down, editors can now use dedicated "move to top" and "move to bottom" actions to rearrange the order of items more efficiently. The sorting values of affected records are normalized while reordering to keep a clean, strictly increasing sorting sequence.

Impact 

Editors working with the EXT:academic_persons_edit extension gain more convenient tools for managing the order of:

  • profile contracts
  • profile information
  • contract email addresses
  • contract phone numbers
  • contract physical addresses

The new options reduce the number of clicks required to bring a record to the top or bottom of a list and make it easier to maintain a stable and predictable display order.

Affected Installations 

All installations using the EXT:academic_persons_edit extension starting with version 2.3.

Migration 

No explicit migration is required. Existing records keep their current order and sorting values. The new actions can be used immediately to rearrange items as needed and will normalize sorting values on change.

Important: Added options to move items to top or bottom in lists 

Description 

Profile related lists now provide additional actions to quickly move entries directly to the first or last position without having to step through them item by item. This applies to contracts and profile information on a profile as well as email addresses, phone numbers and physical addresses on a contract.

Instead of only being able to move an item one step up or down, editors can now use dedicated "move to top" and "move to bottom" actions to rearrange the order of items more efficiently. The sorting values of affected records are normalized while reordering to keep a clean, strictly increasing sorting sequence.

Impact 

Editors working with the EXT:academic_persons_edit extension gain more convenient tools for managing the order of:

  • profile contracts
  • profile information
  • contract email addresses
  • contract phone numbers
  • contract physical addresses

The new options reduce the number of clicks required to bring a record to the top or bottom of a list and make it easier to maintain a stable and predictable display order.

Affected Installations 

All installations using the EXT:academic_persons_edit extension starting with version 2.3.

Migration 

No explicit migration is required. Existing records keep their current order and sorting values. The new actions can be used immediately to rearrange items as needed and will normalize sorting values on change.