Feature: Command to hide or delete profiles of inactive frontend users 

Description 

academic:updateprofiles keeps profiles up to date with their frontend users, but never changes whether a profile is shown. A profile therefore stayed online after its frontend user was disabled or deleted, and projects wrote a command of their own to take it offline.

The new command academic:cleanupprofiles looks at the profiles the synchronization manages, and at the frontend users linked to each of them:

  • When every linked frontend user is disabled or past its end time, the profile is hidden. --disabled=keep leaves it.
  • When every linked frontend user is deleted, or its record is gone, the profile is deleted together with its translations and contracts. --deleted=hide hides it instead, --deleted=keep leaves it.
  • A profile with at least one active frontend user, a profile with Disable profile sync set, a profile without a linked frontend user and a profile an editor linked to a login the synchronization does not read are never touched.

--include-pids and --exclude-pids choose the profiles by the pages of their frontend users: one frontend user on an included page takes a profile in, one on an excluded page leaves it alone. --dry-run lists what the command would do and writes nothing.

Every change is saved through the DataHandler, like a change in the backend: the history records it, the cached list and detail pages are cleared, and a deleted profile can be restored. The command never shows a profile again.

See Profile cleanup.

Impact 

The command changes nothing until it is run. Before scheduling it, run it once with --dry-run : deleting is the default for profiles whose frontend users are all deleted.

A profile deleted or restored in the backend now clears the cached list and detail pages as well. Before, an installation without the automatic cache tagging of the core kept showing a deleted profile until the cache expired. TYPO3 v12 has no automatic cache tagging, and on v13 it is off in instances upgraded from a version before v13.3.

A project that ships a command of its own named academic:cleanupprofiles keeps running that one: of two commands with the same name, the one registered last is used. Remove the project's command to use this one.

Affected Installations 

Installations that synchronize profiles from frontend users and want profiles of disabled or deleted frontend users taken offline, in particular those that wrote a command of their own for it.