Deze nieuwe versie komt drie jaar na het verschijnen van SPIP 3.0 en biedt de website ontwikkelaars:
- een update van de JavaScript bibliotheek die de core van SPIP en de meegeleverde plugins voorziet, met name jQuery en jQuery UI;
- een moderner jasje voor het privé gedeelte. Het nieuwe thema bevat de CSS versie Tiny Typo (lees Presentatie van de dist (SPIP3.1));
- een (kleine) aanpassing van het grafische thema van de publieke site;
- nieuwe functionaliteit en diverse bug correcties.
SPIP 3.1: de nieuwtjes
Redacteurs en administrateurs (beheerders) kunnen profiteren van:
- een extra knop op de knoppenbalk waarmee de tekst kan worden bewerkt in "full screen", met direct daarnaast de vooruitblik op het eindresultaat;
- de HTML5 multimedialezer http://mediaelementjs.com wordt standaard meegeleverd om direct video en geluid te kunnen lezen;
- bij de toevoeging van een video worden het formaat en de duur berekend (een gedeeltelijke integratie van de plugin getID3 in de media plugin) ;
- de discussieforums in het privé gedeelte kunnen via een configuratieformulier betrokken worden op ieder willekeurig editoriaal object;
- de statistieken kunnen zowel als grafiek als in een tabelvorm worden weergegeven;
- de pagina in het privé gedeelte met het plan van de site is verbeterd en laat het verplaatsen van elementen toe door ze te verschuiven;
- een nieuwe optie in de persoonlijke voorkeuren van de webmaster maakt de weergave van een extra menu-item «Ontwikkeling» mogelijk;
- ergonomische verbeteringen voor meertaligheid per hoofdrubriek (sector).
SPIP 3.1: vereenvoudige schrijfwijze voor skeletten
Criteria
- de voorwaarde
{age}
is aangepast: de codering werd vereenvoudigd en geruime tijd gedebugd; - de voorwaarde
{tri}
accepteert een derde argument, beginnend met ’session’, wat aangeeft dat het sorteerargument en de sorteervolgorde (al dan niet invers) moeten worden opgeslagen in de sessie van de gebruiker; - de voorwaarde
{branche}
accepteert een tweede argument om aan te geven welke rubriek(en) moet(en) worden doorlopen.
Bakens
- het baken
#MODELE
accepteert de parameterenv
waarmee de volledige context wordt doorgegeven; - het baken
#INCLURE
geeft de optionele in de URL aanwezige parameterconnect
door, net zoals dat al gebeurt met<INCLURE...>
Filters
- een nieuw filter |setenv
Logo’s en afbeeldingen
-
filtre_inactif
in plaats vanno_image_filtrer
; - de CSS class
.spip_logo
in documenten in plaats van.spip_logos
(.spip_logos
wordt nog enige tijd ondersteund); - de bewerking van logo’s is geëvolueerd:
- de maximale hoogte of breedte van een logo kan individueel worden aangegeven;
- wanneer een logo of afbeelding de maximaal toegelaten afmeting overschrijdt en het aanmaken van miniatuurafbeeldingen is toegelaten, wordt de logo of afbeelding doorgegeven in dat maximale formaat in plaats van een foutmelding;
- wanneer de grootte van een document de limieten van de server overschrijdt, wordt een foutboodschap weergegeven zonder dat dit in ajax-problemen resulteert.
Plugins
- een verbeterde ergonomie van de interface voor het beheer van plugins;
- nieuwe bakens in paquet.xml ;
-
script
om een JavaScript in de publieke of privé header op te nemen; -
style
om een CSS-bestand op te nemen ; -
genie
om een eenvoudige cron-taak uit te voeren; -
procure
om aan te geven dat een plugin bepaalde functionaliteit verschaft.
-
SPIP 3.1: onder de motorkap
Bepaalde kleinere aanpassingen kunnen hosting providers of webmasters interesseren:
- de anonieme sessies van SPIP maken nu gebruik van PHP sessies;
- de cache van miniatuurafbeeldingen wordt opgeslagen in 256 submappen (#3277), wat de prestaties op NAS-schijven kan verbeteren;
- bij het gebruik van een MySQL database, worden de PHP
mysqli_*
functies gebruikt in plaats vanmysql_*
. Dit betekent dus dat dezemysqli
functies beschikbaar moeten zijn op de server van de provider (ze worden standaard geactiveerd in PHP vanaf versie 5.0) ; - de MySQL tabellen maken nu standaard gebruik van MyISAM (recente versies van MySQL installeren in INNODB) ;
- het beheer van de cache werd verbeterd door het gebruik van de methode filecache van plugin mémoization;
- revisies van editoriale objecten worden niet langer gecomprimeerd opgeslagen om problemen bij het terugzetten van een database te voorkomen;
- de integratie van import/export functies voor CSV-bestanden door middel van plugin SPIP-Bonux;
- API
objet_inserer()
is meer consistent met een tweede parameter$set
; - API rond "roles" op links: aan links tussen objecten kunnen ook rollen worden toegewezen.
SPIP 3.1: een mooiere broncode
Op de broncode van SPIP is groot onderhoud gepleegd:
- aanpassing aan de PSR2 gepersonaliseerde coderingsnormen;
- annotatie van diverse PHP functies in het formaat phpDoc [1] waarmee automatisch een technische documentate van de broncode kan worden aangemaakt;
- diverse gecorrigeerde PHP «notices».
SPIP 3.1: prestaties aan de client zijde
Met het oog op de prestaties werd methode getScript
uit de JavaScript bibliotheek jQuery toegevoegd om de cache van de browser te kunnen gebruiken. Standaard zet jQuery zijn elementen niet in de cache. Het wordt daarom aangeraden om in een SPIP skelet met jQuery.getScript(...)
het filter timestamp
in het gevraagde bestand toe te passen om zo te zorgen dat een aanpassing van het bronbestand een actualisering van de cache bewerkstelligt.
Voorbeeld:
jQuery.getScript('[(#CHEMIN{prive/javascript/ui/widget.js}|timestamp)]', function(){
...
});
Een header Link wordt in de HTTP heading aangegeven om een gecomprimeerde stylesheet sneller door de browser te laten inlezen.
jQL bibliotheek in plugin Compresseur
De constante _JS_ASYNC_LOAD
kan worden geactiveerd voor een asynchrone lading van het gecomprimeerde JavaScript van de publieke site door middel van de in de compressor geïntegreerde jQL bibiotheek. De «inline» scripts moeten wel compatibel zijn.
Updaten van een bestaande site naar SPIP 3.1
De compatibiliteit van de plugins controleren
Voor de update van de site op één van de gebruikelijke wijzen (FTP, spip_loader, subversie) wordt uitgevoerd, wordt aangeraden de plugins bij te werken.
Ter controle is een plugin beschikbaar die de compatibiliteit met SPIP 3.1 controleert:
http://contrib.spip.net/Verifier-se....
Evolutie van de JavaScript bibiliotheek
De update (vanaf versie 3.0) van de in SPIP 3.1 geïntegreerde JavaScript bibliotheek kan in sommige gevallen de aanpassing van skeletten of plugins noodzakelijk maken: in het bijzonder de aanpassing van jQuery en jQuery UI.
Bekijk de adviezen bij de aanpassing van deze bibliotheken:
- jQuery gaat van versie 1.7.2 naar 1.11.3.
Lees jquery 1.8, jQuery 1.9, jQuery 1.9 upgrade guide, jQuery 1.10, jQuery 1.11; - jQuery UI gaat van versie 1.8.21 naar 1.11.4.
Bekijk de upgrade-guide. Let ook op de veranderde plaatsing van JavaScript en CSS bestanden in jQuery UI en in SPIP plugin SPIP jQuery UI. De opname van deze scripts in de skeletten moet mogelijk worden herschreven.