AS.INI

The AS.INI holds the per-user settings of the enaio® client applications (Windows client, webclient, administration tools). The server stores it as user-related data of type 3, one record per user, as text in Windows INI syntax. OPTIMAL SYSTEMS does not document the format; this page describes what was observed.

Measured on enaio® 12.0 (axsvckrn 12.0 build 802, oxjobdms build 770, database Microsoft SQL Server) on 13 AS.INI records of one installation. The keys under Verified keys were measured by changing the setting in the Windows client or in the webclient settings dialog and comparing the record before and after. Statements marked (unverified) are inferred from key names and values, not measured.

1. Storage

Table osconf, one row per user and user-data type:

Column Type Content

osconfid

int

Primary key. Returned as ConfID_0 by dms.GetConfValues.

osconfuser

int

User ID (benutzer.id).

osconftype

int

User-data type, 3 for the AS.INI.

osconfname

nvarchar

Record name. NULL or empty string for the AS.INI: the record has no name.

osconflink

int

Usually NULL. For a copy from a profile distribution the benutzer.id of the profile user.

osconfstate

int

0 in all observed rows.

osconfval

image

The INI text, UTF-8 with byte-order mark (EF BB BF).

The other osconftype values of a user match the user-data types (1, 2, 4, 13, 80 observed); osconf is the backing table of all UserData jobs of the dms engine.

A user with an assigned profile only receives the AS.INI of the profile user when the profile is distributed in the enaio administrator: as a byte-identical copy without a name, with the ID of the profile user in osconflink. An AS.INI of the user’s own is replaced. Afterwards the user changes the copy independently of the profile; there is no fallback to the AS.INI of the profile user (see Profile distribution).

2. Reading the AS.INI

The record has no name: Name = "" matches the empty string and NULL. Names such as AS.INI or ASINI return IsUserData = 0.

2.1. dms.GetUserData

Input Value

Flags

0

Type

3

Name

"" (empty)

OutputUnicode

1 (required)

dms.GetUserData returns IsUserData = 1 and the text in sValue (STRING). With OutputUnicode = 0 the job fails with return value -1 and error -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 takes the same input as dms.GetUserData. It returns IsUserData and the text in sValue and also works with OutputUnicode = 0.

2.3. dms.GetConfValues

dms.GetConfValues with ConfTypes = "3" and OutputUnicode = 1 returns the AS.INI of the logged-in user with these output parameters:

Output Type Observed value

Count

INT

1

sConfValue_0

STRING

the INI text (identical to dms.GetUserData)

ConfID_0

INT

osconf.osconfid

ConfType_0

INT

3

ConfLink_0

INT

0 (for a copy from a profile distribution the ID of the profile user)

ConfProfile_0

STRING

""

ConfGlobal_0

BOOLEAN

false

With OutputUnicode = 0 the job always fails for type 3 with error -1042609854, regardless of the content. The message points to the job dms.GetConfValuesAsString, which returns the same output as OutputUnicode = 1. sConfValue_0 does not contain the byte-order mark.

2.4. dms.GetUserDataNames and dms.IsUserData

dms.GetUserDataNames with Type = 3 returns no Name parameter at all, although the record exists: records with an empty string or NULL as name are not listed. dms.IsUserData with Type = 3 and Name = "" returns IsUserData = 1 (with Flags 0 and 1).

2.5. Object definition language

The object definition language is not part of the AS.INI. The Windows client and the webclient ("Objektdefinition" in the webclient settings) both store it in benutzer.langid: switching it to English changed langid from 7 to 9 (en_US in oslanguages), switching back to German set 7 again. The AS.INI did not change in either client. The object definition language is independent of the UI language [CLIENT] LANGUAGE.

3. Syntax

The AS.INI follows the Windows INI syntax: [SECTION] headers and KEY=VALUE lines, CRLF line endings. Both clients rewrite the whole record in their own layout, so the layout tells which client wrote last (verified for both):

Windows client Webclient

Assignment

KEY=VALUE

KEY = VALUE

Blank line between sections

no

yes

[BACKUPTIMESTAMP] VALUE

Unix time in seconds (1792151636)

Unix time in milliseconds (1792163813517)

Section order

starts with SEARCHBAR, SEARCHBARBACKUP, …

starts with NEW, AUTOOPEN, AXADMIN, …

Apart from layout, order and timestamp, the content is the same.

  • No comments and no blank lines inside a section were observed.

  • Section and key names are written in mixed case ([CLIENT], [axgredit], [ViewDefaults], Nomalized next to NORMALIZED). Read them case-insensitively, as the Windows profile API (GetPrivateProfileString) does, and trim spaces around the =.

  • Keys may contain :, #, @ and . (::oswfsubstitutes::, COL#06, folder@5, hitlist.object-references). Split a line at the first = only. A parser that also accepts : as key/value delimiter breaks these keys.

  • Values are untyped text: integers, 0/1 flags, YES/NO, true/false, paths, GUIDs, JSON (webclient) and space-separated hex bytes (binary layout state).

  • Non-ASCII text is preserved (Meine Eingänge). Field names inside the webclient JSON were observed without their umlauts (Gltigab for a field labelled Gültig ab).

  • Some values are localised display texts and follow the UI language: switching the Windows client from German to French and back rewrote [INBOXACTIVE] ACTIVE from Meine Eingänge to Mes messages and back. Do not compare such values against fixed strings. [CLIENT] FTCFG changed from <Alle> to <Liste> with the switch to French but stayed <Liste> after switching back; its meaning is open.

3.1. Write behaviour of the Windows client

Verified:

  • The client writes the record to the server while it runs, not only at logout.

  • Opening the options dialog writes layout state only (MAINFRAME_BARSTATE and similar blobs). The changed option follows when the dialog is confirmed with OK, often followed by another layout write a few seconds later.

  • Each write updates [BACKUPTIMESTAMP] VALUE. A write may change a single key only.

  • Several keys are absent until the user changes the setting for the first time (HIGHMASKCONTRAST, BIGDLGFONT, WSBACKSTAGEBG). Once written they stay, also when set back to the default (0, 8, 0). A missing key is common and is not an error.

(unverified) One write by the Windows client also changed webclient column widths in [EBWCHITLISTCONFIG] and removed one entry. The client may write back its in-memory copy of the whole record and thereby revert webclient changes made since its login.

3.2. Write behaviour of the webclient

Verified:

  • The settings dialog ("Einstellungen", tab "Allgemein") writes the record once when confirmed with "Übernehmen" (Apply); nothing is written while the dialog is open.

  • The webclient rewrites the whole record in its own layout but keeps every key it does not manage, including the Windows client sections and binary layout state. Compared key by key, a write differed from the previous Windows client record only in the changed settings and [BACKUPTIMESTAMP] VALUE.

  • One write can carry several changed settings (UI language, colour scheme and accent colour in one write).

  • "Übernehmen" also rewrites the record when no AS.INI setting changed: changing only presence and substitutes (tab "Anwesenheit", stored in the workflow tables) still produced a write with a new [BACKUPTIMESTAMP] VALUE and nothing else.

4. Which client sets which keys

Both clients rewrite the whole record and carry the keys of the other client along. "Sets" means here: the client changes the value when the user changes a setting in it. The attribution below rests on the measurements on this page (48 writes by the Windows client, 20 by the webclient settings dialog).

Set by Keys Basis

Both clients

[CLIENT] LANGUAGE (UI language: Windows client De, Fr; webclient de, fr, en), [BACKUPTIMESTAMP] VALUE (seconds / milliseconds)

Measured in both clients.

Windows client only

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

Changed by Windows client writes, never by webclient writes.

Webclient only

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

Changed by webclient writes, never by Windows client writes. [WORKFLOW@INBOXCOLUMNS] was created by the webclient.

Webclient, Windows client not tested

[STATICLISTCOLS] COL0 to COL9, [REQUESTMODE] WITHNOREGISTER

Changed by the webclient settings dialog (tab "Trefferliste"). The sections look like Windows client sections; whether the Windows client also sets these keys was not tested.

Webclient (unverified)

the other keys of [EBWCLAYOUTCONFIGURATION], [EBWCHITLISTCONFIG]

Webclient naming (EBWC prefix, JSON values) and content; not touched by the settings dialog. One Windows client write changed [EBWCHITLISTCONFIG], see write behaviour of the Windows client.

Windows applications (unverified)

all other sections and keys of the section catalogue, including the other keys of [REQUESTMODE]; AXADMIN, axgredit, axwfadm and axwfedit are named after the administration programs

Not measured.

Outside the AS.INI

object definition language in benutzer.langid

Set by both clients, see Object definition language.

Outside the AS.INI

presence and substitutes (webclient tab "Anwesenheit"): oswfabsence, oswfsubstitutes

Unticking "Anwesend" added a row for the user to oswfabsence; choosing two substitutes added two rows with the user as orgobject_id to oswfsubstitutes. The AS.INI only got a new timestamp.

Consequences:

  • The appearance settings are separate per client. The webclient showed "Hell" with accent colour 3 while the same record held "Schwarz" and green for the Windows client, and changing the theme in one client never changed the keys of the other.

  • The UI language is the only key measured as set by both clients. The webclient also sets keys in sections that look like Windows client sections (STATICLISTCOLS, REQUESTMODE WITHNOREGISTER); whether the Windows client reads or sets them, and whether a client applies a language set by the other at its next start, was not tested.

  • Localised values are rewritten by the Windows client only: switching the webclient to French left [INBOXACTIVE] ACTIVE unchanged, switching the Windows client to French rewrote it.

5. Verified keys

Measured on enaio® 12.0 in the Windows client with German UI and in the webclient settings dialog. Settings are given with their German label.

5.1. [CLIENT]

LANGUAGE is set by both clients, all other keys in this table by the Windows client only.

Key Setting in the client Values

LANGUAGE

UI language, shared by Windows client and webclient ("Benutzeroberfläche" in the webclient settings)

Two-letter code whose spelling depends on the writer: the Windows client writes De, Fr, the webclient de, fr, en. Both clients write this one key.

HIGHMASKCONTRAST

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

0 / 1

BIGDLGFONT

"Schriftgrad der Dialoge" (Erweiterte Einstellungen), 4 steps

Font size in points: 8 (Normal), 9, 10, 11 (Groß). Measured 8, 9, 11.

INTELLIGENTMENU

"Optimierte Menüs verwenden"

0 / 1

SHOWKEYSHORTCUT

"Tastaturkürzel anzeigen"

0 / 1

5.2. [WORKSPACE] ("Aussehen")

Set by the Windows client only.

Key Setting in the client Values

WSCOLORTHEME

"Farbschema"

0 Weiß (white), 1 Hellgrau (light grey), 2 Dunkelgrau (dark grey), 3 Schwarz (black). All measured.

ACCENTCOLORTYPE

colour list next to "Farbschema"

Position in the list, 0 to 6. Measured 0, 2, 6.

WSBACKSTAGEBG

"Menüband-Hintergrund"

0 to 14, see below. Measured 0, 4, 8, 14.

Accent colours as rendered in the colour list (taken from a screenshot; values marked ~ from compressed pixels, ±2 per channel). They match the Microsoft Office application colours:

Value Rendered Office colour

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

Ribbon backgrounds: the value follows the English Office background names in alphabetical order. The client lists the German names alphabetically, so list position and value differ.

Value Office name German 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 all 7 records holding it) did not change with any of these settings; its meaning is open.

5.3. [OPTIONEN] and [SEARCH] ("Stern")

Set by the Windows client only.

Section Key Setting in the client Values

OPTIONEN

Autostern

Group "Stern": automatic wildcard for search terms

Bit field, see below.

SEARCH

GOOGLELIKE

"Suche nach Teilbegriffen" (same group "Stern")

0 / 1

Autostern bits, measured for each checkbox alone and all together:

Bit Checkbox

0x00000001 (1)

Set whenever at least one of the three wildcard checkboxes is on.

0x00000002 (2)

"hinter dem Eintrag" (abc*)

0x00000008 (8)

"hinter Eintrag bei Datenbankkatalog"

0x00000020 (32)

"vor dem Eintrag" (*abc)

Measured values: none 0, only after the term 3, only catalogue 9, only before the term 33, all three 43. "Suche nach Teilbegriffen" is shown in the same group but does not touch Autostern; it is stored as [SEARCH] GOOGLELIKE (alone: Autostern=0, GOOGLELIKE=1).

Both sections are absent until the options of the "Stern" group are confirmed for the first time. That first confirmation also wrote the sections [AUTOOPEN], [AUTOCLOSE], [AUTOUSE], [AUTOOPENSYSLIST] and [AUTOLOCATIONFOCUS] (see Section catalogue); earlier confirmations of other settings in the same dialog did not.

5.4. [STATICLISTCOLS] and [REQUESTMODE] (webclient, tab "Trefferliste")

Set by the webclient settings dialog, tab "Trefferliste". Whether the Windows client also sets these keys was not tested.

Section Key Setting in the webclient Values

STATICLISTCOLS

COL0 to COL9

Group "Statische Spalten": one checkbox per static hit list column

0 / 1, see below

REQUESTMODE

WITHNOREGISTER

Group "Anfrageverhalten": "Objekte ohne Registerzuordnung immer einbeziehen" (always include objects without register assignment)

0 / 1

The key number is not the position in the dialog. Each column was measured alone:

Key Column Position in the dialog

COL0

Objekttyp (object type)

1

COL1

Archivierungsstatus (archiving status)

3

COL2

Ausgecheckt (checked out)

4

COL3

Verknüpfungen (links)

5

COL4

Signatur (signature)

6

COL5

Objekt (object)

10

COL6

Dateiformat (file format)

2

COL7

Favorit (favourite)

9

COL8

Notizen (notes)

7

COL9

Vorschauanmerkungen (preview annotations)

8

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

Set by the webclient only, group "Systemspalten für Workflows". One key per system column of the workflow inbox; the key names are the column IDs also used in the width member of [EBWCHITLISTCONFIG] workflow@inbox (WFITEMNAME@@@f4, …).

Key Column Values

WFITEMNAME

Arbeitsschritt (work step)

0 / 1

WFCREATION

Erstellt (created)

0 / 1

WFNAME

Workflow

0 / 1

WFSUBJECT

Betreff (subject)

0 / 1

WFCLOSURE

Fällig am (due on)

0 / 1

WFPERSONALIZED

Personalisiert durch (personalised by)

0 / 1

The section is absent while all columns are shown. Hiding a column adds its key with 0, and only that key; showing it again writes 1, the key stays. Each column was measured alone.

5.6. [EBWCLAYOUTCONFIGURATION] (webclient)

Set by the webclient only, in its settings dialog, tab "Allgemein", group "Aussehen".

Key Setting Values

colorTheme

"Farbschema"

standard ("Hell"; selecting it writes standard), dark (French UI: "Sombre"), high-contrast (English UI: "High contrast"). The dialog never wrote light, although webclient integrations also accept it.

accentColor

"Akzentfarbe"

The hex value of the selected colour, not an index.

The dialog offers seven accent colours (measured from a screenshot, exact):

Position accentColor

1

#005873

2

#0092e1

3

#008e75

4

#ef6927

5

#e249bb

6

#88002b

7

#671d9e

All accent colours found in the 13 surveyed records belong to this palette. With colorTheme=high-contrast the dialog hides the accent colours; accentColor keeps its last value.

The section holds no language key; the webclient UI language is [CLIENT] LANGUAGE.

6. Section catalogue

Count = number of the 13 observed records that contain the section.

6.1. Client options

Section Set by Count Observed keys Notes

CLIENT

Both (LANGUAGE); Windows client (other keys)

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

Mostly 0/1 flags; MAXRECENTOBJECTS integer, FTCFG text (<Alle>), TREEDIVCHAR one character (-), path in LASTFILEEXPORTPATH.

WORKSPACE

Windows client

7

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

Integers and flags.

USERGLOBAL

Windows client (unverified)

10

MOBFAVUPDATE, RESWINSHOWLINKEDOBJECTS, WFILEOPENPATH

REQUESTMODE

Webclient (WITHNOREGISTER); Windows client (unverified) (other keys)

7

WITHNOREGISTER, USESAMEFOLDERWINDOW, USESAMERESULTLIST

Flags.

REQUESTRES

Windows client (unverified)

5

ASKUSERREQUESTCONFIRM, MAXREQUESTCOUNT, TYPESET, USERREQUESTCONFIRM, TYPE

MAXREQUESTCOUNT integer (500).

REQUESTCHILD

Windows client (unverified)

5

TYPE, REQCLOSEACT1 to REQCLOSEACT9

INBOXACTIVE

Windows client

10

ACTIVE

Localised name of the active inbox (Meine Eingänge, Wiedervorlage, Rappel, Mes messages).

SEARCHBAR, SEARCHBARBACKUP

Windows client (unverified)

10

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

PANEL<nn> holds a 32-digit hex GUID naming a panel section (see Section families).

SHORTCUTGROUPS

Windows client (unverified)

9

ALL

Panel name (Meine Suche).

ViewDefaults

Windows client (unverified)

5

see below

Document viewer defaults.

PrintParams

Windows client (unverified)

10

Annotations, Position, Size, Columns, Rows

SCANNEN

Windows client (unverified)

5

PAGECONFIRM, SCANCHECKAPPEND

DOCSHARE

Windows client (unverified)

4

DEFTIME

Integer (14) (unverified: default share duration in days).

Export

Windows client (unverified)

5

DefaultFormat

-1.

NOTIFYAREA

Windows client (unverified)

7

::oswfsubstitutes::, ::oswfprocesses::, ::oswfmodels::, GUID keys

Flags.

WINDOWTITLE

Windows client (unverified)

5

TYPE00 to TYPE05

Flags.

STATICLISTCOLS

Webclient; Windows client not tested

6

COL0 to COL9

Static hit list columns, see STATICLISTCOLS and REQUESTMODE.

RELATIONTREE

Windows client (unverified)

10

EXP#<n>

Integers.

PANELAYOUTS

Windows client

8

PANELAYOUTACTIVE<nn>, PANELAYOUTDATA<nn> (hex blob), PANELAYOUTNAME<nn>, AUTOLOAD, LASTLOADED

Named pane layouts, see Pane layout.

RELOADREGISTRY

open

10

COUNT

BACKUPTIMESTAMP

Both

13

VALUE

Timestamp of the last write, see Syntax.

WORKFLOW

Windows client (unverified)

5

DEBUGEVENTS

SCRIPTEDITOR

Windows client (unverified)

5

FONTHEIGHT

OPTIONEN

Windows client

0

Autostern

See OPTIONEN and SEARCH.

SEARCH

Windows client

0

GOOGLELIKE

See OPTIONEN and 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

Integer (0).

WORKFLOW@INBOXCOLUMNS

Webclient

0

WFITEMNAME, WFCREATION, WFNAME, WFSUBJECT, WFCLOSURE, WFPERSONALIZED

Visible inbox columns, see WORKFLOW@INBOXCOLUMNS.

Sections with count 0 were absent from all 13 records at survey time and appeared later in one record, see OPTIONEN and SEARCH and WORKFLOW@INBOXCOLUMNS.

ViewDefaults keys: ViewMode, RenderMode, FitMode, FitWindow, FitWidth, FitHeight, QuickView, QuickViewWidth, QuickViewQuali, QuicklookSize, PDFViewQuali, PagingMode, LineScroll, ScrollPos1, Dock, ConfirmType, ExportSchema and the annotation defaults AnnUnit, AnnLineWidth, AnnColorLine, AnnColorMark, AnnColorRectangle, AnnColorFont (decimal colour integers, e.g. 255, 65535, 16711680), AnnFontName, AnnFontSize, AnnDialogLeft, AnnDialogTop. Most keys also occur with a numeric suffix (FitMode3, FitMode196608, ScrollPos13, ScrollPos1196608) (unverified: suffix = object type ID, 196608 = 0x30000, matching the section VV#00030000).

6.2. webclient

Section Set by Count Content

EBWCLAYOUTCONFIGURATION

Webclient (colorTheme, accentColor verified)

11

isNavigationFixed (true/false), accentColor, colorTheme, activeCabinet (integer), activeNavPane (e.g. objectsearch), navigationWidth (integer).

EBWCHITLISTCONFIG

Webclient (unverified)

10

One key per hit list, the value is a JSON object.

EBWCHITLISTCONFIG keys: objecttype@<type id>, folder@<cabinet id>, workflow@inbox, variants, searchByIds, fulltextResult, hitlist.object-references, hitlist.recycleBin. JSON members:

Member Type Content

type

string

Hit list kind, repeats the key prefix (objecttype, folder, workflow, …).

id

string

Type or cabinet ID, when the key carries one.

subType

string

e.g. inbox for workflow@inbox.

isEmpty

boolean

useCardLayout

boolean

width

object

Column widths in pixels (number, also fractional), keyed <field>@@@f<n> or f<n>.

sort

object

Sorting, keyed like width; value "asc:<n>" / "desc:<n>" or null.

locationTreeWidth

number

6.3. Section families (name patterns)

Pattern Content

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

Dialog geometry: Status, Left, Top, Right, Bottom, ClientWidth, ClientHeight, Nomalized (sic) / NORMALIZED, optional COLWIDTH<nn>, SORTCOL<nn>, SORTDIR<nn>. Written when the dialog is used (verified for #LAYOUTCFGDLGPOS#).

VV#<8 hex digits>

Column widths COL#<nn> of a list for the object type with that hex ID (0004000C = 262156), optionally with dialog geometry keys.

FIELDS#<8 hex digits>

FIELDS = comma-separated internal field names of an object type.

SETS#<8 hex digits>

SET<nnn> flags.

WFSORTINFO@::<list>::

Sorting of a workflow list: COL, DIR.

<32 hex digits>

Search bar panel referenced by SEARCHBAR PANEL<nn>: NAME, TYPE, VISIBLE (YES/NO), EXPANDED, DEFUSER, OBJECTSECTION (GUID), optional PANEITEM<n>, PANEITEMNAME<n>.

<decimal>#<GUID>

Numeric keys with value 0 (e.g. 48431104#65E909D0-C875-48A9-942F-7F18933885B5). Meaning open.

NEW, LASTAPPSTART, LASTACTION, AFTERNEWOPEN

Keys are object type IDs or OBJECT<n> / ARCHIVE; integer values.

<NAME>_BAK

Backup copy of the section <NAME> (AX_LAYOUT_BAK, AX_LAYOUT_QUICKACCESS_BAK).

Rare sections, one record each, not analysed: OPENEDWORKITEMS, STOREDREQSET, TYPEDPORTFOLIO.

All section families are written by the Windows applications (unverified); verified for the dialog geometry #LAYOUTCFGDLGPOS# (Windows client).

6.4. Application layout sections

AX_LAYOUT, AX_LAYOUT_QUICKACCESS, AXADMIN, axgredit, axwfadm and axwfedit hold the window and toolbar state of the Windows client and the administration programs (VERSION / LAYOUT_VERSION such as 12.0.104, flags, paths). The keys MAINFRAME_BARSTATE, MAINFRAME_DOCKINGSTATE, MAINFRAME_WINDOWPOS, MASKDSGN_LAYOUT* and PANELAYOUTDATA<nn> carry binary state as space-separated hex bytes; all observed blobs start with E0 04 07 00. Some keys carry a language suffix (MAINFRAME_BARSTATE_DE, MASKDSGN_LAYOUTDe), so layouts are kept per UI language. AX_LAYOUT and AX_LAYOUT_BAK are verified as written by the Windows client; the sections of the administration programs (unverified) by theirs.

Pane layout (verified): which panes the Windows client shows (Detailvorschau, Inhaltsvorschau, dashlets) is stored in [PANELAYOUTS] PANELAYOUTDATA<nn>, the named pane layout PANELAYOUTNAME<nn> that the client loads at start when AUTOLOAD=1 (LASTLOADED names it). It is not stored in [AX_LAYOUT] MAINFRAME_DOCKINGSTATE, which stayed unchanged. The blob first lists every pane with its name as UTF-16 text (Meine Eingänge, Navigation, Inhaltsvorschau, Detailvorschau, Objektsuche, Skriptkonsole and dashlets such as Embedded Office, Embedded Documents, Embedded Cloud, TeamManager, Skribble, Autofill), each preceded by a numeric container reference, followed by a layout tree of containers and sizes. Activating panes left the name list unchanged; it renumbered the container references, replaced a block in the layout tree and changed sizes. Visibility is therefore encoded in the tree, not next to the pane name. The tree structure is not decoded.

7. Example

A condensed AS.INI as written by the Windows client (enaio® 12.0, compact KEY=VALUE layout, CRLF in the original). It shows one or a few sections of each family, in the order the client wrote them. Abbreviations: only a subset of the sections and of the ViewDefaults and EBWCHITLISTCONFIG keys is shown, binary values are cut after 16 bytes (…​), and user paths read <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

Read with the verified keys, this record means: UI language German, colour scheme black (WSCOLORTHEME=3), green accent (ACCENTCOLORTYPE=2), no ribbon background, normal contrast and dialog font (8 pt), optimised menus on, keyboard shortcuts off, automatic wildcard before the term only (Autostern=33 = 32 + 1), no partial term search; in the webclient the standard theme with accent #008e75.

The webclient writes the same record in its own layout. After switching its UI language to English and its colour scheme to high contrast, it reads like this (excerpt, sections in the order the webclient wrote them):

[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

Only the sections relevant here are shown, with sections in between and the other keys of [NEW] and [CLIENT] left out.