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

client.language

str | None

[CLIENT] LANGUAGE

UI language exactly as stored. Both clients write this key, the Windows client as "De", "Fr", the webclient as "de", "en".

client.high_mask_contrast

bool | None

[CLIENT] HIGHMASKCONTRAST

Increased font contrast in masks.

client.dialog_font_size

int | None

[CLIENT] BIGDLGFONT

Dialog font size in points: 8 (normal) to 11 (large).

client.optimized_menus

bool | None

[CLIENT] INTELLIGENTMENU

Use optimised menus ("Optimierte Menüs verwenden").

client.show_key_shortcuts

bool | None

[CLIENT] SHOWKEYSHORTCUT

Show keyboard shortcuts ("Tastaturkürzel anzeigen").

workspace.color_scheme

int | None

[WORKSPACE] WSCOLORTHEME

Colour scheme. Compare against ECMAsIniColorScheme.

workspace.accent_color

int | None

[WORKSPACE] ACCENTCOLORTYPE

Accent colour. Compare against ECMAsIniAccentColor.

workspace.ribbon_background

int | None

[WORKSPACE] WSBACKSTAGEBG

Ribbon background. Compare against ECMAsIniRibbonBackground.

options.auto_wildcard

int | None

[OPTIONEN] Autostern

Automatic wildcard for search terms as bit field. Test against ECMAsIniAutoWildcard.

search.partial_term_search

bool | None

[SEARCH] GOOGLELIKE

Partial term search ("Suche nach Teilbegriffen").

request_mode.include_without_register

bool | None

[REQUESTMODE] WITHNOREGISTER

Webclient, tab "Trefferliste": always include objects without register ("Objekte ohne Registerzuordnung immer einbeziehen").

static_list_columns.*

bool | None

[STATICLISTCOLS] COL0 … COL9

Webclient, tab "Trefferliste": static hit list columns, see below.

inbox_columns.*

bool | None

[WORKFLOW@INBOXCOLUMNS]

Webclient, tab "Eingangskörbe": workflow system columns, see below.

webclient_layout.color_theme

str | None

[EBWCLAYOUTCONFIGURATION] colorTheme

Webclient colour theme: "standard" ("Hell"), "dark" or "high-contrast". Integrations also accept "light".

webclient_layout.accent_color

str | None

[EBWCLAYOUTCONFIGURATION] accentColor

Webclient accent colour as hex value, e.g. "#008e75".

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

ECMAsIniColorScheme

0

WHITE: white

1

LIGHT_GRAY: light grey

2

DARK_GRAY: dark grey

3

BLACK: black

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

0

NONE

Ohne Hintergrund

1

CALLIGRAPHY

Kalligrafie

2

CIRCLES_AND_STRIPES

Kreise und Streifen

3

CIRCUIT

Schaltkreis

4

CLOUDS

Wolken

5

DOODLE_CIRCLES

Kritzelkreise

6

DOODLE_DIAMONDS

Kritzeldiamanten

7

GEOMETRY

Geometrie

8

LUNCHBOX

Brotdose

9

SCHOOL_SUPPLIES

Schulmaterial

10

SPRING

Frühling

11

STARS

Sterne

12

STRAWS

Strohhalme

13

TREE_RINGS

Jahresringe

14

UNDERWATER

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

1

ACTIVE

set whenever one of the three wildcard checkboxes is on

2

TRAILING

after the term (abc*, "hinter dem Eintrag")

8

CATALOG_TRAILING

after catalogue terms ("hinter Eintrag bei Datenbankkatalog")

32

LEADING

before the term (*abc, "vor dem Eintrag")

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

object_type

COL0

Objekttyp (object type)

archive_state

COL1

Archivierungsstatus (archive state)

checked_out

COL2

Ausgecheckt (checked out)

links

COL3

Verknüpfungen (links)

signature

COL4

Signatur (signature)

object

COL5

Objekt (object)

file_format

COL6

Dateiformat (file format)

favorite

COL7

Favorit (favourite)

notes

COL8

Notizen (notes)

preview_annotations

COL9

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

work_item

WFITEMNAME

Arbeitsschritt (work item)

created

WFCREATION

Erstellt (created)

workflow

WFNAME

Workflow

subject

WFSUBJECT

Betreff (subject)

due

WFCLOSURE

Fällig am (due)

personalized_by

WFPERSONALIZED

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