This commit is contained in:
2021-09-10 20:34:51 +00:00
parent 8cf8188ff9
commit b32c53da93
13 changed files with 69 additions and 38 deletions

View File

@@ -0,0 +1,29 @@
# Server locale setting
## Overview
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 Postgres which in turn relies on the operating system locale settings.
For more information see the Postgres [Localization documentation](https://www.postgresql.org/docs/current/locale.html)
The current locale settings can be viewed in either the AyaNova server log by enabling the Debug version of the log or in the AyaNova user interface under Server Operations -> Server Information page in the "DB server parameters" section, specifically the `lc_collate` and `lc_ctype` runtime parameters.
## Sorting
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](https://www.postgresql.org/docs/current/locale.html) in PostgreSQL.
By default when AyaNova creates it's database it will take this parameter from the underlying operating system's locale settings.
## Searching
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 Postgre server's AyaNova database locale setting (see Overview above for how to view these settings in AyaNova).
## Filtering
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".