Comment maintenir à jour les remplacements?

10

Comme beaucoup le savent, il est possible de remplacer les modèles, vues, modules, composants.

Le principal problème est lorsque Joomla! est mis à jour et les éléments remplacés (dans le dossier du modèle) deviennent obsolètes.

Comment garder les remplacements mis à jour chaque fois qu'une mise à jour est effectuée sur Joomla?

Dois-je le faire à la main et vérifier chaque nouvelle mise à jour, ou existe-t-il un autre moyen de le faire?

jackJoe
la source

Réponses:

4
  1. Écrivez un petit script qui calcule md5 des fichiers originaux que vous avez fait en chevauchant.
  2. Vider ces chemin de fichier et MD5 dans un fichier dans votre modèle
  3. Chaque fois que joomla est mis à jour, réexécutez le script ci-dessus.
  4. Vérifiez la différence dans MD5, le cas échéant, vous devez le vérifier.

Astuce: remplacez les fichiers uniquement si ces modifications ne peuvent pas être effectuées par une substitution CSS.

Shyam
la source
Cela semble une bonne idée, mais commenter la substitution rendra évidemment le md5 différent de ceux mis à jour / non mis à jour qui peuvent provenir d'une mise à jour, donc cela ne fonctionnera pas.
jackJoe
1
Je demande aux fichiers originaux MD5 (à partir du dossier de la vue des composants), pas aux remplacements (fichiers que vous avez créés dans le dossier du modèle).
Shyam
1
Ah! Je vois! de cette façon, je peux voir quels fichiers j'ai remplacé par la mise à jour. C'est une bonne idée, je pourrais utiliser un système de versioning et avoir une branche avec juste les fichiers surchargés, de cette façon je n'ai pas vraiment besoin d'écrire de script.
jackJoe
12

Lorsque Joomla core est mis à jour, aucun remplacement dans votre dossier de modèles ne doit être affecté. Voilà pourquoi ils existent.

Sur les éléments Joomla de base, les remplacements ne seront que rarement en conflit avec les mises à jour de base Joomla. Lorsque vous remplacez les fichiers de base Joomla ou tout autre fichier, document document document. Les commentaires dans le fichier de remplacement sont CRITIQUES si cela vous arrive régulièrement et que vous administrez plus d'un ou deux sites. Vous ne vous souvenez plus de ce que vous avez changé!

Votre éditeur de code devrait avoir une fonction "diff", pour comparer le nouveau fichier à l'ancien et identifier ligne par ligne les modifications apportées. Si vous avez bien commenté, cette différence vous montrera exactement ce qui a été modifié et si le fichier a été affecté par la mise à jour. Vos seules modifications devraient être vos remplacements ... toute autre chose et vous devez aller à nouveau.

Cependant, les remplacements tiers ne deviennent un problème que si le développeur n'utilise pas correctement la structure MVC. Si un composant ou un module est correctement disposé, le tmpl ou la vue en question ne doit pas être affecté par les mises à jour de code.

S'il y a un changement majeur dans cette extension, vous devrez certainement documenter / commenter et comparer les fichiers.

Toni Marie
la source
Un exemple de remplacements de vues affectés par une mise à jour principale était avec Joomla 2.5.16 à 2.5.18, où j'avais le site cassé en raison du composant com_content ayant une mise à jour dans les vues… C'est diffce que j'utilise, mais quand j'ai plusieurs dérogations, il est fastidieux et avec de nombreux sites différents, très difficile à faire pour chacun.
jackJoe
C'est un concept intéressant, pour diff automatiquement les fichiers lors de la mise à jour. La fonction diff existe en PHP. Cela peut être fait ... par un développeur autre que moi;)
Toni Marie
3

Oui, vous devez comparer les fichiers à la fois à la main et mettre à jour les modifications. Sur les mises à jour mineures, il est relativement peu probable que vous deviez les ajuster, mais sur les mises à niveau majeures, les fichiers remplacés peuvent changer considérablement. Je préférerais également un moyen plus simple, mais c'est la seule solution ATM.

Laoneo
la source
0

Un remplacement ne devrait être modifié dans aucune version de Joomla. Cependant, si vous trouvez des fichiers modifiés, vous pouvez gérer l'ensemble de l'installation de Joomla en subversion.

Vous pouvez ensuite également gérer les versions de code Joomla appropriées dans subversion et effectuer une fusion fournisseur http://svnbook.red-bean.com/en/1.7/svn.advanced.vendorbr.html

jdog
la source