DevOps Core
DevOps Core je vsebinska osnova zbirke DevOps: projekti, vloge, navigacija po vozliščih in stikala funkcij, na katere se opirajo vsi paketi DWDO. Projekt pri tem ni zapis v zbirki podatkov, temveč imenski prostor. Paket je namenjen upraviteljem, ki postavljajo projekte in vloge, in razvijalcem vtičnikov, ki v zbirko vključijo lasten paket.
Prvi koraki
Hitri začetek: ustvarjanje in odpiranje prvega projekta – najkrajša pot do prvega rezultata, v treh korakih.
Določite koren projektov → Dodelite vloge → Preverite vozlišča
Pogosta opravila
| Kaj želite | Za koga | Kje to naredite | Navodilo |
|---|---|---|---|
| ustvariti projekt | upravitelji | imenski prostor pod korenom projektov | Projekti izhajajo iz imenskih prostorov |
| dodeliti vloge in skupine | upravitelji | Splošne nastavitve | Vloge |
| prikazati ali skriti vozlišče | upravitelji | stikala funkcij | Prednost stikal funkcij |
| ugotoviti, zakaj vozlišče manjka | upravitelji | – | Kdaj se vozlišče prikaže |
| slediti razreševanju projekta | razvijalci | do=wkdocore_diag | Diagnostika |
| vključiti lasten paket v zbirko | razvijalci | – | Razširitvene točke |
| postaviti pregled projektov na stran | upravitelji | stran wikija | Delovni prostor |
| vključiti lastno zaledje v raziskovalca repozitorijev | razvijalci | – | Delovni prostor |
| izvedeti, čemu je zbirka namenjena | vsi | – | Primeri uporabe |
Opredelitev
Temelj plasti DWDO: kaj je projekt, kdo sme v njem kaj, in kako je videti navigacija znotraj projekta. Vsak paket DWDO gradi na tem, namesto da bi prinesel lastno predstavo o teh stvareh.
Paket sam ne izriše nobenega zaslona. V registru storitev paketa Core registrira pet storitev in jih s tem da na voljo vsem drugim paketom.
| Storitev | Razred | Odgovori na |
|---|---|---|
dwdo.context | Model\DwdoContext | projekt, vloga, dejavno vozlišče in stikala funkcij trenutne zahteve |
dwdo.projects | Domain\ConfigProjectRegistry | kateri projekti obstajajo in kateri imenski prostor pripada kateremu |
dwdo.permissions | Domain\PermissionResolver | katero vlogo ima prijavljeni uporabnik v tem projektu |
dwdo.hubs | Domain\HubRegistry | katera vozlišča obstajajo in v kakšnem vrstnem redu |
dwdo.nav | pomožna komponenta paketa | izriše vrstico vozlišč |
Vseh pet je registriranih prek registerFactory(): objekt nastane šele ob prvem get() z
njegovim identifikatorjem. Zahteva, ki se ne dotakne nobenega projekta DWDO, torej ne zgradi nobenega
od njih.
Primeri uporabe
- Wiki naj gosti več projektov, ki drug drugega ne vidijo, ne da bi vsak prinesel lastno upravljanje pravic.
- Več paketov DWDO naj ima enako predstavo o tem, kaj je »trenutni projekt«.
- Vrstica projekta naj prikaže le vnose, katerih zasloni na tej namestitvi dejansko obstajajo.
- Drug paket naj lahko prispeva lastno vozlišče ali lastno vlogo, ne da bi
wkdocoremoral vedeti zanj.
Zasloni sami niso predmet tega paketa. Delovni elementi, poizvedbe, cevovodi in shramba so v lastnih paketih (glejte Glejte tudi).
Projekti izhajajo iz imenskih prostorov
Projekt je najprej imenski prostor pod korenom projektov. S tem podeduje vse, kar DokuWiki zmore z imenskimi prostori – seznam dostopa (ACL), iskanje, varnostno kopiranje, različice – ne da bi bilo treba karkoli od tega zgraditi znova.
Koren lahko vsebuje nadomestni znak
projectroot ni vezan na en sam imenski prostor. Če vrednost vsebuje nadomestni znak
{lang}, ga action_plugin_wkdocore::roots() razreši enkrat za vsak jezik iz
projectlangs in vrne ustrezno število korenov.
projectroot | projectlangs | rezultat |
|---|---|---|
projects | poljubno | projects – nadomestnega znaka ni, projectlangs ne učinkuje |
{lang}:projects | de,en | de:projects in en:projects |
{lang}:projects | prazno | samo dejavni jezik wikija |
Zakaj to ni le stvar reda. Predloga, ki jezik prikaza izpelje iz začetnega dela xx: v
identifikatorju strani, od strani pod korenom brez jezika ne dobi ničesar. Njena iskanja navzgor –
stranska vrstica, tema – tedaj zapustijo jezik in posežejo v ves wiki. Nadomestni znak omogoča, da so
strani projektov znotraj jezikovnih imenskih prostorov (sl:projects:acme:…), ne pa v
jezikovno nevtralnem korenu ob njih.
roots() postavi dejavni jezik wikija na prvo mesto; drugi
ohranijo vrstni red, v katerem so vpisani. Razlog je en razred naprej: ConfigProjectRegistry
projekt, vnaprej določen v knownprojects, ustvari samo pod prvim korenom. Brez tega razvrščanja
bi vnaprej določen projekt nastal v jeziku, v katerem bralec sploh ni. Za obstoječe strani vrstni
red ni pomemben – razreševalnik preizkusi vsak koren.
projectlangs pomeni »ta wiki ima en jezik«, ne »nobenega jezika«. Koda se zato
izrecno vrne k dejavnemu jeziku wikija. Če bi se namesto tega razširila v nič, bi izginil vsak
projekt – precej hujša odpoved kot prezrta nastavitev.
Privzeta vrednost in selitev
Paket je dobavljen s projectroot = projects, torej brez nadomestnega znaka. To je namerno:
obstoječa namestitev ob posodobitvi ohrani svojo razporeditev. Nadomestni znak je odločitev
upravljavca – in ta jo sprejme enkrat, ker je poznejša sprememba selitev vseh strani, ne zamenjava
nastavitve.
dwdo_projects (glejte
Vtičnik DevOps Storage). Vse tabele, povezane s projektom, vsebujejo
FOREIGN KEY(project_key) REFERENCES dwdo_projects(project_key) ON DELETE CASCADE. Če vrstice ni,
shranjevanje spodleti s sporočilom o tujem ključu, ki dejanskega vzroka ne pove.
Vloge
Nad seznamom dostopa DokuWiki je plast vlog iz skupin oblike
@dwdo_<projekt>_maintainers / _contributors / _readers. Predpono dwdo_ je mogoče
spremeniti z nastavitvijo roleprefix.
| Vloga | Stopnja | Pomen |
|---|---|---|
none | 0 | brez dostopa; hkrati privzeta vrednost, kadar se ne razreši noben projekt |
reader | 10 | dostop za branje projekta |
contributor | 20 | sme ustvarjati in urejati vsebino |
maintainer | 30 | upravlja članstvo in nastavitve projekta |
admin | 40 | globalni skrbnik DokuWiki |
Role::defineLevel() drugemu paketu omogoča, da lastno vlogo postavi med dve vgrajeni. Pri
koraku ena vmes ni prostora.
Vloge ne nadomeščajo seznama dostopa, temveč so nad njim: stran, ki je uporabnik po ACL ne sme brati, mu ostane skrita tudi pri visoki vlogi. Vloga odloča, katere funkcije projekta lahko nekdo uporablja.
Primerjava ob dvomu zavrne
Role::atLeast() primerja dve vlogi po njuni stopnji. Če ena od njiju ni na lestvici, vrne
primerjava false – ne sproži izjeme in ne privzame nobene stopnje.
To je zavestna varnostna odločitev: vozlišče ali funkcija, zavarovana z neznanim imenom vloge (zaradi
tipkarske napake ali ker je vloga iz paketa, katerega klic defineLevel() se nikoli ni izvedel), se
skrije, ne odklene.
Role::defineLevel() piše v statično lestvico, ki si jo delijo vsi objekti vlog v procesu.
Klic sodi v zahtevo natanko enkrat in zgodaj, običajno v obravnavalnik *_REGISTER_SERVICES – ne v
zanko in ne v izrisovalnik.
Navigacija po vozliščih
Vrstica znotraj projekta. HubRegistry::defaults() vrne osem vozlišč:
| Ključ | Vrstni red | Cilj | Najnižja vloga | ACL | Potrebuje paket |
|---|---|---|---|---|---|
hub.overview | 10 | začetna stran projekta | reader | branje | – |
hub.dashboard | 15 | dashboard | reader | branje | Dashboard |
hub.boards | 20 | boards | reader | branje | Boards |
hub.repos | 30 | repos | reader | branje | – |
hub.pipelines | 40 | pipelines | reader | branje | Cevovodi |
hub.wiki | 50 | wiki:start | reader | branje | – |
hub.queries | 60 | queries | reader | branje | Queries |
hub.settings | 70 | settings | maintainer | urejanje | – |
hub.dashboard. Številka je
izhajala iz dveh komentarjev v sami izvorni kodi, ki sta ostala nespremenjena, ko je bilo dodano
vozlišče z vrstnim redom 15. Oba sta s to revizijo popravljena – dokumentacija je le tako dobra kot
komentar, iz katerega je napisana.
hub.settings je edino vozlišče, ki ne zahteva le reader in pravice za branje. Zahteva
maintainer in pravico za urejanje. Obe preverjanji tečeta neodvisno drugo od drugega, izrecno
kot večplastna zaščita.
Kdaj se vozlišče prikaže
Štiri od osmih vozlišč kažejo na zaslon, ki pripada lastnemu paketu – izginejo, če ta paket manjka ali je izklopljen. Druga štiri kažejo na običajne strani wikija, ki jih ekipa napiše sama; ne potrebujejo nobenega paketa, zato se prikažejo vedno.
overview, repos, wiki in settings to ne drži – za ta štiri ni pristojnega
paketa in ga tudi ne sme biti.
»Nameščen« pri tem pomeni nameščen in vklopljen: preverjanje teče prek plugin_isdisabled(),
DokuWiki pa neznan paket sporoči kot izklopljen. Paket, ki je v upravitelju razširitev izklopljen, je
tako enako nedosegljiv kot manjkajoč – in njegovo vozlišče v obeh primerih izgine.
Razlog, da vozlišče brez zaslona izgine, namesto da bi vodilo v prazno, je izpisan v kodi in sodi sem: vidno vozlišče, ki ne vodi nikamor, stane klik in bralca nauči, da navigacija laže. Skrito pove »tukaj ne«, in to drži.
Prednost stikal funkcij
FeatureFlags::resolve() za vsak ključ odloča v tem vrstnem redu; zmaga prva stopnja, ki
velja:
- Preglasitev za projekt – zmaga vedno, tudi nad manjkajočim paketom. Razlog:
reserved - Paket sporoči, da ni na voljo – izklopi ne glede na privzeto vrednost. Razlog:
plugin-missing - Privzeta vrednost za ves wiki iz
disabledhubs– razlog:defaultoziromasuite-disabled - Nobena stopnja ni odločila – stikalo je vklopljeno. Razlog:
default
disabledhubs lahko stikalo samo izklopi, nikoli vklopi. Poti, da bi funkcijo vsilili prek
nastavitev, ni. In disabledhubs nima zadnje besede: preglasitev za projekt je stopnjo višje
in lahko vozlišče, ki je izklopljeno za ves wiki, za posamezen projekt vrne.
fallbacknav in vrstica se prikaže nad vsebino.
icon(). Če potrebne vzdevke iščete po klicih icon(), spregledate prav to obliko. Glejte
Storitve za register WvdS-DW.
Delovni prostor za projekte in repozitorije
Vozlišča vodijo do področij posameznega projekta. Če morate najprej vedeti, kateri projekti in repozitoriji sploh obstajajo, potrebujete raven pred tem – zato obstajata dve storitvi imenika in štirje gradniki skladnje.
Dva imenika
| Storitev | Odgovori na | Pravilo vidnosti |
|---|---|---|
dwdo.projectdirectory | Katere projekte vidi ta račun? | pravica za branje korena projekta ali vsaj en viden repozitorij |
dwdo.repodirectory | Katere repozitorije vidi ta račun, prek vseh projektov? | preverjanje posameznega zaledja, nato še enkrat ACL imenskega prostora, v katerega je repozitorij vpet |
Imenik projektov združi štiri vire – vnaprej določene oznake, pregled imenskih prostorov, shranjene
zapise projektov in dogodek WKDOCORE_PROJECT_DISCOVER. Posamezno poizvedbo in seznam izpelje iz
iste množice: projekta, ki ga seznam ne pokaže, tudi s posamezno poizvedbo ni mogoče dokazati. Sicer bi
bila poizvedba vir podatkov o projektih, ki jih spraševalec ne sme videti.
* @user 1, je vsak koren projekta berljiv za vsak prijavljen račun, in pregled bi bil sestavljen iz
praznih kartic. Projekt se prikaže, če ima vsaj en viden repozitorij, začetno stran ali če ima račun v
njem vsaj vlogo contributor.
Štirje gradniki za strani
| Gradnik | Prikaže |
|---|---|
{{wk:explore>}} | vstopni pregled: obe števili, lastne vloge, navodila in pod njimi oba seznama |
{{wk:projects>}} | pregled projektov z iskanjem, filtrom stanja in »Moji projekti« |
{{wk:repos>}} | seznam repozitorijev prek vseh projektov z iskanjem, izbiro projekta in listanjem po straneh |
{{wk:contribute}} | naslednji korak do sodelovanja, prilagojen vlogi bralca |
Vsi štirje kličejo nocache(): njihov izpis je odvisen od računa, in predpomnjena stran bi
naslednjemu obiskovalcu pokazala izbor prejšnjega.
{{wk:explore>}} ni tretja izvedba istih seznamov, temveč kliče druga dva gradnika. Filtri,
napisi, prazna stanja in preverjanje pravic zato obstajajo natanko enkrat. Parametri poizvedbe se ne
prekrivajo: seznam projektov bere pq/pscope/pstatus, seznam repozitorijev
rq/rp/ro, q pa ostane iskanju po celotnem besedilu wikija. Oba filtra zato na skupni
strani delujeta neodvisno drug od drugega, filtriran pogled pa je naslov, ki ga je mogoče posredovati.
Možnost: size=<n> nastavi velikost strani v tabeli repozitorijev. Seznam repozitorijev je v tem
gradniku trdno nastavljen na vse projekte – tu je vstopna točka prek vseh projektov, tudi če je
stran v imenskem prostoru projekta.
{{wk:repos>}} se ravna po strani, na kateri je. Znotraj projekta prikaže repozitorije tega
projekta, zunaj vse. Nekoč je bilo obratno, in tako je nastala stran z naslovom Repozitoriji tega
projekta, ki je naštela repozitorije vseh projektov. Zdravilo je bilo ročno vpisati oznako projekta. Ta pa
je izpeljiva iz imenskega prostora strani, ob tipkarski napaki tiho vodi v prazen seznam in je nekaj,
kar mora vedeti avtor, namesto da bi stran to vedela sama o sebi. Iz istega razloga
{{wk:explore>}} zgoraj izrecno nastavi project=all: vstopni pregled, ki naj pokaže celotno
pokrajino, tega ne sme delati odvisnega od tega, kje je po naključju.
| Navedba | Učinek |
|---|---|
| brez | projekt strani; zunaj korena projektov vsi projekti |
project=<oznaka> | natanko ta projekt, brez izbire projekta |
project=all | vsi projekti, tudi s strani projekta |
size=<n> | druga velikost strani, največ 100 |
Oba seznama ob vrstici z zadetki povežeta na napisana navodila za svoj zaslon, in to le, če ta stran na tej namestitvi res obstaja. Če navodilo ni napisano, povezave preprosto ni – mrtva povezava ne nastane nikoli.
Upravljanje članov projekta
do=wkdocore_members&project=<oznaka> pokaže, kdo ima v projektu katero vlogo, in vloge
dodeljuje. To ni zaslon skrbništva wikija, temveč lastno dejanje – in prav to je odločilna razlika:
skrbništvo preverja status upravitelja za ves wiki, ta zaslon pa vlogo v projektu. Maintainer pride
noter, ne da bi bil skrbnik wikija; skrbnik wikija, ki v nobenem projektu nima vloge, pride noter
kljub temu.
| Kdo | Sme |
|---|---|
| maintainer projekta | dodeljevati, spreminjati in odvzemati vlogi reader in contributor |
| skrbništvo wikija | poleg tega imenovati in odstavljati maintainerje |
| vsi drugi | zaslona ne vidijo |
Meja je določena v Domain/ProjectMembership, ne v vmesniku: zaslon stopnje, ki je opazovalec ne
sme dodeliti, sploh ne ponudi, preverjanje pa zavrne tudi ročno sestavljeno pošiljanje iste stopnje.
Dve ravni, ker je prva le oznaka v HTML, oznaka pa ni preverjanje pravic.
Dodelitev vloge nadomesti dosedanjo stopnjo, ne doda je: razreševanje vlog vzame prvi zadetek od zgoraj, zato dodatna šibkejša skupina ne bi več ničesar odločala in bi bila le podatek, ki nasprotuje dejanskemu stanju. Že obstoječa podvajanja so poimenovana za vsako vrstico posebej, a niso odstranjena brez vprašanja.
Razdelilnik zahtev paketa wkrequest za ROLE_REQUEST in ACCESS_REQUEST kaže na ta zaslon. Prej je
kazal na upravljanje uporabnikov wikija – zato je vsaka prošnja za članstvo v katerem koli projektu
končala pri eni sami osebi, ne glede na to, kdo projekt vodi.
{{wk:repos>}} skrije stolpce, ki jih nobena vrstica ne more izpolniti. Privzeta veja je na
voljo, ker jo vrne ena sama skupna poizvedba za vsako povezavo – pri 61 vključenih repozitorijih so to
štiri zahteve, ne 61, odgovor pa se predpomni. Jezik in zadnja sprememba bi stala po eno zahtevo na
vrstico; vir vpetja teh podatkov zato še naprej ne zagotavlja, stolpca pa se sploh ne prikažeta,
namesto da bi ostala prazna.
Nastavitve
Osem nastavitev, v Splošnih nastavitvah pod plugin » wkdocore. Stolpec Privzeto navaja
dobavljeno vrednost, ne vrednosti, nastavljene na tej namestitvi.
Iskanje projektov
| Nastavitev | Privzeto | Učinek | Ob napačnem vnosu |
|---|---|---|---|
projectroot | projects | koren imenskih prostorov, pod katerim so projekti. Sme vsebovati {lang}. | prazno = ni korena, torej ni projekta |
projectlangs | prazno | jeziki, v katere se razširi {lang} (seznam, ločen z vejicami) | brez nadomestnega znaka v projectroot ne učinkuje; prazno = dejavni jezik wikija |
knownprojects | prazno | seznam vnaprej določenih oznak, ločen z vejicami | prazno = samo samodejno zaznavanje |
autodiscover | 1 | vsak imenski prostor pod korenom velja za projekt | izklopljeno = šteje samo knownprojects |
Vsako vrednost normalizira cleanID(), prazni vnosi odpadejo, podvojeni se združijo. Seznam, ločen z
vejicami, s presledki okrog vnosov je torej dovoljen.
Vloge in navigacija
| Nastavitev | Privzeto | Učinek | Ob napačnem vnosu |
|---|---|---|---|
roleprefix | dwdo_ | predpona skupin vlog: @<predpona><projekt>_maintainers | predpona brez ustreznih skupin vsakomur da vlogo none |
fallbacknav | 1 | vrstico vozlišč vstavi v vsebino, če predloga nima mesta zanjo | izklopljeno = vrstica se prikaže le tam, kjer jo predloga izriše sama |
disabledhubs | prazno | seznam izklopljenih ključev vozlišč, ločen z vejicami, npr. hub.pipelines | neznan ključ ne izklopi ničesar in ne sporoči ničesar |
guideroot | {lang}:wiki:projects | imenski prostor, v katerem so navodila za branje delovnega prostora | če imenski prostor kaže v prazno, ustrezna povezava odpade, namesto da bi se izrisala mrtva povezava |
guideroot namenoma ne kaže pod koren projektov. Navodila razlagajo, kako najti projekte in
dobiti dostop – če bi jih postavili pod projects:, bi razlaga zahtevala prav tisto pravico za
branje, katere pomanjkanje obravnava. Imena listov z navodili so v paketu določena in angleška;
nastaviti je mogoče le imenski prostor pred njimi, med jezikovnimi različicami pa se spreminja samo
njegov del {lang}.
fallbacknav deluje izključno pri act=show. Urejanje, primerjava in iskanje vrstice ne dobijo –
je navigacija po vsebini in v teh pogledih nima pomena. Dvakrat se nikoli ne izriše: predloga z
lastnim mestom sama pokliče izrisovalnik, in če se ne razreši noben projekt, ta vrne prazen niz in
ničesar se ne vstavi.
Razširitvene točke za druge pakete
Pet mest, na katerih lahko drug paket prispeva, ne da bi ga wkdocore moral poznati:
| Točka | Oblika | Za kaj |
|---|---|---|
WKDOCORE_REGISTER_HUBS | dogodek, BEFORE | lastno vozlišče prek $event→data→register(new Hub(…)) |
WKDOCORE_REGISTER_REPOSITORY_SOURCES | dogodek, BEFORE | lastno zaledje repozitorijev prek $event→data→register($quelle) vključi v raziskovalca |
WKDOCORE_PROJECT_DISCOVER | dogodek, BEFORE | prispeva oznake projektov, ki niso niti vnaprej določene niti ne obstajajo kot imenski prostor |
Role::defineLevel() | statični klic | vstavi lastno vlogo ali spremeni stopnjo vgrajene |
| preglasitev za projekt | zapis | nastavi stikalo funkcije za posamezen projekt; zmaga nad vsemi drugimi stopnjami |
Noben od treh dogodkov nima privzete obravnave v jedru: obravnavalniki svoj prispevek vpišejo neposredno v skupni register.
Vir repozitorijev vrača že preverjene vrstice. Pogodba zahteva štiri stvari: vir sam filtrira po
pravicah, nikoli ne sproži izjeme, navaja le repozitorije, za katere lahko jamči, in sporočene
zmožnosti so dejanske. Raziskovalec zato ne potrebuje posebnega primera za vsako zaledje –
wkdoadogit se v njem pojavi z namestitvijo, ne s spremembo kode v vmesniku projekta.
Diagnostika
?do=wkdocore_diag prikaže razrešeni DwdoContext kot JSON: dejavni projekt, vlogo
prijavljenega uporabnika, vidna vozlišča, stikala funkcij z razlogom za vsak ključ, uporabniško ime in
oznako skrbnika. To je najhitrejši odgovor na vprašanje »zakaj ne vidim tega menijskega vnosa« –
razlog je izpisan dobesedno (reserved, plugin-missing, suite-disabled, default).
$conf['allowdebug']. Brez te nastavitve se prikaže izključno stavek
»Diagnostics disabled (set allowdebug=1).« – brez napake, brez opozorila, brez podatkov. Prejšnja
različica te strani je navajala naslov brez tega pogoja; če ste ji sledili, ste dobili prazen zaslon in
nobenega namiga, zakaj.
Zaklep je pravilen in ostane: izpis je notranje stanje zahteve in se ne sme pojaviti na namestitvi, ki se ni izrecno odločila za izpise za odpravljanje napak.
Vedenje v posebnih primerih
| Primer | Vedenje |
|---|---|
| stran je zunaj vseh korenov projektov | ni projekta, vloga none, ni vrstice vozlišč |
projectroot je prazen | roots() vrne prazno polje – projekta ni |
{lang} je nastavljen, projectlangs prazen | en koren, v dejavnem jeziku wikija |
| vloga ni na lestvici | vsaka primerjava vrne false – funkcija ostane skrita |
| Core manjka | nobena storitev se ne registrira; paket ostane tiho, namesto da bi spodletel |
| paket za vozlišče je izklopljen, ne odstranjen | enak učinek kot manjkajoč: vozlišče izgine |
Preverjanje registra poteka po načelu »duck typing« prek method_exists(), ne prek navedbe tipa.
Core je odvisnost med izvajanjem, ki pride prek plugin_load(), ne trdna vključitev –
zato mora koda prenesti manjkajočo ali tujo vsebino.
Glejte tudi
- Core – register storitev, v katerem je registriranih pet storitev
dwdo.* - Vtičnik DevOps Storage – shramba, vključno z
dwdo_projectsin njenimi tujimi ključi - Azure DevOps Connector – povezava z Azure DevOps
- wkfluentui – lupina, v katere desni stolpec se izriše vrstica vozlišč
- wkdoadogit – vir repozitorijev, ki vključene repozitorije Git vpiše v raziskovalca
- Delo s projekti – isti gradniki z vidika bralcev, z navodili
Tehnična referenca
| Predmet | Mesto |
|---|---|
| registracija storitev, pomočnik za nastavitve, diagnostika | action.php |
razreševanje korenov, vključno z {lang} | action_plugin_wkdocore::roots() |
| register projektov | Domain/ConfigProjectRegistry.php |
| razreševanje projekta iz identifikatorja strani | Domain/ProjectResolver.php |
| razreševanje vlog prek skupin | Domain/PermissionResolver.php |
| register vozlišč in osem privzetih | Domain/HubRegistry.php |
lestvica vlog in defineLevel() | Model/Role.php |
| pravilo prednosti stikal funkcij | Model/FeatureFlags.php |
| stanje zahteve | Model/DwdoContext.php |
| imenik projektov: pogodba in združevanje | Domain/ProjectDirectory.php, Domain/AggregateProjectDirectory.php |
| imenik repozitorijev in pogodba virov | Domain/RepositoryDirectory.php, Domain/RepositorySource.php |
| vrednostni objekti za kartico in vrstico | Model/ProjectDescriptor.php, Model/RepositoryDescriptor.php |
| oznake HTML brez dostopa do storitev | Ui/ProjectExplorer.php, Ui/RepositoryExplorer.php, Ui/ContributePanel.php |
edino mesto, kjer se Ui in Domain srečata | helper/explorer.php |
| katalog dogodkov | Events.php |
Podatki o paketu
Paket: wkdocore
Mapa: lib/plugins/wkdocore/
Avtor: Wolfgang van der Stille Wolfgang.van.der.Stille@gmail.com (The White Knight Labs)
Licenca: GPL-2.0-only
- Lestvica vlog šteje 0/10/20/30/40, ne 0/1/2/3/4 – glejte Vloge.
- Vozlišč je osem, ne sedem – manjkal je
hub.dashboard– glejte Navigacija po vozliščih. - Štiri od osmih vozlišč ne potrebujejo nobenega vtičnika – glejte Kdaj se vozlišče prikaže.
- Zaslon za diagnostiko je zaklenjen z
allowdebugin brez te nastavitve ne prikaže
ničesar – glejte Diagnostika.