SPIP 3.2

SPIP 3.2 is een verbeterde versie van SPIP 3.1 en bevat een bijgewerkte JavaScript bibliotheek, een verbeterde ergonomie van het privé-gedeelte en tientallen verbeteringen.

Dit zijn die verbeteringen in detail

Javascript

jQuery

Belangrijk: Deze wijzigingen houden in dat sterk wordt aangeraden om scripts die jQuery gebruiken aan te passen. Het gaat daarbij vooral om de volgende wijzigingen:

  • bind() => on()
  • unbind() => off()
  • load() => on(’load’, ...)
  • unload() => on(’unload’, ...)
  • jQuery.isArray() => Array.isArray()

jQuery UI

  • Update van jQuery UI naar versie 1.12 (in SPIP 3.0 was het jQuery UI 1.11). http://jqueryui.com/upgrade-guide/1.12/ . Ook de implementaie werd aangepast:
    • jQuery UI wordt standaard in het privé-gedeelte geladen.
    • Op de publieke site wordt de JS/CSS van jQuery UI geladen wanneer een element uit deze bibliotheek opgeroepen wordt via de pipeline "jqueryui_plugins".

Belangrijk: Deze wijzigingen houden in dat javascript wat jQuery UI modules aanroept met $.getScript() niet langer zal funtioneren. Je zult jQuery UI in het skelet moeten laden, of via de pipeline jqueryui_plugins in een plugin, of door gebruik te maken van $.getScript() met het juiste pad naar het bestand "jquery-ui.js".

Dus...

$.getScript("#CHEMIN{prive/javascript/ui/core.js}", function(){
$.getScript("#CHEMIN{prive/javascript/ui/widget.js}", function(){
$.getScript("#CHEMIN{prive/javascript/ui/mouse.js}", function(){
$.getScript("#CHEMIN{prive/javascript/ui/sortable.js}", function(){
// ...
})})})});

...moet worden:

$.getScript("#CHEMIN{prive/javascript/ui/jquery-ui.js}", function(){
// ...
});

JS Cookie

  • De bibliotheek JS Cookies versie 2.1.4. is geīntergreerd en vervangt jQuery.cookie. https://github.com/js-cookie/js-cookie
  • De oude codering $.cookie() werkt nog in de meeste gevallen, maar er wordt aangeraden over te schakelen:
    • $.cookie(key) wordt Cookies.get(key)
    • $.cookie(key, value) wordt Cookies.set(key, value)
    • $.cookie(key, value, options) wordt Cookies.set(key, value, options)

PHP

  • Diverse verbeteringen in de PHP codering.
  • Compatibiliteit met PHP 7.1

Core

Scheiding tussen items voor navigatie & favoriete invoer
De functies van plugin «Menu privé alphabétique» zijn opgenomen:

  • de submenu’s voor de navigatie (wanneer je met de muis over een hoofdmenu beweegts) zijn nu alfabetisch gerangschikt [1].
  • naar persoonlijke voorkeur kunnen nu "favoriete" menu items worden aangekruist, die als eerste zullen worden weergegeven.
  • een submenu met meer dan 20 items zal voortaan in twee kolommen worden weergegeven.

Vereenvoudiging van de "cookie de correspondance"

De knop in het privé-gedeelte waarmee deze cookie werd geactiveerd was niet expliciet. Dat betekende dat ze na enige tijd inactief werd wanneer de auteur niet regelmatig op de site aanwezig was. Deze cookie (en de knop) is nu vervallen en vervangen door een "admin cookie" die gemaakt Ordt wanneer een auteur in het privé-gedeelte gaat en daar toegangsrechten heeft. Samen met de sessie cookie worden beide cookies iedere keer vernieuwd. Wordt de verbinding verbroken dan verdwijnt ook het cookie.
Tickets: #1740, #1710.

Afhankelijkheid plugin van PHP extensies

Het is nu mogelijk om in de paquet.xml van een plugin aaan te geven of deze bepaalde PHP extensies nodig heeft. Ticket #3829. Een foutmelding wordt weergegeven bij de activering van de plugin. Syntax:

<necessite nom="php:curl" />
<necessite nom="php:xdebug" compatibilite="[2.0.0;]" />

Formulieren

  • het baken #FORMULAIRE_INSCRIPTION accepteert een 3e argument om de pagina aan te geven waar de persoon naar moet worden doorverwezen wanneer zijn inschrijving wordt bevestigd.
    [(#FORMULAIRE_INSCRIPTION{6forum,0,#URL_PAGE{welkom}})]
    

Voorwaarden

  • de voorwaarde {par champ} werd herschreven en werkt nu beter met veldnamen van koppelingstabellen, net zoals {par num champ} en {par multi champ} dat doen. Uitdrukkingen {par expr champ} kunnen nu zonder extra belasting worden gemaakt.
  • toevoeging van {par sinum champ} die genummerde elementen (behalve 0.) vooraan plaatst. Zo zal {par sinum titre, num titre, titre} genummerde titels voor ongenummerde zetten (in tegenstelling tot {par num titre, titre}. En anders dan {par titre, num titre} zal nummer 100 keurig na nummer 20 komen.

Pipelines

Diverse tickets

  • Inclusies, connect & pagineren (Tickets #3823 en #3899): de ajax paginering houdt rekening met de gebruikte connect parameter. De expliciete connect bij een "include" heeft voorrang boven die afkomstig van de URL.
  • Het aantal sessiebestanden van een auteur beperken (Ticket #3807)
  • Het toezenden van een nieuw wachtwoord naar een auteur vanuit het privé-gedeelte (Ticket #2250)

Verplaatste bestanden

  • ecrire/inc/aider.php (verplaatst naar plugins-dist/aide/inc/aide.php)
  • ecrire/inc/pclzip.php (verplaatst naar plugins-dist/archiviste/inc/pclzip.php)

Verplaatsing

  • datumfilters staan nu in inc/filtres_dates.php (was inc/filtres.php) (Ticket #3583).

Verwijdering

  • de verouderde functies afficher_plus(), debut_cadre_couleur_foncee(), fin_cadre_couleur_foncee() zijn overgezet in plugin Grenier.

Plugins

Aide

  • Een nieuwe plugin die de online hulpfunctie integreert (functies verplaatst uit de Core en plugin SVP)

Archiviste

  • Een nieuwe plugin die het beheer van zip- en tar-archieven integreert (functies verplaatst uit de Core)

Afbeeldingsfilters

  • De sinds SPIP 2.1 verouderde filters zijn verwijderd (Ticket #3601). De elementen zijn verplaatst naar plugin Grenier.

Grenier

  • Herbergt nu de ouder functies van plugin Filtres images.
  • Herbergt een aantal uit de Core verwijderde functies.

Médias

  • Integratie van plugin Minidoc in plugin médias. Deze laat diverse weergaven toe van lijdten met documenten die aan editoriale objecten zijn gekoppeld. Ticket #3888
  • Tevens een wijziging van de standaardweergave van deze gekoppelde documenten
  • Integratie van plugin Ordoc in plugin médias. Ticket #3887. De lijsten van aan editoriale objecten gekoppelde documenten kunnen worden gerangschikt [2]. Daarna is het mogelijk om lussen te gebruiken, zoals:
    <BOUCLE_docs(DOCUMENTS){id_article}{par rang_lien, num titre, titre, date}>
    

    .

  • Wijziging van de HTML structuur die wordt teruggegeven door de pipeline afficher_metas_document, die de HTML code van de voor het document weergegeven details terugstuurt en daarmee het gebruikte baken <table> vult.

Trefwoorden

  • Een geavanceerd beheer van trefwoorden maakt fusies mogelijk, maar ook koppelingen (of ontkoppelingen) met een ander trefwoord Commit 100448

Organizer

Sites

  • Zoeken is nu mogelijk in artikelen van een gesyndiceerde site. Ticket #3859

SVP - Plugin beheer

  • Invoering van een foutmelding wanneer een plugin van bepaalde PHP extensies afhankelijk is. Ticket #3819.
  • Meer duidelijkheid rond de versies bij foutmeldingen rond afhankelijkheid.
  • Een plugin kan worden gedownload zonder deze te activeren. In dit geval blijf je op de zoekpagina van plugins. Ticket #3471
  • Weergave van een progressiebalk bij meerdere acties (voorkomen van doorverwijzingsfouten). Ticket #3473
  • Correctie van het ontbreken van bevestigingsboodschappen wanneer SPV automatisch extra acties toevoegt (bijvoorbeeld het activeren van afhankelijke items).
  • inc/pcltar.php en lib/pcltar/ verplaatst naar plugin Archiviste.

URL Étendues

De URL Arborescente ondersteunt nu meertaligheid (bijvoorbeeld op een rubriek) en meerdere bovenliggende niveaus (polyhiérarchie).

  • Meerdere ouders voor een object zijn toegelaten. Commit 100814
  • Toevoeging van een veld langue aan tabel spip_urls. Commit 100835
  • Het is mogelijk om een specifieke URL voor een bepaalde taal te creëren voor een editoriaal object. Hiervoor moet in het invoerveld van de URL worden aangegeven [taalcode]:[url] zoals en:movies en fr:videos. Commit 100835
  • De declaratie van het "type" waarmee eventueel de URL van een object begint bij een URL arborescente (bijvoorbeeld: ’trefwoord’ in trefwoord/titel) kan nu meertalig worden uitgevoerd op basis van het "multi" baken. Commit 100836
  • Met URLs arborescentes kan meertaligheid worden beheerd door het toevoegen van de taalcode in de URL, wat geactiveerd wordt met de constante _url_arbo_multilang. Commit 100844.

Voetnoot

[1In vorige versies kon dit mede afhangen van de volgorde waarin plugins werden geactiveerd

[2Sites die daarvoor plugin Mosaique gebruiken kunnen met een migratie-plugin een veld "rang_lien" aan tabel spip_documents_liens toevoegen

Auteur Hanjo Gepubliceerd op: Aangepast: 21/03/23

Vertalingen: عربي, English, français, Nederlands