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 |
|---|---|---|---|
|
|
|
Oberflächensprache, unverändert gespeichert. Beide Clients schreiben diesen Schlüssel, der Windows-Client als |
|
|
|
"Kontrast der Schrift in Masken erhöhen". |
|
|
|
"Schriftgrad der Dialoge" in Punkt: |
|
|
|
"Optimierte Menüs verwenden". |
|
|
|
"Tastaturkürzel anzeigen". |
|
|
|
Farbschema. Mit |
|
|
|
Akzentfarbe. Mit |
|
|
|
Menüband-Hintergrund. Mit |
|
|
|
Automatischer Stern bei Suchbegriffen als Bitfeld. Mit |
|
|
|
"Suche nach Teilbegriffen". |
|
|
|
Webclient, Reiter "Trefferliste": "Objekte ohne Registerzuordnung immer einbeziehen". |
|
|
|
Webclient, Reiter "Trefferliste": statische Spalten, siehe unten. |
|
|
|
Webclient, Reiter "Eingangskörbe": Systemspalten für Workflows, siehe unten. |
|
|
|
Farbschema des Webclients: |
|
|
|
Akzentfarbe des Webclients als Hex-Wert, z. B. |
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 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|---|
|
|
Ohne Hintergrund |
|
|
Kalligrafie |
|
|
Kreise und Streifen |
|
|
Schaltkreis |
|
|
Wolken |
|
|
Kritzelkreise |
|
|
Kritzeldiamanten |
|
|
Geometrie |
|
|
Brotdose |
|
|
Schulmaterial |
|
|
Frühling |
|
|
Sterne |
|
|
Strohhalme |
|
|
Jahresringe |
|
|
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 |
|---|---|---|
|
|
gesetzt, sobald eine der drei Stern-Checkboxen aktiv ist |
|
|
hinter dem Eintrag ( |
|
|
hinter Eintrag bei Datenbankkatalog |
|
|
vor dem Eintrag ( |
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 |
|---|---|---|
|
|
Objekttyp |
|
|
Archivierungsstatus |
|
|
Ausgecheckt |
|
|
Verknüpfungen |
|
|
Signatur |
|
|
Objekt |
|
|
Dateiformat |
|
|
Favorit |
|
|
Notizen |
|
|
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 |
|---|---|---|
|
|
Arbeitsschritt |
|
|
Erstellt |
|
|
Workflow |
|
|
Betreff |
|
|
Fällig am |
|
|
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
-
get_user_data(): Rohtext der AS.INI lesen
-
user(): Sprache der Objektdefinition (
lang_id)