Browsing author

Fernando Sousa

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 […]

Entendendo as 10 APIs do Salesforce e quando usar

O Salesforce nos permite interagir com a plataforma de muitas formas, entre elas com o uso de APIs, nesse post quero fazer um overview das APIs do Salesforce disponíveis e quando usar cada uma delas, o intuito não é colocar uma contra a outra, e dizer qual é melhor, mas sim explicar o uso delas e assim de dar opções de escolhas de uma forma mais consciente.   APIs do Salesforce A maior parte do conteúdo deste artigo vieram da documentação oficial do Salesforce, mas a intenção aqui é dar uma visão geral de cada API em um único local e também dar uma idéia do que usar quando. Por favor, leia a documentação oficial para ter uma idéia mais profunda sobre cada uma das API. As APIs do Salesforce é tão vasto quanto o azul do oceano, diz o Salesforce, isso porque o Salesforce adota uma abordagem de API First para criar recursos na Salesforce Platform.   1. SOAP API A SOAP API permite criar, ler, atualizar e excluir registros, o famoso CRUD (Create, Read, Update e Delete), com ela é possível interagir com Contas, Leads e também com seus objetos personalizados. A SOAP API também permite o gerenciamento de […]

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 […]

Erro ao ativar o Log de Depuração

Essa semana vi uma nova mensagem de Erro ao ativar o Log de Depuração no Salesforce, esse erro impedia de ativar o registro de depuração e também de receber novos logs no Console do Desenvolvedor, e para a minha surpresa a solução era muito simples, mas resolvi compartilhar algumas formas de resolver ela, pois acredito que possa ajudar algumas pessoas que por ventura venha a se deparar com essa mensagem no futuro. Erro ao ativar o Log de Depuração A mensagem de erro no console diz: Logging disabled: The Developer Console didn’t set the DEVELOPER_LOG trace flag on your user. Ter um sinalizador de rastreamento ativo aciona o log de depuração. Você tem 1.065 MB do máximo de 250 MB de logs de depuração. Antes de poder editar os sinalizadores de rastreamento, exclua alguns logs de depuração. Já quando tentamos registrar um Registro de Depuração a mensagem é: Erro: Ter um sinalizador de rastreamento ativo aciona o log de depuração. Você tem 1.087 MB do máximo de 250 MB de logs de depuração. Antes de poder editar os sinalizadores de rastreamento, exclua alguns logs de depuração. E em Inglês você receberá uma mensagem assim: Having an active trace flag triggers […]

Apple anuncia parceria com a Salesforce

Todos que conhecem Marc Benioff, criador do Salesforce, sabem que Steve Jobs era seu mentor, e que ele adora todos os produtos da Apple, e não é de hoje que já existe uma ligação entre as duas empresas, o próprio nome AppStore foi doado para a Apple por ninguém menos que Marc Benioff, e com essa relação de longe data, Tim Cook anunciou hoje (24 de Setembro de 2018) em seu Twitter mais uma parceria entre a Apple e a Salesforce, dessa vez envolvendo o sistema operacional iOS. iOS + @Salesforce = powerful tools and customer experiences right on iPhone and iPad. Changing the way business is done! https://t.co/ZVEwHJwHHQ — Tim Cook (@tim_cook) September 24, 2018   Do lado da Apple, teremos uma gama de integrações com o iOS, que trará as “experiências ricas” do iOS para o aplicativo do Salesforce Mobile, tais como a Siri com seus atalhos, o Face ID para login e o Business Chat, toda essa novidade deve chegar até o no início de 2019. Já do lado da Salesforce, temos como novidade uma trilha do trailhead completa de integração com o iOS contando hoje com 4 módulos e 19 unidades. Quem acompanha a parte de desenvolvimento Mobile da Salesforce, sabe que […]

Refactoring

Demorou, mas enfim saiu o nosso primeiro Podcast, e já estamos com o segundo na fila de edição :) O nosso primeiro episódio foi com meu grande amigo Lucas Caton, e falamos um pouco sobre Refactoring. Quando fazer, porque fazer e  como fazer. Fique livre para fazer os seus comentários sobre o tema abordado. Escute também seu aplicativo de podcast preferido: Apple iTunes | Android ——— Blog do Lucas Caton: https://www.lucascaton.com.br/ Lint para Lightning Components: https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/cli_usage.htm Lint para Apex Code: https://pmd.github.io/pmd-5.5.7/index.html IDE que uso para desenvolver para o Salesforce: https://www.jetbrains.com/idea/download/ Plugin que uso na IDE: JetForcer  (Sim, é paga, mas vale cada Trump! Acredite!!!) https://plugins.jetbrains.com/plugin/9238-jetforcer–the-smartest-force-com-ide CLI para Salesforce (It’s free): https://developer.salesforce.com/tools/sfdxcli   Até o próximo podcast :)  

Onde foi parar a lixeira no Lightning?

Onde foi parar a lixeira no Lightning? Recentemente fiz uma migração de uma ORG para o Lightning, uma ORG com poucas customizações internas, mas com alguns componentes que deram um certo trabalho, após a migração, uma das primeiras perguntas que surgiu foi exatamente essa, onde foi parar a lixeira no Lightning.  A verdade é que ela não existe no Lightning, e sem previsão dela aparecer por lá, em busca de soluções encontrei várias pessoas reclamando do sumiço da lixeira no Lightning, e alguns indicando até mesmo a utilização de um App Exchange para isso. Voltar para o classic para usar a lixeira e depois retornar para o Lightning com certeza não seria a melhor opção, foi aí que me veio uma ideia brilhante, que vou compartilhar com vocês. Entre as soluções encontrei alguns criando uma VisualForce com um SELECT nos objetos excluídos, ou até mesmo instalando um AppExchange que fazia também exatamente isso, a minha solução foi bem mais simples e eficaz, simplesmente peguei o link da Lixeira no Classic e criei uma Guia para ela no Lightning, e, ualá!!! Lá estava a lixeira no Lightning, claro que sem o visual bonito do Lightning, mas ainda assim 100% funcional. Vamos lá […]

Conhecendo e executando o Salesforce Optimizer

Se sua org no Salesforce tem mais de um ano de vida, então, você provavelmente deve ter inúmeros objetos, campos, workflows, regras de validações, relatórios e muito mais coisas que nem faz ideia, não é mesmo? Mas você sabia que isso pode prejudicar o desempenho da sua org? E ai você deve estar se perguntando, mas Fernando, como posso manter a minha ORG saudável e sempre otimizada? Bom, nesse caso eu tenho que te apresentar a ferramenta Salesforce Optimizer, vamos lá? O que é o Salesforce Optimizer? O Salesforce Optimizer é uma ferramenta gratuita do Salesforce, que analisa todos os Metadado da sua organização e gera um relatório de qualidade da sua ORG. Devo usar o Salesforce Optimizer? Sem a menor sombra de dúvidas a resposta é, SIM, o Salesforce Optimizer não afeta a performance da sua ORG, uma vez que esta analise é executada sobre os Metadados, se você não sabe o que é um Metadados, sugiro que você leia este post do Arthur Anelli, o Salesforce Optimizer trabalha na mesma camada de validação de pacote, analisando somente os metadados da sua ORG, sem afetar o desempenho ou fazer com que ela fique indisponível. Executando o Salesforce Optimizer Primeiro, […]

Dreamforce, Expectativa x Realidade

Se você teve a oportunidade de vir ao Dreamforce este ano, tenho certeza que vamos compartilhar de alguns pontos em comum, se não veio, vou compartilhar o meu ponto de vista sobre o Dreamforce, e qual era a minha expectativa em alguns pontos e qual foi a realidade encontrada aqui. Dreamforce, Expectativa x Realidade Vou separar por tópicos, para ficar mais fácil detalhar qual era minha expectativa e qual foi a realidade encontrada, acredito que dessa forma fique mais fácil identificar os pontos em questão. Vamos lá? Local dos eventos Minha expectativa era encontrar lugares longe e de difícil acesso, esperava ter que ficar andando de Uber para lá e para cá para chegar no local do evento. Mas para minha surpresa, a realidade era bem diferente, o hotel em que me hospedei no Aida Plaza Hotel, que é bem próximo, cerca de 10 minutos de caminhada do local principal do evento, Mascone West, e isso foi a melhor parte, pois consegui chegar ao evento sem dor de cabeça nenhuma, o hotel não é nenhum hotel 5 estrelas, mas com uma localização tão boa, tenho que confessar que foi um dos maiores acertos, obrigado Diogo pela indicação. Agenda, palestras e […]