Qual é a metodologia adequada para atualizar modelos?

12

Atualmente, para atualizar modelos em nosso site de produção, estamos colocando o site offline, alterando o modelo, desinstalando o modelo, reinstalando-o, alterando as configurações do modelo novamente e colocando o site novamente online. Geralmente, não sou fã de derrubar o site por qualquer motivo e esse processo permite erros, especialmente nos modelos usados ​​apenas em algumas páginas. Componentes e outros podem ser atualizados facilmente, mas parece que essa mesma funcionalidade foi omitida nos modelos.

Existe uma metodologia melhor para lidar com atualizações de modelos que elimina o offline do site?

Zachary Draper
fonte
Quais tipos de alterações você está atualizando no modelo? Esses modelos personalizados são de um fornecedor terceirizado?
22414 David Fritsch
@DavidFritsch Os modelos com os quais trabalhamos são personalizados para nossos sites. As alterações geralmente incluem modificações de JavaScript ou CSS, como atualizações para o Twitter Bootstrap ou outras estruturas.
Zachary Draper
Eu sou novo no Joomla, então talvez eu tenha esquecido muito, mas pareço ignorar a maioria dessas etapas ao editar meus próprios modelos (um modelo totalmente personalizado com CSS / JS etc.) - o que eu acredito que você está fazendo - em vez de atualizar um modelo de terceiros. Uma vez criado e instalado inicialmente no Joomla, eu não "uso o Joomla". Eu edito os arquivos diretamente no meu servidor de desenvolvimento (atualize o navegador para verificar) e envio para o site ao vivo quando terminar. Não é necessário desinstalar, reinstalar, alterar configurações ou tempo de inatividade. Isso é ruim? O que eu perdi? (Isso deve ser outra pergunta ?!)
MrWhite

Respostas:

12

A atualização de um modelo deve ser tão simples quanto usar o instalador do Joomla para carregar e instalar a versão atualizada do modelo.

Para que funcione, o arquivo templateDetails.xml deve definir o 'método' como 'upgrade', em vez de 'install'.

Você pode verificar isso descompactando o arquivo de instalação do modelo, abrindo o arquivo templateDetails.xml e verificando o seguinte na linha 3:

<extension version="2.5" type="template" method="upgrade" client="site">

Se for method="install", altere para method="upgrade"e salve o arquivo. Feche o pacote e aponte o instalador para ele, e você deve estar pronto.

Uma observação sobre personalizações: esse processo fará o upload do modelo completo, potencialmente substituindo as personalizações feitas. Por esse motivo, é uma boa ideia adicionar toda e qualquer personalização que você queira fazer em um único arquivo para facilitar o backup e a nova adição. Gosto de usar um arquivo CSS com o nome 'custom.css' e carregar esse arquivo por último, para que minhas personalizações substituam os padrões.

Zaridan
fonte
Adicionar método = "upgrade" era exatamente o que estava faltando. Obrigado!
Zachary Draper
Feliz por ajudar. Diverta-se!
Zaridan
O processo é diferente entre as versões do Joomla?
precisa saber é o seguinte
method = "upgrade" é o mesmo em versões do Joomla (desculpe, eu originalmente perdidas a questão)
Zaridan
3

Se você não possui alterações personalizadas no modelo - basta instalar o novo sobre o atual.

Se você fez algumas alterações personalizadas, precisará refazê-las ou diferenciar o código do modelo atual e o novo código.

me7hos
fonte
Não sei se entendi direito. Não acredito que você possa instalar uma versão mais recente de um modelo sobre uma mais antiga. Joomla! retorna "Aviso de instalação do modelo: já existe um modelo usando o diretório nomeado: Install. Você está tentando instalar o mesmo modelo novamente?" Em seguida, "Erro ao instalar o modelo".
Zachary Draper
5
Se você receber esse aviso, é mais provável que o arquivo de manifesto não tenha o método adequado definido. Verifique o arquivo xml do modelo para o método definido e defina-o como 'upgrade' se estiver definido como 'install'. Mais sobre arquivos de manifesto aqui: docs.joomla.org/Manifest_files
Zaridan
1
@Zaridan Eu acho que você acertou no ponto-chave. Você deve adicionar isso como resposta e incluir alguns dos códigos relevantes para que isso funcione.
David Fritsch
1

Existem algumas opções avançadas de preparo. Eu acho que o siteground tem algo parecido com isto. Existem maneiras de substituir partes de um site sem substituir todas as tabelas db; portanto, se você tiver tempo e recursos para analisar isso, isso poderá ser feito ... leva apenas um bom tempo de configuração (e você terá para entender o seu cérebro).

Mas se você está falando de mudar o tema em algumas páginas, por que não fazer o upload do novo tema com um nome diferente e aplicá-lo a alguns itens de menu ocultos enquanto você trabalha nele? Ninguém o verá e você poderá ajustar as configurações e aplicá-lo aos itens de menu corretos quando terminar.

Brian Peat
fonte