Important: Profile synchronization ignores the visibility window
Description
The profile synchronization keeps hidden profiles and profiles of disabled frontend users up to date, see Feature: Synchronize hidden profiles and Breaking: Profile synchronization now includes hidden profiles and users. 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:
academic:finds a profile regardless of its hidden flag, start time, end time and frontend user group and updates it from its frontend user. 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.updateprofiles academic:andcreateprofiles academic:select frontend users outside their start and end time.updateprofiles
Deleted profiles and deleted frontend users stay excluded. The
synchronization still never changes the visibility of a profile: hidden,
starttime, endtime and fe_ 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
$show argument of
\FGTCLB\
now lifts all four enable fields. It exists for the synchronization and is
not meant for display.
Impact
Profiles outside their visibility window are updated on the next synchronization run. 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
Disable profile sync checkbox (
skip_), not its
visibility.
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.