Molte novità riguardano l’interfaccia di programmazione (API) di SPIP, cioè l’elenco delle funzioni a disposizione dei programmatori (in particolare per i plugin).
Questa nuova versione è apprezzabile anche per i nuovi plugin che permette di utilizzare (vedere, tra gli altri, il plugin «crayons», che permette di modificare gli articoli direttamente dal sito pubblico; il plugindi validazione XHTML automatico, e altri).
Per far migrare un sito esistente su questa nuova versione stabile è importante fare attenzione ai seguenti punti:
- riorganizzazione delle cartelle, e soprattutto lo spostamento della cartella CACHE e di ecrire/data dentro tmp/; miniature di immagini dentro local/; e i file di configurazione (mes_options.php, connect.php) dentro la cartella config/;
- la cartella ecrire/ contiene quindi solo degli script, e può essere condivisa tra siti diversi (vedere l’articolo sulla condivisione);
- se si utilizzano i filtri di immagine (e soprattutto image_reduire) un bug ha obbligato a interrompere la compatibilità per i nomi di miniatura. Pertanto, SPIP dovrà ricreare tutte le miniature. È possibile eliminare le miniature presenti nella cartella IMG/
Un elenco più dettagliato delle novità:
Area riservata
- conformità all’XHTML 1.0 Transitional dell’area riservata (e anche allo Strict, ad eccezione di alcuni attributi Transitional che non hanno equivalenti esatti nello Strict);
- nuove icone dei documenti;
- statistiche scaricabili in formato CSV
- statistiche più precise (un bug tendeva a sovrastimare ampiamente il numero totale di visite sul sito)
- generazione automatica delle miniature (con GD2):
- verifica della dimensione massima dell’immagine manipolabile, per evitare un errore quando si trasferiscono immagini troppo grandi. Le immagini grandi rimangono della stessa dimensione;
- questa verifica viene eseguita mediante un’unica elaborazione (che abbisogna di molte risorse) nella pagina Configurazione>Funzioni avanzate. A livello visivo un’asse mostra in verde il numero massimo di pixel usati (espressi in milioni di pixel)
- trasferimento di documenti/immagini:
- è possibile trasferire un documento già dalla creazione dell’articolo;
- il trasferimento non fa perdere le modificazioni fatte nel testo
- backup:
- backup facilitato: autenticazione eliminata, possibilità di scegliere il nome del file di backup al fine di conservare più copie
- backup della configurazione del sito e dei plugin (ad eccezione di quelli che sono collegati alla configurazione del server web)
- ripristino affidabile delle versioni precedenti o di quelle create con PHPMyadmin (in formato XML)
- ripristino con fusione dei dati invece che con la sovrascrittura, con importazione dei logo;
- ripristino veloce e corretto sul proprio trattamento delle entità HTML.
Area pubblica
- Modifiche generali
- validatore XHTML interno che permette di convalidare le pagine prodotte dai modelli (pulsante Analisi XML)
- indentatore XHTML attivabile per produrre codice con identazioni
- la colonna di aggiunta dei documenti è utilizzabile nei modelli
[(#ID_ARTICLE|afficher_documents_colonne)]
-
{
criteri}
-
{fusion}
: permette di raggruppare i risultati delle query con un campo in comune (GROUP BY di sql) - il criterio
{par}
, nella sua modalità dinamica ({par #ENV{qualcosa}}
) tollera ora qualcosa=hasard - criterio
{like}
sperimentale
-
- #SEGNAPOSTI
- #ARRAY
{
chiave1,valore1,chiave2,valore2...}
permette di creare una variabile di matrice (utile per interagire con una tabella in un #SET e/o per utilizzarla in un criterio IN dinamico) - #EDIT
{
xxx}
nellaclass
di un elemento che circonda il segnaposto #XXX permette di renderlo modificabile mediante il plugin crayons (vedere la documentazione su spip-contrib) - #TOTAL_UNIQUE permette di sapere il numero di elementi diversi ottenuti con il filtro
|unique
- #PIPELINE
{
nome_della_pipeline}
permette, all’interno di un modello, di visualizzare il flusso di una data pipeline, sorgente da uno o più plug-in. - #URL_ACTION_AUTEUR
{
azione}
visualizza l’indirizzo dell’azione «azione» con il necessario per verificare i permessi del visitatore collegato. Questo segnaposto accetta due parametri supplementari e opzionali: un elenco di argomenti e un indirizzo per l’eventuale reindirizzamento.
- #ARRAY
- |filtri
- |concat
{
valore1,valore2,..}
permette di concatenare più stringhe. - |compacte permette di ridurre la dimensione di un CSS o di un javascript eliminando tutti i commenti. Il filtro prende in entrata il nome del file e produce un nuovo file di cui restituisce il nome
<link rel="stylesheet" href="[(#CHEMIN{spip_style.css}|compacte)]" type="text/css" media="all" />
Accetta un parametro opzionale, il tipo di file qualora non possa essere dedotto dall’estensione come...|compacte{js}
- |date_822: per alcuni feed RSS 2.0 (in particolare photocast), è obbligatorio inserire la data nel formato RFC 822 (
<pubDate>
) - |paragrapher per mettere sempre dei paragrafi HTML intorno al testo (e non solamente se ciò contiene almeno due paragrafi).
- |url_absolue_css trasforma tutti gli URL relativi di un CSS in URL assoluti (da utilizzare prima di |compacte, per esempio)
- |concat
-
- migliorie: |direction_css conserva le immagini di background e si propaga negli
@import
- migliorie: |direction_css conserva le immagini di background e si propaga negli
- Ristrutturazione e omogeneizzazione dei filtri di immagine
- Tutti i filtri image_xx rispettano gli attributi presenti in entrata.
Essi possono modificare:
- l’attributo src (per definizione)...
- gli attributi style, width e height se cambia la dimensione
- l’attributo class per mettere o togliere l’attributo format_png in base al fatto se l’immagine di uscita è in formato png o meno - Sono stati aggiunti i seguenti filtri di immagine:
- |image_imagick{
fonction_php_imagick, variabili,...}
permette di applicare qualsiasi funzione della libreria php_imagick: filtri finora non disponibili in SPIP; ve ne sono alcuni veramente impressionanti; ma funzionano solamente sulle immagini senza trasparenza alfa
- |image_recadre{
larghezza,altezza,posizione}
per ritagliare un’immagine (il crop di Photoshop) con le combinazioni di left/center/right e di top/center/bottom per la posizione (ex ’left enter’)
- |image_renforcement fa esattamente l’opposto di image_flou. Da utilizzare soprattutto sulle miniature di anteprima, che diventano molto più belle.
- |image_select{
larghezza_min,altezza_min,larghezza_max,altezza_max}
permette di selezionare le immagini a cui verranno applicati i filtri immagini successivi. Utile per fare, per esempio,[(#TEXTE|image_select{50,50}|image_masque{...})]
senza deformare le icone dei documenti o i punti elenco...
- Tutti i filtri image_xx rispettano gli attributi presenti in entrata.
Essi possono modificare:
Riorganizzazione delle cartelle
-
- eliminazione di ecrire/data, non è più necessario il diritto di scrittura in ecrire (connect.php va in config/ )
- tmp/ contiene tutto quello che è temporaneo e non accessibile dal navigatore (compreso cache/)
- local/ contiene tutto quello che è temporaneo e accessibile dal navigatore (comprese le miniature delle immagini)
- IMG/ contiene tutto quello che è permanente e accessibile dal navigatore
- config/ contiene tutto quello che è permanente e non accessibile al navigatore
API (interfaccia di programmazione, destinata agli sviluppatori)
- jQuery 1.1 incluso in SPIP, caricato di default nell’area riservata, e nell’area pubblica se il modello di layout ha un #INSERT_HEAD; questa libreria javascript è documentata in inglese sul sito www.jquery.com
- Continuazione della riorganizzazione del codice per separare la visualizzazione delle operazioni in base ai dati e per facilitare l’override
- autorizzare (’vedere’...) qualsiasi cosa nell’area riservata per permettere il filtraggio degli accessi e la creazione di nuovi diritti di modifica
- la funzione recuperer_page permette delle chiamate SOAP fornendo un $data del tipo string (headers+due ritorni carrello+corpo xml)
- API di installazione/disinstallazione dei plugin: i plugin che gestiscono la propria installazione sono contraddistinti visivamente da un’icona
- i moduli possono utilizzare javascript che rimarrà attivo, anche nell’area riservata
- il javascript negli articoli viene disattivato nell’area riservata, ma rimane attivo nell’area pubblica (è possibile modificare questa impostazione). Ciò permette di programmare dei comportamenti javascript o jQuery direttamente negli articoli.
- inserimento nelle intestazioni HTTP delle pagine dell’elenco dei plugin installati e della loro versione (disattivabile con
$GLOBALS['spip_header_silencieux'] = true;
)
Bugfix:
- MySQL 5: Alcune configurazioni di server MySQL 5 danno dei problemi, la costante _MYSQL_SQL_MODE_TEXT_NOT_NULL
permette di raggirare il bug, in attesa di una revisione della definizione delle tabelle;
- il nome delle miniature generate da image_reduire potevano essere identiche per due immagini di partenza diverse
Come al solito, questi miglioramenti saranno integrati rapidamente nella documentazione ufficiale, con esempi dettagliati. Nel frattempo non esitate a chiedere nelle liste degli utenti!
Versione di correzione 1.9.2a
SPIP 1.9.2a è stata rilasciata il 14 marzo 2007
Questa versione [8878] non fornisce alcuna novità rispetto alla precedente ma corregge alcuni bug:
- evitare un crash di Safari e vari bug con IE e FF (nei siti che hanno URL contenenti la tilde ~
) durante l’upload di documenti
- compatibilità con le nuove versioni di PHP (4.4.6) e in particolare PCRE
- evitare un errore con il provider Free con il filemtime sui file inesistenti
- scorciatoria fuori dal blocco delle scorciatoie (exec=articles_page)
- correzione dell’interfaccia che permette di ’liberare gli articoli’
- i visitatori e gli autori nel cestino non hanno accesso alla messaggistica interna.
- non costruire delle miniature vuote se non si è potuto recuperare il file remoto
- imprecisioni sulle revisioni anonime
- colonna documento nelle brevi
- migliore euristica per cercare la versione SVN
- cache per l’esecuzione dei modelli nell’area riservata
- precisioni dei filtri per gli spider dei motori di ricerca
- varie puliture del codice e delle impostazioni CSS
Versione di correzione 1.9.2b
SPIP 1.9.2b è stata rilasciata il 23 maggio 2007.
Questa versione [9381] non fornisce alcuna novità rispetto alla precedente ma corregge alcuni bug:
- il link [bla{blabla}->URL]
era spezzato, ad eccezione del caso in cui vi era un hreflang
- diverse correzioni nel calendario
- uno sforzo continuo per rendere SPIP compliante all’XHTML
- ¡
che appariva durante un ripristino in spagnolo
- irrobustimento del codice nei confronti dei PREG del PHP 4.4.6 che causano errori
- lingua predefinita del sito stabilita dal visitatore durante l’installazione
- regola i float senza larghezza stabilita dopo il passaggio in win_png.htc su IE
- sintassi non corretta nell’installazione LDAP
- refresh dei documenti dopo trasferimento in IE e Opera
- doppione della funzione import_identifie_id_type()
- messa in sicurezza dell’argomento parametre_url
- [<INCLUDE(xxxxx.php3)>
era spezzato
- cattiva inclusione dovuta a errori dei modelli
- crash nell’autorizzazione se spip_query()
non è già stato caricato
- upgrade parzialmente non completo su alcune versioni vecchie
- immagini impossibili da associare all’articolo se i documenti sono vietati
- cattiva registrazione delle revisioni parziali (con i Crayon, per esempio)
- il filtro couper()
causava un crash su una nota a piè di pagina composta da diverse righe se era all’inizio del corpo del testo
- corregge delle richieste SQL sugli autori in alcune chamate a autoriser()
- (e all’ultimo minuto) una correzione di un bug durante il ripristino di un dump di grandi dimensioni (ripresa dopo timeout)
Versione di correzione 1.9.2c
SPIP 1.9.2c è stata rilasciata il 19 settembre 2007.
Questa versione comprende una correzione critica di una falla di sicurezza. Comprende anche un certo numero di correzioni e di migliorie:
- Correzioni:
- Ripristino: ripresa su timeout e sconnessione,
- Messaggistica interna: invio di email di monitoraggio delle discussioni,
- Data di pubblicazione precedente: aggiramento di un bug di IE che ne impediva la modifica,
- menu delle rubriche (gadget tutto il sito): arborescenza incompleta in alcuni casi,
- scheda autore: bug nella modifica dell’URL del sito,
- filtri di immagine: bug sull’appiattimento in formato GIF,
- barra tipografica: bug di visualizzazione,
-
#URL_LOGOUT
: eliminazione degli&
amp;
e reindirizzamento verso la pagina attuale (self) predefinito, -
#LOGIN_PUBLIC
: accetta i visitatori.
- Migliorie:
- supporta JQuery 1.1.4 (la versione integrata è comunque la 1.1.1) e alcune correzioni,
- Funzioni
image_aplatir
: prende un terzo parametro "qualità" (85 di default per i JPG, numero di colori della palette per i GIF e i PNG), - Password: può contenere i caratteri
'
e\
, -
articles_tous
e browser: ottimizzazione delle query (override MySQL per i siti di grandi dimensioni), - Aggiunta delle estensioni csv, mkv, mka, kml e kmz.
Per maggiori dettagli leggere: cronologia della versione 1.9.2 su trac