De 5.x vers 6.0
Contenu
Bases de données
Pré-requis de la base de données
La version minimale de MySQL est maintenant la 8.0.
La version minimale de MariaDB est maintenant la 10.6.
État supprimé
Les entités peuvent maintenant être marquées comme supprimées dans la base de données. Cela permet aux entités d’être restaurées à partir de la base de données lorsque la suppression a été effectuée trop tôt.
Note
En raison des changements apportés à ElggEntity::delete() le fonctionnement de ElggFile::delete() a été modifié. Il était possible de créer un lien symbolique entre un fichier et un emplacement différent (par d’autres moyens que Elgg) et lors de la suppression du ElggFile, il était possible de supprimer uniquement le lien symbolique et non le fichier cible. Cela a été modifié et ElggFile::delete() supprimera désormais toujours à la fois le lien symbolique et le fichier cible.
Voir aussi
Consultez la documentation database ou la documentation Capacité de restauration pour plus d’informations.
Modules ES
Nous n’utilisons plus RequireJS pour l’inclusion des modules JavaScript AMD. Nous utilisons désormais les modules ECMAScript en natif. Tous les modules peuvent être référencés sous le même nom qu’un module importable.
Composer
Pré-requis PHP
La version minimale de PHP est désormais la 8.1. Le module intl doit également être activé.
PHPUnit
Elgg utilise désormais PHPUnit 10.5. Vous devrez peut-être mettre à jour vos tests.
Annotations
En raison d’un conflit de nom dans l’alias de jointure par défaut entre les tables annotations et metadata, l’alias de jointure par défaut pour la table annotations a été modifié de n_table à a_table.
Si votre code utilise des clauses très spécifiques (select, where, order_by, etc.), vous devez le mettre à jour. Si vous utilisez \Elgg\Database\QueryBuilder pour vos parties de requête, vous ne devriez rien avoir à faire.
Colonne activée
La colonne enabled pour les annotations a été supprimée. Une annotation n’est plus activée ni désactivée. Vous ne pouvez plus effectuer les appels d’API enable et disable sur les annotations. D’autres fonctions API associées ont été supprimées.
Icônes des entités
Coordonnées de découpe
Les coordonnées de recadrage de l’icône par défaut (icon) sont désormais stockées de manière uniforme, comme celles des autres types d’icônes. Les métadonnées x1, x2, y1 et y2 n’existent plus. Utilisez la nouvelle fonction \ElggEntity getIconCoordonnées().
Icontime
Les métadonnées icontime ont été supprimées de la base de données. Ce moyen de vérifier si une icône était téléchargée était peu fiable. Ceci n’était stocké que pour le type d’icône icon.
Un moyen fiable de vérifier si une icône a été téléchargée est d’utiliser la fonction \ElggEntity::hasIcon().
Titres
L’utilisation des titres (h1, h2, h3) a été revue dans l’ensemble de la base de code pour garantir qu’ils sont utilisés lorsque cela est approprié et qu’ils sont également utilisés dans le bon ordre. Vous pouvez en apprendre plus sur l’utilisation prévue dans Accessibilité.
Les changements les plus importants sont les suivants :
H1 est toujours le titre de la page (et non plus le logo/nom du site)
Les Modules (info, sidebar, widgets) utilisent le niveau de titre H2
Les titres H3 des titres de résumé d’entité/relation/annotation ont été remplacés par un élément de texte normal
Modifications de structure CSS et HTML
La structure HTML des pages a été modifiée. Les résumés d’entités et les pages d’entités en vue complète sont désormais intégrés dans un élément article. Les éléments de la barre latérale utilisent désormais l’élément HTML aside. Les modules (comme les widgets des info-modules) utilisent désormais un élément section au lieu d’un div. Les classes CSS en double sur le même élément comme elgg-body et elgg-layout-body ont été supprimées.
Elgg a fourni quelques classes d’assistance pour créer une disposition en grille (comme elgg-grid, elgg-col, elgg-row). Ces classes d’aide ont été supprimées. Vous pouvez faire toutes ces choses avec du CSS classique comme `` display: grid``.
D’autres changements de style concernent une nouvelle couleur d’arrière-plan pour le corps, un style amélioré pour le fil d’Ariane et un bloc propriétaire plus basique.
Modification dans les fonctions
Fonctions de bibliothèque supprimées
elgg_disable_annotations()a été retiréelgg_enable_annotations()a été retiréelgg_set_view_location()a été retiréelgg_strrchr()a été retiréelgg_strripos()a été retiréelgg_unrequire_css()a été retirée. Utilisezelgg_unregister_external_file('css', $view)en remplacement.
Fonctions de classe supprimées
\ElggAnnotation->enable()\ElggAnnotation->disable()\ElggEntity->disableAnnotations()\ElggEntity->enableAnnotations()\ElggEntity->getTags()utilisezelgg_get_metadata()comme alternative.
Paramètres de fonction des fonctions des bibliothèques
elgg_get_entity_statistics()requiert désormais unarrayde$optionsqui est utilisé parelgg_get_entities().Le deuxième argument (
$subview) deelgg_get_simplecache_url()est supprimé. Le nom complet de$viewdoit être fourni comme premier argument.
Modifications d’API diverses
L’interface
\Elgg\EntityIcona été supprimée. Les fonctions implémentées dansElggEntityont été déplacées versElgg\Traits\Entity\IconsLes noms de vue d’un dossier de vue “css” ou “js” doivent désormais toujours être référencés par leur nom de vue complet (auparavant, il était possible d’omettre le premier dossier s’il s’agissait de “css” ou “js”).
Valeurs de configuration retirées
system_cache_loaded