Systém Flexideo umožňuje uživatelům uchovávat vlastní konfigurační údaje ve formě uživatelských XML nastavení, která mohou být dále rozdělena na kmenová nastavení a dílčí nastavení podle účelu a rozsahu použití. Tato nastavení se ukládají a načítají pomocí strukturovaných požadavků, v nichž se definuje ID uživatele a případně i specifikace části ( part), které se dané nastavení týká.
Veškerá nastavení jsou technicky uložena ve standardizované XML podobě, která zachovává flexibilitu při rozšiřování a zároveň zajišťuje konzistenci při integraci s ostatními částmi systému.
Níže uvedené příklady ukazují, jakým způsobem lze tato data odesílat serveru při ukládání nastavení, i jak je lze získávat zpět.
K zachování kompatibility a přehlednosti se doporučuje dodržovat ustálené názvy kmenových tagů – jako např. user-settings pro základní konfiguraci nebo table-file pro nastavení tabulek.
Příklad uložení kmenových a dílčích nastavení
Uložení kmenových nastavení pro uživatele s ID 5: <request>
<set-user-settings user-id="5">
<user-root>
<user-settings>
<theme>dark</theme>
<language>cs</language>
<notifications>true</notifications>
</user-settings>
</user-root>
</set-user-settings>
</request>
Uložení dílčího nastavení téhož uživatele – např. konfigurace tabulky:
<request>
<set-user-settings user-id="5" part="table">
<user-root>
<table-file>
<column-width>240</column-width>
<visible-columns>name,email,phone</visible-columns>
<default-sort>name</default-sort>
</table-file>
</user-root>
</set-user-settings>
</request>
Všimněte si, že jako kmenové uzly platného XML obsahu jsou použity uzly <user-settings> a <table-file>. Zatímco struktura uzlu <user-root> včetně kmenového tagu <user-settings> je pevně dána, obsah dílčích nastavení – včetně názvu kmenového tagu – se odvíjí od účelu jeho využití.
U dílčích nastavení typu table se doporučuje používat sjednocený kmenový tag <table-file>, který následně obsahuje konkrétní datovou strukturu. Tuto konvenci je vhodné dodržovat pro zachování kompatibility s nadstavbovými funkcemi systému.
Příklad načtení uživatelských nastavení
Získání kmenových nastavení:<request> <get-user-settings user-id="5" /> </request>
Získání dílčích nastavení (např. tabulkových):
<request> <get-user-settings user-id="5" part="table" /> </request>
xxxxxx
...
a uložení dílčího uživatelského nastavení téhožuživatele může vypadat např. takto:
...
Všimněte si, že jako kmenové uzly platného XML obsahu jsou uzly s názvy user-settings a table-file. Zatímcostruktura user-root vč. kmenového tagu obsahu user-settings je pevně dána, obsah dílčích nastavení vč. názvu kmenového tagu závisí na účelu jeho využití. I v případě dílčích nastavení table je ale využívána konvencesjednoceného kmenového tagu table-file, který teprve dále obsahuje potřebný obsah. Je dobré tuto konvenci dodržovat.
Požadavek na získání uživatelských nastavení v předchozím příkladu bude mít tedy následující formu:a získání dílčích nastavení pak zase tuto: