Como manter as substituições atualizadas?


10

Como muitos sabem, é possível substituir modelos, visualizações, módulos, componentes.

O principal problema é quando o Joomla! é atualizado e os itens substituídos (na pasta do modelo) ficam desatualizados.

Como mantenho as substituições atualizadas cada vez que uma atualização é feita no Joomla?

Preciso fazer isso manualmente e verificar cada nova atualização ou existe alguma outra maneira de fazer isso?

Respostas:


4
  1. Escreva um pequeno script que calcule md5 de arquivos originais que você substituiu.
  2. Despejar esses caminho de arquivo e MD5 em um arquivo no seu modelo
  3. Sempre que o joomla for atualizado, execute o script acima novamente.
  4. Verifique a diferença no MD5, se houver, é necessário verificar.

Dica: Substitua os arquivos apenas se essas alterações não puderem ser feitas pela substituição de CSS.


Parece uma boa idéia, mas comentar a substituição obviamente tornará o md5 diferente em comparação aos atualizados / não atualizados que podem vir de uma atualização, portanto, isso não funcionará.
jackJoe

1
Estou solicitando os arquivos originais do MD5 (da pasta de exibição de componentes), não as substituições (arquivos que você criou na pasta de modelos).
Shyam 23/04

1
Ah! Eu vejo! Dessa forma, posso ver quais arquivos foram substituídos alterados com a atualização. É uma boa idéia, eu poderia usar um sistema de controle de versão e ter uma ramificação apenas com os arquivos substituídos, dessa forma não preciso escrever nenhum script.
jackJoe

12

Quando o núcleo do Joomla é atualizado, nenhuma substituição na pasta do modelo deve ser afetada. É por isso que eles existem.

Nos itens principais do Joomla, as substituições raramente entram em conflito com as atualizações principais do Joomla. Quando você substitui os arquivos principais do Joomla, ou qualquer arquivo, documento documento documento. Comentar no arquivo de substituição é CRÍTICO se isso acontecer com você regularmente e você administrar mais de um ou dois sites. Você simplesmente não se lembrará do que mudou!

Seu editor de código deve ter um recurso "diff", para comparar o novo arquivo com o antigo e identificar linha por linha que alterações foram feitas. Se você comentou bem, essa diferença mostrará exatamente o que foi alterado e se o arquivo foi afetado pela atualização. Suas únicas alterações devem ser suas substituições ... qualquer outra coisa e você precisa substituí-las.

As substituições de terceiros, no entanto, se tornam um problema apenas se o desenvolvedor não estiver usando a estrutura MVC corretamente. Se um componente ou módulo for disposto adequadamente, o tmpl ou a visualização em questão não deverá ser afetada pelas atualizações de código.

Se houver uma grande mudança de recurso nessa extensão, você definitivamente precisará documentar / comentar e comparar arquivos.


Um exemplo de substituições de visualizações afetadas por uma atualização principal foi com o Joomla 2.5.16 a 2.5.18, onde o site foi quebrado devido ao componente com_content ter uma atualização nas visualizações ... diffÉ isso que eu uso, mas ao ter vários substituições, é tedioso e com muitos sites diferentes, muito difícil de fazer para cada um.
precisa saber é o seguinte

É um conceito interessante, diferenciar automaticamente os arquivos na atualização. A função diff existe no PHP. Isso pode ser feito ... por algum desenvolvedor que não seja eu;))
Toni Marie

3

Sim, você precisa comparar os arquivos todas as vezes manualmente e atualizar as alterações. Em pequenas atualizações, a chance é relativamente pequena de ajustá-las, mas em grandes atualizações, os arquivos substituídos podem mudar significativamente. Eu também preferiria uma maneira mais fácil, mas é a única solução ATM.


0

Uma substituição não deve ser alterada em nenhuma versão do Joomla. No entanto, se você encontrar algum arquivo alterado, o que você poderia fazer é gerenciar toda a instalação do Joomla no subversion.

Você também pode gerenciar as versões de código Joomla apropriadas no subversion e fazer uma mesclagem de fornecedores http://svnbook.red-bean.com/en/1.7/svn.advanced.vendorbr.html

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.