SPIP 3.1

SPIP 3.1 is een verbeterde versie van SPIP 3.0. Het bevat een update van de meegeleverde JavaScript-bibliotheek, een nieuwe grafische stijl van het privé gedeelte en diverse verbeteringen.

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 parameter env waarmee de volledige context wordt doorgegeven;
  • het baken #INCLURE geeft de optionele in de URL aanwezige parameter connect door, net zoals dat al gebeurt met <INCLURE...>

Filters

Logo’s en afbeeldingen

  • filtre_inactif in plaats van no_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 van mysql_*. Dit betekent dus dat deze mysqli 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:

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:

Voetnoot

[1documentatietekst voorafgaand aan de broncode van een functie, in een bepaald formaat

Auteur Hanjo Gepubliceerd op: Aangepast: 19/04/23

Vertalingen: English, français, Nederlands