Aquesta collita 2010 s’anuncia com una anyada excepcional. Ha estat molt provada i té un conjunt de proves unitàries que permeten programar de manera molt més segura. Aquesta versió 2.1 és un primer pas cap a la divisió de les funcions d’SPIP en mòduls i una bona prova d’això és l’aparició d’un directori «extensions». Els connectors (plugins) que hi ha en aquest directori s’activen a partir de la instal·lació d’SPIP i no es poden desactivar, cosa que obra una via a distribucions específiques d’SPIP.
Principals millores que aporta la versió 2.1
— més ràpida:
- millor gestió d’accés al disc
- emmagatzematge en memòria cau de rutes calculade
- millores i ampliació del servidor virtual SQL Server
— més segura:
- sha256 sobre les contrasenyes i les accions
- verificació del funcionament dels .htaccess
- detecció automàtica de les actualitzacions d’SPIP
— aspecte més bonic:
- integració (com extensió) del connector «porte-plume» que millora moltíssim l’edició dels camps de text i ofereix una vista prèvia durant l’edició
- per defecte, una interfície gràfica més lleugera i elegant
- possibilitat de definir temes gràfics (com, per exemple, amb el connector «themes_interface_privee»)
- millor gestió de la mida dels camps de text (ampliació condicional)
- gestió (totalment configurable i desactivable) de la transparència PNG24 a MSIE6 en el lloc públic
- botons «modificar aquest article» i «proposar aquest article» durant l’edició d’articles
- nova interfície de gestió dels connectors
- remodelació dels processos de salvaguarda/restauració
- possibilitat de crear URL amb accents definint
_TRANSLITTERER_URL
a «false» (alerta amb la configuració del servidor)
— més actual:
- compatible amb PHP 5.3
- integració de la biblioteca jQuery 1.4.2
- integració de la biblioteca pclzip 2.8.2
— més lleugera:
- primeres funcionalitats del nucli convertides en extensions: compressor (js, css, html), portaplomes (barra d’eines), filtres imatges i colors (tractament de la imatge), safehtml (més seguretat dels fòrums i peticions), suport per navegadors antics
- gestió d’un nou directori (extensions/) per posar-hi aquells connectors que s’activen durant la instal·lació i que no es poden desactivar
— més extensible:
- aparició de nous punts d’entrada pels connectors
- remodelació de la gestió dels connectors (i directori específic per la seva gestió: ecrire/plugins)
- els connectors es poden instal·lar a un(s) directori(s) suplementari si estan definits per la constant
_DIR_PLUGINS_SUPPL
(facilita el seu ús en cas de mutualització) - possibilitat d’ampliar l’ajuda en línia per integrar-hi seccions personalitzades i la gestió automàtica de les seves traduccions
— més estructurada:
- posada en servei d’una API d’autenticació
- millora de la interfície LDAP
- reestructuració de l’API de notificació
- homogeneïtzació de les etiquetes
#LOGO_
: a partir d’ara els paràmetres es passen entre claudàtors i desapareixen «double pipes» (#LOGO_xxx||filtre
(escriptura obsoleta però encara funcional) - aparició de noves etiquetes i funcions:
#BOUTON_ACTION
,|balise_img
,|couleur_luminance
(similar a|couleur_saturation
, però actuant sobre la intensitat lluminosa del color) - etiquetes dinàmiques (del tipus
#FORMULAIRE_
) tenen ara la possibilitat de treballar amb valors que només es calculen durant la compilació
— més fàcil de depurar:
- millora del depurador, a partir d’ara capaç d’indicar la línia defectuosa en un esquelet
- a partir d’ara el depurador dóna informació exacta del possible mal ús d’etiquetes dinàmiques
- API del depurador més funcional (s’incrementen les possibilitats de crida i de personalització)
- millora del mode inclusió (
?var_mode=inclure
) visualitzant les diferents inclusions (integració amb el connector Skeleditor que permet recarregar i editar fàcilment en línia els esquelets) - possibilitat de recarregar la funció
spip_log()
— més geek:
- el compilador ofereix una millor separació entre les frases i l’arbre d’abstracció cosa que permet crear noves sintaxis (pels més valents)
- reaparició d’un descompilador complert i parametritzable que ofereix la possibilitat de crear i experiments noves sintaxis
Incompatibilitats conegudes
Com qualsevol nova versió important, aquesta 2.1 inclou algunes incompatibilitats amb versions anteriors. Els canvis necessaris són fàcils de fer:
- En els bucles, el nom de les taules SQL externes a à SPIP s’ha de passar en la seva grafia real i no en majúscules:
<BOUCLE_a(MaTable)...
en lloc de<BOUCLE_a(MATABLE)...
<BOUCLE_a(mes_infos)...
en lloc de<BOUCLE_a(MES_INFOS)...
- El filtre
|reduire_image
desapareix definitivament (ja era obsolet i substituït per|image_reduire
) - Afegir
include_spip("inc/filtres_images");
en els scripts php que cridin funcions que utilitzin els filtres gràfics - Inspirar-se en nous fitxers de
ecrire/url/
per escriure scripts de personalització d’URL - El pipeline
creer_chaine_url
desapareix i és substituït per pipelines específiques:propres_creer_chaine_url
,arbo_creer_chaine_url
, ... - Tot claudàtor d’obertura enganxat a una etiqueta és considerat des d’ara com proveïdor d’arguments a aquesta etiqueta
exemple: en un full d’estil:.rub_#ID_RUBRIQUE{font-size:1.2em;}
no funcionarà
cal o bé separar el claudàtor:.rub_#ID_RUBRIQUE {font-size:1.2em;}
o bé utilitzar la notació completa per l’etiqueta:.rub_[(#ID_RUBRIQUE)]{font-size:1.2em;}
- Les crides jQuery del tipus
$("input[@name=prenom]")
, ja obsoletes amb jQuery 1.3, ja no funcionen amb la versió 1.4.2 de jQuery, utilitzada per SPIP 2.1; a partir d’ara hem d’escriure:$("input[name=prenom]")
- L’escriptura
#SET{variable,}
ja no s’accepta (definir una variable com buida) i s’ha de substituir per#SET{variable, ''}
- Pels connectors, la declaració buida
<fonctions></fonctions>
al fitxerplugin.xml
no s’accepta més - Per utilitzar una funció específica d’un connector només si aquest connector està activat (i sinó no fer res) a partir d’ara cal escriure:
[(#BALISE|appliquer_filtre{fonction_specifique})]
en lloc de[(#BALISE|fonction_specifique)]
que genera un error. - Per les etiquetes
#LOGO_xxx
[1], els falsos filtres|fichier
i|lien
són substituïts respectivament per l’escriptura#LOGO_xxx**
i#LOGO_xxx*
.
Els falsos filtres de posicionament (|top
,|left
,|right
,|center
i|bottom
) i les etiquetes|#URL_yyy
en posició de filtre s’han d’escriure actualment com argument de l’etiqueta.
L’escriptura[(#LOGO_xxx|left)]
és, per tant, substituïda per#LOGO_xxx{left}
i l’escriptura[(#LOGO_xxx|#URL_yyy)]
és reemplaçada per#LOGO_xxx{#URL_yyy}
. - És molt recomanable utilitzar
#INSERT_HEAD
per tal que les extensions puguin proporcionar el seu full d’estil i el codi javascript específic.