Pergunta

Embora eu estou usando o drupal desde o D4 série, eu só comecei a desenvolver profissionalmente para ele com D6, então, apesar de eu fiz vários site de atualizações - eu nunca fui confrontado com a tarefa de tendo a porta de meu próprio código para uma nova versão.

Eu sei que a comunidade Drupal vai vir para cima com muita suporte técnico sobre alterado API e alterações de arquitetura (ver o deadwood módulo para D5-D6 ou até mesmo estes esboços de D6-D7 como para módulos e temas).

No entanto o que eu estou procurando com a minha pergunta é mais na linha de estratégia de pensamento, ou , em outras palavras, Estou procurando por entradas e conselhos sobre como planejar / implementar e rever o processo de portabilidade do meu próprio código, à luz do que colega desenvolvedores aprenderam pela experiência anterior.Alguns exemplos:

  1. - Você gostaria de conselhos para começar a porta do meu módulos assim que eu tiver tempo para fazê-lo, e para manter um simultâneas D7 por algum tempo (por isso estou "preparada" para o dia-D) ou você aconselhamento para, ao invés de esperar o dia em que a porta será, na verdade, iminente e, em seguida, atualizar os módulos D7 e soltar o D6 versão?
  2. Apenas alguns dos meus módulos de ter total cobertura de teste.- Você gostaria de conselhos para completar a cobertura do teste de D6 versão, de modo a ter todos os testes de trabalho para verificar a D7 porta, ou seria conselhos para escrever o meu teste de dirigir em portar tempo, para testar a D7 versão?
  3. Vocês acham que ser um early adopter lhe dá uma vantagem em termos de novos recursos e melhor API ou você, ao invés de achar que é mais conveniente para atrasar a conversão, de modo a alavancar a maior quantidade de prontamente disponíveis contrib módulos?
  4. Você definiu para si mesmo padrões de qualidade / critérios de avaliação ou apenas definir a barra para "se funciona, eu sou feliz"?Por quê?Se você definir certos padrões ou objetivos, o que foi onde / o que serão eles?Como é que eles ajudá-lo?
  5. Existem armadilhas comuns que você experimentou no passado e que você acha que são aplicáveis para o D6-D7 portar o processo?
  6. É portar um bom momento para fazer algumas refatorações ou ele está indo só para tornar tudo mais complexo de ser colocar de volta juntos?
  7. ...

Estas perguntas não são uma lista exaustiva, mas eu espero que eles dão uma idéia de que tipo de informação que eu estou procurando.Eu prefiro dizer:o que você acha que é relevante e o que eu não lista acima recebe um "plus"!:)

Se eu não conseguir me expressar com clareza suficiente, por favor, poste um comentário com as informações que você acha que eu deveria adicionar em questão.Obrigado por seu tempo!

PS:Sim, eu sei...D7 ainda não está fora e vai levá-meses antes de importante contrib módulos serão atualizados...mas nunca é demasiado cedo para começar a pensar!:)

Foi útil?

Solução

Boas perguntas, então vamos ver:

  1. (quando começar a portabilidade)
    Isso certamente depende da complexidade dos módulos para a porta.Se há, de fato, complexo/grande porte, pode ser útil começar cedo, a fim de encontrar manchas difíceis enquanto não estiver sob pressão.Para menores/padrão queridos, eu gostaria de tentar encontrar um maior espaço de tempo mais tarde, onde posso porta de muitos deles em uma linha, em ordem de obter a rotina coisas memorizadas rapidamente (e benefício de, provavelmente, a documentação melhorada).

  2. (cobertura de teste)
    Normalmente eu diria que ter uma boa cobertura de teste antes de iniciar a refatoração/portar certamente seria aconselhável.Mas, dado que o Drupal-7 introduz uma importante alteração relativa à estrutura de teste movendo-core, eu esperaria a necessidade de reescrever uma quantidade significativa de testes de qualquer maneira.Então, se não há nenhuma necessidade de manter o Drupal-6 versões após a migração, eu gostaria de guardar o tempo/problemas e apontar para um aumento da cobertura após a portagem.

  3. (early adopter vs.aguarde e veja)
    Usando o Drupal desde a versão 4.7, temos sempre esperou por, pelo menos, o primeiro lançamento oficial de uma nova versão principal, antes mesmo de se pensar sobre a portagem.Com o Drupal 6, esperamos os pontos de vista módulo antes de portar o nosso primeiro site, e ainda temos alguns projetos de menor porte no Drupal-5, como eles estão trabalhando muito bem e seria difícil justificar o extra conta para os nossos clientes, enquanto há ainda a manutenção/correções de segurança para ele.Há muito tempo em um dia e há sempre esse acúmulo de erros para corrigir, recursos para adicionar, etc., então não adianta jogar com inacabado tecnologia, enquanto há mais iminente coisas para fazer isto imediatamente o benefício de nossos clientes.Agora, este certamente seria diferente se nós teríamos que manter um ou mais 'oficial' módulos contribuídos, como a oferta de um início de porta seria uma boa coisa.
    Eu estou um pouco em um bind aqui - sendo um dos primeiros a adotar certamente beneficia a comunidade como alguém tem de achar que os erros antes que eles possam chegar fixo, mas, por outro lado, faz pouco sentido em termos de negócios para lutar hora após hora com erros que os outros possam ter encontrado fixo/se você tivesse apenas esperado mais um pouco.Contanto que eu tenho que fazer isso para viver, eu preciso ver meus recursos, tentando encontrar um equilíbrio aceitável entre o que serve a comunidade e beneficiando-se de que :-/

  4. (padrões de qualidade)
    "Se funciona, eu sou feliz" apenas não cortá-lo, como eu não quero ser feliz apenas momentaneamente, mas bem amanhã.Então um dos meus padrões de qualidade é o que eu preciso para ser (um pouco) a certeza, que eu 'grokked' novos conceitos bem o suficiente para não só faz as coisas de trabalho, mas fazê-los funcionar como deveriam.Agora isso é difícil de definir mais precisamente, como ele é, obviamente, impossível saber se um 'got it" antes do "ser", então, tudo se resume a um pressentimento/distinção de 'sim, é meio que funciona" vs.'sim, que parece direito", e um tem que aceitar que ele será bastante regularidade estar errado sobre isso.
    O que disse, um determinado ponto que eu estou procurando é "intervir o mais cedo possível".Como um novato, eu muitas vezes mexido coisas "após o fato", durante o theming palco, enquanto ele teria sido muito mais fácil para aplicar a 'correção' anterior na cadeia de processamento por meio de um gancho ou outro.Então, agora, sempre que estou para 'ajustar' algo no tema camada, eu deliberadamente tomar um pequeno limite de tempo para verificar se isso não puder ser feito de forma mais limpa/compatível dentro de um gancho anteriormente.Como eu esperam que o Drupal-7 para adicionar ainda mais ligar opções, isso é algo que eu vou pagar extra de atenção, como é, normalmente, reduz conflitos e súbita 'quebra de material", quando a adição de novos módulos.

  5. (armadilhas comuns)
    Bem - principalmente migrar para o início, descobrir depois/entre o que um ou mais módulos necessários não estavam disponíveis para a nova versão, ou somente no dev/alfa/beta cedo estado.Portanto, gostaria de certificar-se de compilar um completo lista de usados/módulos necessários primeiro, a listagem de seus portar estado, juntamente com uma rápida inspeção de seu problema de filas.
    Além de que, eu, até agora, sempre foi muito satisfeito com as novas versões e as suas melhorias, e eu estou olhando para a frente para o Drupal-7 novamente.

  6. (refatoração enquanto portar)
    Pode-se dizer que portar sim é um grande refatoração em si, portanto, não há a necessidade de se acrescentar a complexidade da reestruturação não portar coisas relacionadas.Por outro lado, se você já tem para destruir os módulos para peças de qualquer maneira, por que não usar a oportunidade para fazer uma grande reforma?Eu ia tentar desenhar uma linha com base na complexidade - para grandes/complexos módulos, eu faria a porta o mais reto possível, e refatorar mais tarde, se necessário.Para módulos menores, que não deve realmente importam, como a probabilidade de introdução de bugs sutis deve ser bastante pequeno.

  7. (outras coisas)
    ...precisamos pensar sobre isso ...


Ok, outras coisas:

  • As necessidades de recursos, dada a alguns dos Drupal-7 segmentos, parece que elas são, provavelmente, ir para cima, de modo que este deve ser avaliado antes de migrar sites menores que sentar-se em uma shared/restrito conta de hospedagem.

  • Versões mais recentes primeiro - Desta vez é mais óbvia e sempre enfatizou a atualização de guias, mas, no entanto, vale a pena mencionar:A atualização do núcleo e todos os módulos para sua mais recente versão atual primeiro antes de fazer uma grande atualização, como o código de atualização é altamente provável que dependem do mais recente tabela de dados/estruturas para funcionar corretamente.Dado Drupals 'fragmentada', um passo de cada vez estratégia de atualização, seria muito difícil de implementar a atualização de código que pode detectar diferentes de pré-atualização estados e agiu de acordo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top