Urdu Português
English English Deutsch Deutsch Español Español Français Français Italiano Italiano Nederlands Nederlands Português Português Русский Русский Ελληνικά Ελληνικά
Login



 

Cópia de Trabalho Joomla! extensão

Demonstração
Download
Joomla! 1.5
Versão 1.0.1
Baixar
Fórum
Tutorial
GoogleCode

Abstrato

Este é um tipo de Subversion para Joomla! viver site. GSoC 2009 Idéias do projeto: cópia de trabalho do Joomla site ao vivo

Idéia & Benefícios

Administradores trabalham geralmente em seu site ao vivo diretamente e às vezes eles fazem erros como todas as pessoas fazem. Como resultado, o site ao vivo fica confuso após o processo de extensão da instalação / desinstalação e re-configuração. A idéia é ter uma cópia de trabalho do site ao vivo e fazer alterações nele, então, se tudo está bem depois de alguns testes, você pode aprovar mudanças ea ferramenta irá aplicá-los para o seu site ao vivo.

Gostaria também de implementar algumas características básicas do Subversion para este projeto, por exemplo comprometer / aprovar, atualizar / sincronizar, reverter, fundir, criar patch, aplicar patch (operações SVN depois).

Usando esta ferramenta, as pessoas vão fazer menos erros no site ao vivo e ficar menos nervoso!

Marcos

Criando uma API e interface será necessário para concluir este projeto. Ambos serão desenvolvidos simultaneamente para fazer testes capaz a partir da interface. Vou manter as idéias principais de codificação e padrões do Joomla! Quadro esperando que seja uma parte do Joomla! 1.6 no futuro.

Durante o processo de desenvolvimento vou assumir que o site vivo (mestre ou pai depois) e da cópia de trabalho (mais tarde criança) estão em execução as mesmas versões e configurações de OS / Apache / MySQL / PHP, e da configuração do servidor vai ficar intacta ( esta ferramenta pode ser só um ambiente de teste para o servidor re-configuração).

Agora vou descrever, em geral, o que será e como será fácil de trabalhar. Aqui estão alguns passos administradores podem fazer:

  1. Criar criança como muitos do mestre para trabalhar com eles (admin pode criar até mesmo uma criança grande)
  2. Modificar a criança (re-configurar, adicionar / editar o conteúdo, instalar / desinstalar / atualizar as extensões) e teste (que pode ter um "bot espião" se necessário, a criança para determinar as alterações feitas facilmente)
  3. Aprovar alterações no site ao vivo com uma destas opções:
    1. Criar um patch da criança
    2. Aplique o patch para o mestre
    3. Diretamente aprovar as alterações para o mestre (na verdade ele pode fazer 3.1 então 3.2, apenas em uma etapa)
  4. Ver as alterações feitas na criança
  5. Sincronizar a criança com o pai (quando a criança está fora de data)
  6. Reverter a criança para o estado de pai
  7. Mesclar locais 2 (mestre-criança ou criança-criança), com integridade referencial

Há possibilidades 2 para fazer alterações no Joomla! site, que é a alteração do banco de dados e / ou sistema de arquivo. Portanto, vai haver tipos 2 de funções na API, que vai fazer alterações no banco de dados e ao sistema de arquivos.

Trabalhando com o sistema de arquivos é a parte mais fácil, porque cada arquivo tem data da última modificação, o que torna fácil determinar qual arquivo é mais recente.

Trabalhando com o banco de dados é muito mais complicado, porque pode haver cenários diferentes, com relações.

Meu objetivo é fazer uma API, que vai implementar operações SVN não somente a tabelas centrais, mas também para 3rd tabelas do partido, que pode vir com extensões 3rd do partido.

Futuras melhorias

É também possível ter uma tabela de histórico (#tablename_history) para cada tabela no db, que manterá as versões de linha de tabela nele. Ela irá permitir o controle de versão do banco de dados inteiro. Não só o conteúdo, mas também parâmetros, posições de módulos, etc seria versionado. A outra coisa, o que pode ser feito, é ter tabelas de idiomas e manter as traduções linha da tabela neles.

Linha do tempo

Abril 20 - Maio 17: Tempo para falar com o mentor
Semana 1 Maio 18 - 22: Interface e funções da API para fazer uma criança de mestre. (1)
Semana 2 Maio 25 - 29: Interface e funções de API para visualizar as alterações feitas na criança. (4)
Semana 3 junho 1 - 5: Interface e funções da API para reverter a criança. (6)
Semana 4 junho 8 - 12: Interface e funções da API para sincronizar a criança. (5)
Semana 5 junho 15 - 19: Interface e funções da API para criar um patch. (3.1)
Semana 6 junho 22 - 26: Interface e funções de API para aplicar o patch. (3.2, 3.3)
Semana 7 junho 29 - Julho 3: PREPARE-SE PARA A AVALIAÇÃO INTERCALAR
Semana 8 julho 6 - 10: APRESENTAÇÃO DA AVALIAÇÃO INTERCALAR
Semana 9 julho 13 - 17: Interface e funções da API para fundir locais 2. (7)
Semana 10 julho 20 - 24: Tempo reservado
Semana 11 julho 27 - 31: Tempo reservado
Semana 12 agosto 3 - 7: PREPARAÇÃO PARA O FINAL DA AVALIAÇÃO, colocando tudo em seus lugares
Semana 13 agosto 10 - 14: LÁPIS PARA BAIXO, RESULTADOS Resumindo, escrevendo documentação
Semana 14 agosto 17 - 21: APRESENTAÇÃO DA AVALIAÇÃO FINAL
Agosto 22 - 25: TEMPO PARA ÚLTIMA HORA DECISÕES

Webinar

Clique para ouvir o texto destacado!