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_URLa «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_imagedesapareix 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_urldesapareix 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.xmlno 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|fichieri|liensón substituïts respectivament per l’escriptura#LOGO_xxx**i#LOGO_xxx*.
Els falsos filtres de posicionament (|top,|left,|right,|centeri|bottom) i les etiquetes|#URL_yyyen 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_HEADper tal que les extensions puguin proporcionar el seu full d’estil i el codi javascript específic.