The org.librarysimplified.profiles.api
module provides APIs and
classes related to user profiles.
User profiles are a feature that was contributed by Library For All for use in their classroom-oriented builds of the Library Simplified application. A user profile aggregates a set of accounts, and stores per-user preferences and other attributes. Note that user profiles are completely unrelated to the existing concept of patron user profiles, so care should be taken not to confuse the two.
The user profile system is always enabled, but may be run in either anonymous or named profile mode. In anonymous mode, a user using the application is using an always-active, unnamed user profile and all options to switch profiles, configure profiles, create/delete profiles, are hidden. In named profile mode, the user is first presented with the option to select a profile. The primary benefit to having the two modes is that application code can simply refer to "the current profile" for storing preferences and other data, and can remain agnostic as to whether or not it is running in a build of the application that presents full named user profiles, or one that essentially pretends that profiles do not exist.
NYPL SimplyE builds always run in anonymous profile mode. Library For All builds always run in named profile mode.