AS.INI

Die AS.INI enthält die benutzerbezogenen Einstellungen der enaio®-Clientanwendungen (Windows-Client, webclient, Administrationsprogramme). Der Server legt sie als benutzerbezogene Daten vom Typ 3 ab, einen Datensatz je Benutzer, als Text in Windows-INI-Syntax. OPTIMAL SYSTEMS dokumentiert das Format nicht; diese Seite beschreibt das beobachtete Verhalten.

Gemessen an enaio® 12.0 (axsvckrn 12.0 Build 802, oxjobdms Build 770, Datenbank Microsoft SQL Server) an 13 AS.INI-Datensätzen einer Installation. Die Schlüssel unter Verifizierte Schlüssel wurden gemessen, indem die Einstellung im Windows-Client oder im Einstellungsdialog des webclients geändert und der Datensatz vorher und nachher verglichen wurde. Mit (nicht verifiziert) markierte Aussagen sind aus Schlüsselnamen und Werten abgeleitet, nicht gemessen.

1. Ablage

Tabelle osconf, eine Zeile je Benutzer und Typ der benutzerbezogenen Daten:

Spalte Typ Inhalt

osconfid

int

Primärschlüssel. Wird von dms.GetConfValues als ConfID_0 geliefert.

osconfuser

int

Benutzer-ID (benutzer.id).

osconftype

int

Typ der benutzerbezogenen Daten, 3 für die AS.INI.

osconfname

nvarchar

Name des Datensatzes. Bei der AS.INI NULL oder Leerstring: der Datensatz hat keinen Namen.

osconflink

int

Meist NULL. Bei einer Kopie aus einer Profilverteilung die benutzer.id des Profilbenutzers.

osconfstate

int

In allen beobachteten Zeilen 0.

osconfval

image

Der INI-Text, UTF-8 mit Byte-Order-Mark (EF BB BF).

Die übrigen osconftype-Werte eines Benutzers entsprechen den Typen der benutzerbezogenen Daten (beobachtet 1, 2, 4, 13, 80); osconf ist die Ablagetabelle aller UserData-Jobs der dms-Engine.

Ein Benutzer mit zugewiesenem Profil erhält die AS.INI des Profilbenutzers erst, wenn das Profil im enaio administrator verteilt wird: als bytegleiche Kopie ohne Namen, mit der ID des Profilbenutzers in osconflink. Eine eigene AS.INI wird dabei ersetzt. Danach ändert der Benutzer seine Kopie unabhängig vom Profil; einen Rückfall auf die AS.INI des Profilbenutzers gibt es nicht (siehe Profilverteilung).

2. Lesen der AS.INI

Der Datensatz hat keinen Namen: Name = "" trifft Leerstring und NULL. Namen wie AS.INI oder ASINI liefern IsUserData = 0.

2.1. dms.GetUserData

Eingabe Wert

Flags

0

Type

3

Name

"" (leer)

OutputUnicode

1 (zwingend)

dms.GetUserData liefert IsUserData = 1 und den Text in sValue (STRING). Mit OutputUnicode = 0 scheitert der Job mit dem Rückgabewert -1 und dem Fehler -1042609854: Under Unicode systems the job 'GetUserData' is not allowed anymore for text values, use the job 'GetUserDataAsString' for text values instead.

2.2. dms.GetUserDataAsString

dms.GetUserDataAsString erhält dieselbe Eingabe wie dms.GetUserData. Der Job liefert IsUserData und den Text in sValue und funktioniert auch mit OutputUnicode = 0.

2.3. dms.GetConfValues

dms.GetConfValues mit ConfTypes = "3" und OutputUnicode = 1 liefert die AS.INI des angemeldeten Benutzers mit diesen Ausgabeparametern:

Ausgabe Typ Beobachteter Wert

Count

INT

1

sConfValue_0

STRING

der INI-Text (identisch mit dms.GetUserData)

ConfID_0

INT

osconf.osconfid

ConfType_0

INT

3

ConfLink_0

INT

0 (bei einer Kopie aus einer Profilverteilung die ID des Profilbenutzers)

ConfProfile_0

STRING

""

ConfGlobal_0

BOOLEAN

false

Mit OutputUnicode = 0 scheitert der Job für Typ 3 immer mit dem Fehler -1042609854, unabhängig vom Inhalt. Die Meldung verweist auf den Job dms.GetConfValuesAsString, der dieselben Ausgaben liefert wie OutputUnicode = 1. In sConfValue_0 fehlt die Byte-Order-Mark.

2.4. dms.GetUserDataNames und dms.IsUserData

dms.GetUserDataNames mit Type = 3 liefert keinen Name-Parameter, obwohl der Datensatz existiert: Datensätze mit Leerstring oder NULL als Namen werden nicht aufgeführt. dms.IsUserData mit Type = 3 und Name = "" liefert IsUserData = 1 (mit Flags 0 und 1).

2.5. Sprache der Objektdefinition

Die Sprache der Objektdefinition ist nicht Teil der AS.INI. Windows-Client und webclient (Einstellung „Objektdefinition" im webclient) speichern sie beide in benutzer.langid: Das Umschalten auf Englisch änderte langid von 7 auf 9 (en_US in oslanguages), das Zurückschalten auf Deutsch setzte wieder 7. Die AS.INI blieb dabei in beiden Clients unverändert. Die Sprache der Objektdefinition ist unabhängig von der Oberflächensprache [CLIENT] LANGUAGE.

3. Syntax

Die AS.INI folgt der Windows-INI-Syntax: Sektionsköpfe [SECTION] und Zeilen KEY=VALUE, Zeilenende CRLF. Beide Clients schreiben den gesamten Datensatz in ihrem eigenen Layout neu; am Layout ist daher erkennbar, welcher Client zuletzt geschrieben hat (für beide verifiziert):

Windows-Client webclient

Zuweisung

KEY=VALUE

KEY = VALUE

Leerzeile zwischen Sektionen

nein

ja

[BACKUPTIMESTAMP] VALUE

Unix-Zeit in Sekunden (1792151636)

Unix-Zeit in Millisekunden (1792163813517)

Reihenfolge der Sektionen

beginnt mit SEARCHBAR, SEARCHBARBACKUP, …

beginnt mit NEW, AUTOOPEN, AXADMIN, …

Abgesehen von Layout, Reihenfolge und Zeitstempel ist der Inhalt gleich.

  • Kommentare und Leerzeilen innerhalb einer Sektion wurden nicht beobachtet.

  • Sektions- und Schlüsselnamen stehen in gemischter Schreibweise ([CLIENT], [axgredit], [ViewDefaults], Nomalized neben NORMALIZED). Sie sind ohne Beachtung der Groß-/Kleinschreibung zu lesen, wie es die Windows-Profil-API (GetPrivateProfileString) tut; Leerzeichen um das = sind zu entfernen.

  • Schlüssel können :, #, @ und . enthalten (::oswfsubstitutes::, COL#06, folder@5, hitlist.object-references). Eine Zeile ist nur am ersten = zu trennen. Ein Parser, der auch : als Trennzeichen zwischen Schlüssel und Wert akzeptiert, zerlegt diese Schlüssel falsch.

  • Werte sind untypisierter Text: Ganzzahlen, Flags 0/1, YES/NO, true/false, Pfade, GUIDs, JSON (webclient) und durch Leerzeichen getrennte Hex-Bytes (binärer Layoutzustand).

  • Nicht-ASCII-Text bleibt erhalten (Meine Eingänge). Feldnamen im JSON des webclients wurden ohne ihre Umlaute beobachtet (Gltigab für ein Feld mit der Beschriftung Gültig ab).

  • Manche Werte sind lokalisierte Anzeigetexte und folgen der Oberflächensprache: Das Umschalten des Windows-Clients von Deutsch auf Französisch und zurück schrieb [INBOXACTIVE] ACTIVE von Meine Eingänge auf Mes messages und zurück. Solche Werte nicht gegen feste Zeichenketten vergleichen. [CLIENT] FTCFG wechselte mit dem Umschalten auf Französisch von <Alle> auf <Liste>, blieb nach dem Zurückschalten aber <Liste>; seine Bedeutung ist offen.

3.1. Schreibverhalten des Windows-Clients

Verifiziert:

  • Der Client schreibt den Datensatz während der Laufzeit auf den Server, nicht erst beim Abmelden.

  • Das Öffnen des Optionsdialogs schreibt nur den Layoutzustand (MAINFRAME_BARSTATE und ähnliche Blobs). Die geänderte Option folgt, wenn der Dialog mit OK bestätigt wird, oft gefolgt von einem weiteren Layout-Schreibvorgang einige Sekunden später.

  • Jeder Schreibvorgang aktualisiert [BACKUPTIMESTAMP] VALUE. Ein Schreibvorgang kann auch nur einen einzigen Schlüssel ändern.

  • Mehrere Schlüssel fehlen, bis der Benutzer die Einstellung zum ersten Mal ändert (HIGHMASKCONTRAST, BIGDLGFONT, WSBACKSTAGEBG). Einmal geschrieben, bleiben sie erhalten, auch wenn sie auf den Standardwert zurückgesetzt werden (0, 8, 0). Ein fehlender Schlüssel ist häufig und kein Fehler.

(nicht verifiziert) Ein Schreibvorgang des Windows-Clients änderte zusätzlich webclient-Spaltenbreiten in [EBWCHITLISTCONFIG] und entfernte einen Eintrag. Möglicherweise schreibt der Client seine Kopie des gesamten Datensatzes aus dem Arbeitsspeicher zurück und macht damit Änderungen des webclients seit seiner Anmeldung rückgängig.

3.2. Schreibverhalten des webclients

Verifiziert:

  • Der Einstellungsdialog („Einstellungen", Reiter „Allgemein") schreibt den Datensatz einmal, wenn er mit „Übernehmen" bestätigt wird; solange der Dialog offen ist, wird nichts geschrieben.

  • Der webclient schreibt den gesamten Datensatz in seinem eigenen Layout neu, behält aber jeden Schlüssel, den er nicht selbst verwaltet, einschließlich der Sektionen des Windows-Clients und des binären Layoutzustands. Schlüssel für Schlüssel verglichen, unterschied sich ein Schreibvorgang vom vorherigen Datensatz des Windows-Clients nur in den geänderten Einstellungen und in [BACKUPTIMESTAMP] VALUE.

  • Ein Schreibvorgang kann mehrere geänderte Einstellungen enthalten (Oberflächensprache, Farbschema und Akzentfarbe in einem Schreibvorgang).

  • „Übernehmen" schreibt den Datensatz auch dann neu, wenn sich keine Einstellung der AS.INI geändert hat: Eine Änderung nur an Anwesenheit und Vertretern (Reiter „Anwesenheit", gespeichert in den Workflow-Tabellen) erzeugte trotzdem einen Schreibvorgang mit neuem [BACKUPTIMESTAMP] VALUE und sonst nichts.

4. Welcher Client welche Schlüssel setzt

Beide Clients schreiben den gesamten Datensatz neu und tragen die Schlüssel des jeweils anderen Clients mit. „Setzt" heißt hier: Der Client ändert den Wert, wenn der Benutzer in ihm eine Einstellung ändert. Die Zuordnung beruht auf den Messungen dieser Seite (48 Schreibvorgänge des Windows-Clients, 20 des Einstellungsdialogs des webclients).

Gesetzt von Schlüssel Grundlage

Beide Clients

[CLIENT] LANGUAGE (Oberflächensprache: Windows-Client De, Fr; webclient de, fr, en), [BACKUPTIMESTAMP] VALUE (Sekunden / Millisekunden)

In beiden Clients gemessen.

Nur Windows-Client

[CLIENT] HIGHMASKCONTRAST, BIGDLGFONT, INTELLIGENTMENU, SHOWKEYSHORTCUT, FTCFG; [WORKSPACE] WSCOLORTHEME, ACCENTCOLORTYPE, WSBACKSTAGEBG; [OPTIONEN] Autostern; [SEARCH] GOOGLELIKE; [INBOXACTIVE] ACTIVE; [AUTOOPEN], [AUTOCLOSE], [AUTOUSE], [AUTOOPENSYSLIST], [AUTOLOCATIONFOCUS]; [PANELAYOUTS]; der binäre Zustand in [AX_LAYOUT] / [AX_LAYOUT_BAK]; [#LAYOUTCFGDLGPOS#]

Durch Schreibvorgänge des Windows-Clients geändert, nie durch solche des webclients.

Nur webclient

[EBWCLAYOUTCONFIGURATION] colorTheme, accentColor; [WORKFLOW@INBOXCOLUMNS]

Durch Schreibvorgänge des webclients geändert, nie durch solche des Windows-Clients. [WORKFLOW@INBOXCOLUMNS] wurde vom webclient angelegt.

webclient, Windows-Client nicht geprüft

[STATICLISTCOLS] COL0 bis COL9, [REQUESTMODE] WITHNOREGISTER

Im Einstellungsdialog des webclients geändert (Reiter „Trefferliste"). Die Sektionen sehen wie Sektionen des Windows-Clients aus; ob der Windows-Client diese Schlüssel ebenfalls setzt, wurde nicht geprüft.

webclient (nicht verifiziert)

die übrigen Schlüssel von [EBWCLAYOUTCONFIGURATION], [EBWCHITLISTCONFIG]

Benennung (Präfix EBWC, JSON-Werte) und Inhalt; vom Einstellungsdialog nicht berührt. Ein Schreibvorgang des Windows-Clients änderte [EBWCHITLISTCONFIG], siehe Schreibverhalten des Windows-Clients.

Windows-Anwendungen (nicht verifiziert)

alle übrigen Sektionen und Schlüssel des Sektionskatalogs, einschließlich der übrigen Schlüssel von [REQUESTMODE]; AXADMIN, axgredit, axwfadm und axwfedit sind nach den Administrationsprogrammen benannt

Nicht gemessen.

Außerhalb der AS.INI

Sprache der Objektdefinition in benutzer.langid

Von beiden Clients gesetzt, siehe Sprache der Objektdefinition.

Außerhalb der AS.INI

Anwesenheit und Vertreter (webclient, Reiter „Anwesenheit"): oswfabsence, oswfsubstitutes

Das Abwählen von „Anwesend" legte in oswfabsence eine Zeile für den Benutzer an; die Auswahl zweier Vertreter legte in oswfsubstitutes zwei Zeilen mit dem Benutzer als orgobject_id an. Die AS.INI erhielt nur einen neuen Zeitstempel.

Folgerungen:

  • Die Einstellungen zum Aussehen sind je Client getrennt. Der webclient zeigte „Hell" mit der Akzentfarbe an Position 3, während derselbe Datensatz für den Windows-Client „Schwarz" und Grün enthielt; eine Änderung des Farbschemas in einem Client änderte nie die Schlüssel des anderen.

  • Die Oberflächensprache ist der einzige Schlüssel, der nachweislich von beiden Clients gesetzt wird. Der webclient setzt auch Schlüssel in Sektionen, die wie Sektionen des Windows-Clients aussehen (STATICLISTCOLS, REQUESTMODE WITHNOREGISTER). Ob der Windows-Client sie liest oder setzt und ob ein Client eine vom anderen gesetzte Sprache beim nächsten Start übernimmt, wurde nicht geprüft.

  • Lokalisierte Werte schreibt nur der Windows-Client um: Das Umschalten des webclients auf Französisch ließ [INBOXACTIVE] ACTIVE unverändert, das Umschalten des Windows-Clients schrieb den Wert um.

5. Verifizierte Schlüssel

Gemessen an enaio® 12.0 im Windows-Client mit deutscher Oberfläche und im Einstellungsdialog des webclients. Die Einstellungen sind mit ihrer deutschen Beschriftung angegeben.

5.1. [CLIENT]

LANGUAGE setzen beide Clients, alle übrigen Schlüssel dieser Tabelle nur der Windows-Client.

Schlüssel Einstellung im Client Werte

LANGUAGE

Oberflächensprache, gemeinsam für Windows-Client und webclient („Benutzeroberfläche" in den Einstellungen des webclients)

Zweibuchstabiger Code, dessen Schreibweise vom Schreiber abhängt: Der Windows-Client schreibt De, Fr, der webclient de, fr, en. Beide Clients schreiben diesen einen Schlüssel.

HIGHMASKCONTRAST

„Kontrast der Schrift in Masken: Kontrast erhöhen" (Erweiterte Einstellungen)

0 / 1

BIGDLGFONT

„Schriftgrad der Dialoge" (Erweiterte Einstellungen), 4 Stufen

Schriftgröße in Punkt: 8 (Normal), 9, 10, 11 (Groß). Gemessen 8, 9, 11.

INTELLIGENTMENU

„Optimierte Menüs verwenden"

0 / 1

SHOWKEYSHORTCUT

„Tastaturkürzel anzeigen"

0 / 1

5.2. [WORKSPACE] („Aussehen")

Nur vom Windows-Client gesetzt.

Schlüssel Einstellung im Client Werte

WSCOLORTHEME

„Farbschema"

0 Weiß, 1 Hellgrau, 2 Dunkelgrau, 3 Schwarz. Alle gemessen.

ACCENTCOLORTYPE

Farbliste neben „Farbschema"

Position in der Liste, 0 bis 6. Gemessen 0, 2, 6.

WSBACKSTAGEBG

„Menüband-Hintergrund"

0 bis 14, siehe unten. Gemessen 0, 4, 8, 14.

Akzentfarben, wie sie in der Farbliste dargestellt werden (aus einem Bildschirmfoto entnommen; mit ~ markierte Werte aus komprimierten Pixeln, ±2 je Kanal). Sie entsprechen den Anwendungsfarben von Microsoft Office:

Wert Dargestellt Office-Farbe

0

#0072c6

Outlook #0072C6

1

~#a4373a

Access #A4373A

2

#217346

Excel #217346

3

~#80387b

OneNote #80397B

4

~#057566

Publisher #077568

5

~#d24626

PowerPoint #D24726

6

#2b579a

Word #2B579A

Menüband-Hintergründe: Der Wert folgt den englischen Namen der Office-Hintergründe in alphabetischer Reihenfolge. Der Client listet die deutschen Namen alphabetisch, daher weichen Listenposition und Wert voneinander ab.

Wert Office-Name Deutscher Client

0

No Background

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

SKINCOLOR (4 in allen 7 Datensätzen, die den Schlüssel enthalten) änderte sich bei keiner dieser Einstellungen; seine Bedeutung ist offen.

5.3. [OPTIONEN] und [SEARCH] („Stern")

Nur vom Windows-Client gesetzt.

Sektion Schlüssel Einstellung im Client Werte

OPTIONEN

Autostern

Gruppe „Stern": automatischer Platzhalter für Suchbegriffe

Bitfeld, siehe unten.

SEARCH

GOOGLELIKE

„Suche nach Teilbegriffen" (dieselbe Gruppe „Stern")

0 / 1

Bits von Autostern, gemessen für jedes Kontrollkästchen einzeln und für alle zusammen:

Bit Kontrollkästchen

0x00000001 (1)

Gesetzt, sobald mindestens eines der drei Platzhalter-Kontrollkästchen aktiv ist.

0x00000002 (2)

„hinter dem Eintrag" (abc*)

0x00000008 (8)

„hinter Eintrag bei Datenbankkatalog"

0x00000020 (32)

„vor dem Eintrag" (*abc)

Gemessene Werte: keines 0, nur hinter dem Eintrag 3, nur Datenbankkatalog 9, nur vor dem Eintrag 33, alle drei 43. „Suche nach Teilbegriffen" steht in derselben Gruppe, berührt Autostern aber nicht; die Einstellung wird als [SEARCH] GOOGLELIKE gespeichert (allein gesetzt: Autostern=0, GOOGLELIKE=1).

Beide Sektionen fehlen, bis die Optionen der Gruppe „Stern" zum ersten Mal bestätigt werden. Diese erste Bestätigung schrieb außerdem die Sektionen [AUTOOPEN], [AUTOCLOSE], [AUTOUSE], [AUTOOPENSYSLIST] und [AUTOLOCATIONFOCUS] (siehe Sektionskatalog); frühere Bestätigungen anderer Einstellungen im selben Dialog taten das nicht.

5.4. [STATICLISTCOLS] und [REQUESTMODE] (webclient, Reiter „Trefferliste")

Gesetzt vom Einstellungsdialog des webclients, Reiter „Trefferliste". Ob der Windows-Client diese Schlüssel ebenfalls setzt, wurde nicht geprüft.

Sektion Schlüssel Einstellung im webclient Werte

STATICLISTCOLS

COL0 bis COL9

Gruppe „Statische Spalten": ein Kontrollkästchen je statischer Spalte der Trefferliste

0 / 1, siehe unten

REQUESTMODE

WITHNOREGISTER

Gruppe „Anfrageverhalten": „Objekte ohne Registerzuordnung immer einbeziehen"

0 / 1

Die Nummer im Schlüssel ist nicht die Position im Dialog. Jede Spalte wurde einzeln gemessen:

Schlüssel Spalte Position im Dialog

COL0

Objekttyp

1

COL1

Archivierungsstatus

3

COL2

Ausgecheckt

4

COL3

Verknüpfungen

5

COL4

Signatur

6

COL5

Objekt

10

COL6

Dateiformat

2

COL7

Favorit

9

COL8

Notizen

7

COL9

Vorschauanmerkungen

8

5.5. [WORKFLOW@INBOXCOLUMNS] (webclient, Reiter „Eingangskörbe")

Nur vom webclient gesetzt, Gruppe „Systemspalten für Workflows". Ein Schlüssel je Systemspalte des Workflow-Eingangs; die Schlüsselnamen sind die Spalten-IDs, die auch im Element width von [EBWCHITLISTCONFIG] workflow@inbox vorkommen (WFITEMNAME@@@f4, …).

Schlüssel Spalte Werte

WFITEMNAME

Arbeitsschritt

0 / 1

WFCREATION

Erstellt

0 / 1

WFNAME

Workflow

0 / 1

WFSUBJECT

Betreff

0 / 1

WFCLOSURE

Fällig am

0 / 1

WFPERSONALIZED

Personalisiert durch

0 / 1

Die Sektion fehlt, solange alle Spalten angezeigt werden. Das Ausblenden einer Spalte fügt ihren Schlüssel mit 0 hinzu, und nur diesen; das erneute Einblenden schreibt 1, der Schlüssel bleibt. Jede Spalte wurde einzeln gemessen.

5.6. [EBWCLAYOUTCONFIGURATION] (webclient)

Nur vom webclient gesetzt, in seinem Einstellungsdialog, Reiter „Allgemein", Gruppe „Aussehen".

Schlüssel Einstellung Werte

colorTheme

„Farbschema"

standard („Hell"; die Auswahl schreibt standard), dark (französische Oberfläche: „Sombre"), high-contrast (englische Oberfläche: „High contrast"). Der Dialog schrieb nie light, obwohl webclient-Integrationen den Wert ebenfalls akzeptieren.

accentColor

„Akzentfarbe"

Der Hex-Wert der gewählten Farbe, kein Index.

Der Dialog bietet sieben Akzentfarben an (aus einem Bildschirmfoto gemessen, exakt):

Position accentColor

1

#005873

2

#0092e1

3

#008e75

4

#ef6927

5

#e249bb

6

#88002b

7

#671d9e

Alle Akzentfarben in den 13 untersuchten Datensätzen gehören zu dieser Palette. Mit colorTheme=high-contrast blendet der Dialog die Akzentfarben aus; accentColor behält seinen letzten Wert.

Die Sektion enthält keinen Schlüssel für die Sprache; die Oberflächensprache des webclients steht in [CLIENT] LANGUAGE.

6. Sektionskatalog

Anzahl = Zahl der 13 beobachteten Datensätze, die die Sektion enthalten.

6.1. Client-Optionen

Sektion Gesetzt von Anzahl Beobachtete Schlüssel Hinweise

CLIENT

Beide (LANGUAGE); Windows-Client (übrige Schlüssel)

10

LANGUAGE, LASTFILEEXPORTPATH, OSDOCREADONLY, SHOWACTABOS, OCRDATASHEET, TREEDIVCHAR, CHECKSHARED, POWERCHECK, WFDEPERSONCANCEL, CHECKABO, DEBUGAPPEVENTS, OUTLOOKMAIL, CHECKREVISIT, SHOWONLYOTHER, SHOWKEYSHORTCUT, OCRAUTOCOLUMN, INTELLIGENTMENU, SHOWEVENTS, FTCFG, USEDESKFOLDER, ACTIVEABOLIST, MAXRECENTOBJECTS, COLORNEGATIVE, CHECKWF, BIGDLGFONT, HIGHMASKCONTRAST

Überwiegend Flags 0/1; MAXRECENTOBJECTS Ganzzahl, FTCFG Text (<Alle>), TREEDIVCHAR ein Zeichen (-), Pfad in LASTFILEEXPORTPATH.

WORKSPACE

Windows-Client

7

POSITION, WSCOLORTHEME, CLOSEALLOPEN, TEAROFFWINDOWS, CENTERMASKS, SKINCOLOR, TREE, TABBEDWINDOWSMODE, ACCENTCOLORTYPE, SHORTCUT, TABBEDROWMODE, TABBEDWINDOWSV700, WSBACKSTAGEBG

Ganzzahlen und Flags.

USERGLOBAL

Windows-Client (nicht verifiziert)

10

MOBFAVUPDATE, RESWINSHOWLINKEDOBJECTS, WFILEOPENPATH

REQUESTMODE

webclient (WITHNOREGISTER); Windows-Client (nicht verifiziert) (übrige Schlüssel)

7

WITHNOREGISTER, USESAMEFOLDERWINDOW, USESAMERESULTLIST

Flags.

REQUESTRES

Windows-Client (nicht verifiziert)

5

ASKUSERREQUESTCONFIRM, MAXREQUESTCOUNT, TYPESET, USERREQUESTCONFIRM, TYPE

MAXREQUESTCOUNT Ganzzahl (500).

REQUESTCHILD

Windows-Client (nicht verifiziert)

5

TYPE, REQCLOSEACT1 bis REQCLOSEACT9

INBOXACTIVE

Windows-Client

10

ACTIVE

Lokalisierter Name des aktiven Eingangs (Meine Eingänge, Wiedervorlage, Rappel, Mes messages).

SEARCHBAR, SEARCHBARBACKUP

Windows-Client (nicht verifiziert)

10

CONVERT, THEMEANIMATION, MULTICOLUMN, THEME, PANEL<nn>

PANEL<nn> enthält eine 32-stellige Hex-GUID, die eine Panel-Sektion benennt (siehe Sektionsfamilien).

SHORTCUTGROUPS

Windows-Client (nicht verifiziert)

9

ALL

Panelname (Meine Suche).

ViewDefaults

Windows-Client (nicht verifiziert)

5

siehe unten

Voreinstellungen des Dokumentviewers.

PrintParams

Windows-Client (nicht verifiziert)

10

Annotations, Position, Size, Columns, Rows

SCANNEN

Windows-Client (nicht verifiziert)

5

PAGECONFIRM, SCANCHECKAPPEND

DOCSHARE

Windows-Client (nicht verifiziert)

4

DEFTIME

Ganzzahl (14) (nicht verifiziert: Standard-Freigabedauer in Tagen).

Export

Windows-Client (nicht verifiziert)

5

DefaultFormat

-1.

NOTIFYAREA

Windows-Client (nicht verifiziert)

7

::oswfsubstitutes::, ::oswfprocesses::, ::oswfmodels::, GUID-Schlüssel

Flags.

WINDOWTITLE

Windows-Client (nicht verifiziert)

5

TYPE00 bis TYPE05

Flags.

STATICLISTCOLS

webclient; Windows-Client nicht geprüft

6

COL0 bis COL9

Statische Spalten der Trefferliste, siehe STATICLISTCOLS und REQUESTMODE.

RELATIONTREE

Windows-Client (nicht verifiziert)

10

EXP#<n>

Ganzzahlen.

PANELAYOUTS

Windows-Client

8

PANELAYOUTACTIVE<nn>, PANELAYOUTDATA<nn> (Hex-Blob), PANELAYOUTNAME<nn>, AUTOLOAD, LASTLOADED

Benannte Bereichslayouts, siehe Bereichslayout.

RELOADREGISTRY

offen

10

COUNT

BACKUPTIMESTAMP

Beide

13

VALUE

Zeitstempel des letzten Schreibvorgangs, siehe Syntax.

WORKFLOW

Windows-Client (nicht verifiziert)

5

DEBUGEVENTS

SCRIPTEDITOR

Windows-Client (nicht verifiziert)

5

FONTHEIGHT

OPTIONEN

Windows-Client

0

Autostern

Siehe OPTIONEN und SEARCH.

SEARCH

Windows-Client

0

GOOGLELIKE

Siehe OPTIONEN und SEARCH.

AUTOOPEN

Windows-Client

0

DOCUMENT, FOLDER, REGISTER, PORTFOLIO, NOTICE, CLOSEAFTEROPEN

Flags.

AUTOCLOSE

Windows-Client

0

DOCUMENT, FOLDER, REGISTER, PORTFOLIO

Flags.

AUTOUSE

Windows-Client

0

ACTIVEUSERONLY, HTMLPREVIEW, NEWBROWSER

Flags.

AUTOOPENSYSLIST

Windows-Client

0

200, 201, 202, 407

Flags.

AUTOLOCATIONFOCUS

Windows-Client

0

MODE

Ganzzahl (0).

WORKFLOW@INBOXCOLUMNS

webclient

0

WFITEMNAME, WFCREATION, WFNAME, WFSUBJECT, WFCLOSURE, WFPERSONALIZED

Sichtbare Spalten des Workflow-Eingangs, siehe WORKFLOW@INBOXCOLUMNS.

Sektionen mit der Anzahl 0 fehlten zum Zeitpunkt der Erhebung in allen 13 Datensätzen und erschienen später in einem Datensatz, siehe OPTIONEN und SEARCH und WORKFLOW@INBOXCOLUMNS.

Schlüssel von ViewDefaults: ViewMode, RenderMode, FitMode, FitWindow, FitWidth, FitHeight, QuickView, QuickViewWidth, QuickViewQuali, QuicklookSize, PDFViewQuali, PagingMode, LineScroll, ScrollPos1, Dock, ConfirmType, ExportSchema sowie die Annotations-Voreinstellungen AnnUnit, AnnLineWidth, AnnColorLine, AnnColorMark, AnnColorRectangle, AnnColorFont (Farben als Dezimalzahl, z. B. 255, 65535, 16711680), AnnFontName, AnnFontSize, AnnDialogLeft, AnnDialogTop. Die meisten Schlüssel kommen auch mit numerischem Suffix vor (FitMode3, FitMode196608, ScrollPos13, ScrollPos1196608) (nicht verifiziert: Suffix = Objekttyp-ID, 196608 = 0x30000, passend zur Sektion VV#00030000).

6.2. webclient

Sektion Gesetzt von Anzahl Inhalt

EBWCLAYOUTCONFIGURATION

webclient (colorTheme, accentColor verifiziert)

11

isNavigationFixed (true/false), accentColor, colorTheme, activeCabinet (Ganzzahl), activeNavPane (z. B. objectsearch), navigationWidth (Ganzzahl).

EBWCHITLISTCONFIG

webclient (nicht verifiziert)

10

Ein Schlüssel je Trefferliste, der Wert ist ein JSON-Objekt.

Schlüssel von EBWCHITLISTCONFIG: objecttype@<Typ-ID>, folder@<Schrank-ID>, workflow@inbox, variants, searchByIds, fulltextResult, hitlist.object-references, hitlist.recycleBin. Elemente des JSON-Objekts:

Element Typ Inhalt

type

string

Art der Trefferliste, wiederholt das Präfix des Schlüssels (objecttype, folder, workflow, …).

id

string

Typ- oder Schrank-ID, sofern der Schlüssel eine enthält.

subType

string

z. B. inbox bei workflow@inbox.

isEmpty

boolean

useCardLayout

boolean

width

object

Spaltenbreiten in Pixeln (Zahl, auch mit Nachkommastellen), Schlüssel <field>@@@f<n> oder f<n>.

sort

object

Sortierung, Schlüssel wie bei width; Wert "asc:<n>" / "desc:<n>" oder null.

locationTreeWidth

number

6.3. Sektionsfamilien (Namensmuster)

Muster Inhalt

#<NAME>DLGPOS#, ADMIN<NAME>DLGPOS, #SECURECLAUSEDLGPOSS#

Dialoggeometrie: Status, Left, Top, Right, Bottom, ClientWidth, ClientHeight, Nomalized (sic) / NORMALIZED, optional COLWIDTH<nn>, SORTCOL<nn>, SORTDIR<nn>. Wird geschrieben, wenn der Dialog benutzt wird (verifiziert für #LAYOUTCFGDLGPOS#).

VV#<8 Hexziffern>

Spaltenbreiten COL#<nn> einer Liste für den Objekttyp mit dieser hexadezimalen ID (0004000C = 262156), optional mit Schlüsseln der Dialoggeometrie.

FIELDS#<8 Hexziffern>

FIELDS = kommagetrennte interne Feldnamen eines Objekttyps.

SETS#<8 Hexziffern>

Flags SET<nnn>.

WFSORTINFO@::<Liste>::

Sortierung einer Workflow-Liste: COL, DIR.

<32 Hexziffern>

Panel der Suchleiste, auf das SEARCHBAR PANEL<nn> verweist: NAME, TYPE, VISIBLE (YES/NO), EXPANDED, DEFUSER, OBJECTSECTION (GUID), optional PANEITEM<n>, PANEITEMNAME<n>.

<dezimal>#<GUID>

Numerische Schlüssel mit dem Wert 0 (z. B. 48431104#65E909D0-C875-48A9-942F-7F18933885B5). Bedeutung offen.

NEW, LASTAPPSTART, LASTACTION, AFTERNEWOPEN

Schlüssel sind Objekttyp-IDs oder OBJECT<n> / ARCHIVE; Ganzzahlwerte.

<NAME>_BAK

Sicherungskopie der Sektion <NAME> (AX_LAYOUT_BAK, AX_LAYOUT_QUICKACCESS_BAK).

Seltene Sektionen, je ein Datensatz, nicht analysiert: OPENEDWORKITEMS, STOREDREQSET, TYPEDPORTFOLIO.

Alle Sektionsfamilien werden von den Windows-Anwendungen geschrieben (nicht verifiziert); verifiziert für die Dialoggeometrie #LAYOUTCFGDLGPOS# (Windows-Client).

6.4. Sektionen für das Anwendungslayout

AX_LAYOUT, AX_LAYOUT_QUICKACCESS, AXADMIN, axgredit, axwfadm und axwfedit enthalten den Fenster- und Symbolleistenzustand des Windows-Clients und der Administrationsprogramme (VERSION / LAYOUT_VERSION wie 12.0.104, Flags, Pfade). Die Schlüssel MAINFRAME_BARSTATE, MAINFRAME_DOCKINGSTATE, MAINFRAME_WINDOWPOS, MASKDSGN_LAYOUT* und PANELAYOUTDATA<nn> tragen binären Zustand als durch Leerzeichen getrennte Hex-Bytes; alle beobachteten Blobs beginnen mit E0 04 07 00. Manche Schlüssel tragen ein Sprachsuffix (MAINFRAME_BARSTATE_DE, MASKDSGN_LAYOUTDe), Layouts werden also je Oberflächensprache gehalten. AX_LAYOUT und AX_LAYOUT_BAK schreibt nachweislich der Windows-Client, die Sektionen der Administrationsprogramme (nicht verifiziert) das jeweilige Programm.

Bereichslayout (verifiziert): Welche Bereiche der Windows-Client anzeigt (Detailvorschau, Inhaltsvorschau, Dashlets), steht in [PANELAYOUTS] PANELAYOUTDATA<nn>, dem benannten Bereichslayout PANELAYOUTNAME<nn>, das der Client beim Start lädt, wenn AUTOLOAD=1 gesetzt ist (LASTLOADED benennt es). Es steht nicht in [AX_LAYOUT] MAINFRAME_DOCKINGSTATE, das unverändert blieb. Der Blob listet zuerst jeden Bereich mit seinem Namen als UTF-16-Text (Meine Eingänge, Navigation, Inhaltsvorschau, Detailvorschau, Objektsuche, Skriptkonsole und Dashlets wie Embedded Office, Embedded Documents, Embedded Cloud, TeamManager, Skribble, Autofill), jeweils mit vorangestellter numerischer Container-Referenz, danach einen Layoutbaum aus Containern und Größen. Das Aktivieren von Bereichen ließ die Namensliste unverändert; es nummerierte die Container-Referenzen neu, ersetzte einen Block im Layoutbaum und änderte Größen. Die Sichtbarkeit ist also im Baum kodiert, nicht neben dem Bereichsnamen. Die Baumstruktur ist nicht entschlüsselt.

7. Beispiel

Eine gekürzte AS.INI, wie sie der Windows-Client schreibt (enaio® 12.0, kompaktes Layout KEY=VALUE, im Original mit CRLF). Sie zeigt eine oder wenige Sektionen jeder Familie in der Reihenfolge, in der der Client sie geschrieben hat. Kürzungen: Nur ein Teil der Sektionen und der Schlüssel von ViewDefaults und EBWCHITLISTCONFIG ist aufgeführt, Binärwerte sind nach 16 Bytes abgeschnitten (…​), Benutzerpfade lauten <user>.

[CLIENT]
LANGUAGE=De
LASTFILEEXPORTPATH=C:\Users\<user>\Downloads
OSDOCREADONLY=1
SHOWACTABOS=0
OCRDATASHEET=1
TREEDIVCHAR=-
CHECKSHARED=0
POWERCHECK=0
WFDEPERSONCANCEL=0
CHECKABO=0
DEBUGAPPEVENTS=0
OUTLOOKMAIL=1
CHECKREVISIT=0
SHOWONLYOTHER=0
SHOWKEYSHORTCUT=0
OCRAUTOCOLUMN=0
INTELLIGENTMENU=1
SHOWEVENTS=1
FTCFG=<Liste>
USEDESKFOLDER=0
ACTIVEABOLIST=5
MAXRECENTOBJECTS=15
COLORNEGATIVE=0
CHECKWF=0
HIGHMASKCONTRAST=0
BIGDLGFONT=8
[WORKSPACE]
POSITION=1
WSCOLORTHEME=3
CLOSEALLOPEN=0
TEAROFFWINDOWS=0
CENTERMASKS=0
SKINCOLOR=4
TREE=1
TABBEDWINDOWSMODE=0
ACCENTCOLORTYPE=2
SHORTCUT=1
TABBEDROWMODE=0
TABBEDWINDOWSV700=1
WSBACKSTAGEBG=0
[OPTIONEN]
Autostern=33
[SEARCH]
GOOGLELIKE=0
[USERGLOBAL]
MOBFAVUPDATE=1
RESWINSHOWLINKEDOBJECTS=0
WFILEOPENPATH=c:\users\<user>\documents
[REQUESTMODE]
WITHNOREGISTER=1
USESAMEFOLDERWINDOW=0
USESAMERESULTLIST=0
[REQUESTRES]
ASKUSERREQUESTCONFIRM=0
MAXREQUESTCOUNT=500
TYPESET=0
USERREQUESTCONFIRM=0
TYPE=3
[INBOXACTIVE]
ACTIVE=Meine Eingänge
[SEARCHBAR]
THEME=17
THEMEANIMATION=0
CONVERT=1
MULTICOLUMN=0
PANEL00=E00100F071F643369D1B2241A5C4893A
[E00100F071F643369D1B2241A5C4893A]
DEFUSER=YES
EXPANDED=NO
TYPE=2
NAME=Meine Suche
OBJECTSECTION=D17734654AAF4F5DB5E5607ACA49BDF1
VISIBLE=YES
[SHORTCUTGROUPS]
ALL=Meine Suche
[NOTIFYAREA]
::oswfsubstitutes::=1
::oswfprocesses::=1
::oswfmodels::=1
567B05DA2A1E4DEB9FEA6E21AA1310A3=0
34307E042258432F8369C2CE72442768=0
[PrintParams]
Annotations=1
Position=2
Size=16
Columns=1
Rows=1
[ViewDefaults]
ViewMode=1
FitMode=6
FitMode196608=6
AnnColorLine=255
QuickView=1
AnnFontName=Arial
ViewMode196608=1
AnnFontSize=10
[EBWCLAYOUTCONFIGURATION]
isNavigationFixed=false
accentColor=#008e75
colorTheme=standard
activeCabinet=3
activeNavPane=objectsearch
navigationWidth=24
[EBWCHITLISTCONFIG]
workflow@inbox={"type":"workflow","subType":"inbox","isEmpty":false,"width":{"WFITEMNAME@@@f4":258,"WFCREATION@@@f5":258,"WFNAME@@@f6":258,"WFSUBJECT@@@f7":258,"WFCLOSURE@@@f8":258,"WFPERSONALIZED@@@f9":258}}
objecttype@262148={"type":"objecttype","id":"262148","isEmpty":false,"useCardLayout":false,"width":{"staticColObjectType@@@f7":98,"Gltigab@@@f8":99,"Gltigbis@@@f9":98,"Title@@@f10":1145},"sort":{"staticColMimeType@@@f1":"asc:0"}}
[VV#0004000C]
COL#06=66
COL#07=104
COL#02=72
COL#03=66
COL#04=66
COL#05=100
COL#00=108
COL#01=66
[FIELDS#0004000E]
FIELDS=zahl5,zahl2,zahl3,zahl1,zahl4
[WFSORTINFO@::osdefaultinbox::]
COL=8
DIR=0
[#DOCINFODLGPOS#]
Status=1
ClientWidth=2492
Left=844
Top=368
ClientHeight=1374
Right=1477
Bottom=745
Nomalized=1
[AX_LAYOUT]
MAINFRAME_DOCKINGSTATE=E0 04 07 00 1A 00 00 00 2C 00 00 00 00 00 00 00 ...
VERSION=12.0.104
MAINFRAME_WINDOWPOS=E0 04 07 00 2C 00 00 00 02 00 00 00 03 00 00 00 ...
MAINFRAME_BARSTATE=E0 04 07 00 2C 00 00 00 01 00 00 00 00 00 00 00 ...
RIBBONMINIMIZED=0
[PANELAYOUTS]
PANELAYOUTNAME00=test
PANELAYOUTDATA00=E0 04 07 00 26 00 00 00 2C 00 00 00 00 00 00 00 ...
PANELAYOUTACTIVE00=1
AUTOLOAD=1
LASTLOADED=test
[AUTOOPEN]
FOLDER=1
REGISTER=1
DOCUMENT=1
PORTFOLIO=1
NOTICE=0
CLOSEAFTEROPEN=0
[BACKUPTIMESTAMP]
VALUE=1792154579

Mit den verifizierten Schlüsseln gelesen, bedeutet dieser Datensatz: Oberflächensprache Deutsch, Farbschema Schwarz (WSCOLORTHEME=3), grüne Akzentfarbe (ACCENTCOLORTYPE=2), kein Menüband-Hintergrund, normaler Kontrast und Dialogschrift (8 pt), optimierte Menüs an, Tastaturkürzel aus, automatischer Platzhalter nur vor dem Begriff (Autostern=33 = 32 + 1), keine Suche nach Teilbegriffen; im webclient das Farbschema standard mit der Akzentfarbe #008e75.

Der webclient schreibt denselben Datensatz in seinem eigenen Layout. Nach dem Umschalten seiner Oberflächensprache auf Englisch und seines Farbschemas auf hohen Kontrast sieht er so aus (Auszug, Sektionen in der Reihenfolge, in der der webclient sie geschrieben hat):

[NEW]
OBJECT11 = 17008
OBJECT9 = 17017
ARCHIVE = 30208

[AUTOOPEN]
REGISTER = 1
NOTICE = 0
CLOSEAFTEROPEN = 0
DOCUMENT = 1
PORTFOLIO = 1
FOLDER = 1

[BACKUPTIMESTAMP]
VALUE = 1792163901717

[EBWCLAYOUTCONFIGURATION]
isNavigationFixed = false
accentColor = #671d9e
colorTheme = high-contrast
activeCabinet = 3
activeNavPane = objectsearch
navigationWidth = 24

[CLIENT]
LANGUAGE = en

Gezeigt sind nur die hier relevanten Sektionen; dazwischenliegende Sektionen und die übrigen Schlüssel von [NEW] und [CLIENT] sind weggelassen.