Server locale setting¶
AyaNova supports Unicode text and localization. The Locale setting of the host server operating system affects both directly and indirectly how sorting, searching and filtering (case insensitive) work in AyaNova.
When AyaNova creates it's database for the first time, PostgreSQL server will set various Locale settings by taking the operating system defaults. AyaNova only specifies the UTF8 text encoding (for Unicode support) property and leaves the rest up to PostgreSQL which in turn relies on the operating system locale settings.
PostgreSQL locale documentation¶
For more information see the PostgreSQL Localization documentation
AyaNova locale setting information¶
The current locale settings can be viewed in the AyaNova user interface under Server Operations -> Server Information page in the "DB server parameters" section, specifically the
lc_ctype runtime parameters. This information is also logged to the AyaNova server log if the server's AYANOVA_LOG_LEVEL is set to DEBUG mode or lower.
AyaNova relies on the PostgreSQL database server to order data for display order to the user and this is controlled by the
lc_collate runtime parameter in PostgreSQL.
By default when AyaNova creates it's database it will take this parameter from the underlying operating system's locale settings.
The AyaNova Search feature (search form) always searches case in-sensitive by default. There is no setting to change this to case sensitive as that is not supported for searching. In practice this means that all text is treated as lower case for searching. Text entered is converted to lower case and searched for by relying on the server's host operating system locale setting in conjunction with the PostgreSQL server's AyaNova database locale setting
lc_ctype (see Overview above for how to view these settings in AyaNova).
Filtering a data table or pick list is case in-sensitive by default, however this can be changed in the Adminstration -> Global settings form
Filtering is case sensitive checkbox. Setting this to checkmarked (true) means that all filters will be treated as case sensitive so for example filtering a list for "group" will NOT match to "Group".