Mise à niveau de la version 2.5 vers la version 3.x

15

C'est quelque chose qui m'intéresse depuis un certain temps compte tenu de certaines choses.

Dans quelle mesure la mise à niveau "en un clic" va-t-elle s'améliorer avant l'EoL de Joomla! 2,5?

En ce moment, nous avons un taux de réussite très faible sur la mise à niveau à partir de 2.5, il existe de nombreux problèmes de compatibilité qui ne sont pas résolus avec seulement la mise à niveau et nécessitent quelques modifications manuelles pour terminer le processus la plupart du temps (les problèmes avec JHTML sont les plus courants I voir).

Maintenant, je dis «problèmes», mais je veux juste dire qu'après la mise à jour, les choses ne fonctionnent pas comme prévu, cela ne signifie nullement que le composant «mise à jour» est cassé.

J'ai regardé autour de moi mais je n'ai trouvé que ce qui suit:

http://docs.joomla.org/Joomla!_CMS_versions

http://developer.joomla.org/cms/roadmap.html

Le premier indique que le support de 2.5 pour décembre prochain sera supprimé. La seconde énonce la feuille de route pour 3.x. Cependant, pour le moment, il est très difficile de mettre à jour la version 2.5, plus le site est grand, plus il est difficile. Je ne sais pas ce qui fait que certains réussissent et d'autres non, dans la plupart des cas, nous ne pouvons pas l'isoler directement aux extensions tierces (le gestionnaire d'extensions se casse et ainsi de tables manquantes, et le gestionnaire d'extensions est l'endroit où vous corrigez cela).

C'est là que le vrai problème survient avec la mise à niveau, si le site utilise une base de données massive avec quelque chose comme sobipro, k2 ou un générateur de contenu, ou juste de nombreux articles / modules, la mise à niveau peut échouer beaucoup plus facilement. Ceux-ci ne peuvent pas être supprimés, désactivés ou désinstallés non plus (ex: plus de 4000 éléments seraient perdus avec une désinstallation, à ce stade, ils pourraient aussi bien refaire le site puis mettre à niveau).

Existe-t-il un plan pour améliorer la mise à niveau en un clic de 2.5 à 3.x pour mieux s'adapter à l'EoL? (comme des articles ou des blogs) Question étrange, mais je pense qu'avec le nombre de sites 2,5 qui ne peuvent pas être mis à niveau, cela pourrait être très utile.

Jordan Ramstad
la source
Je n'ai jamais entendu parler ni rencontré de problème lors de la mise à niveau de J2.5 vers 3.x. En fait, nous avons récemment mis à niveau notre site vers J3.3 avec une bonne quantité d'extensions, y compris K2, Community Builder et Kunena sans aucun problème.
Lodder
1
Nous n'avons jamais connu de véritable succès «sans problème» dans une dizaine de tentatives sur 80 sites 2,5. Cette question est juste destinée à voir s'il existe un plan quelconque pour réduire les erreurs (je sais qu'aucun numéro ne doit être désinstallé pour la mise à niveau, je pourrais poster cette réponse moi-même à ce sujet car cela fait "ressembler" à un problème principal et est difficile à voir, pas la seule chose qui puisse arriver cependant). Je veux que cette question rassemble, espérons-le, quelques sources différentes et la résolution de problèmes.
Jordan Ramstad
1
La Jordanie a raison. La mise à niveau n'est pas toujours aussi simple. Ce n'est pas un problème pour moi, mais c'est pour les utilisateurs moyens qui pourraient se retrouver bloqués après une mise à niveau casser leur site, donc c'est un problème pour Joomla, étant donné que nous vivons à des années où "User-Friendly" et " Un logiciel qui fonctionne "est essentiel.
FFrewin
J'ai également rencontré plus de quelques problèmes de mise à niveau, en fait, toutes mes tentatives de mise à niveau avec une demi-douzaine de sites m'ont donné des problèmes que j'ai dû corriger, après coup, de diverses manières. J'ai découvert que la plupart d'entre eux sont causés par l'utilisation de mootools dans les extensions. Cela a provoqué la mise à niveau à un moment donné, souvent juste avant la mise à jour de la base de données. Pour les sites que j'ai, avant la mise à niveau, remplacé l'utilisation de MooTools, dans chaque source où il était utilisé, avec sa version 3.x ("JHtml :: _ ('behavior.framework');") semble avoir fonctionné parfaitement.
thoni56

Réponses:

11

La mise à niveau "en un clic" fonctionne très bien pour Joomla! 2.5 Core .

Mais votre site peut avoir plusieurs modèles ou extensions à mettre à niveau également.

Je prévois également une migration "juin" de notre site principal. Voici mon plan:

  • Sauvegardez le site principal et créez un nouveau site de test
  • Passez en revue la configuration système requise pour Joomla 3.x et assurez-vous que votre environnement de serveur répond à ces exigences.
  • Installez et personnalisez un nouveau Joomla! Modèle compatible 2.5 / 3
  • Installez et personnalisez tous Joomla! Extensions compatibles 2.5 / 3
  • Si une extension n'a pas de version compatible J3, elle doit être remplacée par une nouvelle extension .... ET les données doivent être migrées (pire scénario)
  • REMARQUE : les étapes précédentes peuvent être exécutées hors ligne, testées et à la fin, vous pouvez les implémenter dans votre Joomla actuel! 2.5 site pour réduire le risque de migration d'un jour.
  • Mettez à jour votre site de développement avec le dernier site en ligne
  • Dernière étape: mise à niveau "en un clic" vers Joomla! 3 sur le site de développement
  • Testez et vérifiez tout jusqu'à ce que cela fonctionne Ok
  • Migrez le site en direct (ou restaurez le dernier instantané du site de développement sur un nouvel hébergement ... juste au cas où quelque chose se passe mal et que vous deviez réactiver le site J2.5)
  • SUCCÈS
Anibal
la source
1
Très belle explication d'une méthode sécurisée de mise à niveau. Je franchis également le pas en juillet et je m'en inquiète depuis un moment. Après avoir lu cela, je me sens beaucoup mieux. Merci = ^ D
Mathew Lenning
5

Pour les mises à niveau de 2.5 à 3.3, j'ai également eu plus de chance de faire une mise à niveau manuelle. Pour les versions, j'irai jusqu'à 2.5.20-> 3.0.3-> 3.1.6-> 3.2.4-> 3.3.0.

Voici le processus complet:

  1. Téléchargez toutes ces versions et décompressez sur la machine locale (voici une bonne ressource: http://www.whitefirdesign.com/resources/joomla-release-archive.html )
  2. Sauvegarde à l'aide d'Akeeba
  3. Créer un site clone dans un sous-dossier à l'aide d'Akeeba Kickstart (créer / utiliser une nouvelle base de données)
  4. En backend du site, désinstallez les extensions "problème" (voir en bas du post)
  5. En FTP, téléchargez tous les fichiers à partir d'une nouvelle version de Joomla à l'exception du dossier / installation /.
  6. À l'arrière du site Web, allez dans EXTENSIONS-> EXTENSIONS MANAGER-> DATABASE, et appuyez sur FIX
  7. Ensuite, allez dans EXTENSIONS-> EXTENSIONS MANAGER-> DISCOVER, appuyez sur découvrir et installer pour tout ce qu'il trouve
  8. Accédez à ACL Manager (si ce n'est pas le cas, je le suggère fortement) et corrigez les problèmes ACL qu'il trouve. http://aclmanager.net
  9. Répétez le processus avec la prochaine version de Joomla

Après avoir accédé à la dernière version:

  1. Réinstaller les extensions "problème"
  2. Sauvegarder la nouvelle version
  3. Site de test pour les problèmes
  4. Déplacer le site d'origine dans un sous-dossier
  5. Déplacer un nouveau site vers root pour le mettre en ligne

L'ensemble de ce processus prend beaucoup de temps en raison du temps de téléchargement pour les versions complètes, mais il évite les maux de tête.

Pour les extensions de problème, ce ne sont que celles qui ont causé des problèmes lors des mises à niveau pour moi. Mon hypothèse est que le package d'installation a en fait différentes versions pour J2.5 vs J3.3, il est donc confus lors de la mise à niveau. Si quelqu'un en a trouvé d'autres, faites-le moi savoir.

  • Extensions NoNumbers (NN Manager, Cache Cleaner, Adv Module Manager, Modules Anywhere, etc.)

Ces extensions peuvent provoquer des problèmes si vous n'utilisez pas la version la plus récente:

  • RSForm
  • JW AllVideos
  • RokBox
  • RSForm
  • Signets sociaux
  • XMap
YellowWebMonkey
la source
Les formes Blueflame posent également des problèmes.
un codeur
3

Je n'ai pas pu mettre à niveau le répertoire de 2.5.7 à 3.2.0. J'ai rencontré diverses erreurs lors de ces mises à niveau, parfois pas du tout mise à niveau.

Le chemin de mise à niveau que je devais suivre:

2.5.7 → 3.0.1 → 3.1.5 → 3.2.0

Depuis lors, j'ai pu mettre à niveau normalement. J'utilise 3.2.2 et je prévois de passer à 3.3 sous peu.

Changement de contexte
la source
La mise à niveau est prise en charge à partir de la dernière version 2.5.x (à partir d'aujourd'hui c'est 2.5.20!). À partir de cette version, vous pouvez passer directement à la version 3.3.0. Donc, au lieu de faire plusieurs mini-étapes, vous devriez d'abord mettre à jour votre très ancien 2.5.7 à 2.5.20 et de là à 3.3.0.
Bakual
Il semble que YellowWebMonkey ait eu le même problème depuis le 2.5.20, voir sa réponse pour plus de détails.
ContextSwitch
Je serais personnellement intéressé par les erreurs que vous obtenez lors de la mise à jour directe de 2.5.20 à 3.3.0. Je ne parle que du noyau ici, pas des tiers.
Bakual
Je dirais que c'est difficile à reproduire si vous n'avez aucun problème, la même chose se produit en passant de 1.7, passer à 2.5.1 en premier est presque sans erreur, mais aller directement au plus récent était toujours problématique. Je doute que ce soit une faute des développeurs, peut-être une sorte de délai d'attente lors de l'application de la grande quantité de fichiers de mise à jour SQL pour toutes les versions? Si tel est le problème, la mise à jour de Joomla devrait peut-être avoir un programme d'installation autonome et installer les mises à jour dans l'ordre, plutôt que de les appliquer toutes en même temps (pour le noyau de toute façon). Mais juste une idée aléatoire, cette réponse me donne une idée de l'endroit où la faute pourrait être, une "théorie" seulement.
Jordan Ramstad
Je vais voir si j'ai encore une copie de notre base de données 2.5.7. Si je peux le trouver, mettez à jour la réponse avec les problèmes que j'ai rencontrés.
ContextSwitch
2

Pour répondre à la question principale:

Dans quelle mesure la mise à niveau "en un clic" va-t-elle s'améliorer avant l'EoL de Joomla! 2,5?

Il n'est pas prévu de l'améliorer. Cela fonctionne sans problèmes pour le noyau. Le modèle devra probablement être remplacé en raison de la sortie d'extension modifiée. Les autres extensions doivent être vérifiées manuellement, cela dépend de la façon dont elles sont construites. Il est possible d'écrire des extensions qui fonctionnent à la fois sur 2.5.15+ et 3.x avec la même base de code. Mais il faut vérifier cela en essayant ou en contactant le développeur (ou lire leur FAQ).

La seule chose qui peut être améliorée dans 2.5 est d'ajouter une vérification de compatibilité avant la mise à niveau. Il y a eu du travail pour cela, mais ça a calé. Quelqu'un de la communauté devrait ramasser cela et y mettre fin.

Bakual
la source
L'absence de vérification de compatibilité dans 2.5 est l'une des raisons pour lesquelles vous devez vérifier les versions PHP sur la plate-forme de mise à niveau. mises à jour "en un clic" de 2.5 à 3.2. * + laissé de nombreuses personnes avec des sites vierges avant et arrière.
BodgeIT
2

Voici quelques informations utiles que j'ai trouvées sur la mise à niveau.

D'une part, si le site Web était à l'origine en 1.6, puis mis à niveau vers 2.5, même dans les dernières versions de 2.5, toutes les extensions fonctionneront toujours. Cependant, la mise à niveau vers 3.x nécessite une réinstallation. En effet, les différences dans la zone "mise à jour" signifient que s'il s'agissait de 1.6, le serveur de mise à jour ne lira pas correctement les mises à jour, donc s'il s'agissait d'un composant 1.6, du moins dans la plupart des cas (je l'ai vu dans DJ Image Slider et BreezingForms) ne seront pas mis à jour une fois sa mise à niveau vers 2.5.

Une mise à niveau manuelle de ces extensions est donc nécessaire à un moment donné de sa durée de vie en 2.5. Je pense qu'en fonction de l'extension, il pourrait également y avoir des problèmes avec la mise à jour sql normale, mais juste quelque chose à savoir.

Parfois, les extensions peuvent être renommées ou "renouvelées", ce qui obligera parfois Joomla à le lire comme un nouveau composant, ce qui entraînera plusieurs entrées du même composant, ancien et nouveau. Si vous en désinstallez une, elle utilise toujours les mêmes tables de base de données, elle les efface donc si vous les avez déjà installées.

Idée: Donc, une chose que je pense serait utile dans ce cas est un ajout au gestionnaire d'extensions pour vérifier les extensions destinées aux anciennes versions, pour les rendre facilement visibles, cela pourrait être fait en regardant la dernière "date" de mise à jour et était-ce avant un changement potentiel de rupture dans Joomla si la version actuelle est au-delà de cette version.

De toute façon dans le cas d'un site passant de 1.6 à 2.5 puis à 3.x à tout moment peut forcer une réinstallation qui effacerait donc les données.

Une autre idée: si une "réinstallation" a été ajoutée à côté de la mise à jour, en utilisant le suivi de l'ancienne version et de son serveur de mise à jour, ou une URL / téléchargement personnalisé pour désinstaller le composant sans effacer les données. Ensuite, réinstallez-le tout en utilisant les mises à jour SQL pour mettre à jour les tables de base de données serait extrêmement pratique.

J'utilise un site qui était à l'origine 1.6 car cela montrerait ces problèmes plus souvent, cela peut aussi arriver avec des sites qui ont commencé en 2.5.

Cela explique de nombreux problèmes pouvant survenir à partir d'extensions qui n'ont peut-être jamais été mises à niveau pour ajouter la compatibilité à 3.x, les plugins sont les pires car même dans le panneau d'administration, une erreur dans ceux-ci peut rendre le panneau d'administration inutilisable.

Encore une autre idée: le gestionnaire de mise à jour Joomla peut désactiver automatiquement tous les plugins tiers autres que certains (comme akeeba, car il suit les mises à jour) puis mettre à jour. Après avoir réactivé tous les plugins, mais "vérifie" les plugins système pour les erreurs. Ce que je veux dire, c'est qu'il déclenche automatiquement divers événements avec un try / catch pour voir s'il y a une erreur, s'il y a, il désactive et notifie.

Maintenant, tout cela ne suppose aucun problème de base, ce qui ne devrait normalement pas se produire dans une mise à jour.

Les idées que j'ai postées ci-dessus sont destinées à l'équipe de développement, le reste est une bonne information pour quiconque met à jour. Les idées que j'ai mises en place devraient même être en mesure d'autoriser les mises à jour sans désinstaller / désactiver les extensions au préalable, ce qui pourrait potentiellement ajouter beaucoup plus de travail au processus. Avec quelques ajouts au programme de mise à jour déjà génial, même des mises à jour automatiques complètes (un peu comme wordpress) pourraient être possibles à l'avenir.

Jordan Ramstad
la source
1

Je trouve qu'il y a tellement de choses à considérer avec la mise à niveau, cela ne peut tout simplement pas être considéré comme un processus "en un clic".

Les versions PHP sont la première chose à considérer. Les versions de Joomla aussi ... toujours mettre à niveau vers la version finale dans n'importe quel arbre avant de monter l'échelle à l'autre. Utilisez Akeeba CMS Updater pour sélectionner les mises à jour que vous souhaitez appliquer et à partir de quelle branche.

Les extensions sont l'endroit où il devient vraiment poilu.

L'utilisation d'une extension telle que SP Transfer peut réduire les problèmes en créant un site secondaire qui peut être préinstallé sur la nouvelle version avec tous les composants installés pour cette version, puis extraire toutes les données nécessaires de la base de données.

Ce processus n'est cependant pas destiné à l'utilisateur général.

Plus souvent qu'autrement, je trouve un certain niveau de problème avec la table des actifs et je dois généralement utiliser les diagnostics d'ACL Manager pour corriger les éléments orphelins ou manquants dans la table.

BodgeIT
la source
1

La procédure que j'utilise a évolué sur environ 40 mini-migrations Joomla 2.5 à 3.x diverses. Ce n'est pas exactement "un clic" mais permet d'éviter les pièges les plus courants. La plupart des sites Web que je gère utilisent des modèles RocketTheme et il existe des versions équivalentes à Joomla 3.x des modèles Joomla 2.5, ce qui a réduit les problèmes de migration des modèles pour moi, mais votre kilométrage peut varier.

  1. L'environnement d'hébergement de vérification est adapté à Joomla 3.x

  2. Exécutez la sauvegarde en premier!

  3. Désinstallez toutes les extensions qui ne sont pas compatibles avec Joomla 3.x

  4. Mettre à jour vers Joomla 2.5.28 si ce n'est déjà fait sur 2.5.28 et mettre à jour toutes les extensions tierces vers les dernières versions disponibles de Joomla 2.5

  5. Désactiver le plugin "Système - Se souvenir de moi"

  6. Désactivez le plug-in "Système - Sauvegarde à la mise à jour" si Akeeba Backup est installé

  7. Dans la configuration globale, définissez le rapport d'erreurs sur "Développement" (afin que les erreurs soient visibles après la migration - si vous manquez cette étape, vous devrez peut-être utiliser FTP, etc. pour télécharger configuration.php, le modifier pour activer les messages, puis télécharger la version mise à jour via FTP etc ce qui est pénible)

  8. Modifier les composants -> Mise à jour Joomla -> Options pour "Support à court terme"

  9. Dans Composants -> Joomla Update, cliquez sur "Installer la mise à jour" pour mettre à jour de 2.5.x vers 3.5.1, 3.5.1 vers 3.6.5 puis 3.6.5 vers la dernière version. Videz le cache Joomla et purgez le cache dans Extensions -> Gestionnaire d'extensions -> Mettre à jour, puis réessayez si la mise à jour n'est pas proposée. Vous devrez peut-être vous authentifier à nouveau une ou deux fois lors de la mise à jour des jetons de session

  10. Changer les composants -> Joomla Update -> Options -> Update Channel to "Default" s'il n'est pas déjà réinitialisé à "Default"

  11. Réinstallez les dernières extensions Joomla 3.x par-dessus toutes les extensions installées, en particulier ChronoForms et toutes les actions ChronoForms si vous en avez installé une.

  12. Vider le cache Joomla et le cache de votre navigateur Web

  13. Dans la configuration globale, définissez le rapport d'erreurs sur «Aucun»

  14. Réactivez le plug-in "Système - Sauvegarde à la mise à jour" si Akeeba Backup est installé

  15. Réactiver le plugin "Système - Se souvenir de moi"

  16. Désactivez le plugin "Système - Joomla! Update Notification" pour désactiver les notifications de mise à jour Joomla (facultatif)

  17. Supprimer les modèles Joomla 2.5 (atomic, beez5, beez_20, bluestork)

  18. Activer le contrôle de version dans Contenu -> Articles -> Options -> Modifier la mise en page si approprié (le contrôle de version est désactivé par défaut)

  19. Désactivez «Autoriser l'enregistrement des utilisateurs» dans Utilisateurs -> Gérer -> Options -> Options utilisateur si approprié (cela a été activé par défaut dans Joomla 2.5)

L'étape 11 est importante pour permettre aux scripts d'installation d'effectuer toutes les étapes spécifiques à Joomla 3 qui n'ont peut-être pas été exécutées lors de leur installation initiale sur Joomla 2.5.

N'oubliez pas de mettre à jour la version PHP si nécessaire. PHP 5.3 est en fin de vie et PHP 5.6 ou PHP 7.0 ou version ultérieure est un meilleur choix pour Joomla 3.x maintenant.

Neil Robertson
la source