Entender o desenvolvimento orientado por origem
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Descrever o objetivo do projeto Salesforce DX.
- Descrever como o modelo de desenvolvimento com pacotes ajuda a gerenciar o rastreamento de mudanças.
- Explicar o papel das organizações temporárias no processo de desenvolvimento.
Pensar dentro da caixa
Como aprendemos na unidade anterior, é o usuário que decide quais ferramentas usar. Você pode usar seu editor de texto favorito juntamente com a Salesforce CLI ou o Code Builder. Você seleciona o VCS que pretende usar. Se usar o Code Builder, oferecemos várias extensões para facilitar o desenvolvimento e a realização de testes.
À medida que a empresa cresce, desafios relacionados à coordenação e ao teste de alterações entre projetos poderão surgir. O desenvolvimento com pacotes aborda diretamente esses desafios. Sua origem é organizada em pacotes que se baseiam em um grupo de recursos ou personalizações que você deseja entregar em conjunto. O projeto Salesforce DX reflete essa abordagem baseada em pacotes para organizar sua origem.
O que é um projeto Salesforce DX?
Um projeto Salesforce DX é uma estrutura local de diretório de seus metadados no formato de origem. O projeto permite que você desenvolva e teste usando ferramentas do Salesforce DX.
Ele contém arquivos de configuração para criar organizações temporárias. Ele pode conter dados que serão carregados em organizações destinados a desenvolvimento ou testes. Além disso, contém testes nos quais você confia para validar seu pacote.
Quando você usa a CLI para criar um novo projeto Salesforce DX, ela cria a estrutura de diretório do projeto para você. Quando um projeto é criado do zero, muitas coisas são criadas para você. Criamos um arquivo básico de configuração de projeto. Criamos arquivos de definição e diretórios de exemplos do zero para seus testes e conjuntos de dados de exemplo. Também criamos um diretório “package” padrão para a origem do seu pacote.
Lembre-se, um pacote é um grupo de códigos e personalizações que estão relacionados. Você pode testar um pacote independentemente de outros componentes em sua organização. Você também pode lançar um pacote de forma independente. Os componentes de metadados dentro de um pacote só podem estar em um pacote de cada vez na organização instalada.
Basicamente, o projeto gerencia a origem de um pacote. Assim sendo, se vários pacotes forem criados e lançados em conjunto, você poderá organizar esses pacotes em um único projeto DX. Cada pacote alinha-se a um diretório de pacotes definido no arquivo de configuração do projeto.
Como as organizações temporárias beneficiam o processo de desenvolvimento
As organizações temporárias, criadas a partir de sua origem e metadados, facilitam a criação do seu aplicativo sempre de forma consistente. Você só trabalha com a origem e os metadados de um projeto específico. Você não precisa copiar o que não é necessário (e, sinceramente, não recomendamos isso). Além disso, como as organizações temporárias são ambientes temporários do Salesforce, você pode facilmente criar uma nova organização temporária para cada pacote ou projeto de desenvolvimento.
Depois que seu VCS estiver configurado e sua origem estiver organizada em pacotes, você estará pronto para iniciar um novo projeto de desenvolvimento. Abra seu IDE ou editor de texto favorito e adicione ou modifique seu código-fonte. Quando quiser ver suas alterações em uma organização, poderá criar uma organização temporária.
Depois de criar uma organização temporária, você ainda terá algumas tarefas de configuração pendentes. Você implanta toda a origem do projeto na organização teste, configura permissões e cria ou carrega todos os dados de teste que seu pacote exige.
Embora o IDE ou o editor de texto esteja disponível para desenvolvimento programático (baseado em código), você pode usar a organização temporária para desenvolvimento declarativo (apontar e clicar). Esse processo é semelhante ao que você faz em sua organização de sandbox ou produção. A diferença em relação ao modelo orientado por origem é que você sincroniza todo o desenvolvimento feito na organização temporária com seu projeto local. Essa sincronização permite confirmar as alterações feitas nas páginas de configuração, juntamente com as alterações feitas em seu IDE local.
Antes de enviar a confirmação no sistema de controle de versão, não se esqueça de executar testes. Você pode usar a mesma organização temporária para executar testes ou criar outra organização especificamente para testes antes de confirmar sua origem. Esse mesmo padrão de criação de organizações temporárias para testes é uma parte fundamental de um sistema de integração contínua automatizado.
Manter seu projeto e sua organização temporária sincronizados
Um dos principais recursos do Salesforce DX é poder manter facilmente a sincronização entre o projeto e a organização temporária. Portanto, chega de notas adesivas! Você já não precisa anotar o que alterou no sistema de arquivos local, no IDE ou no editor, ou o que alterou na organização.
O Salesforce DX rastreia todas as alterações feitas localmente no projeto e todas as alterações feitas na organização temporária.
Antes de implantar alterações na origem na organização temporária ou recuperar alterações no projeto local, você pode visualizar as alterações feitas. Esse é o poder da Salesforce CLI em ação.
$ sf project deploy preview --target-org my-scratch No conflicts found. No files will be deleted. Will Deploy [2] files. Type Fullname Path ──────────── ─────────────── ────────────────────────────────────────────────────────────────────────────── ApexClass WidgetClass force-app/main/default/classes/WidgetClass.cls-meta.xml CustomObject WidgetObject__c force-app/main/default/objects/WidgetObject__c/WidgetObject__c.object-meta.xml No files were ignored. Update your .forceignore file if you want to ignore certain files.
Em uma organização de produção, os arquivos de origem podem ser extremamente grandes, com uma pegada maior que a do Pé Grande. Pense em todos os objetos personalizados, rótulos personalizados e recursos estáticos que compõem uma organização, entre outros.
O formato do projeto DX divide arquivos de origem grandes para facilitar seu entendimento e gerenciamento com um sistema de controle de versão. Por exemplo, o Salesforce DX transforma objetos personalizados e traduções de objetos personalizados em vários arquivos e diretórios. Essa estrutura de origem facilita muito a localização do que você deseja alterar ou atualizar. Ter arquivos menores no controle de origem significa menos conflitos de mesclagem durante o desenvolvimento em equipe. Diga adeus às mesclagens confusas!
Depois de concluir o desenvolvimento, sempre confirme suas alterações no repositório VCS. Agora, você está pronto para testar, criar e lançar com o Salesforce DX.
Recursos
- Guia do desenvolvedor: Salesforce CLI Command Reference
- Guia do desenvolvedor: Guia do desenvolvedor do Salesforce DX
- Guia do desenvolvedor: Extensões do Salesforce para VS Code
- Vídeo: Ambientes do Salesforce: Introdução a organizações teste