De 2.1 à 2.2

APIs dépréciées

  • Bibliothèque JavaScript elgg.ui.river : Supprimez les appels à elgg_load_js('elgg.ui.river') dans le code du plugin. Mettez à jour core/river/filter et forms/comment/save, s’ils sont remplacés, pour exiger des modules de composants AMD

  • Méthodes elgg.ui.popupOpen() et elgg.ui.popupClose() dans la bibliothèque JS elgg.ui : Utilisez le module elgg/popup à la place.

  • Bibliothèque lightbox.js : n’utilisez pas elgg_load_js('lightbox.js'); à moins que votre code ne référence l’espace de nom déprécié elgg.ui.lightbox. Utilisez plutôt le module AMD elgg/lightbox.

  • Bibliothèque elgg.embed et objet elgg.embed : N’utilisez pas elgg_load_js('elgg.embed'). Utilisez plutôt le module AMD elgg/embed

  • Accéder directement à la valeur de configuration icons_sizes : Utilisez elgg_get_icon_sizes()

  • can_write_to_container() : Utilisez ElggEntity::canWriteToContainer()

Vues obsolètes

  • elgg/ui.river.js est déprécié : ne vous fiez pas aux URLs de simplecache pour travailler.

  • groups/js est déprécié : utilisez à la place le module AMD groups/navigation comme dépendance d’élément du menu pour les éléments de menu de mise en Une « feature » et de retrait de la Une « unfeature ».

  • lightbox/settings.js est déprécié : utilisez l’attribut getOptions, ui.lightbox ou data-colorbox-opts du hook plugin JS.

  • elgg/ckeditor/insert.js est déprécié : vous n’avez plus besoin de l’inclure, l’enregistrement des hooks a lieu dans le module elgg/ckeditor

  • embed/embed.js est déconseillé : utilisez le module AMD elgg/embed.

Ajout du module elgg/popup

Le nouveau module elgg/popup peut être utilisé pour créer des interactions plus complexes de déclenchement de popup, y compris la liaison des types d’ancrage personnalisés et l’ouverture/fermeture programmatique de fenêtres contextuelles.

Ajout du module elgg/lightbox

Le nouveau module elgg/lightbox peut être utilisé pour ouvrir et fermer la lightbox de manière programmatique.

Ajout du module elgg/embed

Même s’il est rarement nécessaire, le module AMD elgg/embed peut être utilisé pour accéder aux méthodes d’intégration programmatiquement. Le module s’initialise lui-même si nécessaire et est peu susceptible de nécessiter une décoration supplémentaire.

Nouvelle API pour la manipulation des icônes d’entités

  • ElggEntity implémente désormais l’interface \Elgg\EntityIcon

  • elgg_get_icon_sizes() - renvoie les tailles d’icônes spécifiques au type/sous-type d’entité spécifié

  • ElggEntity::saveIconFromUploadedFile() - crée des icônes à partir d’un fichier téléchargé

  • ElggEntity::saveIconFromLocalFile() - crée des icônes à partir d’un fichier local

  • ElggEntity::saveIconFromElggFile() - crée des icônes à partir d’une instance de ElggFile

  • ElggEntity::getIcon() - renvoie une instance de ElggIcon qui pointe vers l’emplacement de l’icône de l’entité dans le répertoire de fichiers (il peut s’agir simplement d’un espace réservé, utilisez ElggEntity::hasIcon() pour vérifier si le fichier a effectivement été écrit)

  • ElggEntity::deleteIcon() - supprime les icônes d’entité

  • ElggEntity::getIconLastChange() - retourne la date de modification du fichier icône

  • ElggEntity::hasIcon() - vérifie si une icône de la dimension donnée a bien été créée

  • elgg_get_embed_url() - peut être utilisé pour retourner une URL afin d’intégrer l’icône d’une entité (servie via le gestionnaire /serve-icon)

Les avatars des utilisateurs sont désormais servis via le gestionnaire serve-file. Les plugins devraient commencer à utiliser elgg_get_inline_url() et noter que :

  • le gestionnaire de page et la vue ressource``/avatar/view`` sont devenus obsolètes

  • le fichier /mod/profile/icondirect.php est devenu obsolète

  • profile_set_icon_url() n’est plus enregistré comme fonction de rappel -callback- pour le hook plugin "entity:icon:url","user"

Les avatars de groupe sont désormais servis via le gestionnaire serve-file. Les plugins devraient commencer à utiliser elgg_get_inline_url() et noter que :

  • le gestionnaire de page groupicon (groups_icon_handler()) est devenu obsolète

  • le fichier /mod/groups/icon.php est devenu obsolète

Les miniatures et les téléchargements sont désormais servis via le gestionnaire serve-file. Les plugins devraient commencer à utiliser elgg_get_inline_url() et elgg_get_download_url() et noter que :

  • le gestionnaire de page et la vue ressource``file/download`` sont devenus obsolètes

  • le fichier mod/file/thumbnail.php est devenu obsolète

  • Plusieurs vues ont été mises à jour pour utiliser les nouvelles URLs de téléchargement, notamment :

    • mod/file/views/default/file/specialcontent/audio/default.php

    • mod/file/views/default/file/specialcontent/image/default.php

    • mod/file/views/default/resources/file/view.php

    • mod/file/views/rss/file/enclosure.php

APIs supprimées

Juste un avertissement pour indiquer que les fonctions de caches d’entité privée (par ex. _elgg_retrieve_cached_entity) ont été supprimées. Quelques plugins ont pu les utiliser. Les plugins ne devraient pas utiliser les API privées dans la mesure où elles seront plus souvent supprimées sans avertissement.

Un module elgg/ckeditor amélioré

le module elgg/ckeditor peut maintenant être utilisé pour ajouter un éditeur WYSIWYG à un textarea de manière programmatique avec elgg/ckeditor#bind.