Browsing category

Salesforce Developer

Por que devemos evitar instruções DML e SOQL em Loop

Hoje iremos entender o porque devemos evitar o uso instruções DML e SOQL dentro de laços de iteração no Apex. Como vocês sabem o Salesforce é uma plataforma completamente WEB, ou seja, temos que sempre otimizar o funcionamento para que tenhamos um bom desempenho e sempre proporcionar uma boa experiência ao usuário. Durante esse período de quase 2 anos atuando com desenvolvimento Salesforce me deparei muitas vezes com um “erro” comum e grave por parte de desenvolvedores que é o uso de instruções SOQL e DML dentro de laços ou loops, como preferirem chamar. Você saberia me dizer o por que não devemos adotar essa prática em nossos desenvolvimentos? Caso saiba, parabéns você é uma pessoa que vai deixar o próximo Desenvolvedor da sua organização muito feliz, aos que não sabem, chegou a hora de descobrir. Limitações de “Banco” Salesforce e onde isso se aplica? Dentro do Salesforce temos diversas limitações, e algumas delas são referentes às operações DML e SOQL por transações do Apex. Abaixo uma tabela com as limitações que iremos abordar nesse post: Limitação Quantidade Erro (Exceder o Limite) Number of SOQL queries(Quantidade de operações SOQL que podemos executar em uma transação) 100 Too many SOQL queries: […]

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

myTrailhead, saiba o que esperar

Um dos assuntos que foi pivot do Dreamforce este ano foi o myTrailhead. Enquanto caminhávamos pela cidade de São Francisco em direção ao primeiro dia de evento, eu e meu estimado amigo Fernando, vimos o primeiro booth sobre Trailhead ao lado de uma cachoeira artificial (eles mandam muito bem nas decorações, muito mesmo) e começamos a ouvir um pouco sobre … Aliás, quer saber um pouquinho do que achamos de lá ? Veja este post super interessante comentando sobre as expectativas e a realidade do evento, compartilho da mesma opinião. Aqui vai um resumo para vocês Trailblazers: Qual a grande feature do myTrailhead? O termo my ficou presente não só neste novo lançamento, mas também nos outros produtos como myLightning, myEinstein, myIoT e mySalesforce, em breve estaremos escrevendo sobre todos. A ideia é que traga uma exclusividade e sentimento de que além de Salesforce, estaremos montando uma plataforma totalmente com a cara da empresa, o que é muito importante nos dias atuais já que a integração com o visual muda totalmente a experiência do usuário. O myTrailhead traz a possibilidade de customizar as trilhas de aprendizado particularmente com os interesses da empresa e tornará a plataforma de learning muito mais intuitiva […]

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

Como entender layouts de página e tipos de registro

Quando eu comecei a trabalhar com Salesforce, lá em 2013, tipos de registro e layouts de página eram tão confusos para mim. Talvez pelo fato de ainda estar conhecendo a plataforma e não conhecer bons use cases para ajudar a minha mente a entender… mas hoje vou tentar explicar de forma simples e fácil para ajudar a trazer soluções que podem te salvar de uma grande wave de desenvolvimento. Começando pelos tipos de registro Segundo a documentação do Salesforce, é definido como uma tool que te ajuda a criar processos de negócios, controlar valores de picklist fields e atribuir layouts de página para diferentes usuários. Mas como trazer isto a prática? Vamos supor que estamos iniciando um projeto no segmento de varejo e os usuários de negócios possuem dois processos diferentes para a qualificação de Lead: Compra e Venda. A compra é relacionada aos fornecedores e a venda são os prospects da empresa. Para o processo de compra vamos criar um tipo de registro chamado Compra e para o de Venda, obviamente Venda. Veremos o uso disto nas próximas explicações. Abaixo veja o resultado: Entendendo os layouts de página A documentação também tem uma definição para isso, que diz que […]

Trabalhando com Cookies em Páginas Visualforce

Trabalhando com Cookies em Páginas Visualforce nos permitirá manter um controle de estado/conexão no Salesforce, permitindo guardar informações no Navegador do usuário e recuperar essas informações quando recebermos uma requisição na Controller, bom, falando assim pode até parecer complicado, mas fique tranquilo, porque tudo isso é mais fácil do que parece. Para que serve os Cookies O protocolo HTTP é stateless, ou seja, ele não mantém um estado/conexão. Toda Requisição Get que o usuário faz ao servidor do Salesforce, acarretará em uma nova requisição e resposta. Temos uma excessão nos casos de uma Requisição Postback, que falei no post anterior onde falamos sobre o Ciclo de Vida de uma Página Visualforce e sua ViewState, sugiro que de uma olhada se ainda não leu o post. As requisições são independentes e possuem um tempo de vida (conexão, troca de mensagem, encerramento da conexão). O servidor do Salesforce não é capaz de identificar se duas requisições vieram de um mesmo navegador, e o mesmo não faz nenhum gerenciamento em memória para que mensagens sejam compartilhadas entre requisições. É para suprir esta necessidade que entra por exemplo o uso de cookies. Mas afinal, o que é um Cookies Através de cookies o servidor do Salesforce é capaz de trocar informações de estado com o […]

Entendendo o Ciclo de Vida de uma Página Visualforce

Quando um usuário visualiza uma Página do Visualforce, as instâncias da Controller e Components associados à página são criados pelo servidor do Salesforce. A ordem em que esses elementos são executados pode afetar a forma como a página é exibida para o usuário. Por isso é importante entendermos exatamente como funciona o ciclo de vida de uma Página Visualforce e assim, tirar o melhor proveito disso

Entendendo os Testes Unitários

Se você é um desenvolvedor Salesforce, posso afirmar que você já sofreu com a cobertura de 75% dos testes unitários exigidas pelo Salesforce, não é mesmo? O Apex nos fornece uma estrutura de teste que nos permite escrever testes unitários, executar os testes, verificar resultados dos testes unitários e também ver o resultados de cobertura de código.   Entendendo os Testes Unitários Testes são sem dúvidas a chave para o sucesso da sua aplicação. Os testes unitários nos permite validar que tudo funciona como esperado, evitando assim comportamentos inesperados, recomento fortemente que você use um processo de desenvolvimento orientado a testes, ou seja, faça o desenvolvimento dos seus testes unitários ao mesmo tempo que realiza o desenvolvimento dos seus códigos, evitando ao máximo deixar tudo para última hora. Existem duas maneiras de realizar um teste na sua aplicação. Uma delas é através da interface do usuário do Salesforce, que sem dúvida é muito importante, mas apenas o teste através da interface do usuário não irá capturar todos os casos de uso do seu sistema. O outro caminho é testar a funcionalidade de forma automatizada, ou seja, escrever um código de testes que passe por todo o código que você escreveu, ou ao menos […]

3 passos para criar um Trailmix

Existe ainda nos dias de hoje algum tabu para o aprendizado que diz que supostamente deveríamos fazer uma graduação na área para estudar determinados assuntos ou ser um geek prodígio que adora aprender sobre todos os assuntos… mas não, isso não é verdade. No post de hoje vamos falar sobre uma nova feature do Trailhead que para muitos pode servir como ponto de partida para agrupar conteúdos relacionados e tambem personalizar sua própria linha de aprendizado. Você poderá descobrir que nunca será tarde demais e que aprender Salesforce pode se aplicar em qualquer situação ou empresa que você esteja. Estamos falando das Trailmixes. O QUE É TRAILMIX? É basicamente um grupo de módulos, trilhas e projetos que você pode selecionar o que quiser e traçar o seu próprio caminho de estudos, podendo dividi-los por desenvolvimento, admin, tudo relacionado a lightening e muito mais. Agora que você já sabe o que é, vamos entender o por que isto pode ser útil e também apresentar o Trailmix SouForce.cloud, o primeiro exclusivo do nosso blog. COMO CRIAR E UTILIZAR ? Temos visto uma massa de usuários avançando suas carreiras com Trailhead e isto vem aumentando com o tempo, forçando a melhoria e inovações […]

Metadados! O que são? Onde vivem? Para que servem?

Quando falamos sobre Salesforce, é de extrema importância que este conceito esteja claro em sua cabeça, porque quase tudo na plataforma gera metadados. Este é o segredo para tal agilidade no desenvolvimento de atualização do Salesforce. Porém, entender complemente, o que são? Onde vivem? O que comem?  E como podemos utiliza-los, pode não ser tarefa simples.

Conheça o novo caminho para a Platform Developer II

Recentemente foi anunciado pela Salesforce um novo caminho para a certificação Platform Developer II, como mostra o infográfico acima. O que muito me agrada ver que estamos evoluindo em termos de exercícios práticos fazendo parte deste caminho e envolvendo o Trailhead também. Esta certificação tem como objetivo mostrar proficiência nas formas programáticas em Force.com e modelagem de dados para atender soluções de negócio complexas. Antigamente, após completar o teste múltipla escolha e passar, o Trailblazer precisava completar uma tarefa técnica que seria avaliada. Contudo, o maior problema era o tempo que isto levava para acontecer, pois imaginem inúmeras reviews para serem feitas e enquanto isso ficávamos esperando, não parece ser muito bom não é ? QUAL O NOVO CAMINHO ? Conceitualmente existem alguns pontos que o Trailblazer precisa alcançar para ter sucesso em seu teste, que são: Design, develop, test e deploy de forma programática que sejam geríveis e reutilizáveis. Apex design patterns e best practices de programação orientada a objeto. Além disso, de forma prática vamos precisar do exame múltipla escolha e as tarefas para serem cumpridas estarão no Trailhead como Superbadges. Atualmente já temos dois deles, que são Apex Specialist e Data Integration Specialist. Os novos estão em desenvolvimento e […]