How do I determine a user's locale, calendar or timezone when not specified in User account??

A user account has settings for their locale, preferred calendar and timezone.  Those same settings are available in a group's "preferences" settings and can, theoretically, apply to all members of that group.  In addition, the SBM AE server's TimeZone is available in the System Settings table (ts_SystemSettings).  This setting could be considered a "last resort" when trying to determine a user's TimeZone.  No such defaults are available for locale or calendar ID, but could be added for reference purposes to the System Settings table (not supported by OpenText).

Given a user account where the locale, calendar or timezone is NOT set in the user settings, and where the user is a member of multiple groups and several of those groups have conflicting local, calendar or timezone settings, what is the search order of those groups to determine the user's locale, calendar or timezone???


The TS_USERS table entry for User ID 123 ("W. Flintstone") does not have "locale", calendarID or TimeZone selected.

User ID 123 is a member of the "Bedrock" Group ID #321 where locale="EN-US", CalendarID=1 and TimeZone="EST5EDT".  That user is also a member of the "bowling league" Group ID #987 where locale is not set, CalendarID=2 and TimeZone="Africa/Casablanca".  Which Group takes precedence, and therefore which calendarID and Timezone are selected for the user?

  • I believe it goes like this....

    • User's own settings take top priority.
    • If user does not have these settings, they come from the group.
    • If the user is in more than one group, it might be looking at App Admin > Work Center > Work Center Settings > Side Menu Priority to see which group (which this user is a member of) has the highest priority and uses the settings from that group. However, this may literally only control side menu options of conflicting groups and nothing with the locales. It is more likely that it would use the "first" group (the first one assigned to the user, or maybe group with smallest TS_ID number for automatically created or copied users). I've never had any need to figure this out. It would take some trial and error testing, but I'll guess it's one of those two.
    • If all of that is missing, it uses the System Administrator > Options > Settings > Locale. I believe this defaults to the OS locale of the server, but technically it can be changed. (I think this is also what you see in the TS_SYSTEMSETTINGS table.)
    • Finally, there are the locale settings on the Windows OS.

    Does that help at all?

  • so, in the example above, I will guess the user will get the locale from the "bedrock" group because it has a smaller TS_ID

  • Vickie:

    Thanks for the response.  I'll admit that figuring out the Group stuff is a bit of a challenge.  I'm preparing a demo of SBM Calendars for our team.  I'm hoping that SBM 11.8 Patch 11 finally fixed the Calendar problems that have been plaguing us for a long time.

    I don't know of any way to establish the "priority" of the Groups of which a User is a member.  This is kind of important because it sets the search order for a User's settings and preferences when that user doesn't have user-specific settings.  As you suggested, we can search the Groups as ordered by Group TS_ID.  Other options that have occurred to me:

    • Search groups by count of members (least populated group is first or last???)
    • Search by the order in which that User was added to the Groups
    • Search groups by AccessType (External, Occasional, Normal, Managed Admin)

    Obviously (as you pointed out), any user-specific settings or preferences take priority over any system defaults or settings inherited through Group memberships.