---
title: "Important: Profile synchronization ignores the visibility window"
manual: "Academic Profiles"
version: "main"
source: "Changelog/3.0/Important-SynchronizationIgnoresTheVisibilityWindow.rst"
rendered: "2026-09-22T18:32:44+00:00"
---

# Important: Profile synchronization ignores the visibility window {#important-synchronization-ignores-the-visibility-window}

## Description {#description}

Version 2.4 made the profile synchronization keep hidden profiles and
profiles of disabled frontend users up to date, see
[Feature: Synchronize hidden profiles](../2.4/Feature-SynchronizeHiddenProfiles.html#feature-1782285580) and [Breaking: Profile synchronization now includes hidden profiles and users](../2.4/Breaking-ProfileSynchronizationIncludesHiddenProfiles.html#breaking-1782285582). Profiles outside
their start or end time, and profiles restricted to a frontend user group,
were still skipped: the profile update command did not find them and never
updated them. Frontend users outside their own start or end time were not
selected by either command.

Both commands now ignore the whole visibility window:

-   The profile update command finds a profile regardless of its hidden
    flag, start time, end time and frontend user group, updates it from its
    frontend user and dispatches
    `\FGTCLB\AcademicPersons\Event\AfterProfileUpdateEvent` for it. Of
    these four, only the ones the profile table declares as enable columns in
    the installation are ignored; any other enable column stays in effect.
-   The profile create and update commands select frontend users outside
    their start and end time.

Deleted profiles and deleted frontend users stay excluded. The
synchronization still never changes the visibility of a profile: `hidden`,
`starttime`, `endtime` and `fe_group` keep their values, and a profile
outside its window stays invisible in the frontend. The "show hidden records"
plugin option lifts the hidden flag only, as before.

The `$showHidden` argument of
`\FGTCLB\AcademicPersons\Domain\Repository\ProfileRepository::findByFrontendUser()`
now lifts all four enable fields. It exists for the synchronization and is
not meant for display.

## Impact {#impact}

Profiles outside their visibility window are updated on the next
synchronization run, and the listeners of `AfterProfileUpdateEvent` \- slug
regeneration and translation synchronization among them - run for them as
well. Profiles restricted to a frontend user group are included, because a
command-line run has no frontend user group that could match. A frontend
user outside its start and end time gets a profile on the next create run.

To exclude a profile from the synchronization, use its `skip_sync` flag,
not its visibility.

## Affected Installations {#affected-installations}

Installations that run the profile create or update command and control the
visibility of profiles or frontend users through start time, end time or
frontend user groups, for example from a directory import.
