get_as_ini_settings()

Liest die AS.INI des aktuell angemeldeten Benutzers über dms.GetUserData und gibt einen typisierten Ausschnitt daraus zurück: die Oberflächensprache, die Darstellungs-, Menü- und Suchoptionen des Windows-Clients sowie Farbschema, Akzentfarbe und die Spalten der Trefferliste und der Eingangskörbe im Webclient. Alle übrigen Sektionen und Schlüssel werden ignoriert.

1. Signatur

  • Sync

  • Async

ecm.system.get_as_ini_settings() -> ECMAsIniSettings | None
await ecm.system.get_as_ini_settings() -> ECMAsIniSettings | None

2. Rückgabewert

ECMAsIniSettings, oder None, wenn der Benutzer keine AS.INI besitzt. Fehlt eine Sektion, sind alle Attribute des zugehörigen Unterobjekts None. Ein fehlender oder nicht lesbarer Schlüssel ergibt ebenfalls None.

Attribut Typ INI-Schlüssel Beschreibung

client.language

str | None

[CLIENT] LANGUAGE

Oberflächensprache, unverändert gespeichert. Beide Clients schreiben diesen Schlüssel, der Windows-Client als "De", "Fr", der Webclient als "de", "en".

client.high_mask_contrast

bool | None

[CLIENT] HIGHMASKCONTRAST

"Kontrast der Schrift in Masken erhöhen".

client.dialog_font_size

int | None

[CLIENT] BIGDLGFONT

"Schriftgrad der Dialoge" in Punkt: 8 (Normal) bis 11 (Groß).

client.optimized_menus

bool | None

[CLIENT] INTELLIGENTMENU

"Optimierte Menüs verwenden".

client.show_key_shortcuts

bool | None

[CLIENT] SHOWKEYSHORTCUT

"Tastaturkürzel anzeigen".

workspace.color_scheme

int | None

[WORKSPACE] WSCOLORTHEME

Farbschema. Mit ECMAsIniColorScheme vergleichen.

workspace.accent_color

int | None

[WORKSPACE] ACCENTCOLORTYPE

Akzentfarbe. Mit ECMAsIniAccentColor vergleichen.

workspace.ribbon_background

int | None

[WORKSPACE] WSBACKSTAGEBG

Menüband-Hintergrund. Mit ECMAsIniRibbonBackground vergleichen.

options.auto_wildcard

int | None

[OPTIONEN] Autostern

Automatischer Stern bei Suchbegriffen als Bitfeld. Mit ECMAsIniAutoWildcard prüfen.

search.partial_term_search

bool | None

[SEARCH] GOOGLELIKE

"Suche nach Teilbegriffen".

request_mode.include_without_register

bool | None

[REQUESTMODE] WITHNOREGISTER

Webclient, Reiter "Trefferliste": "Objekte ohne Registerzuordnung immer einbeziehen".

static_list_columns.*

bool | None

[STATICLISTCOLS] COL0 … COL9

Webclient, Reiter "Trefferliste": statische Spalten, siehe unten.

inbox_columns.*

bool | None

[WORKFLOW@INBOXCOLUMNS]

Webclient, Reiter "Eingangskörbe": Systemspalten für Workflows, siehe unten.

webclient_layout.color_theme

str | None

[EBWCLAYOUTCONFIGURATION] colorTheme

Farbschema des Webclients: "standard" (Hell), "dark" oder "high-contrast". Integrationen akzeptieren zusätzlich "light".

webclient_layout.accent_color

str | None

[EBWCLAYOUTCONFIGURATION] accentColor

Akzentfarbe des Webclients als Hex-Wert, z. B. "#008e75".

HIGHMASKCONTRAST, BIGDLGFONT und WSBACKSTAGEBG schreibt der Client erst, wenn der Benutzer die Einstellung einmal geändert hat, [OPTIONEN] und [SEARCH] erst, wenn die Optionen der Gruppe "Stern" einmal mit OK bestätigt wurden. Bis dahin sind die Attribute None. Fehlt WSBACKSTAGEBG, zeigt der Client "Ohne Hintergrund"; nach einer Änderung zurück darauf steht der Wert 0.

3. Enums

Die Werte wurden auf enaio 12.0 gemessen, indem die Einstellung im Windows-Client geändert wurde. Sie bleiben int, damit ein unbekannter Wert weder verloren geht noch eine Ausnahme auslöst.

Enum Wert Bedeutung

ECMAsIniColorScheme

0

WHITE: Weiß

1

LIGHT_GRAY: Hellgrau

2

DARK_GRAY: Dunkelgrau

3

BLACK: Schwarz

ECMAsIniAccentColor: BLUE (0), RED (1), GREEN (2), PURPLE (3), TEAL (4), ORANGE (5), DARK_BLUE (6). Der Wert ist die Position in der Farbliste des Clients, gemessen für 0, 2 und 6.

ECMAsIniRibbonBackground: Die Werte folgen den englischen Namen der Office-Hintergründe in alphabetischer Reihenfolge, die Auswahlliste im Client ist dagegen nach den deutschen Namen sortiert. Gemessen für 0, 4, 8 und 14.

Wert Member Anzeige im 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 ist ein Bitfeld (IntFlag) für die Gruppe "Stern" im Optionsdialog. Gemessen für jede Checkbox einzeln und alle zusammen (43):

Bit Member Checkbox

1

ACTIVE

gesetzt, sobald eine der drei Stern-Checkboxen aktiv ist

2

TRAILING

hinter dem Eintrag (abc*)

8

CATALOG_TRAILING

hinter Eintrag bei Datenbankkatalog

32

LEADING

vor dem Eintrag (*abc)

Die Checkbox "Suche nach Teilbegriffen" steht in derselben Gruppe, wird aber getrennt als search.partial_term_search gespeichert.

from ecmind_blue_client.ecm import ECMAsIniAutoWildcard

wildcard = settings.options.auto_wildcard or 0
leading = bool(wildcard & ECMAsIniAutoWildcard.LEADING)

4. Wichtig: AS.INI-Datensatz ohne Namen

Der Server legt die AS.INI als Benutzerdaten vom Typ ECMUserDataType.AS_INI (3) unter einem leeren Namen ab. Deshalb erscheint sie nicht in get_user_data_names(). Den Rohtext liefert get_user_data("", ECMUserDataType.AS_INI, as_string=True). Ohne as_string=True lehnt ein Unicode-Server den Abruf ab.

5. Spalten der Trefferliste und der Eingangskörbe

Die Nummer in COL<n> ist nicht die Position im Dialog. Jede Spalte wurde einzeln gemessen.

Attribut von static_list_columns Schlüssel Spalte im Webclient

object_type

COL0

Objekttyp

archive_state

COL1

Archivierungsstatus

checked_out

COL2

Ausgecheckt

links

COL3

Verknüpfungen

signature

COL4

Signatur

object

COL5

Objekt

file_format

COL6

Dateiformat

favorite

COL7

Favorit

notes

COL8

Notizen

preview_annotations

COL9

Vorschauanmerkungen

[WORKFLOW@INBOXCOLUMNS] fehlt, solange alle Spalten sichtbar sind. Wird eine Spalte ausgeblendet, schreibt der Webclient nur ihren Schlüssel mit 0, beim Wiedereinblenden 1. None heisst also: die Spalte wurde nie ausgeblendet.

Attribut von inbox_columns Schlüssel Spalte im Webclient

work_item

WFITEMNAME

Arbeitsschritt

created

WFCREATION

Erstellt

workflow

WFNAME

Workflow

subject

WFSUBJECT

Betreff

due

WFCLOSURE

Fällig am

personalized_by

WFPERSONALIZED

Personalisiert durch

6. Oberflächensprache und Objektdefinitionssprache

Beide Clients kennen zwei unabhängige Spracheinstellungen. client.language ist die Oberflächensprache; Windows-Client und Webclient schreiben denselben Schlüssel, nur in unterschiedlicher Schreibweise. Die Sprache der Objektdefinition speichern beide Clients dagegen im Benutzerdatensatz; sie ist der lang_id von user() und steht nicht in der AS.INI.

7. Beispiel

  • 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. Siehe auch