Diagnostica
Ogni sezione descrive un sintomo. Ovunque vale questa installazione di DokuWiki con il plugin wkdoadogit installato e attivo, salvo diversa indicazione. Il termine mount indica il legame fra un repository e uno spazio dei nomi del wiki, il termine livello il grado di visibilità di quel mount.
La pagina mostra il testo della marcatura in chiaro
Ambiente. Sulla pagina si trova {{wk:adogit>…}} e viene reso come testo ordinario.
Causa. Il plugin non è attivo, oppure la marcatura è spezzata su più righe. Una marcatura deve stare su una sola riga di origine.
Rimedio. Verificate nel gestore delle estensioni che wkdoadogit sia attivo e portate la marcatura su una sola riga. Se la pagina era già stata resa, salvatela ancora una volta.
Compare «Questo repository non è collegato a questo wiki»
Ambiente. Al posto dell'albero viene resa una scheda con quel testo.
Causa. La ricerca non ha trovato né una connessione con la chiave indicata né un mount per la terna connessione, progetto e repository. Entrambi i casi producono lo stesso testo. Le due varianti più frequenti: nel primo campo della marcatura c'è il numero della connessione invece della sua chiave, oppure il nome del progetto o del repository differisce da quello registrato.
Rimedio. Aprite Amministrazione > Mount dei repository ADO-Git e leggete nella riga del mount la colonna Repository ADO. Lì compare progetto/repository esattamente come è registrato. La chiave della connessione la mostra la stessa schermata nella procedura, nella forma progetto / chiave. Il modo più rapido è copiare la marcatura dal menu di riga del mount, voce Mostra questo repository in una pagina wiki.
La scheda resta anche dopo aver corretto la marcatura
Ambiente. La marcatura è verificatamente corretta, ma la pagina si trova fuori dallo spazio dei nomi dei progetti.
Causa. Il browser cerca la connessione attraverso il progetto DWDO della pagina su cui si trova. Fuori dalla radice dei progetti (qui {lang}:projects:) il progetto non si risolve e nessuna connessione è reperibile.
Rimedio. Spostate la marcatura su una pagina interna al progetto, per esempio it:projects:<progetto>:repos. Per un singolo file vale un'eccezione: la marcatura {{source>ado:…}} funziona anche su una pagina dentro lo spazio dei nomi del mount.
Compare «Non avete il permesso di lettura su questo repository»
Ambiente. Il mount è registrato, il lettore è autenticato oppure anonimo.
Causa. Il livello del mount non comprende quel lettore. Il livello private esclude tutti tranne i redattori, readonly esclude gli anonimi, team tutti coloro che stanno fuori dai gruppi di ruolo del progetto.
Rimedio. Nel menu di riga del mount scegliete un altro livello e poi Salva. La modifica ha effetto immediato, perché i permessi si leggono a ogni richiesta. Non correggete i permessi a mano: il blocco gestito viene sovrascritto alla scrittura successiva.
La colonna «Regole» dice «NOT written» oppure mostra un altro livello
Ambiente. L'elenco dei mount nell'amministrazione.
Causa. Il mount è nell'archivio, ma i permessi corrispondenti in conf/acl.auth.php mancano o divergono. Ciò accade quando la scrittura dei permessi non è riuscita (permessi del file) oppure quando il blocco gestito è stato modificato all'insaputa di questa schermata.
Rimedio. Nel menu di riga del mount scegliete di nuovo il livello e poi Salva. Viene riscritto solo il blocco fra # BEGIN wkdoadogit-managed e # END wkdoadogit-managed; tutte le altre regole restano intatte. Se lo stato resta NOT written, verificate i permessi di scrittura sul file conf/acl.auth.php.
Un vecchio mount risulta «private» mentre le regole corrispondono a «team»
Ambiente. Un mount registrato con una versione più vecchia del plugin. Nell'elenco compare il livello private e la colonna Regole segnala una divergenza.
Causa. Lo strato di registrazione conosceva un tempo solo i livelli private, readonly e public e sostituiva in silenzio ogni altro valore con private. I permessi venivano comunque scritti secondo il livello team scelto, perciò archivio e file divergevano. La registrazione accetta ora ogni livello noto allo scrittore delle regole, quindi i mount nuovi non presentano questo difetto.
Rimedio. Nel menu di riga del mount scegliete il livello team e poi Salva. Il mount viene memorizzato con il livello scelto e le regole vengono rinnovate. Dopo di ciò la colonna Regole corrisponde.
Compare «Il servizio sorgente ADO non è disponibile»
Ambiente. Al posto dell'albero viene resa una scheda con quel testo, oppure il cassetto segnala che la sorgente non è raggiungibile.
Causa. Uno degli strati sotto il browser non risponde: manca l'estensione curl, l'impostazione ado_host_allow è vuota o errata, il segreto non è raggiungibile, oppure la connessione è caduta.
Rimedio.
- Aprite
/doku.php?do=wkdoadogit_diag. La tabella mostra quale servizio si risolve e quale no. - Su una pagina di progetto aprite
do=wkdoadoe scegliete Prova sulla connessione. La prova distingue server vietato, destinazione irraggiungibile, errore del certificato ed errore di autenticazione. - Verificate che in
ado_host_allowci sia esattamente il nome del server. Quell'elenco non conosce caratteri jolly e un elenco vuoto rifiuta tutto. - Verificate l'estensione
curl. Senza di essa il connettore si dichiara inattivo.
Ogni chiamata REST termina con l'errore 404
Ambiente. Una connessione di tipo server verso un'installazione propria di Azure DevOps.
Causa. La collection è indicata due volte, nell'indirizzo base (https://devops.wvds.it/Me) e nel campo Collection (server). Il costruttore degli indirizzi la aggiunge una seconda volta.
Rimedio. Svuotate il campo Collection (server) oppure togliete la collection dall'indirizzo base, poi ripetete la prova.
git clone risponde 404 prima di chiedere l'autenticazione
Ambiente. Il proxy git su un server Apache.
Causa. Apache rifiuta per impostazione predefinita i percorsi nella forma …/git.php/code/progetto/repository/info/refs, perché AcceptPathInfo è disattivato. La richiesta termina prima che PHP si avvii.
Rimedio. Usate il file .htaccess fornito nella cartella del plugin, che attiva l'opzione solo per git.php. Il file web.config fornito vale esclusivamente per IIS e su Apache non produce alcun effetto.
git clone risponde 401 benché il token sia corretto
Ambiente. Il proxy git, autenticazione con il protocollo HTTP Basic.
Causa. Il token è stato revocato, è scaduto oppure è stato rilasciato prima della rinomina del prefisso. Ne è memorizzato solo il valore con hash, quindi un vecchio token non si può trasferire a un nuovo prefisso. L'altra possibilità: il livello del mount non consente a un lettore anonimo di eseguire clone e le credenziali non sono state inviate affatto.
Rimedio. Rilasciate un nuovo token all'indirizzo /doku.php?do=wkdoadogit_tokens e memorizzatelo nel client. Verificate inoltre che il token viaggi come password; il nome utente è il vostro nome di accesso al wiki.
git push risponde 403
Ambiente. Il comando clone funziona, push no.
Causa. Per push serve almeno il livello 4, mentre per clone basta già il 2. Se vi trovate fra 4 e 7, sono ammessi solo rami sotto il vostro prefisso.
Rimedio. Inviate verso refs/heads/users/<login>/ oppure chiedete un livello che conceda l'8. I dettagli sono in clonare un repository.
Il commit dal wiki segnala «conflict»
Ambiente. L'editor per singoli file nel browser.
Causa. Il file è cambiato dopo l'apertura dell'editor. Il commit si applica sempre alla revisione che l'autore ha visto; una base diversa viene rifiutata dal server anziché sovrascrivere la modifica altrui.
Rimedio. Chiudete l'editor, riaprite il file e ripetete la modifica sulla nuova base.
Lo spazio dei nomi del mount mostra una pagina vuota
Ambiente. Chiamata dell'indirizzo /doku.php?id=code:dokuwiki-plugins:wkdoadogit.
Causa. Lo spazio dei nomi del mount è virtuale. Porta permessi ma non pagine, e il mount non ne crea alcuna.
Rimedio. Non è un guasto. Il repository lo mostra una pagina con la marcatura {{wk:adogit>…}} interna al progetto; vedi la guida, la pagina con il browser.
Singole etichette dell'interfaccia compaiono in inglese
Ambiente. Interfaccia in italiano, una qualsiasi schermata del plugin.
Causa. DokuWiki carica prima i testi inglesi e vi sovrappone la lingua scelta. Una chiave che il file italiano non possiede resta perciò in inglese. È un comportamento voluto e non un difetto di installazione; è ciò che impedisce all'interfaccia di mostrare un'etichetta vuota.
Rimedio. In questa versione tutte le etichette di wkdoadogit e wkdoado sono tradotte, perciò un'etichetta inglese indica una versione installata più vecchia. Confrontate il file lib/plugins/wkdoadogit/lang/it/lang.php con quello inglese omonimo: una chiave che il file italiano non possiede è la traduzione mancante.
Argomenti correlati
- Mostrare per la prima volta un repository ADO nel wiki – l'intero percorso dalla connessione al file
- Come mostrare codice sorgente su una pagina wiki – entrambe le marcature e i loro limiti
- Come clonare un repository montato – il proxy git e il token personale
- Concetti – livello di visibilità, permessi e limiti