Dit zijn die verbeteringen in detail
Javascript
jQuery
- Een update van jQuery naar versie 3.2 (in SPIP 3.1 wordt jQuery 1.12 gebruikt). https://jquery.com/upgrade-guide/3.0
- integratie van
jQuery-migrate-3.0.1.js
voor de migratie van scripts die jQuery gebruiken. https://github.com/jquery/jquery-migrate/#README
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 pipelinejqueryui_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)
wordtCookies.get(key)
-
$.cookie(key, value)
wordtCookies.set(key, value)
-
$.cookie(key, value, options)
wordtCookies.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 (behalve0.
) 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
- formulaire_receptionner: een pipeline die wordt opgeroepen wanneer een formulier word gepost, maar voordat de gegevens worden geanaliseerd die van de verificatiefunctie afkomstig zijn. https://core.spip.net/projects/spip/repository/revisions/23308
Diverse tickets
- Inclusies, connect & pagineren (Tickets #3823 en #3899): de ajax paginering houdt rekening met de gebruikte
connect
parameter. De explicieteconnect
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
- Bijwerken van de bibliotheek FullCalendar naar versie 3.5.1 (voorheen versie 1.6). Wanneer je deze bibliotheek in de publieke site gebruikt, lees je in https://fullcalendar.io/wiki/Upgrading-to-v2/ of https://fullcalendar.io/docs/ hoe je kunt migreren
- Integratie van de bibliotheek Moment.js (benodigd voor FullCalendar)
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
enlib/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 tabelspip_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]
zoalsen:movies
enfr: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.