WordPress 3.7, ultimo aggiornamento del noto Blog Engine Open Source, giunge a circa due mesi di distanza dalla versione 3.6. Agendo sul core, nell'implementazione dell'ultima release gli sviluppatori sembrerebbero essersi concentrati più sul miglioramento del livello di stabilità e di sicurezza dell'applicazione che sull'integrazione di nuove funzionalità; in ogni caso, queste ultime non mancano anche se nella gran parte dei casi non riguardano propriamente gli strumenti per la produzione e la gestione dei contenuti.
Aggiornamenti automatici in background
Una delle novità più rilevanti della versione 3.7 di WordPress, forse la più importante per quanto riguarda questo rilascio, è probabilmente il supporto per gli aggiornamenti automatici in background. L'idea di base sarebbe in pratica quella di dotare il Content Manager di un sistema di update simile a quello già impiegato per altre applicazioni, come per esempio il browser Google Chrome: un'installazione di WordPress dovrebbe così essere in grado di ricevere autonomamente gli aggiornamenti disponibili senza la necessità di un intervento diretto da parte dell'utilizzatore.
Questo meccanismo dovrebbe funzionare in modo predefinito per il passaggio tra una versione e la security o maintenance release successiva, per cui l'automatismo previsto permetterà una migrazione automatica da WordPress 3.7 all'eventuale WordPress 3.7.1; si parla in ogni caso di minor releases, questo perché relativamente alle major releases (come, per esempio, nel caso di un passaggio da WordPress 3.7.1 a WordPress 3.8) l'aggiornamento in background non sarebbe stato previsto come opzione di default.
Inutile sottolineare che tale funzionalità, per quanto utile dal punto di vista del livello di sicurezza delle installazioni, non avrebbe mancato di suscitare alcune perplessità dovute al fatto di dover affidare quasi interamente le modalità di gestione degli upgrade all'applicazione stessa nonché alla connessione ad un servizio esterno. A scopo di debugging è stato previsto un sistema di notifiche all'admin per i betatester nel caso in cui gli aggiornamenti dovessero dar luogo a malfunzionamenti, ma in molti casi potrebbe presentarsi la necessità di dover disabilitare tale feature.
Disattivare gli aggiornamenti automatici
Quindi, per fare chiarezza su questo punto è possibile ricordare che gli aggiornamenti automatici:
- Saranno inattivi se le installazioni utilizzino FTP per gli updates;
- Non saranno abilitati in modalità predefinita per le installazioni basate su checkout SVN o GIT;
- Saranno disattivabili con la definizione delle costanti
DISALLOW_FILE_MODS
oAUTOMATIC_UPDATER_DISABLED
; - Saranno disattivabili impostando la costante
WP_AUTO_UPDATE_CORE
afalse
; - Necessiteranno di una connessione protetta a WordPress.org attraverso HTTPS, per cui l'ambiente PHP di riferimento dovrà presentare il supporto per OpenSSL;
- Non saranno possibili nel caso in cui Wp-Cron non sia operativo.
Detto questo, se tale funzionalità risulta invece disponibile, sarà possibile disabilitarla aggiungendo la seguente direttiva al file wp-config.php:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
In alternativa si potrà far ricorso ai filtri auto_upgrader_disabled
o auto_upgrade_core
.
Attivare gli aggiornamenti automatici per passaggio tra major release
Come sottolineato in precedenza, gli aggiornamenti automatici in background non saranno attivi per il passaggio da una major release (o da un successivo aggiornamento della stessa) ad un altra ma, nel caso in cui si voglia sfruttare la nuova feature anche per questa eventualità, lo si potrà fare includendo la direttiva proposta di seguito nel file wp-config.php:
define( 'WP_AUTO_UPDATE_CORE', true );
L'aggiornamento dovrebbe coinvolgere anche i language packs di installazioni, plugin e temi nel caso di lingue diverse dall'Inglese, andrebbe però sottolineato che nella versione 3.7 gli updates automatici non coinvolgeranno anche i plugin e i temi, si potrà comunque ricorrere ai filtri auto_upgrade_plugin o auto_upgrade_theme per disporre di tale funzionalità per uno o più plugin utilizzati.
Si noti infine che attualmente è in corso una discussione interna alla community di WordPress riguardo all'utilizzo delle 'negative options' nei nomi delle costanti (come per esempio il suffisso '_DISABLED
'), per cui in futuro questi ultimi potrebbero cambiare.
Il nuovo Password Meter
Per incrementare il livello di sicurezza delle installazioni, gli sviluppatori del Blog engine hanno deciso di adottare la libreria zxcvbn di Dropbox in modo da rendere più efficiente il Password Meter in dotazione; quest’ultimo avrà il compito di valutare il grado di efficacia di una password e di segnalarlo all'utente attraverso notifiche testuali e cromatiche.
La procedura migliore per testare il grado di efficacia di questo strumento è probabilmente quella di verificare la risposta del Password Meter in due diverse installazioni, a tale scopo nell'esempio seguente la stringa 'Mi4nord002' (una password ipotetica scelta arbitrariamente) è stata passata prima al Password Meter di WordPress 3.6.1 ottenendo il seguente risultato:
per poi effettuare un confronto con il risultato ottenuto tramite la stessa funzionalità in un'installazione di WordPress 3.7:
Quindi, tramite la verifica operata si potrà osservare che una stessa stringa, della lunghezza di 10 caratteri composta sia da lettere maiuscole che minuscole nonché da entità numeriche e alfabetiche, risulterà essere forte (strong), quindi sicura in linea teorica, dopo un controllo effettuato attraverso il Password Meter di WordPress 3.6.1, mentre risulterà essere debole (weak) se testata tramite il medesimo strumento in WordPress 3.7 con il supporto della libreria zxcvbn.
Nuovo ordinamento per i risultati delle ricerche
Le funzionalità per la ricerca non sono mai state uno dei punti di forza di questo CMS, ecco perché con la versione 3.7 si è cercato di migliorarle introducendo un nuovo criterio per la produzione dei risultati.
In pratica, il precedente ordine cronologico attraverso il quale venivano restituiti i contenuti per data (dall'articolo più recente in poi) lascia il posto ad un criterio di rilevanza basato sulle corrispondenze tra keywords e informazioni memorizzate nel database.
La logica alla base di questo meccanismo prevede di ordinare i risultati sulla base di:
- corrispondenza tra titoli e stringhe di ricerca complete;
- presenza di tutti i termini ricerca nei titoli dei post;
- presenza di uno qualsiasi (o di nessuno) dei termini ricercati nei titoli dei post;
- presenza di una stringa di ricerca completa all’interno dei testi.
Nel caso in cui nessuno di questi criteri venga soddisfatto, i risultati verranno restituiti in ordine cronologico, se soltanto alcuni risultati dovessero soddisfare la nuova logica dell'ordinamento, questi verranno visualizzati per primi e gli altri in ordine cronologico.
Ai nuovi criteri per i risultati delle ricerche si aggiungono anche due nuovi filtri, cioè wp_search_stopwords
, per filtrare i termini bloccati ignorati dalla clausola WHERE, e posts_search_orderby
, per filtrare ORDER BY al momento dell’ordinamento dei risultati.
Novità per i Language Packs e WP_Query
Tra le altre modifiche introdotte in WordPress 3.7 si segnala anche un migliorato supporto per i Language Packs, l'obiettivo degli sviluppatori è stato in pratica quello di rendere i file di lingua indipendenti dai temi predefiniti, dai plugin e dal core dell'applicazione, una soluzione che potrebbe rivelarsi estremamente pratica in sede di aggiornamento, soprattutto ora che parte degli upgrade dovrebbero avvenire in modo praticamente automatico.
Verrebbe così a modificarsi l'attuale situazione in cui gli utilizzatori necessitano di temi pronti per la traduzione e di installazione delle versioni localizzate, inoltre, si potrà utilizzare un unico file di lingua per tutti i plugin scaricati e utilizzati.
Migliora wp-query
Novità anche per quanto riguarda le date queries in WP_Query, la classe che gestisce le operazioni di richieste di articoli o pagine di un sito Internet basato su WordPress, con l'eliminazione di una carenza che in pratica impediva di raccogliere post scritti all'interno di uno specifico intervallo di date o che fossero precedenti o successivi rispetto ad una certa data; la soluzione sarebbe stata trovata grazie ad una serie di nuovi argomenti concepiti per WP_Query.
La nuova politica per i rilasci
Con il rilascio di WordPress 3.7 il team del core ha deciso di intraprendere una nuova politica relativamente all'implementazione delle prossime versioni, essa prevede infatti un più frequente avvicendarsi delle major releases e fasi di betatest più brevi rispetto al passato. Tale risultato dovrebbe essere ottenuto attraverso l'inclusione di poche nuove features alla volta, in questo modo anche la necessaria fase di transizione dovuta agli aggiornamenti automatici in background dovrebbe risultare più semplice da metabolizzare per l'utenza.
In tal modo dovrebbero essere evitati alcuni problemi manifestatisi in passato, come per esempio il tentativo di inserire nuove funzionalità poi bocciate in seguito ai test (si pensi all'interfaccia per i Post format rivelatasi poco usabile).
Conclusioni
In questa breve trattazione sono state presentate le più importanti novità presenti in WordPress 3.7, dagli aggiornamenti automatici in background al nuovo Password Meter, dai criteri introdotti per rendere più precisi i risultati delle ricerche alle innovazioni riguardanti Languages Packs e molto altro.
Nel complesso quest'ultima release non offre funzionalità particolarmente innovative ma, grazie ad una diversa politica sui rilasci, le prossime versioni dovrebbero essere presto disponibili, a cominciare da WordPress 3.8 la cui stabile sarebbe attesa per fine anno.