O melhor guia para impulsionar sua jornada de contribuição Drupal
Publicados: 2022-08-23Introdução
Sendo um sistema de gerenciamento de conteúdo de código aberto, o Drupal incentiva contribuições da comunidade de desenvolvedores e usuários em todo o mundo de várias formas. Pode ser na forma de código que inclui patches para projetos principais e contribuídos, de maneiras não codificadas, incluindo marketing, documentação, organização de eventos ou apoiando monetariamente o projeto. Este artigo o guiará por tudo o que você precisa saber para iniciar sua jornada de contribuição de código Drupal do zero.
Por que contribuir para o Drupal
É claro que retribuir a um projeto que suporta a maneira como você trabalha e provavelmente vive todos os dias pode ser uma razão forte o suficiente para você contribuir voluntariamente e melhorar o projeto de código aberto. Mas se você está procurando um pouco mais de incentivo para contribuir, aqui estão alguns dos benefícios que vimos:
- Suas contribuições ajudam o Drupal a se manter relevante e atualizado com os avanços que acontecem em todas as suas dependências ao longo do tempo
- Você pode obter mais conhecimento sobre o Drupal, o que, por sua vez, permitirá que você crie aplicativos melhores para seus clientes
- Dá uma vantagem competitiva às organizações que patrocinam tempo para contribuição à medida que seus desenvolvedores estão ganhando mais habilidade e conhecimento e se apresentando como especialistas
- Colabore e encontre-se com pessoas que compartilham os mesmos interesses que você
Como contribuir
Para começar, crie uma conta no drupal.org e atualize seu perfil com os detalhes necessários.
Criação de conta no Drupal.org
Procure um problema
Depois que a conta for criada, o próximo passo seria encontrar o problema certo. Pode variar de acordo com o seu interesse:
1. Você pode encontrar um problema na fila de problemas - https://www.drupal.org/project/issues. Para pesquisas mais específicas, você pode clicar em 'Pesquisa avançada' e usar os filtros.
- Etiquetas de problemas - os problemas são anexados com etiquetas diferentes. A tag "novato" indica que o problema precisa de uma correção simples e qualquer iniciante pode escolhê-lo, a tag "Necessita de documentação" indica que esse problema precisa de alguma alteração na documentação e assim por diante.
- Status do problema - Depois que o problema é criado, ele passa por diferentes estados. Com base no status atual do problema, você pode decidir as próximas etapas necessárias para avançar.
- Prioridade do problema - Define a prioridade do problema, seja um bug crítico ou uma correção menor.
- Categoria do problema - Indica a categoria do problema, se é um bug, ou é uma tarefa, ou pode ser uma nova solicitação de recurso para o projeto.
- Projeto específico - Aqui você pode especificar diretamente o projeto em que está interessado.
Filtros de problemas
2. Ou comece pelo projeto em que você sempre esteve interessado em trabalhar, visitando a página do módulo/tema/perfil - https://www.drupal.org/project/<project_name> . Na barra lateral direita, procure o link “Todos os problemas” - https://www.drupal.org/project/issues/<project_name>?categories=All
3. Ou trabalhe em um bug que você encontrou no núcleo, ou quaisquer módulos/temas/perfis contribuídos enquanto trabalhava em um projeto. É também a maneira certa de contribuir. Deve-se sempre praticar manter o “modo de contribuidor” ATIVADO mesmo enquanto trabalha em projetos, isso dá a oportunidade de explorar e contribuir com uma correção para problemas ocultos!
Ciclo de vida de um problema do Drupal
Uma vez que um problema é criado, ele passa por diferentes estados. A seguir estão os diferentes status de problemas que você encontrará:
- Ativo - Quando um novo problema é criado, ele está no estado Ativo.
- Precisa de revisão - Quando o problema precisa ser trabalhado, ele está no estado Precisa de trabalho.
- Precisa de trabalho - Uma vez que o problema é escolhido, os patches são enviados com sucesso e todos os casos de teste são aprovados, o estado do problema deve ser alterado para Precisa de revisão.
- Revisado e testado pela comunidade - Depois que o problema é revisado por qualquer colaborador, o problema é movido para o estado "Revisado e testado pela comunidade" (RTBC), onde um dos membros da equipe principal da comunidade analisa o problema.
- Corrigido - Quando um problema passa do estado RTBC, ele é movido para o estado Fixo.
- Fechado (corrigido) - Após o estado Corrigido, o problema passa para Fechado (corrigido) automaticamente dentro de duas semanas. Este é o último estado de um problema.
- Fechado (duplicado) - Quando qualquer problema é criado que é uma duplicata de qualquer outro anterior, ele é fechado diretamente como Fechado (duplicado).
- Fechado (não corrigirá) - Este estado representa que um problema não tem solução.
- Fechado (funciona conforme projetado) - Este estado representa que um problema levantado está fornecendo a funcionalidade que deveria e, portanto, movido para “funciona conforme projetado”. Em outras palavras, o problema levantado não é um bug, mas um recurso.
- Fechado (não é possível reproduzir) - Quando um problema não pode ser reproduzido é movido para este estado.
- Fechado (desatualizado) - Quando um problema é muito antigo para ser corrigido ou é corrigido em algum outro módulo, o estado pode ser Fechado (desatualizado) para esse problema.
- Patch (a ser portado) - Quando um Patch deve ser portado para outras versões do módulo Drupal/Contributed.
- Adiado - Quando o problema/recurso/bug é adiado pelo autor/comunidade e não precisa de correção.
- Adiado (o mantenedor precisa de mais informações) - Quando um problema é levantado, mas de acordo com o mantenedor do módulo Contribuido, são necessárias mais informações sobre o problema para corrigi-lo.
Criar um problema
Para criar um problema para o módulo. Vá para a fila de problemas do módulo https://www.drupal.org/project/issues/<project_name>?categories=All e clique em Criar um novo problema .
O próximo passo é fornecer detalhes do problema que precisa ser criado.
1. Título: Adicione o título da edição.
2. Projeto: O nome do projeto será selecionado automaticamente.
3. Categoria: Selecione a categoria do projeto. Existem 5 categorias
- Bug: Um bug é um erro funcional no sistema. Por exemplo, erro de php, perda de dados, vazamento de memória, documentação incorreta ou enganosa, texto de interface de usuário incorreto ou enganoso etc.
- Tarefa: Estes não são um bug funcional, mas “precisam ser feitos” antes do lançamento. Por exemplo, refatoração de código para torná-lo mais legível e sustentável, adição de testes automatizados, atualização de código para novas APIs, melhoria dos padrões de codificação etc.
- Solicitação de recurso: Esta é uma solicitação para que uma funcionalidade completamente nova seja adicionada ao módulo.
- Solicitação de suporte: Se precisarmos de ajuda em qualquer parte do módulo ou quisermos saber sobre a funcionalidade do núcleo do drupal. Podemos marcar solicitações de suporte e adicionar a pergunta.
- Plano: Esta tag é usada quando você tem um problema que não pode ser resolvido usando um problema. Problemas de plano geralmente terão várias subetapas relacionadas a problemas "filhos".
4. Prioridade: Selecione a prioridade do problema. Aqui temos Crítico, Maior, Normal e Menor. Escolha normal, a menos que seja realmente sério. Ou você pode selecioná-lo normalmente e deixar que o mantenedor ou revisor possa alterá-lo conforme necessário.
5. Status: Selecione Ativo para novos problemas.
6. Versão: Selecione a versão do projeto em que o problema deve ser corrigido.
7. Componente: Selecione a correspondência mais próxima do problema. Estes podem ser alterados posteriormente. Os componentes aqui são baseados no módulo. As opções diferem de módulo para módulo.
8. Atribuído: O problema pode ser atribuído a qualquer pessoa. Não é obrigatório e pode ser atribuído posteriormente.
9. Tags: Identifique o problema com as tags apropriadas. Isso pode ser deixado em branco se não tivermos conhecimento das tags de problema. Isso não é obrigatório e pode ser marcado posteriormente.
10. Resumo do problema e relacionamentos: Expanda o campo e temos o editor adicionando os detalhes do problema. Existem alguns títulos predefinidos no editor e podemos substituí-los se não os quisermos nos detalhes do problema.
- Problema pai: Para marcar o problema pai.
- Problema relacionado: Para marcar o problema relacionado.
11. Arquivos: Podemos adicionar os arquivos relacionados aos problemas ou podemos enviar o patch para o problema enquanto criamos em arquivos. E salve o problema.
Após salvar o problema. A pendência criada será adicionada à fila de pendências do respectivo módulo.
Para criar um problema para o drupal core https://www.drupal.org/node/add/project-issue/drupal é o link. E as etapas serão iguais à criação do problema no módulo. Mas existem algumas diretrizes para criar um problema central que será exibido no link acima.
Estas são as diretrizes a serem seguidas ao criar a questão central.
Criar um patch
Existem 2 casos aqui
- Criar um novo patch
- Atualize o patch existente.
Para criar um novo patch
- Vá para a guia de controle de versão do módulo. https://www.drupal.org/project/ <project_name>/git-instructions é o link para a página.
- Selecione a ramificação para trabalhar e clique no botão Mostrar.
Ao clicar no botão show, você obterá o comando git, copie e execute o comando em seu terminal e altere o diretório para o módulo clonado.
- Faça as alterações para corrigir o problema.
- O comando para criar o patch é:
git diff > <issue-description (optional)>-<issue-number>-<comment-number>.patch
- A descrição do fascículo será o título do fascículo, onde todas as letras devem ser minúsculas e o espaço deve ser preenchido com sublinhado. Isso é opcional.
- O número do problema estará na URL do problema. Isso será exclusivo para os problemas, isso será obrigatório ao nomear o arquivo de patch.
- O número do comentário é o ID do comentário mais recente no qual o patch será carregado.
Considere que você precisa adicionar um novo arquivo ao patch. O novo arquivo não será rastreado e o comando git diff não rastreará o arquivo.
Para adicionar um novo arquivo ao patch
- Adicione o novo arquivo usando o comando git add
- Corre
git diff HEAD > <issue-description (optional)>-<issue-number>-<comment-number>.patch
Para atualizar um patch existente
1. Clone o projeto ao qual você precisa adicionar o patch.
2. Vá para a página do problema, clique com o botão direito do mouse no link do patch e clique no link Copiar endereço.
3. Faça download do patch para seu local usando o comando curl ou wget.
Para baixar o patch usando o comando curl:
curl -O <paste the address link of the patch>
4. Para aplicar o patch execute o comando:
git apply <patch name>
5. Após aplicar o patch você receberá as alterações do patch em seu local. Adicione as alterações adicionais necessárias ao patch e crie um novo patch.
Quando estamos atualizando o patch existente, precisamos criar um arquivo interdiff. O arquivo Interdiff nada mais é do que uma diferença entre o patch antigo e o novo. Isso ajudará o revisor a conhecer as alterações feitas no novo patch.
O seguinte é o comando para criar um interdiff:
interdiff <old-patch> <new patch> > interdiff_<old-patch-comment-number>-<new-patch-comment-number>.txt
Considere que você tem um patch de download antigo 3302030-2.patch e um novo patch atualizado que você criou 3302030-3.patch. Para criar o interdiff entre esses dois arquivos, o comando seria:
interdiff 3302030-2.patch 3302030-3.patch > interdiff_2-3.txt
Enviar um patch
Depois de criar um patch, precisamos enviar o patch.
Para enviar o patch, vá para a página do problema.
1. Emitir metadados
Nos metadados do problema, altere o status para a revisão de necessidades. Cancele a atribuição do problema se o problema for atribuído a você e adicione ou remova as tags conforme necessário.
2. Atribuir esta contribuição
Verifique as opções relevantes e adicione a organização se estiver trabalhando para alguma organização. Adicionando isso, os créditos serão dados à organização junto com você quando o problema for corrigido.
3. Adicione uma descrição das alterações feitas no patch na seção de comentários.
4. Escolha o arquivo de patch, arquivo interdiff e carregue-o em arquivos.
Aqui adicionamos os arquivos um por um e clicamos no upload depois de escolher o arquivo. Clicando em upload o arquivo será carregado e será adicionado à lista abaixo.
NOTA: O Interdiff não é necessário ao adicionar um novo patch.
5. Após carregar o arquivo clique no botão salvar. Isso atualizará a página do problema e podemos ver o patch carregado com um novo número de comentário.
Patches para problemas principais devem ser enviados usando o mesmo procedimento.
Revisar um patch
Agora você sabe como procurar um problema, criar um patch e carregá-lo. Qual é o próximo? Como podemos garantir que o patch certo seja confirmado o mais rápido possível? A revisão de um patch é um passo igualmente importante para levar o problema adiante. Se você acha que escrever linhas de código não é sua praia, então por que não tentar revisar os patches existentes?
Antes de começarmos, é altamente recomendável adicionar a extensão Deditor ao seu navegador.
Extensão Deditor
Ele fornece um botão 'Review' para os arquivos de patch/interdiff. Ao clicar, ele exibe as alterações em um formato de fácil leitura.
Botão 'Revisar' do Deditor
Alterações no arquivo de patch sem Deditor
Agora estamos prontos para encontrar um problema para revisão!
- Filtre os problemas com o status 'Precisa de revisão'.
- Faça a sua escolha na lista.
- Leia os comentários e escolha o patch mais recente enviado na edição.
- Certifique-se de que o patch passou nos casos de teste e ficou verde.
Patch que passou nos testes
- Baixe o arquivo de patch e aplique o patch em seu local em seu núcleo/módulo/tema/perfil executando:
git apply <patch-file-downloaded> -v
- Teste se está funcionando conforme a expectativa/precisa de algum trabalho.
- Altere o status do problema e adicione comentários com imagens/vídeos apoiando seus pontos. Seu comentário deve ter detalhes como se o patch foi aplicado à versão mais recente, quais etapas foram seguidas para reproduzir o problema, comportamento do problema antes e depois de aplicar o patch etc.
- Se tudo estiver correto, altere o status para 'RTBC'.
- Se houver algum escopo para algum trabalho/alterações extras, atualize o status para 'Precisa de trabalho'.
Outras formas de contribuir
Além de contribuições de código, o projeto Drupal tem muitas áreas que você pode contribuir para melhorar sua qualidade e alcance. Você pode escolher seu método de contribuição para esta comunidade com base em seus interesses. Algumas das áreas de contribuição::
- Por Mentoring - Se você tem alguma experiência em contribuir, pode ajudar outras pessoas a começar tornando-se um mentor, seja online ou pessoalmente.
- Para a Documentação - Toda a documentação do Projeto Drupal é contribuída gratuitamente por pessoas de todo o mundo, assim como você.
- Compartilhamento de conhecimento - Uma maneira importante de contribuir com o projeto Drupal é compartilhar seu conhecimento sobre Drupal escrevendo postagens no blog, fazendo uma apresentação em seu encontro local do Drupal Group, um DrupalCamp ou um DrupalCon, tornando-se um treinador, etc.
- Planejamento de eventos - Ao organizar ou ser voluntário em eventos Drupal virtuais ou presenciais, como encontros, sprints etc.
- Por Marketing - Você pode trabalhar com outras equipes de marketing em todo o mundo para criar materiais de marketing e vendas com a marca Drupal que podem ser compartilhados e usados por todos que vendem serviços Drupal.
- Contribuindo Módulos/Temas - A colaboração em projetos Drupal incluindo módulos, distribuições e temas é uma forma integral de contribuir para a comunidade Drupal.
Fique conectado e atualizado!
• Folga
- A comunidade Drupal tem um espaço de trabalho Slack principal conhecido simplesmente como 'Drupal' - - http://drupal.slack.com/
- Você encontrará uma variedade de canais para diferentes tópicos, como #support, #bugsmash, #contribute, #drupal10rediness, etc.
• Blogues
- Os membros da comunidade Drupal escrevem posts sobre o Drupal.
- Até VOCÊ pode ser um deles!
• Mídias Sociais - Twitter, LinkedIn, etc
- Seguir qualquer perfil relacionado ao Drupal pode mantê-lo atualizado com todas as mudanças/eventos em andamento que acontecem ao redor do Drupal.
Código de Conduta Drupal
Como o Drupal é de código aberto e nossa comunidade está crescendo, é imperativo que preservemos as coisas que nos trouxeram até aqui. Aqui estão alguns dos pontos com relação à conduta.
- Seja colaborativo
Como o Drupal tem uma comunidade maior, a colaboração é a chave. Trabalhando em equipe, podemos trazer o que há de melhor na plataforma drupal.
- Seja respeitoso
Como todos dão uma contribuição valiosa ao Drupal, a comunidade e seus membros tratam uns aos outros com respeito.
- Quando não tivermos certeza, peça ajuda
Ninguém é perfeito no Drupal, e espera-se que ninguém saiba tudo na comunidade Drupal. Fazer perguntas pode resolver muitos problemas, então as perguntas são incentivadas.
- Entre em contato com seus colegas/administradores do Slack se você for vítima ou testemunha de assédio ou precisar de ajuda com a administração do Slack.
https://www.drupal.org/dcoc é o link para o documento onde você pode encontrar o código de conduta em profundidade.
Pensamentos finais
Como uma organização que vive e respira Drupal, estamos sempre comprometidos em retribuir ao projeto da maneira que pudermos. Se você estiver procurando por uma agência confiável do Drupal para seu próximo projeto, nossos especialistas terão prazer em ajudar. Fale conosco hoje!