Admin User Level Preferences - hmislk/hmis GitHub Wiki

User-Level Preferences

Overview

User-level preferences are the most personal layer of configuration in HMIS. They apply to a single user account and override all other configuration scopes for that user. Currently, the main user-level preference is the Autodisplay Menu setting. Administrators can manage preferences for any user; users can manage their own preferences if they have the ChangePreference privilege.

When to Use

  • A user wants the navigation menu to open automatically on every page
  • You are configuring a new user's environment before they start work
  • You need to reset a user's preference to the default

Navigating to User Preferences

As an administrator (for any user):

  1. Click AdministrationManage Users
  2. Select the user in the list
  3. Click Manage Preferences in the right action panel
  4. The User Preferences form opens

As a user (for yourself):

  • If you have the ChangePreference privilege, navigate to your personal preferences area

See also: User Preferences and Themes for the full walkthrough of the preferences form.

Available User Preferences

Preference Description Default
Autodisplay Menu When on, the navigation menu expands automatically when any page loads. When off, the user must click the menu icon manually. Off

User Options (ConfigOption Scope)

In addition to the preferences form, users can have ConfigOption records at the USER scope. These are managed via the User Options page in the institution administration index.

Navigate to AdministrationManage InstitutionsUser Options to manage user-scoped ConfigOption records. This allows the same key-value configuration pattern as institution and department options, but applied per user.

Scope Priority Reminder

User-level settings override everything:

  1. USER scope (this level) — highest priority
  2. Department scope
  3. Institution scope
  4. Application scope — lowest priority

Technical Notes (Admin/Developer)

The Autodisplay Menu preference is stored on the UserPreference entity linked to the WebUser. User-scoped ConfigOption records have optionScope = OptionScope.USER and a non-null webUser field. The preferences form saves via sessionController.saveUserPreferences(). The admin_mange_user_options.xhtml page provides the ConfigOption management interface for the USER scope.

Related Features