Chiarire il compito e la decisione
Questa guida trasforma la guida all'implementazione di drupal in un flusso di lavoro operativo rivedibile. Collega le decisioni di dominio, la proprietà, le prove e l'accettazione in modo che il risultato continui a funzionare in produzione.
Utilizza le revisioni Drupal, la moderazione dei contenuti e le autorizzazioni per separare generazione, revisione specialistica e pubblicazione.
Procedura pratica
- 1
Tipi di origini dell'inventario, identificatori, campi, impostazioni locali, proprietari e stati di pubblicazione.
- 2
Scegli il modello di distribuzione tra volume, latenza, controllo editoriale e tolleranza agli errori.
- 3
Mappare il record di origine su un record di versione in lingua separato con collegamento durevole.
- 4
Aggiungi autenticazione, idempotenza, nuovi tentativi, invalidazione della cache, registrazione e controlli di accesso.
- 5
Testare la pubblicazione, le modifiche all'origine, i risultati non disponibili, il rollback, il funzionamento della tastiera e il monitoraggio prima del rilascio.
Esempio o strumento
Un tipo di contenuto moderato mostra campi, ruoli, revisioni, consegna e rollback. Nello strumento, registra anche la baseline, il proprietario, la decisione, le prove, il problema aperto e la data di approvazione. Utilizza una pagina o una transazione reale in modo che il team possa vedere le dipendenze, le eccezioni e il lavoro di manutenzione che segue il rilascio.
| Punto decisionale | Documentazione | Criterio di accettazione |
|---|---|---|
| Linea di base | Stato attuale osservato | Fonte e data registrate |
| Decisione | Opzione selezionata e motivazione | Rischio e pubblico considerati |
| Prova | Testare, documentare o misurare | Rivedibile e specifico della versione |
| Approvazione | Nome, ruolo e data | Tutti i criteri obbligatori sono soddisfatti |
Creare un modello di contenuto che preservi la provenienza
Crea un tipo di contenuto in lingua accessibile o un'entità strutturata con un riferimento di entità alla fonte autorevole. Includere ID di revisione dell'origine, impostazioni locali, modalità lingua, ID risultato, stato di revisione, versione del glossario, livello di rischio, approvatori e trigger di revisione successiva. Utilizza paragrafi o campi strutturati per intestazioni, elenchi, collegamenti, avvisi, download e informazioni di contatto. Un singolo campo rich-text senza restrizioni rende più difficili la convalida, il riutilizzo e il rendering sicuro a livello di campo.
Scegli deliberatamente tra la relazione di traduzione di Drupal e un'entità correlata separata. La traduzione standard funziona quando la struttura dei campi e il ciclo di vita editoriale rimangono equivalenti. Un'entità separata è più sicura quando la versione accessibile combina, riordina o spiega i campi di origine e richiede una moderazione diversa. In entrambi i casi, mantieni immutabile la revisione dell'origine per la trasformazione e visualizza lo stato obsoleto quando l'origine corrente non corrisponde più ad essa.
| Scelta progettuale | Utilizzare quando | Tutela necessaria |
|---|---|---|
| Traduzione dei contenuti | La struttura e il ciclo di vita rimangono equivalenti | Traduzione di revisione interessata e testata con moderazione |
| Entità correlata | La struttura, la proprietà o la revisione differiscono | Riferimento esplicito alla fonte e navigazione reciproca |
| Mappatura dei paragrafi | L'origine contiene blocchi strutturati riutilizzabili | Generazione di bundle block o flag non supportati |
Creazione separata, revisione specialistica e pubblicazione
Configura gli stati di moderazione dei contenuti come richiesto, generazione, bozza, revisione dell'oggetto, revisione della lingua, approvato, pubblicato, obsoleto e non riuscito. Definisci le transizioni per i ruoli dedicati e verificali con le autorizzazioni Drupal e i gestori di accesso. L'account di integrazione API può creare e aggiornare una bozza ma non può approvarla o pubblicarla. Un revisore del soggetto non può approvare la propria generazione ad alto rischio a meno che la politica di rischio documentata non lo consenta.
Abilita le revisioni e assicurati che ogni trasformazione, risoluzione dei commenti, transizione di stato e rebase del codice sorgente crei una revisione con autore e timestamp. Crea una visualizzazione di revisione che mostri l'origine e la bozza, le differenze, gli avvisi, i collegamenti e il risultato del rendering. Se la fonte cambia, contrassegna la bozza attiva e la versione pubblicata in modo appropriato e blocca la pubblicazione finché un revisore non risolve la mancata corrispondenza.
- 1
Configura campi di entità, convalida, revisioni e relazione di origine.
- 2
Crea stati di moderazione e transizioni specifiche per il ruolo.
- 3
Genera una bozza tramite un lavoratore in coda limitata.
- 4
Completare le revisioni dell'argomento e della lingua su una revisione identificata.
- 5
Pubblica, indicizza e conserva la traccia di controllo dall'origine al rilascio.
Fornito con cacheability e accessibilità Drupal intatte
Allega tag di cache per l'entità di origine, la relazione di revisione dell'origine, l'entità della lingua, i paragrafi e i contenuti multimediali a cui si fa riferimento, la configurazione del glossario e il renderer. Utilizza i contesti cache per le impostazioni locali e qualsiasi variazione di accesso legittima, ma non fare in modo che le pagine pubbliche approvate dipendano dallo stato di generazione specifico dell'utente. Invalida le pagine interessate tramite modifiche dell'entità o completamento della coda e mantieni visibile l'ultima revisione approvata mentre viene esaminata una sostituzione.
Visualizza la navigazione linguistica come collegamenti ordinari tramite il routing Drupal e la generazione di URL compatibili con la lingua. Aggiungi collegamenti reciproci alle fonti, metadati in lingue alternative, breadcrumb e voci della mappa del sito. Verificare la gerarchia delle intestazioni, lo scopo del collegamento, l'ordine dei focus, i messaggi di stato e l'associazione degli errori del modulo nel tema finale. Pulisci l'output di API attraverso i campi strutturati consentiti e il sistema di rendering di Drupal. Non contrassegnare mai come sicuro l'HTML generato semplicemente perché proviene da un server attendibile.
I tag della cache riguardano sorgente, versione linguistica, componenti, media, glossario e renderer.
L'elaborazione della coda non può pubblicare contenuto o cancellare prematuramente l'ultimo risultato approvato.
I percorsi linguistici e i collegamenti sorgente funzionano senza JavaScript.
I formati di testo e gli array di rendering impediscono il markup non sicuro.
La ricerca indicizza solo la revisione approvata e rimuove i percorsi ritirati.
Dimostrare autorizzazioni, revisioni e rollback
I test funzionali e del kernel dovrebbero coprire la convalida dei campi, il controllo degli accessi, le transizioni di moderazione, la creazione di revisioni, il rilevamento di fonti obsolete, i tentativi di coda, l'invalidazione della cache, l'accesso al percorso e il rendering di ogni componente supportato. Testare Drupal cron e code runner esterni, inclusi lavoratori sovrapposti e lavori ripetuti. I test del browser dovrebbero esercitare il flusso di lavoro editoriale completo con ogni ruolo e utilizzo del frontend solo tramite tastiera.
Rilascio con gestione della configurazione, hook di aggiornamento, rotazione delle credenziali, dashboard delle code, riproduzione di processi non riusciti, minimizzazione dei log, backup del database e runbook di rollback. Importa la configurazione in un ambiente di tipo produzione e verifica che i bundle, le traduzioni, le autorizzazioni e le visualizzazioni esistenti rimangano intatti. L'accettazione include il ripristino di una revisione approvata precedente, la ricostruzione di cache e indici e la conferma che gli URL pubblici e i record di controllo rimangono corretti.
Ruoli, prove e approvazione
Mantenere la generazione separata dalla pubblicazione. Una risposta efficace è una bozza, non un'approvazione. Archiviare l'identificatore e la versione dell'origine, le impostazioni di trasformazione, l'identificatore del risultato, lo stato della revisione, l'approvatore e l'ora di pubblicazione. Quando la fonte cambia, contrassegna la versione linguistica per la revisione invece di sostituire silenziosamente il contenuto approvato. Ciò rende possibile il rollback e il controllo su tutte le piattaforme.
Operazioni e manutenzione
Il lavoro non termina con la pubblicazione. Collega la versione o la configurazione linguistica alla sua fonte, monitora la qualità e le misure del servizio e definisce criteri concreti di revisione. I fattori scatenanti includono modifiche alla fonte, modifiche legali, nuove esigenze del pubblico, domande di supporto ricorrenti, modifiche tecniche e incidenti. Un proprietario nominato valuta il trigger, apre una nuova revisione quando necessario e registra la rinnovata approvazione.
Lista di controllo per la pubblicazione
L'integrazione utilizza identificatori di origine durevoli.
Le credenziali vengono archiviate lato server e ruotate.
Vengono definiti il comportamento di timeout, nuovi tentativi e limite di velocità.
Le richieste ripetute sono idempotenti.
Il contenuto generato entra in uno stato di revisione.
Le modifiche all'origine invalidano o riapriranno la versione.
La navigazione linguistica funziona tramite tastiera e tecnologia assistiva.
Il monitoraggio copre errori, code, latenza e contenuto non aggiornato.