Blog — riferimento tecnico
Questa pagina descrive la marcatura, l’archiviazione dei dati, le superfici di amministrazione e le interfacce del pacchetto. Per un’introduzione vedi Panoramica, per il primo articolo l’Avvio rapido.
Il blocco di metadati di una pagina
Una pagina diventa un articolo portando un blocco <wk:blog>. Il blocco non produce alcuna resa; descrive la pagina su cui si trova e viaggia con essa quando la pagina viene copiata.
| Attributo | Significato | Valori |
|---|---|---|
type | tipo di voce | post, page |
format | formato del testo della pagina | dokuwiki, markdown |
blog | nome del blog a cui appartiene l’articolo | libero |
status | stato di pubblicazione | draft, pending, scheduled, published |
publish | momento della pubblicazione programmata | ISO 8601 |
created | momento della creazione | ISO 8601 |
author | nome visualizzato dell’autore | libero |
slug | nome breve per i collegamenti | libero |
comments | stato dei commenti | enabled, closed, disabled |
image | immagine dell’articolo | ID del file |
tags | etichette, separate da virgola | libero |
Due valori sono elementi figli invece che attributi perché superano regolarmente più righe: <excerpt> per l’anteprima e le due descrizioni per i motori di ricerca e i social network.
Elenchi
La marcatura richiede un tag di chiusura; le impostazioni stanno al suo interno, una per riga. Una forma su una sola riga non viene riconosciuta e resta testo sulla pagina.
<blog list> blog wk limit 10 tpl wk </blog>
<blog> e <wk:blog> si somigliano e fanno cose opposte: <blog> elenca gli articoli, <wk:blog> descrive la pagina su cui si trova. Nella forma della casa l’elenco si chiama perciò bloglist.
| Tipo | Effetto |
|---|---|
list | articoli del blog, come anteprime |
pagination | paginazione per l’elenco sulla stessa pagina |
related | articoli con il maggior numero di etichette in comune |
recentcomments | commenti più recenti |
newform | modulo «crea un nuovo articolo» |
tagcloud | nuvola di etichette |
tagsearch | elenco dei risultati per un’etichetta |
<blog archive> non compare in alcun elenco di valori ammessi nel codice e ricade nel ramo predefinito: produce un elenco ordinario e non lo segnala. Nell’insieme delle pagine di questa installazione la marcatura non è usata.
Set di modelli
Un set di modelli decide l’aspetto di un elenco. Sono forniti default, wk, wkbizway e wkbizwayteaser. L’impostazione tpl nell’elenco sceglie il set; in sua assenza vale default.
Programmazione
Un articolo con status=“scheduled” e un momento publish nel futuro resta invisibile finché quel momento non è raggiunto. Il passaggio è compiuto dall’attività di manutenzione del wiki: scrive lo stato nel blocco della pagina e produce così una revisione ordinaria. Non esiste un servizio di pianificazione né un processo permanente — senza traffico sul wiki nemmeno la programmazione avanza.
Più blog
I blog si distinguono unicamente per il nome nell’impostazione blog. Un secondo blog nasce perché gli articoli portano un nome diverso e un elenco chiede quel nome. Non esiste un’amministrazione dei blog, né creazione né cancellazione; un blog esiste esattamente finché una pagina lo nomina.
Archiviazione dei dati
La pagina è la verità, il database è un indice da essa derivato. Si trova nel file data/meta/wkblog.sqlite3 e contiene le tabelle entries, comments, tags, subscriptions, optin e opts.
Che cosa ripristina una reindicizzazione e che cosa lascia stare
Una reindicizzazione ricostruisce la proiezione dalle pagine. Viene ripristinato tutto ciò che sta nel blocco: titolo, stato, programmazione, blog, etichette, anteprima. Resta intatto tutto ciò che non ha un corrispettivo su una pagina: commenti, iscrizioni, registrazioni di conferma e stato di distribuzione. Sono fatti relativi a eventi esterni al wiki; una reindicizzazione non può né dedurli né distruggerli.
Copiare una pagina in un altro wiki è un caso diverso: là viaggia solo la pagina, quindi solo il blocco. Commenti, iscrizioni e stato di distribuzione restano indietro.
Stato di distribuzione
Sei colonne annullabili su entries registrano che e quando un articolo è stato condiviso su un social network. La redazione lo inserisce a mano; non esiste alcuna pubblicazione automatica verso una rete. Deliberatamente non parte del blocco: lo stato di distribuzione non è un’affermazione autoriale della pagina, ma una constatazione su qualcosa accaduto fuori dal wiki.
Un guasto del filtro di accesso non ha l’aspetto di un guasto
Otto routine filtrano gli elenchi pubblici in base al livello di accesso della pagina. Se quel filtro viene meno — per esempio perché dopo uno spostamento le funzioni del database non sono registrate — non c’è alcun messaggio di errore. Compaiono troppi articoli.
È la forma più sgradevole di guasto: in esercizio non si distingue dalla correttezza. Una verifica che attende un’eccezione attende invano.
Un’installazione dovrebbe perciò mantenere in modo permanente:
- almeno un articolo pubblicato che non sia leggibile in forma anonima,
- il numero atteso di articoli visibili anonimamente, fissato in anticipo.
Si verifica l’elenco pubblico, non quello di amministrazione: quest’ultimo sta comunque dietro un controllo dei permessi, e il guasto si manifesta solo dove conta un visitatore anonimo. Il blocco stesso appartiene al controllo degli accessi del wiki e non viene mai consegnato con il pacchetto.
Non esiste SQL incorporato
Tutto l’accesso al database passa per routine denominate con parametri associati. Ogni routine è una coppia formata da un file .sql e da un manifesto; il nome della tabella vi compare in chiaro, non nel codice PHP. Chi vuole cambiare una query cambia il file della routine. Vedi SQLite Data Studio.
Commenti
I tre stati
enabled— i commenti sono possibiliclosed— i commenti esistenti restano visibili, i nuovi non sono possibilidisabled— su questa pagina non ci sono commenti
Con la revisione attiva, un nuovo commento compare dapprima nascosto e diventa visibile solo dopo l’approvazione. La schermata di amministrazione elenca i commenti in attesa e ne mostra il numero come contrassegno nel workbench.
Avatar, e che cosa lascia il server insieme a loro
Per impostazione predefinita non vengono recuperati avatar da server esterni. Se si attiva un servizio esterno, per ogni commento visualizzato una richiesta con la somma di controllo dell’indirizzo lascia la casa. È una decisione consapevole, non una preimpostazione.
Schermata di amministrazione
La schermata si trova in ?do=admin&page=wkblog.
Il quadro risponde a domande redazionali
Sei indicatori: pubblicati, bozze, in attesa di revisione, programmati, commenti da revisionare e stato della cura SEO. Ogni numero conduce all’elenco filtrato corrispondente.
L’elenco degli articoli filtra per stato
Oltre a titolo e blog, l’elenco filtra per stato di pubblicazione. Il filtro si mantiene durante la paginazione.
Le azioni di gruppo cambiano la pagina, non l’indice
Stato, blog e stato dei commenti stanno nel blocco della pagina. Un’azione di gruppo su di essi scrive perciò la pagina attraverso il normale percorso di salvataggio: verifica i permessi, rispetta il blocco di modifica e produce una revisione reale. Solo dopo l’indice viene aggiornato. Quando un articolo viene saltato, il messaggio indica il motivo separatamente — in modifica, non consentito, la pagina non esiste più — perché solo il motivo dice che cosa fare.
Il contrassegno «in evidenza» è escluso: è uno stato operativo del database e coerentemente non produce alcuna revisione.
Inserimento nel workbench
Il pacchetto non disegna un workbench proprio. Consegna le sue parti a quello già presente: la navigazione come vista nella barra laterale primaria, l’arretrato di moderazione e la posizione corrente come dati della barra di stato, un contrassegno con il numero dei commenti in attesa e due comandi. Vedi wkfluentui.
wkidentity installato, la reindicizzazione, l’applicazione successiva dei blocchi portabili e la cancellazione in blocco dei commenti richiedono un secondo fattore dimostrato per la sessione. Senza wkidentity il pacchetto si comporta come prima.
Configurazione
Le impostazioni si trovano nel gestore della configurazione del wiki sotto il nome del pacchetto. Regolano lo stato predefinito dei nuovi commenti, il blog predefinito, le etichette predefinite, l’obbligo di revisione dei commenti, l’impostazione della data nel modulo di modifica e l’accettazione dei linkback. Un valore non valido non viene assunto; vale allora quello predefinito.
Interfaccia per i programmi
Il pacchetto offre una superficie per la chiamata remota del wiki. Crea articoli, li legge, ne cambia lo stato e cura le etichette. Ogni chiamata attraversa la stessa verifica dei permessi dell’interfaccia utente e produce in scrittura la stessa revisione; non esiste una via che aggiri la pagina.
Comportamento nei casi particolari
- Una pagina senza blocco non è un articolo, anche se nel database esiste una riga.
- Una pagina cancellata perde la sua riga al successivo accesso alla voce.
- Un tipo sconosciuto in un elenco ricade su
liste lo segnala. - Se il database manca, le superfici si disattivano invece di far fallire la pagina.
Rapporto con il pacchetto precedente
Il pacchetto è un fork di BlogTNG. Il fork è stato meccanico, lo sviluppo successivo no: il blocco portabile di metadati, il secondo formato di testo, la schermata di amministrazione, la programmazione e la superficie per la chiamata remota sono aggiunte della casa. Il vecchio indirizzo del feed resta raggiungibile per compatibilità.