get_as_ini_settings()
Reads the AS.INI of the currently logged-in user via dms.GetUserData and
returns a typed subset of it: the UI language and the appearance, menu and
search options of the Windows client, and the colour theme, accent colour and hit list and
inbox columns of the webclient.
All other sections and keys are ignored.
1. Signature
-
Sync
-
Async
ecm.system.get_as_ini_settings() -> ECMAsIniSettings | None
await ecm.system.get_as_ini_settings() -> ECMAsIniSettings | None
2. Return value
ECMAsIniSettings, or None when the user has no AS.INI. When a section is
missing, all attributes of its sub-object are None. A missing or unparsable
key yields None as well.
| Attribute | Type | INI key | Description |
|---|---|---|---|
|
|
|
UI language exactly as stored. Both clients write this key, the Windows client as |
|
|
|
Increased font contrast in masks. |
|
|
|
Dialog font size in points: |
|
|
|
Use optimised menus ("Optimierte Menüs verwenden"). |
|
|
|
Show keyboard shortcuts ("Tastaturkürzel anzeigen"). |
|
|
|
Colour scheme. Compare against |
|
|
|
Accent colour. Compare against |
|
|
|
Ribbon background. Compare against |
|
|
|
Automatic wildcard for search terms as bit field. Test against |
|
|
|
Partial term search ("Suche nach Teilbegriffen"). |
|
|
|
Webclient, tab "Trefferliste": always include objects without register ("Objekte ohne Registerzuordnung immer einbeziehen"). |
|
|
|
Webclient, tab "Trefferliste": static hit list columns, see below. |
|
|
|
Webclient, tab "Eingangskörbe": workflow system columns, see below. |
|
|
|
Webclient colour theme: |
|
|
|
Webclient accent colour as hex value, e.g. |
The client writes HIGHMASKCONTRAST, BIGDLGFONT and WSBACKSTAGEBG only
once the user has changed the setting, and [OPTIONEN] and [SEARCH] only
once the options of the "Stern" group were confirmed with OK. Until then the attributes are None. Without
WSBACKSTAGEBG the client shows "no background"; switching back to it later
stores 0.
3. Enums
The values were measured on enaio 12.0 by changing the setting in the
Windows client. They stay int so that an unknown value is neither lost nor
raises.
| Enum | Value | Meaning |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
ECMAsIniAccentColor: BLUE (0), RED (1), GREEN (2), PURPLE (3),
TEAL (4), ORANGE (5), DARK_BLUE (6). The value is the position in the
client’s colour list, measured for 0, 2 and 6.
ECMAsIniRibbonBackground: the values follow the English names of the Office
backgrounds in alphabetical order, while the client’s list is sorted by the
German names. Measured for 0, 4, 8 and 14.
| Value | Member | Shown in the German client |
|---|---|---|
|
|
Ohne Hintergrund |
|
|
Kalligrafie |
|
|
Kreise und Streifen |
|
|
Schaltkreis |
|
|
Wolken |
|
|
Kritzelkreise |
|
|
Kritzeldiamanten |
|
|
Geometrie |
|
|
Brotdose |
|
|
Schulmaterial |
|
|
Frühling |
|
|
Sterne |
|
|
Strohhalme |
|
|
Jahresringe |
|
|
Unterwasser |
ECMAsIniAutoWildcard is a bit field (IntFlag) for the "Stern" group in the
options dialog. Measured for each checkbox alone and all together (43):
| Bit | Member | Checkbox |
|---|---|---|
|
|
set whenever one of the three wildcard checkboxes is on |
|
|
after the term ( |
|
|
after catalogue terms ("hinter Eintrag bei Datenbankkatalog") |
|
|
before the term ( |
The checkbox "Suche nach Teilbegriffen" sits in the same group but is stored
separately as search.partial_term_search.
from ecmind_blue_client.ecm import ECMAsIniAutoWildcard
wildcard = settings.options.auto_wildcard or 0
leading = bool(wildcard & ECMAsIniAutoWildcard.LEADING)
4. Important: AS.INI record without a name
The server stores the AS.INI as user data of type ECMUserDataType.AS_INI
(3) under an empty name. It therefore does not appear in
get_user_data_names(). The raw text
is returned by get_user_data("", ECMUserDataType.AS_INI, as_string=True).
Without as_string=True a Unicode server rejects the call.
5. Hit list and inbox columns
The number in COL<n> is not the position in the dialog. Every column was
measured alone.
Attribute of static_list_columns |
Key | Column in the webclient |
|---|---|---|
|
|
Objekttyp (object type) |
|
|
Archivierungsstatus (archive state) |
|
|
Ausgecheckt (checked out) |
|
|
Verknüpfungen (links) |
|
|
Signatur (signature) |
|
|
Objekt (object) |
|
|
Dateiformat (file format) |
|
|
Favorit (favourite) |
|
|
Notizen (notes) |
|
|
Vorschauanmerkungen (preview annotations) |
[WORKFLOW@INBOXCOLUMNS] is absent while all columns are shown. Hiding a column
makes the webclient write only its key with 0, showing it again 1. None
therefore means the column was never hidden.
Attribute of inbox_columns |
Key | Column in the webclient |
|---|---|---|
|
|
Arbeitsschritt (work item) |
|
|
Erstellt (created) |
|
|
Workflow |
|
|
Betreff (subject) |
|
|
Fällig am (due) |
|
|
Personalisiert durch (personalised by) |
6. UI language and object definition language
Both clients have two independent language settings. client.language is the
UI language; the Windows client and the webclient write the same key, only with
different spelling. The object definition language is stored by both clients in
the user record; it is the lang_id returned by
user() and not part of the AS.INI.
7. Example
-
Sync
-
Async
from ecmind_blue_client.ecm import ECMAsIniColorScheme
settings = ecm.system.get_as_ini_settings()
if settings is not None:
dark = settings.workspace.color_scheme in (ECMAsIniColorScheme.BLACK, ECMAsIniColorScheme.DARK_GRAY)
print(settings.client.language, dark, settings.webclient_layout.accent_color)
from ecmind_blue_client.ecm import ECMAsIniColorScheme
settings = await ecm.system.get_as_ini_settings()
if settings is not None:
dark = settings.workspace.color_scheme in (ECMAsIniColorScheme.BLACK, ECMAsIniColorScheme.DARK_GRAY)
print(settings.client.language, dark, settings.webclient_layout.accent_color)
8. See also
-
get_user_data(): read the raw AS.INI text
-
user(): object definition language (
lang_id)