De 5.x vers 6.0

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. Utilisez elgg_unregister_external_file('css', $view) en remplacement.

Fonctions de classe supprimées

  • \ElggAnnotation->enable()

  • \ElggAnnotation->disable()

  • \ElggEntity->disableAnnotations()

  • \ElggEntity->enableAnnotations()

  • \ElggEntity->getTags() utilisez elgg_get_metadata() comme alternative.

Paramètres de fonction des fonctions des bibliothèques

  • elgg_get_entity_statistics() requiert désormais un array de $options qui est utilisé par elgg_get_entities().

  • Le deuxième argument ($subview) de elgg_get_simplecache_url() est supprimé. Le nom complet de $view doit être fourni comme premier argument.

Modifications d’API diverses

  • L’interface \Elgg\EntityIcon a été supprimée. Les fonctions implémentées dans ElggEntity ont été déplacées vers Elgg\Traits\Entity\Icons

  • Les 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