Cópia de Trabalho Joomla! extensão
Sumário
Este é um tipo de Subversion para Joomla! viver site. GSoC 2009 Idéias do projeto: cópia de trabalho do Joomla site ao vivo
Ideia e 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!
Milestones
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:
- Criar criança como muitos do mestre para trabalhar com eles (admin pode criar até mesmo uma criança grande)
- Modifique a criança (reconfigure, adicione / edite conteúdo, instale / desinstale / atualize extensões) e teste (podemos ter um "bot espião" se necessário na criança para determinar as alterações feitas facilmente)
- Aprovar alterações no site ao vivo com uma destas opções:
- Criar um patch da criança
- Aplique o patch para o mestre
- Diretamente aprovar as alterações para o mestre (na verdade ele pode fazer 3.1 então 3.2, apenas em uma etapa)
- Ver as alterações feitas na criança
- Sincronizar a criança com o pai (quando a criança está fora de data)
- Reverter a criança para o estado de pai
- 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