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 |
|---|---|---|
|
|
Primärschlüssel. Wird von dms.GetConfValues als |
|
|
Benutzer-ID ( |
|
|
Typ der benutzerbezogenen Daten, |
|
|
Name des Datensatzes. Bei der AS.INI |
|
|
Meist |
|
|
In allen beobachteten Zeilen |
|
|
Der INI-Text, UTF-8 mit Byte-Order-Mark ( |
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|---|
|
INT |
|
|
STRING |
der INI-Text (identisch mit dms.GetUserData) |
|
INT |
|
|
INT |
|
|
INT |
|
|
STRING |
|
|
BOOLEAN |
|
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 |
|
|
Leerzeile zwischen Sektionen |
nein |
ja |
|
Unix-Zeit in Sekunden ( |
Unix-Zeit in Millisekunden ( |
Reihenfolge der Sektionen |
beginnt mit |
beginnt mit |
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],NomalizednebenNORMALIZED). 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 (Gltigabfür ein Feld mit der BeschriftungGü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] ACTIVEvonMeine EingängeaufMes messagesund zurück. Solche Werte nicht gegen feste Zeichenketten vergleichen.[CLIENT] FTCFGwechselte 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_BARSTATEund ä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] VALUEund 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 |
|
In beiden Clients gemessen. |
Nur Windows-Client |
|
Durch Schreibvorgänge des Windows-Clients geändert, nie durch solche des webclients. |
Nur webclient |
|
Durch Schreibvorgänge des webclients geändert, nie durch solche des Windows-Clients. |
webclient, Windows-Client nicht geprüft |
|
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 |
Benennung (Präfix |
Windows-Anwendungen (nicht verifiziert) |
alle übrigen Sektionen und Schlüssel des Sektionskatalogs, einschließlich der übrigen Schlüssel von |
Nicht gemessen. |
Außerhalb der AS.INI |
Sprache der Objektdefinition in |
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 |
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] ACTIVEunverä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 |
|---|---|---|
|
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 |
|
„Kontrast der Schrift in Masken: Kontrast erhöhen" (Erweiterte Einstellungen) |
|
|
„Schriftgrad der Dialoge" (Erweiterte Einstellungen), 4 Stufen |
Schriftgröße in Punkt: |
|
„Optimierte Menüs verwenden" |
|
|
„Tastaturkürzel anzeigen" |
|
5.2. [WORKSPACE] („Aussehen")
Nur vom Windows-Client gesetzt.
| Schlüssel | Einstellung im Client | Werte |
|---|---|---|
|
„Farbschema" |
|
|
Farbliste neben „Farbschema" |
Position in der Liste, |
|
„Menüband-Hintergrund" |
|
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 |
|---|---|---|
|
|
Outlook |
|
~ |
Access |
|
|
Excel |
|
~ |
OneNote |
|
~ |
Publisher |
|
~ |
PowerPoint |
|
|
Word |
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 |
|---|---|---|
|
No Background |
Ohne Hintergrund |
|
Calligraphy |
Kalligrafie |
|
Circles and Stripes |
Kreise und Streifen |
|
Circuit |
Schaltkreis |
|
Clouds |
Wolken |
|
Doodle Circles |
Kritzelkreise |
|
Doodle Diamonds |
Kritzeldiamanten |
|
Geometry |
Geometrie |
|
Lunchbox |
Brotdose |
|
School Supplies |
Schulmaterial |
|
Spring |
Frühling |
|
Stars |
Sterne |
|
Straws |
Strohhalme |
|
Tree Rings |
Jahresringe |
|
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 |
|---|---|---|---|
|
|
Gruppe „Stern": automatischer Platzhalter für Suchbegriffe |
Bitfeld, siehe unten. |
|
|
„Suche nach Teilbegriffen" (dieselbe Gruppe „Stern") |
|
Bits von Autostern, gemessen für jedes Kontrollkästchen einzeln und für alle zusammen:
| Bit | Kontrollkästchen |
|---|---|
|
Gesetzt, sobald mindestens eines der drei Platzhalter-Kontrollkästchen aktiv ist. |
|
„hinter dem Eintrag" ( |
|
„hinter Eintrag bei Datenbankkatalog" |
|
„vor dem Eintrag" ( |
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 |
|---|---|---|---|
|
|
Gruppe „Statische Spalten": ein Kontrollkästchen je statischer Spalte der Trefferliste |
|
|
|
Gruppe „Anfrageverhalten": „Objekte ohne Registerzuordnung immer einbeziehen" |
|
Die Nummer im Schlüssel ist nicht die Position im Dialog. Jede Spalte wurde einzeln gemessen:
| Schlüssel | Spalte | Position im Dialog |
|---|---|---|
|
Objekttyp |
1 |
|
Archivierungsstatus |
3 |
|
Ausgecheckt |
4 |
|
Verknüpfungen |
5 |
|
Signatur |
6 |
|
Objekt |
10 |
|
Dateiformat |
2 |
|
Favorit |
9 |
|
Notizen |
7 |
|
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 |
|---|---|---|
|
Arbeitsschritt |
|
|
Erstellt |
|
|
Workflow |
|
|
Betreff |
|
|
Fällig am |
|
|
Personalisiert durch |
|
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 |
|---|---|---|
|
„Farbschema" |
|
|
„Akzentfarbe" |
Der Hex-Wert der gewählten Farbe, kein Index. |
Der Dialog bietet sieben Akzentfarben an (aus einem Bildschirmfoto gemessen, exakt):
| Position | accentColor |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|---|---|---|
|
Beide ( |
10 |
|
Überwiegend Flags |
|
Windows-Client |
7 |
|
Ganzzahlen und Flags. |
|
Windows-Client (nicht verifiziert) |
10 |
|
|
|
webclient ( |
7 |
|
Flags. |
|
Windows-Client (nicht verifiziert) |
5 |
|
|
|
Windows-Client (nicht verifiziert) |
5 |
|
|
|
Windows-Client |
10 |
|
Lokalisierter Name des aktiven Eingangs ( |
|
Windows-Client (nicht verifiziert) |
10 |
|
|
|
Windows-Client (nicht verifiziert) |
9 |
|
Panelname ( |
|
Windows-Client (nicht verifiziert) |
5 |
siehe unten |
Voreinstellungen des Dokumentviewers. |
|
Windows-Client (nicht verifiziert) |
10 |
|
|
|
Windows-Client (nicht verifiziert) |
5 |
|
|
|
Windows-Client (nicht verifiziert) |
4 |
|
Ganzzahl ( |
|
Windows-Client (nicht verifiziert) |
5 |
|
|
|
Windows-Client (nicht verifiziert) |
7 |
|
Flags. |
|
Windows-Client (nicht verifiziert) |
5 |
|
Flags. |
|
webclient; Windows-Client nicht geprüft |
6 |
|
Statische Spalten der Trefferliste, siehe STATICLISTCOLS und REQUESTMODE. |
|
Windows-Client (nicht verifiziert) |
10 |
|
Ganzzahlen. |
|
Windows-Client |
8 |
|
Benannte Bereichslayouts, siehe Bereichslayout. |
|
offen |
10 |
|
|
|
Beide |
13 |
|
Zeitstempel des letzten Schreibvorgangs, siehe Syntax. |
|
Windows-Client (nicht verifiziert) |
5 |
|
|
|
Windows-Client (nicht verifiziert) |
5 |
|
|
|
Windows-Client |
0 |
|
Siehe OPTIONEN und SEARCH. |
|
Windows-Client |
0 |
|
Siehe OPTIONEN und SEARCH. |
|
Windows-Client |
0 |
|
Flags. |
|
Windows-Client |
0 |
|
Flags. |
|
Windows-Client |
0 |
|
Flags. |
|
Windows-Client |
0 |
|
Flags. |
|
Windows-Client |
0 |
|
Ganzzahl ( |
|
webclient |
0 |
|
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 |
|---|---|---|---|
|
webclient ( |
11 |
|
|
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 |
|---|---|---|
|
string |
Art der Trefferliste, wiederholt das Präfix des Schlüssels ( |
|
string |
Typ- oder Schrank-ID, sofern der Schlüssel eine enthält. |
|
string |
z. B. |
|
boolean |
|
|
boolean |
|
|
object |
Spaltenbreiten in Pixeln (Zahl, auch mit Nachkommastellen), Schlüssel |
|
object |
Sortierung, Schlüssel wie bei |
|
number |
6.3. Sektionsfamilien (Namensmuster)
| Muster | Inhalt |
|---|---|
|
Dialoggeometrie: |
|
Spaltenbreiten |
|
|
|
Flags |
|
Sortierung einer Workflow-Liste: |
|
Panel der Suchleiste, auf das |
|
Numerische Schlüssel mit dem Wert |
|
Schlüssel sind Objekttyp-IDs oder |
|
Sicherungskopie der Sektion |
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.