SQLite Data Studio: specifikacija področja (normativno)
Dokumentacija studia: SQLite Data Studio · Oblikovalski sistem: FluentUI: skrbniško območje podrobno
Stanje: normativna ciljna opredelitev delovne površine studia (paket wksqliteds, prej
wvdsdwmsqlite; skrbniško območje »Pomočnik za poizvedbe«). Ta stran je zavezujoča osnova
izvedbe. Modela območij ne ponavlja, temveč nanj kaže: vir resnice sta
FluentUI: skrbniško območje podrobno (pravila vedenja) in
FluentUI: osnovna postavitev podrobno (območja). Oznake stopenj:
[Live] = izvedeno v kodi · [S1] = stopnja 1 delovne površine, v izvedbi ·
[S2] = samo opredeljeno (katalog gradnikov).
Kjer stran navaja Azure Data Studio (ADS), gre za poti v njegovi izvorni kodi kot dokaz za mehaniko, ki je bila na novo zgrajena. Prevzeta ni niti vrstica kode: ADS je izdan pod licenco Source EULA, zato iz njega ne prenašamo ne kode ne datotek SVG.
1. Sedem odločitev, v katerih se studio razlikuje od Azure Data Studia
Vsaka odločitev je normativna in ima svoj razlog.
- Leva vrstica dejavnosti je namenjena samo skrbniškim modulom DokuWikija [Live]. V njej so izključno skrbniški moduli, ki jih dopušča ACL (vzorec skrbniškega območja); studio vanjo nikoli ne postavi lastnih dejanj. Razlog: v ADS vrstica dejavnosti gosti orodja sama. V skrbništvu WvdS pa vprašanje »kateri modul« ostaja strogo ločeno od vprašanja »kaj počnem v modulu«, zato je krmarjenje med moduli pri vseh orodjih enako.
- Ukazi modula so prispevki k paleti ukazov, ne desni rail modula [Live]. Studio odda en sam ukaz, ki velja za modul kot celoto: Nova poizvedba. Gostitelj ga izriše kot glavni gumb v ukazni vrstici in ga ponudi v paleti ukazov. Zgodovina poizvedb in Pravice sta od 25. 8. 2026 v meniju Dejanja pri povezavi v raziskovalcu objektov; Dokumentacijo in preklop pomožne vrstice doda gostitelj. Desni rail modula
.wk-shell-rail--right(opredelitev območja) se izriše le še v nadomestni poti, kadar gostitelj lupine ne prevzame. Razlog: zgodovina in pravice govorita o eni povezavi; vrstica, ki se razteza nad celotnim modulom, ne more povedati, katero ima v mislih. V meniju povezave se to vprašanje ne zastavi. - Povezava velja za zahtevo, ne za sejo [Live]. Ukazov
Connect/Disconnect/Canceliz ADS ni: vsaka zahteva povezavo odpre na novo (ConnectionManager::pdo(), predpomnilnik zahteve). Vmesnik namesto tega ponuja izbiro povezave in Preizkusi povezavo. Prekinitev poizvedbe, ki teče, je smiselna šele pri asinhronem izvajanju in je [S2]. Razlog: DokuWiki obdela vsako zahtevo posebej in na strežniku nima trajne seje za posamezno povezavo; življenjski cikel povezave, kot ga pozna ADS, ne bi imel na čem stati. - Bližnjice ne trčijo z brskalnikom [Live]. Zaženi sprožita F5 in Ctrl+Enter, Preveri sintakso pa Ctrl+F5. Bližnjica zgolj klikne gumb, ki je viden na strani (
data-wk-shortcut, obdela gashortcuts.jsiz wkfluentui); kjer gumba Zaženi ni, F5 stran ponovno naloži kot običajno. Celotna preglednica je v razdelku 2.6. Razlog: bližnjica ne sme odpreti druge poti oddaje in ne sme doseči dejanja, ki ga uporabnik ne vidi. - Brez enostranske aplikacije in brez drugega okna [Live]. Studio dela s krogi POST in postopnim izboljševanjem, ne kot enostranska aplikacija; drugega okna ni. Vsaka izboljšava z JavaScriptom ima nadomestilo brez njega. Razlog: zgradba razširitev DokuWikija (
act_dispatch, brez lastnega pogona mreže v JavaScriptu); dostopnost je tako vgrajena v zasnovo. - Barvna semantika po Contract v3 [Live]. Bela = običajno dejanje (tudi Shrani), modra = posebno dejanje (izvoz, uvoz), rdeča = uničujoče dejanje; v orodnih vrsticah je vrstni red v DOM bela → modra → rdeča (Contract v3). Modra ADS za glavni poziv k dejanju se ne uporablja. Razlog: enotna barvna pogodba skrbništva WvdS; pomen nikoli ni odvisen samo od barve.
- Namesto nadzorne plošče »Manage« pregled tabel [Live]. Namesto gradnikov nadzorne plošče iz ADS je izhodišče, ki ga uporabnik najde brez iskanja, pregled tabel (
view/Overview.php); od tam vodijo povezave v strukturo, brskanje in izvoz. Razlog: DokuWiki nima lastnega ogrodja za nadzorne plošče (glejte BizWay).
2. Popis dejanj
Navedbe kažejo na izvorno kodo Azure Data Studia; vsako dejanje ima oznako stopnje. Stolpec z barvo sledi semantiki Contract v3 (b = bela/nevtralna, m = modra/posebna, r = rdeča/uničujoča).
2.1 Naslovna vrstica stranske vrstice (raziskovalec objektov)
| Dejanje | Barva | Stopnja | Navedba |
|---|---|---|---|
| Nova povezava | b | [Live] | gumb z ikono v orodni vrstici drevesa |
| Osveži (drevo znova naloži) | b | [Live] | osvežitev v raziskovalcu objektov ADS; ObjectTree::toolbar() |
| Razširi vse / Strni vse | b | [Live] | preklopnik v isti orodni vrstici |
| Filter objektov (omeji drevo) | b | [Live] | listFilter(), Filter InputBox |
Izbirnega seznama povezav v naslovni vrstici ni: drevo prikaže vse nastavljene povezave kot korenska vozlišča, izbira povezave je klik nanjo. Preklop pomožne vrstice je gostiteljev.
2.2 Meni »Dejanja« po vrsti vozlišča
Vsako vozlišče ima meni Dejanja; priročni meni (desni klik) le znova sproži iste povezave in gumbe, druge poti oddaje ni. Vsak vnos se posebej preveri proti lastni zmožnosti.
| Vrsta vozlišča | Vnosi | Barva | Stopnja |
|---|---|---|---|
| Povezava | Pomočnik za poizvedbe · Nova poizvedba · Zgodovina poizvedb · Pravice · Preizkusi povezavo · Uredi; pri SQLite še Izdelaj varnostno kopijo · Obnovi… · Preverjanje celovitosti · Optimiraj · Upravljaj varnostne kopije; na koncu Izbriši | b; le Izbriši r | [Live] |
| Mapa tabel | Nova tabela · Osveži | b · b | [Live] |
| Tabela | Prebrskaj · Struktura · Stavek CREATE · Ustvari skript DROP · Izvozi · Uvozi · Lastnosti · Odstrani | b · b · b · b · m · m · b · r | [Live]; preimenovanje [S1] |
| Pogled | Prebrskaj · Stavek CREATE · Lastnosti · Odstrani | b · b · b · r | [Live] |
| Prožilec | brez menija v drevesu; ogled, sprememba in odstranitev na zavihku Prožilci v pogledu Struktura (zmožnost design, samo SQLite) | b · r | [Live] |
| Rutina (veja studia) | Uredi · Zaženi preizkus · Izbriši | b · b · r | [Live] |
2.3 Orodna vrstica pomočnika za poizvedbe (konzola SQL)
To je orodna vrstica področja (.wkq-panebar), ne ukazna vrstica okna. Stoji v vsebini,
ker njeni kontrolniki naslavljajo obrazec urejevalnika. Na širini telefona se prelomi v novo vrstico,
namesto da bi se pomikala: kontrolnik, ki ga rob odreže, ni kontrolnik, drsni trak pa na zaslonih na
dotik v mirovanju nima vidnega drsnika, ki bi ga razkril.
| Dejanje | Barva | Stopnja | Navedba |
|---|---|---|---|
| Izbira povezave | b | [Live] | <select>, zato ga ni mogoče izraziti kot kind:action |
| Zaženi (F5 · Ctrl+Enter) | b | [Live] | view/Workbench.php::doSqlRun() |
| Preveri sintakso (Ctrl+F5) | b | [Live] | doCheckSyntax() |
| Načrt poizvedbe | b | [Live] | doQueryPlan() – samo SQLite, glejte razdelek 4a |
| Počisti | b | [Live] | .wkq-clear |
| Shrani kot rutino | m | [Live] | doSaveAsRoutine() |
| Zavihki urejevalnika (več poizvedb hkrati) | – | [Live] | WorkbenchBufferStore · WorkspaceTabStrip |
| Nova poizvedba | – | [Live] | prispevek commandPalette, ne več v tej vrstici |
| Prekini izvajanje | r | [S2] | predpostavlja asinhrono izvajanje |
2.4 Dejanja v mreži rezultatov
| Dejanje | Barva | Stopnja | Navedba |
|---|---|---|---|
| Razvrščanje po stolpcih | b | [Live] | razvrščanje v dataGrid(), DataGrid: sorting |
| Listanje po straneh | b | [Live] | straničenje, DataGrid: Data Paging and Scrolling |
| Urejanje vrstice (predal) | b | [Live] | urejevalnik vrstic v view/Browse.php |
| Brisanje vrstic | r | [Live] | posamezno in z večkratnim izborom (POST z sectok) |
| Izvoz rezultata | m | [Live] | db_export_result (ukazna vrstica in zavihek Rezultati) |
| Povečaj rezultate | b | [Live] | wb_maximize; gradnik: maksimiranje podokna |
2.5 Ukazna vrstica in orodne vrstice po pogledih
Ukazna vrstica je gostiteljeva. Studio ne izriše lastne; kar velja za cel modul, odda kot
prispevek commandPalette in se zato brez druge prijave pojavi v ukazni vrstici in v paleti
ukazov, po kateri je mogoče iskati (Ctrl+Shift+P).
Tak ukaz je en sam: Nova poizvedba. Dokumentacije studio ne prispeva, ker jo
adminshell::commandsFor() že tako doda iz polja url v plugin.info.txt – lasten prispevek bi
se pokazal dvakrat. Zgodovina poizvedb in Pravice sta v meniju povezave (razdelek 2.2).
Stolpci spodaj naštevajo, kaj ponuja področje (.wkq-panebar, razdelek 2.3), ne tega, kar je v
vrstici okna.
| Pogled | bela | modra | rdeča | Stopnja |
|---|---|---|---|---|
| Pregled | Nova tabela · Osveži | Izvozi | – | [Live]; iskanje [S2] |
| Struktura (oblikovalnik tabel) | Predogled · Uporabi | – | Odstrani tabelo | [Live] |
| Brskanje | Nov zapis | – | Izbriši izbrano | [Live] |
| Pomočnik za poizvedbe | Izbira povezave · Zaženi · Preveri sintakso | Shrani kot rutino · Izvoz rezultata (CSV/JSON) | – | [Live] |
| Izvoz | – | Izvozi | – | [Live] |
2.6 Tipkovnica (preglednica bližnjic)
| Dejanje | Tipka | Stopnja | Opomba |
|---|---|---|---|
| Zaženi poizvedbo | F5 ali Ctrl+Enter | [Live] | deluje tudi iz polja SQL, ker funkcijske tipke ne vnašajo besedila |
| Preveri sintakso | Ctrl+F5 | [Live] | |
| Počisti konzolo | (gumb) | [Live] | brez globalne tipke, da se izognemo trkom |
| Odpri paleto ukazov | Ctrl+Shift+P | [Live] | paleta je gostiteljeva (cmdpalette.js iz wkfluentui) |
| Krmarjenje po drevesu | puščice / Home / End | [Live] | semantika treeitem |
| Zapri pogovorno okno | Esc | [Live] | fokus se vrne na sprožilni element |
3. Stranska vrstica, drevo, ikone
- Naslovna vrstica [Live]: Nova povezava, Osveži, Razširi vse/Strni vse, pod njo filter objektov; zgradba po vzoru portala TreeView.
- Ravni drevesa po zaledju [Live za SQLite, sicer T1]: SQLite je plosko (povezava → tabele/pogledi/prožilci/rutine); MySQL ima raven zbirke podatkov; PgSQL in MSSQL raven sheme; MS Access je plosk. Lastna veja studia »Rutine« visi pod povezavo (koncepta v ADS ni).
- Shema razredov ikon [Live]:
.wkq-node--{vrsta}zvrsta∈connection/folder/table/view/trigger/routine/column/index/fk/pk; končnice stanjawkq-node-status--{readonly,unavailable,active}. Lastne ikone za zbirko podatkov ali shemo ni (SQLite ostane plosk). - Izvor ikon [Live]: lastna izdelava kot podatkovni URI SVG za
mask-imagevscreen.css– nobene ikone SVG iz ADS (Source EULA) in nobenega zunanjega paketa Codicons.
4. Zasedenost območij
Katero območje lupine zaseda studio. Sama območja: FluentUI: osnovna postavitev podrobno (tu se ne ponavljajo).
| Območje | Zasedenost v studiu | Stopnja |
|---|---|---|
Ukazna vrstica (.wk-shell-commandbar) | gostiteljeva. Studio ne izriše lastne; njegov edini ukaz modula, Nova poizvedba, je prispevek commandPalette | [Live] |
Leva vrstica dejavnosti (.wk-shell-activitybar) | skrbniški moduli DokuWikija (ACL) – nobenih dejanj studia | [Live] |
Desni rail modula (.wk-shell-rail--right) | ni zaseden. Izriše se le v nadomestni poti, kadar gostitelj lupine ne prevzame | [Live] |
Stranska vrstica (.wk-shell-sidebar) | raziskovalec objektov kot prispevek kind:view | [Live] |
Vsebina (.wk-shell-content) | aktivni pogled (pregled, struktura, brskanje, pomočnik za poizvedbe, izvoz, uvoz, vzdrževanje) | [Live] |
Plošča (.wk-shell-panel) | lastno območje, ne znotraj vsebine: rezultati · sporočila · načrt poizvedbe · dnevnik kot prispevek bottomPanel | [Live] |
Pomožna vrstica (.wk-shell-auxbar) | lastnosti izbranega kot prispevek auxbar; brez izbire lastnosti odprte zbirke podatkov | [Live] |
Vrstica stanja (.wk-shell-statusbar) | gostiteljeva (modul · pot nazaj · osi prikaza · uporabnik). Kazalniki studia – povezava · gonilnik · samo za branje · vrstice · trajanje – so v nogi področja (.wkq-panestatus) znotraj vsebine, ker v vrstico stanja okna ne vodi nobena pot za prispevke | [Live] |
| Pogovorna okna in predali | razdelek 6 | [Live]; paleta ukazov je gostiteljeva |
| Tipkovnica in dostopnost | razdelek 2.6 | [Live] |
Kontekst delovne površine, ne druga delovna površina: studio ne izriše lastne lupine.
Svoje dele odda kot prispevke po Workbench Plugin Contract v1 –
drevo objektov v sidebar, lastnosti objektov v auxbar, rezultate v bottomPanel, ukaz
modula v commandPalette – mrežo okrog njih pa zgradi gostitelj.
Lastna lupina bi imela dve posledici. action_plugin_wkfluentui_adminworkbench::compose() se pri
ownsItsShell() takoj vrne, zato ne bi nastali ne vrstica dejavnosti ne zavihki modulov – iz
studia ne bi vodila nobena pot v drug modul. Drevo objektov pa bi bilo odvisno od poti, ki je
značilna za posamezno predlogo; prispevki te odvisnosti ne poznajo.
Kaj ostane v vsebini in zakaj to ni druga vrstica: orodna vrstica urejevalnika
(.wkq-panebar – povezava, Zaženi, Preveri sintakso, Načrt poizvedbe) in noga
področja (.wkq-panestatus). Obe naslavljata področje, ne okna: izbira povezave je
<select>, Zaženi pa odda obrazec urejevalnika – ničesar od tega ni mogoče izraziti kot
kind:action. Azure Data Studio potegne isto mejo: orodna vrstica zavihka s poizvedbo ni ukazna
vrstica okna.
Tri poimenovane vrzeli so zapisane v docs/view-layer.md paketa: vrstica zavihkov za delovne
predmete (adminshell::tabStripHtml() vsako ime razreši s plugin_load(admin, …) in zato
zna poimenovati samo module), vrstica stanja okna in meni za prelivanje deljene orodne vrstice.
Vse tri sodijo h gostitelju; manjkajoči kontrolnik bi se sicer bral kot oblikovalska odločitev.
Spletni pogled namesto kartice wikija: površina studia leži neposredno v <main>, brez
okvira dokumentne kartice, ki ga predloga sicer nariše okrog strani wikija (ozadje, senca, notranji
odmik) – podrobnosti: skrbniško območje, Načelo.
4a. Načrt poizvedbe in drevo na zahtevo [Live]
Načrt poizvedbe
EXPLAIN QUERY PLAN je iz urejevalnika dosegljiv z enim dejanjem in se odpre kot zavihek
spodnje plošče. Je samostojno dejanje in ne del Zaženi: po načrtu posežemo prav takrat, ko
izvajanje traja predolgo.
Izriše se to, kar vrne SQLite, in nič več – štirje stolpci, torej sklic na nadrejeni korak in en stavek. Ni stroškov, ocen števila vrstic ne časov; tehtan graf bi pomenil izmišljanje števil, izmišljenega števila pa ni mogoče ločiti od izmerjenega. Poudarjena je edina razlika, ki je v podatkih res zapisana:
| Oznaka | SQLite izpiše | Pomen |
|---|---|---|
| Cela tabela | SCAN t | prebere celo tabelo |
| Cel indeks | SCAN t USING INDEX ix | prebere cel indeks, ne tabele |
| Iskanje | SEARCH t USING INDEX ix (…=?) | ciljni dostop |
Tretja oznaka je potrebna, ker se SCAN c USING INDEX idx_comments_created začne s SCAN,
bere pa indeks – »Cela tabela« bi bila tam napačna. rowid se izrecno ne prikaže kot
indeks; to ni indeks, ki bi ga kdo lahko ustvaril ali odstranil. Surovi izpis ostane ob strani in ga
je mogoče razpreti: razlaga, ki je ni mogoče primerjati z njenim virom, je zgolj trditev.
Načrt gre skozi isto razvrstitev kot vsaka poizvedba. Če stavek opisuje pisanje, se zahteva
write – kdor ne sme pisati, tudi načrta pisanja ne sme spoznati. Na sistemih, ki niso SQLite,
gumba sploh ni, namesto da bi ponujal sporočilo o napaki.
Drevo objektov na zahtevo
Veja se zgradi, ko jo imenuje naslov URL (treeopen), ali če je tabela, ki jo zaslon tako ali
tako prikazuje. Zaprta veja zato ne stane nobene poizvedbe introspekcije (štiri na tabelo) in ne
naloži nobenega manifesta rutin.
Podatek je v naslovu in ne v skriptu: veja, ki se odpre samo z JavaScriptom, nima zaznamka, gumba
Nazaj ne zgodovine. Povezava za razpiranje s seboj nese zaslon, na katerem je bila kliknjena –
razpiranje ni krmarjenje. Števila ostanejo v oznakah map: listRoutines() je le izpis mape in je
poceni; drago je bilo nalaganje manifestov.
Vzdrževanje pove, koliko stane
Zaslon za vzdrževanje za vsako dejanje navede pomen · tveganje · pričakovano trajanje · zaklepanje. Pri trajanju ni števila sekund: SQLite za nobeno od teh dejanj ne da ocene in ta paket vnaprej ničesar ne meri. Znana pa je velikost datoteke in to, da vsako dejanje z njo raste linearno – stolpec zato pove, od česa je trajanje odvisno, in navede trenutno velikost. Zaklepanje je dokumentirano vedenje SQLite, ne meritev te namestitve.
5. Konteksti pomožne vrstice
Pomožna vrstica sledi izbiri (ponovno nalaganje ob kliku [Live] in sledenje izbiri [Live], pogodba odjemalca: skrbniško območje).
| Kontekst | Vsebina | Stopnja |
|---|---|---|
Stolpec (col) | ime · vrsta · NULL · privzeta vrednost · PK · pripadnost indeksu | [Live] |
Indeks (idx) | ime · stolpci · enoličnost · delni indeks | [Live] |
Tuji ključ (fk) | od → do · ON DELETE/UPDATE | [Live] |
Vrstica (row) | vse vrednosti stolpcev označene vrstice | [Live] |
Povezava (conn) | gonilnik · cilj · število objektov · stanje samo za branje | [Live] |
Tabela (table) | število vrstic · število stolpcev · število indeksov in tujih ključev · velikost | [Live] |
Pogled (view) | definicija (SELECT), stolpci | [Live] |
Rutina (routine) | nabor · parametri · vrsta rezultata | [Live] |
6. Katalog predalov in pogovornih oken
Gradnika drawer()/modal() (API pomočnika).
| Pogovorno okno ali predal | Namen | Stopnja |
|---|---|---|
| Urejevalnik vrstice (predal) | ustvarjanje in urejanje zapisa (vezane vrednosti) | [Live] |
| Nova tabela (predal) | ustvarjanje tabele | [Live] |
| Dodajanje stolpca / predogled stolpcev (predal) | predogled DDL in uveljavitev (načrtovalnik ponovne izgradnje) | [Live] |
| Nov indeks / nov tuji ključ (predal) | ustvarjanje indeksa ali tujega ključa | [Live] |
| Urejevalnik rutine (zavihka Lastnosti in JSON) | urejanje rutine (tabs() in propertyGrid()) | [Live] |
| Okno za vnos parametrov | zahteva oznake :ime pred izvedbo | [Live] |
| Potrditev uničujočega dejanja | brisanje ali ponastavitev s številom in vzorcem | [Live] |
| Matrika zmožnosti (pogovorno okno) | urejanje pravilnika po skupinah in povezavah (razdelek 7) | [Live] |
| Zgodovina poizvedb (predal) | zadnje poizvedbe posamezne povezave; odpre se iz menija povezave | [Live] |
| Paleta ukazov (prekrivni sloj) | iskanje dejanj in ciljev krmarjenja; gostiteljeva, katalog gradnikov | [Live] |
7. Matrika zmožnosti [Live]
Model vlog, ki ga uveljavlja strežnik, poleg vrat za superuporabnike. Obe stopnji uvedbe sta zaključeni; potek in mejni primeri so opisani na strani Pravice.
- Zmožnosti:
use(preizkus rutin; sama odpre območje Rutine) ·query(branje, konzola SQL za branje) ·write(spreminjanje podatkov) ·design(DDL, oblikovalnik tabel) ·export·admin(upravljanje povezav in pravilnika). - Vrstice: skupine in uporabniki DokuWikija v zapisu iz
acl.auth.php(@skupinaoziromauporabnik). - Obseg: globalno in za posamezno povezavo; ožje pravilo zmaga (povezava pred globalnim), znotraj istega obsega pravilo za uporabnika pred pravilom za skupino – podobno kot pri specifičnosti ACL v DokuWikiju.
- Hramba:
conf/wksqliteds.policy.json(io_saveFile, atomarno; brez skrivnosti). - Uveljavljanje: na strežniku v
PolicyGatepred vsakim dejanjem (ne le skrivanje v vmesniku) – privzeto zavrnjeno; vmesnik dodatno skriva, vendar nikoli ni odločujoč. - Privzeto: samo superuporabniki (združljivost za nazaj; brez datoteke s pravilnikom se studio vede kot prej).
- Zasilni izklop:
dbadmin_readonly=1razveljavi vsako zmožnostwrite/design– konzola SQL tedaj dopusti samo bralne stavke (popolna razčlenitev stavka in v SQLitePRAGMA query_only). - Razmejitev: pravilnik ureja dostop do studia, ne ACL strani – kdor sme brati dokumentacijo, s tem ne dobi dostopa do studia.
- Klici prek storitve
sql.routinesniso vezani na matriko: storitev je lasten, zaupanja vreden klicatelj (Referenca API → storitev).
Ponazoritev (zapis v slogu acl.auth.php, ne oblika datoteke – pravila se urejajo v pogovornem
oknu z matriko):
# globalno @wvdse use,query,export # za povezavo "prod" (ožje pravilo -> zmaga) prod:@wvdse use,query # na prod samo branje, brez write/design
8. Zasloni s seznami: videz aplikacije namesto dokumenta wikija
Področje veljavnosti: izključno lastni zasloni wksqliteds; drugi paketi se še naprej
vključujejo samo znotraj lupine (vzorec vdelanega pogovornega okna, razdelek 6 in
skrbniško območje) in se nikoli ne spreminjajo.
Ciljno stanje:
- Enotne mreže: seznami povezav, rutin in tabel v pregledu so mreže
dataGrid()z razvrščanjem po stolpcih in menijem Dejanja v vsaki vrstici [Live]; zavihki oblikovalnika tabel še uporabljajo preprosto tabelo [S2]. Večkratni izbor samo tam, kjer obstaja smiselno skupinsko dejanje. - Prilagoditev višini okna je za zaslone studia obvezna [S2]:
admin-layoutjo navaja le kot smernico (»priporočljivo, ne strogo pravilo«); za zaslone studia z lastno vrstico stanja (vseh pet pogledov) se tu dvigne na obvezno – skladno z utemeljitvijo tam, da se splača, kjer lupina dela z lastno vrstico stanja in stransko vrstico.
Razmejitev: to ne spremeni ovoja strani wikija (zgornja vrstica, noga in okvir kartice
ostanejo kot pri vsakem AdminPlugin te namestitve) – to bi bil poseg na ravni predloge ali jedra
in zato zunaj tega, za kar odgovarja posamezen paket. »Videz aplikacije« tu pomeni gostejšo, z
mrežami poenoteno notranjost modula znotraj obstoječih območij lupine, ne izginotja ovoja strani.
8.1 Zasloni z obrazci v območjih lupine [Live]
Vzor: postavitev delovne površine WDX (WdxWorkbenchLayout: naslovna vrstica · ukazna vrstica
· vrstica dejavnosti · stranska vrstica · urejevalnik · plošča · vrstica stanja) – tam je vsaka
delovna površina znotraj območij, tudi zasloni z obrazci in podrobnostmi.
Ciljno stanje (normativno):
- Vsak lasten zaslon studia – tudi zaslon z obrazcem ali podrobnostmi – izriše tri osnovna območja: ukazno vrstico (
.wk-shell-commandbar), mrežo lupine (za obrazce zadošča.wkq-shell--flat) in vrstico stanja (dbadmin/Statusbar.php; v lupini gostitelja se izriše kot noga področja.wkq-panestatus, levo kontekst zapisa, npr.default:close_pruefung). - Krmarjenje in dejanja nad zapisom v ukazni vrstici po Contract v3: »« Nazaj na seznam« (bela, povezava), Preizkusi povezavo (modra, samo pri obstoječih zapisih), Izbriši (rdeča, samo pri obstoječih zapisih; gre skozi isti dvostopenjski
confirmGuard()kot dejanje na seznamu) – odstavek »« nazaj« v dokumentu odpade. - Mere obrazca prek
propertyGrid()(način urejanja, brez wkfluentui nadomestiloplainFieldRows()) namesto<table class="inline">– ista os oznak kot zavihek lastnosti rutine in pomožna vrstica. - Naslovi v vsebini kot glave podoken: neposredni otroci
<h2>elementa.wk-shell-contentse izrišejo v slogu ADS (zgoščeno, z velikimi črkami, umirjeno) namesto kot naslov dokumenta – semantika in dostopnost ostaneta, spremeni se le videz, iz »dokumenta« v »delovno površino«.
Razmejitev: obvestila msg() v DokuWikiju ostanejo kanal za rezultate POST na celotni strani
(vedenje jedra nad modulom); asinhroni odzivi v JavaScriptu (napake prenosa v pomožni vrstici,
skupinska dejanja, sprememba nastavitev) gredo skozi gostitelja obvestil wkToast() iz
wkfluentui (skrbniško območje, pravilo »Toast-Host«).
Preklopnik področij (Povezave / Pomočnik za poizvedbe / Rutine) ostane nad ukazno
vrstico (leva vrstica dejavnosti po razdelku 1 pripada skrbniškim modulom DokuWikija, ne področjem
studia).
9. Česa ne delamo
- Nobene enostranske aplikacije in nobenega drugega okna brskalnika.
- Nobenih novih gonilnikov zbirk podatkov poleg obstoječih (SQLite/MySQL/PgSQL/SQLSRV/Access-ODBC).
- Nobenih sprememb drugih paketov – samo vključitev znotraj lupine (razdelek 6).
10. Sorodne teme
- FluentUI: skrbniško območje podrobno – vir resnice: pravila vedenja skrbniškega območja
- FluentUI: osnovna postavitev podrobno – območja in besednjak
wk-shell-* - FluentUI: osnovni katalog gradnikov – katalog gradnikov, tudi gradniki [S2]
- Styles Contract (--wk-*) – Contract v3 (barvna semantika, žetoni)
- SQLite Data Studio – dokumentacija studia (kažipot, rutine, povezave, API, recepti)