Browsing tag

Salesforce Developer

Como otimizar sua Query SOQL

Otimizar SOQL, o que eu ganho com isso? Um dos grandes desafios de qualquer desenvolvedor Salesforce é fazer com que seu código não atinja nenhum limite, mas como nem tudo são flores na vida, acabamos enfrentando esse problema mais cedo ou mais tarde. Há vários motivos que podem fazer a execução do seu código quebrar por atingir esses limites, alguns desses motivos são relacionados a queries SOQL, que podem estar demorando muito para executar ou trazer mais de 200 mil registros em uma única query, mas não se preocupe, estou escrevendo este artigo exatamente para mostrar formas de otimizar sua SOQL e evitar que estes erros ocorram. Como avaliar o custo da query SOQL Primeiro precisamos entender o que está sendo executado na nossa query e para isso utilizamos o query plan no developer console. Para habilitá-lo, basta abrir o Developer Console e ir no menu Help > Preferences e marcar a opção Enable Query Plan Depois, entre na aba Query Editor, coloque sua query e clique no botão Query Plan Temos agora um passo a passo da nossa query e aqui vai uma explicação simples do que é cada um desses campos: Cardinality: Quantos registros estão retornando naquela na […]

Como instalar o Data Loader corretamente

Salesforce Data Loader, para quem utiliza salesforce, muitas vezes você precisar inserir grande quantidade de dados dentro da plataforma, e muitas vezes isso se torna uma tarefa repetitiva, e para te ajudar com isso a Salesforce disponibiliza uma ferramenta chamada Data loader que você pode encontra dentro da sua própria ORG Salesforce. O que é o Data Loader ? O Salesforce Data Loader é um aplicativo cliente de desktop usado no Salesforce que te permite importar, exportar, excluir, inserir e atualizar registros em massa.  Usando o Data Loader, podemos carregar até 5.000.000 de registros. Usando o Data Loader, podemos agendar as cargas. Podemos importar dados de arquivos .CSV (valores separados por vírgula). Arquivos de log de sucesso e erro criados no formato CSV. O Data Loader suporta todos os objetos (objetos personalizados e objetos padrão). Arraste e solte para criar mapeamento de campo. Como instalar o Data Loader corretamente Instalando o Data Loader e configurando o Data Loader requerem pouco conhecimento, porém alguns passos importantes devem ser seguidos, como por exemplo gerar um tokens de segurança. Antes de instalar o Data Loader no sistema operacional Windows ou MacOS, precisamos verificar os requisitos do sistema. Requisitos do sistema para o Windows […]

Removendo classes do APEX de produção

Se você trabalha em uma ORG do Salesforce por algum tempo, você provavelmente já precisou remover classes do APEX de produção, se não preciso parabéns, mas acredito que mais cedo ou mais tarde você vai precisar, então continue a leitura que um dia tenho certeza que essa dica lhe será muito útil :) Mas atenção, o conteúdo aqui apresentado pode afetar o funcionamento da sua ORG do Salesforce, tenha certeza de que tenha backup dos metadados que deseja remover e de fazer os testes prévios em uma Sandbox, siga por sua conta e risco. O problema Não é comum encontrarmos esse cenário, mas sim, eles ocorrem, eu mesmo já me deparei com ele em praticamente todas as ORGs do Salesforce que trabalhei, quando pegamos um projeto que já esta no meio do caminho, muitas vezes precisamos refatorar algumas classes, em algumas vezes abandonar a classe de vez (ou porque o nome não faz sentido para só refatorar ou porque aquela funcionalidade não tem mais sentido) e quando nos deparamos com esse problema descobrimos que metadados não podem ser renomeados, dessa forma a solução é a exclusão e criação de um novo, e ai uma nova descoberta, não podemos excluir uma […]

Salesforce Certification Days

A Salesforce incentiva e muito que as pessoas se capacitem, e uma forma de mostrar que você esta realmente pronto para o mercado é através de uma certificação, e pensando nisso a Salesforce esta realizando o Salesforce Certification Days, um evento que vai de 01 de abril de 2019 à 26 de abril de 2019, e não, não é uma piadinha de 1º de abril. O que é o Salesforce Certification Days de presente a Salesforce ainda vai te dar um Voucher de 70 dólares A Salesforce tem vários cursos online de preparação para certificações, e nesses dias você terá acesso a um webinário realizado por instrutores certificados e de forma 100% gratuita, e se não bastasse ter acesso a conteúdos exclusivos de forma gratuita, e de presente a Salesforce ainda vai te dar um Voucher (Cupom de desconto) de 70 dólares para ser usado nas certificações de 200 dólares, não é todo dia que ganhamos um desconto de 35%, não é mesmo? UPDATE: O Voucher vale para até 3 certificações, e ele expira em 30 de junho de 2019, não que você tenha que fazer a prova até lá, mas você tem que agendar a prova antes dessa data. […]

Entendendo o Lightning Event

Vamos entender de una vez por todas o que é o Lightning Event e colocar a mão na massa para desmistificar esse conceito de eventos no Lightning, vamos entender as diferenças e como usar o Component Events e o Application Events. O que são Eventos? a ideia principal é que você escreva códigos que só serão executados quando um determinado evento ocorrer Muitas linguagens de programação utilizam-se do conceito de programação orientada a eventos, tal como o JavaScript, a ideia principal é que você escreva códigos que só serão executados quando um determinado evento ocorrer, um exemplo bem simples é o clique de um botão, o evento do clique do botão só é disparado quando o evento  de clique é realizado, você pode nunca clicar no botão e o evento por sua vez pode nunca ocorrer, mas isso faz parte do conceito de programação orientada a eventos. O conceito dentro de um Lightning Component Agora vamos aplicar esse conceito para o Framework do Lightning, em um Lightning Component, você pode registrar-se para disparar um evento, e registrar para escutar um evento e fazer até mesmo os dois no mesmo componente, um evento pode ou não ter atributos, no Lightning, existem […]

Desenvolvedor Salesforce, mate o Eclipse agora

Se você é um Desenvolvedor Salesforce, e ainda usa o Eclipse, mate-o agora, antes que ele faça isso por você. Pode parecer brincadeira, mas ainda existem muitos desenvolvedores que ainda usam o Eclipse, a alguns anos atrás ele era a IDE recomendada pela Salesforce, mas já a um bom tempo ele perdeu esse posto para o Visual Studio Code da Microsoft, eu já falei aqui em um post anterior do IntelliJ com o uso do plugin Jetforce, o problema é que na época o plugin era free, e de lá para cá, passou a ser pago, não é uma grande quantia, 59$ para desenvolvedores e 99$ para empresa, eu considero um valor relativamente baixo para quem desenvolve para Salesforce todos os dias, mas quando se fala em colocar a mão no bolso, sei que a coisa aperta um pouco, então resolvi dar mais uma chance ao Visual Studio Code e ver o quanto ele me surpreendia em relação a minha IDE atual (IntelliJ com plugin Jetforce), eu já faço uso do Visual Studio Code para desenvolvimento Mobile (Cordova), então isso já contou como ponto positivo por já conhecer o potencial dessa IDE poderosa, mas chega de enrolação e vamos ver […]

Apex assíncrono – Scheduled Apex – Parte 4

Chegamos ao nosso último post da série sobre Apex assíncrono, falei aqui sobre métodos futuros, classes Queueable e Batch Apex, e hoje para fechar o tema, vamos falar sobre as classes Scheduled Apex, bom mas chega de enrolação e vamos logo para o que interessa não é mesmo? O que é o Scheduled Apex? podemos programar para que ele seja executado TODOS os dias em um determinado horário As Scheduled Apex nos permite realizar o agendamento de uma execução do Apex em horário específicos, diferentemente que fizemos com o agendamento das classes Batch Apex, onde só podíamos adiar a sua execução, com o Scheduled Apex ganhamos um poder de escolha muito maior, podemos programar para que ele seja executado TODOS os dias em um determinado horário. Mas claro que podemos fazer ainda mais do que isso, podemos agendar uma execução para 2x por dia, ou até mesmo 1x por semana, você é quem escolhe quando o processo será executado. Quando usar uma Scheduled Apex O cenário mais comum é exatamente quando temos que executar um conjunto de código do Apex em um horário e dia especificos. Estrutura de uma Scheduled Apex As Scheduled Apex também são classes que precisam implementar […]

Apex assíncrono – Batch Apex – Parte 3

Dando continuidade a série de posts sobre Apex assíncrono, hoje vamos falar da Batch Apex, sem dúvida um dos mais complicados posts da série, e espero conseguir desmistificar e passar para você um overview bem bacana sobre ele, vamos lá? A mas se você ainda não leu o post sobre métodos futuros e sobre Queueable sugiro que de uma pausa na sua leitura, e leia esses posts antes :) O que é uma Batch Apex O Batch Apex é uma classe do Apex que implementa uma interface e dá ao desenvolvedor um poder de processamento enorme, permitindo que você enfileire inúmeros trabalhos do apex ao mesmo tempo, você pode ainda mover a ordem dos processos, obter o status do processamento, abordar o seu processamento e também realizar o agendamento, para que o seu processo seja executado em uma hora determinada por você. Quando usar uma Batch Apex Para tarefas de execução longa com grandes volumes de dados que precisam ser executados em lotes, como manutenção do banco de dados Para tarefas que precisam de resultados de consulta maiores do que as transações regulares permitem Estrutura de uma Batch Apex Uma classe Batch Apex, deve implementar a interface Database.Batchable<X> onde X é […]

Apex assíncrono – Queueable – Parte 2

Dando continuidade a série de posts sobre Apex Assíncrono, hoje falaremos sobre as classes Queueable, podemos dizer que as Queueable são uma evolução dos métodos futuros, pois nos permite ter controle da fila de execução. Se você não leu o post sobre métodos futuros, sugiro que de uma pausa nessa leitura, e de uma olhada nesse post. O que são classes Queueable? Podemos dizer que as classes Queueable são uma evolução dos métodos futuros, pois além de nos permitir realizar a execução de trabalhos do Apex assíncronos, também nos da um limite maior de governança da sua org, permitindo por exemplo a execução de mais SOQL dentro de uma mesma execução de processo do Apex, além de um limite de heap maior, e assim como os métodos futuros, as classes Queueable são executadas assim que a plataforma Salesforce considera que existem recursos livres para execução. Quando você adiciona uma classe Queueable a fila de execução, você recebe um ID único, isso nos permite obter um controle maior da fila de processos, permitindo obter o status do processo na fila, esses dados ficam no objeto AsyncApexJob, e com base no Id que recebemos podemos fazer uma consulta SOQL para obter mais […]

Apex assíncrono – Future Methods – Parte 1

Apex assíncronos, são eles: Future Methods, Queueable, Batch e Scheduled, este post será uma série dividida em 4 posts, e vamos começar falando dos Future Methods (Métodos futuros), quando usar, exemplos práticos, e cobertura de classe de testes. O que é um Future Methods? O Apex oferece várias maneiras de executar seu código Apex de forma assíncrona, uma delas são os Future Methods, e por ele ser assíncrono, você simplesmente não pode controlar quando o mesmo será executado, ele é controlado pela plataforma Salesforce, é a plataforma que escolhe o melhor momento para a execução de um trecho de código do Apex em um Future Method e essa execução são levadas em consideração a disponibilidades de recurso disponíveis na sua org no momento de solicitação de execução. Um dos grandes benefício de usar Future Methods é que alguns limites de governança são maiores, como por exemplo o limites de consulta SOQL e limites de tamanho de heap. Quando usar um Future Methods? Quando você tem um processo demorado e precisa prevenir atrasos em sua transação Apex Quando você realiza chamada a serviços da Web externos (Por exemplo uma consulta a base de CEP de um serviço REST) Para segregar operações DML […]

8 extensões do Chrome para Salesforce

Nesse post quero compartilhar com vocês as minhas 8 extensões do Chrome para Salesforce, e sem dúvida a de número 5 é a melhor de todas. Os plugins do Google Chrome nos permite adicionar funcionalidades que dão um poder de fogo ainda maior ao nosso navegador de internet, então vamos lá conhecer as minhas extensões favoritas que uso para trabalhar com Salesforce no dia a dia. O que é uma extensões do Google Chrome? Bom, antes de mais nada, vamos primeiro entender o que é uma extensão do Google Chrome e como elas funcionam. Uma extensão do Google Chrome nada mais é dó que funcionalidades que podem ser adicionadas ao seu navegador, existem inúmeros tipos de extensões, se você der uma olhada na loja de extensões vai se assustar pela infinidade delas, vale ressaltar que as extensões podem ser criadas por qualquer pessoa que saiba programação para Web, então devemos ter alguns cuidados ao instalar um plugin do Chrome, certifique-se de que eles estão sendo instalado sempre da loja de extensões do Google Chrome, nunca baixe um arquivo em um site e instale manualmente, uma vez que uma extensão é adicionada ao seu navegador, ela pode ter acesso a todos […]

Lightning Now Tour – São Paulo 2018

Semana passada, aconteceu em São Paulo o Lightning Now Tour 2018, um evento dividido em dois dias para mostrar todo o poder do Lightning Experience, o primeiro dia foi voltado aos Administradores, mostrando a eles as facilidades e melhorias do Lightning Experience, e no segundo dia, aos desenvolvedores, mostrando as melhores praticas para o desenvolvimento e customizações de componentes do Lightning. O Lightning Now Tour é um evento global e acontece em várias cidades ao redor do mundo, aqui no Brasil, o evento aconteceu no predito do WTC proximo a Berrini em São Paulo, e foi dividido em dois dias, dia 16 (para os administradores) e 17 (para os desenvolvedores) de Outubro. Lightning Now Tour SP – Administradores Para os administradores, o Carlos Lourenco apresentou uma visão geral do Lightning Experience, o Roadmap do Lightning, as melhores praticas para personalização do Lightning e suas considerações de implementação. Salesforce for Outlook e Salesforce for Gmail Falou ainda sobre o Salesforce for Outlook e Salesforce for Gmail junto com suas principais features e o porque você não deve ficar sem ele, além do Salesforce Inbox que irá integrar ao seu client de email. Também não poderia ficar de fora todo o poder do Einstein com o […]