Mettre à niveau Elgg¶
Basculer un site actif vers une nouvelle version d’Elgg.
Si vous avez écrit des plugins personnalisés, vous devriez également lire les guides de développement à propos des informations sur la mise à niveau du code des plugins pour la dernière version d’Elgg.
Conseil¶
Sauvegardez votre base de données et le code
Faites attentions aux commentaires spécifiques pour certaines versions ci-dessous
Ne mettez à niveau qu’une seule version mineure à la fois (1.6 => 1.7, puis 1.7 => 1.8)
Essayez la nouvelle version sur un site de test avant d’effectuer une mise à niveau
Signalez tout problèmes dans les plugins aux auteurs de plugins
Si vous êtes auteur de plugins, vous pouvez signaler tout problème de rétro-compatibilité sur GitHub
Instructions de base¶
Identifiez-vous sur votre site en tant qu’administrateur
Désactivez le cache dans les Paramètres Avancés (Advanced Settings)
Sauvegardez votre base de données, votre répertoire de données, et le code
Téléchargez la nouvelle version de Elgg depuis http://elgg.org
- Mettez à jour les fichiers
Si vous faites une mise à niveau corrective (1.9.x), écrasez vos fichiers existants avec la nouvelle version d’Elgg
Si vous faites une mise à niveau mineure (1.x), remplacez totalement les fichiers du noyau existant
- Fusionnez tous les nouveaux changements des règles de réécriture (rewrite rules)
Pour Apache depuis
install/config/htaccess.dist
vers.htaccess
Pour Nginx depuis
install/config/nginx.dist
vers la configuration de votre serveur (habituellement dans/etc/nginx/sites-enabled
)
Fusionnez toutes les modifications depuis
settings.example.php
danssettings.php
Note
Toute modification devrait avoir été écrite aux sein des plugins, de sorte qu’elles ne soient pas perdues lors de l’écrasement des fichiers. Si ce n’est pas le cas, faites attention à maintenir vos modifications.
De 2.2 vers 2.3¶
Version de PHP¶
PHP 5.5 a atteint la date de fin de support en Juillet 2016. Afin de s’assurer que les sites Elgg soient sécurisés, nous exigeons désormais PHP 5.6 pour les nouvelles installations.
Les installations existantes peuvent continuer à utiliser PHP 5.5 jusqu’à Elgg 3.0.
Afin de mettre à niveau Elgg vers la 2.3 en utilisant composer avec PHP 5.5, vous pouvez avoir besoin d’utiliser le drapeau --ignore-platform-reqs
.
Tests¶
PHPUnit bootstrap est rendu obsolète par le chargeur automatique (autoloader) de composer : les tests ne devraient plus s’amorcer eux-même en utilisant
/engine/tests/phpunit/bootstrap.php
. Au lieu de cela, les tests devraient étendre\Elgg\TestCase
.Quelques fichiers du noyau vérifient désormais si la constante
PHPUNIT_ELGG_TESTING_APPLICATION
est définie pour déterminer si Elgg est bootstrappé pour les tests PHPUnit. La configurationphpunit.xml
a besoin d’être mise à jour pour inclure la définition de cette constante.PHPUnit bootstrap ne définit plus la varible globale
$CONFIG
. Les tests devraient utiliser_elgg_services()->config
à la place.Le noyau et les tests n’utilisent plus de valeurs globales privées dans
$_ELGG->view_path
et$_ELGG->allowed_ajax_views
Schéma¶
Les colonnes GUID de la base de données doivent être alignées. Dans la section admin une mise à niveau permet d’effectuer cette action. Assurez-vous d’avoir un backup disponible.
De 1.x à 2.0¶
Plugins retirés¶
Les plugins suivants ne sont plus livrés avec le noyau d’Elgg :
categories (https://github.com/elgg/categories)
zaudio (https://github.com/elgg/zaudio)
Les solutions de rechange spécifiques à IE suivantes ont été abandonnées¶
Plusieurs vues (css/ie
, css/ie7
, css/ie8
, etc.) ainsi que des commentaires conditionnels ont été supprimés maintenant que les navigateurs à partir de IE10 sont plus conformes aux standards. Si vous avez besoin d’un support des navigateurs plus anciens que cela, vous devrez trouver ou construire un plugin qui ajoute sa propre couche de compatibilité ou des polyfills.
Mettez à jour la configuration de votre serveur web¶
Les chemins d’URL tels que cache/*
et rewrite.php
utilisent désormais le script du contrôleur frontal principal. Vous devez supprimer ces règles de réécriture de al configuration de votre serveur web (par ex. .htaccess
).
Supprimez également les règles pour les chemins tels que export/*
; ces points de terminaison ont été supprimés.
Emplacement des paramètres¶
Après la mise à niveau, déplacez votre fichier settings.php
depuis engine/
vers elgg-config/
.
De 1.10 à 1.11¶
Changements non rétrocompatibles¶
Dans les versions 1.9 et 1.10, les noms et les valeurs pour les métadonnées et les annotations n’étaient correctement rognées (trim) pour les espaces vides. Elgg 1.11 trim correctement ces chaînes de caractères et met à jour la base de données pour corriger les chaînes existantes. Si votre plugin utilise des métadonnées ou des annotations, vous allez devoir mettre à jour le plugin pour rogner les noms et les valeurs. Ceci est particulièrement important si vous utilisez des clauses SQL spécifiques ou avez des IDs de valeurs de métadonnées (metastrings) codées en dur, dans la mesure où la mise à jour peut modifier les IDs de ces valeurs des métadonnées.
De 1.8 à 1.9¶
Elgg 1.9 est une mise à niveau bien plus légère que ne l’était la 1.8.
Changements non rétrocompatibles¶
Les plugins et thèmes écrits pour la 1.8 sont censés être compatibles avec la 1.9 à l’exception de ce qui est relatif aux commentaires, réponses aux discussions, et notifications. Veuillez rapporter tout problème de rétro-compatibilité outre celles qui viennent d’être listées.
Étapes de la mise à niveau¶
Plusieurs migrations de données sont en jeu, aussi il est particulièrement important que vous fassiez une sauvegarde de votre base de données et de votre répertoire de données avant d’effectuer la mise à niveau.
Téléchargez la nouvelle version et copiez ces fichiers depuis le site 1.8 existant :
.htaccess
engine/settings.php
tout les dossiers de plugins tierce-partie dans le répertoire
mod
Puis remplacez l’ancien répertoire d’installation par le nouveau. De cette manière vous vous assurez de vous débarrasser des fichiers obsolètes qui pourraient causer des problèmes s’ils restaient en place.
Suivez les instructions basiques listées précédemment.
Une fois que vous avez visité upgrade.php
, rendez-vous dans la partie admin de votre site. Vous devriez voir une notifications indiquant que vous avez des mises à niveau en attente. Cliquez sur le lien dans la notification pour voir et effectuer les mises à niveau.
Le nouveau système de notifications délivre les messages toutes les minutes via un gestionnaire cron. Si vous n’avez pas encore mis cela en place, vous allez devoir installer et configurer crontab sur votre serveur. Si les tâches cron sont déjà configurées, notez que les périodes de cron disponibles peuvent avoir changé et que vous pouvez avoir besoin de mettre à jour votre crontab actuel pour refléter ces changements.
Engagement en temps¶
Exécuter l’ensemble de ces mises à niveau a demandé environ 1 heure et 15 minutes sur le site de la communauté Elgg qui contenait au moment de la migration :
~75,000 réponses aux sujets de discussion
~75,000 commentaires
~75,000 répertoires de données
Vous devriez ne considérer ceci que comme une estimation à la louche pour votre propre mise à niveau. Le temps que cela prendra va dépendre de la taille de votre site et de la puissance de vos serveurs.
1.7 vers 1.8¶
Elgg 1.8 est le plus grand pas en avant dans le développement d’Elgg depuis la version 1.0. De ce fait, il y a plus de travail pour mettre à jour le noyau et les plugins que pour les mises à niveau précédentes.
Mettre à niveau le noyau¶
Supprimez les répertoire du noyau suivants (même niveau que _graphics et engine) :
_css
account
admin
dashboard
entities
friends
search
settings
simplecache
views
Avertissement
Si vous ne supprimez pas ces répertoires avant une mise à niveau, vous allez avoir des ennuis !