Ao usar recursos para gerenciar a implantação, devo dividir minha funcionalidade em muitos pequenos recursos ou em um grande recurso?

15

Sou relativamente novo no módulo de recursos e li recomendações contraditórias on-line sobre se é mais fácil manter A) um grande recurso ou B) vários recursos menores e, em seguida, um módulo do tipo " controlador de recurso " que lista todos os recursos menores como dependências.

Um pouco sobre minha situação específica: estou usando um local development -> dev server -> staging server -> live serverfluxo de trabalho. Esse site em particular quase certamente será o único do tipo que eu já desenvolvi; Não pretendo usar o que featureseu criei para este site em nenhum outro site.

Isso me leva a inclinar-me a fazer tudo em um grande recurso, porque tive problemas no passado em que acidentalmente defini as mesmas regras em vários recursos e me deparei com problemas. No entanto, em termos de estrutura, isso parece errado para mim - existem diferentes recursos / funções, portanto eles devem ser divididos em recursos separados. Por outro lado, sinto que, ao fazer isso, posso criar um trabalho adicional e sobrecarga para mim que não beneficiará ninguém.

Qual abordagem é mais fácil de manter na prática real - um grande recurso ou muitos menores?

Patrick Kenny
fonte

Respostas:

7

Faça vários pequenos recursos, divididos por camada conceitual .

Vantagens:

  1. Granularidade ao revisar Substituições e executar Reverts - para que você não precise reverter tudo de uma vez.
  2. Modularidade - mesmo se você não planeja reutilizar componentes individuais, dividir as coisas em módulos discretos ajudará na manutenção.

Para implantar um único site, do desenvolvimento ao teste e produção, usamos a seguinte taxonomia (em que "site" é substituído por um nome de máquina exclusivo para o site) -

  • site_typesRecurso - declara tipos de conteúdo, campos, configurações do ImageCache, funções do usuário
  • site_structureRecurso - declara contextos, visualizações, menus e links de menus , blocos, permissões de usuário, variáveis
    • depende do site_typesrecurso
  • site_contentRecurso - declara nós
    • depende do site_structurerecurso

Se houver várias seções distintas do site (por exemplo, Público x Privado), considere dividir ainda mais as coisas:

  • site_types Característica
  • site_structure Recurso - declara componentes estruturais comuns ao público e ao privado
    • depende do site_typesrecurso
  • site_public_structure Característica
    • depende do site_typesrecurso
  • site_public_content Característica
    • depende do site_public_structurerecurso
  • site_private_structure Característica
    • depende do site_typesrecurso
  • site_private_content Característica
    • depende do site_private_structurerecurso
smokris
fonte