Color scheme: Light
You are here: start » sl » Dokumentacija » Razširitve DokuWikija (WvdS) » DevOps Core

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

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 wkdocore moral 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.

Vrstni red korenov je pomemben. 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.
Prazen seznam 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.

Imenski prostor sam ne zadošča povsod. Takoj ko se kak zapis sklicuje na projekt (na primer povezava ADO, delovni element ali cevovod), je potrebna še vrstica v 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
Stopnje naraščajo po deset, ne po ena. Prejšnja različica te strani je navajala 0/1/2/3/4. To ni bila le napačna številka, temveč je lestvici odvzela prav lastnost, zaradi katere je tako zgrajena: 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.

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 –
Prejšnja različica te strani je navajala sedem vozlišč in izpustila 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.

Prejšnja različica je trdila, da se vnos prikaže »le, če je pristojni vtičnik nameščen in vloga zadošča«. Za 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:

  1. Preglasitev za projekt – zmaga vedno, tudi nad manjkajočim paketom. Razlog: reserved
  2. Paket sporoči, da ni na voljo – izklopi ne glede na privzeto vrednost. Razlog: plugin-missing
  3. Privzeta vrednost za ves wiki iz disabledhubs – razlog: default oziroma suite-disabled
  4. 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.
Na tej namestitvi se vrstica vozlišč izriše v desni stolpec (rail) lupine wikija; to prevzame wkfluentui s predajo območij. Če lupina nima mesta za vrstico, se uporabi fallbacknav in vrstica se prikaže nad vsebino.
Vozlišče svoj simbol navede kot vzdevek (alias), in sicer kot tretji parameter konstruktorja – ne s klicem 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.

Pravica za branje korena sama ne zadošča za to, da se projekt prikaže na seznamu: kjer ACL določa * @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).

Zaslon je zaklenjen z $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


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

Ta stran je bila 4. avgusta 2026 v celoti preverjena glede na izvorno kodo. Štirje podatki prejšnje različice so bili napačni in so tukaj popravljeni; vsak je popravljen na mestu, kjer se pojavi, da nihče stare številke ne bi prenašal naprej po spominu:
  • 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 allowdebug in brez te nastavitve ne prikaže

ničesar – glejte Diagnostika.

sl/wiki/dwe/wkdocore/start.txt · Last modified: by Wolfgang van der Stille