---
title: "Important: Profile create and update commands refuse wrong page lists"
manual: "Academic Profiles"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-persons:important-ace-845-academic-persons@main"
source: "Changelog/2.4/Important-ProfileCommandsRefuseInvalidPageLists.rst"
rendered: "2026-10-15T10:24:29+00:00"
---

# Important: Profile create and update commands refuse wrong page lists {#important-ace-845-academic-persons}

## Description {#description}

`academic:createprofiles` and `academic:updateprofiles` read
`--include-pids` and `--exclude-pids` with
`GeneralUtility::intExplode()`, which converts every part to an integer,
whatever it holds. A list such as `abc` became page `0`, and `100;110`
became page `100`. The run ended with exit code `0` and
printed nothing, so a typo widened or narrowed it without notice.

Both commands now read the two options the way
`academic:cleanupprofiles` does: every comma-separated part must be a
page uid. A list with any other part is refused with an error message and the
exit code `2` (invalid input), and nothing is created or updated.

Both commands also report their result:

-   `academic:createprofiles` prints the number of created profiles.
    When it created none and `profile.autoCreateProfiles` is disabled in the
    extension configuration of `EXT:academic_persons`, it says so, because
    that option is what makes the default profile factory create profiles at
    all. A profile factory chosen through the
    `ChooseProfileFactoryEvent` may ignore the option, so the hint names
    the default factory.
-   `academic:updateprofiles` prints the number of frontend users whose
    profiles it updated.

## Impact {#impact}

A scheduler task or a script that passes a page list with a part that is no
page uid fails now instead of running with a different list. Correct the list.
Spaces around the commas and empty parts are still accepted.

## Affected Installations {#affected-installations}

Installations that run the profile create or update command with
`--include-pids` or `--exclude-pids`.
