quarta-feira, 14 de novembro de 2018

Salesforce Platform


Conhecendo a Plataforma Salesforce


No Salesforce os serviços são agrupados em nuvens, por exemplo a Sales Cloud para CRM, a Service Cloud para suporte ao cliente e várias outras que dão suporte aos negócios das companhias. Enquanto cada nuvem tem um propósito, há algo que todas tem em comum: o poder da plataforma Salesforce.

O que é a Plataforma Salesforce?

A plataforma é um grupo de tecnologia que existe com o objetivo de dar suporte ao desenvolvimento de outras tecnologias, também dar suporte a funcionalidades personalizadas desenvolvidas por parceiros e clientes, desde uma simples página de layout à aplicativos.

Plataforma Construída por Blocos

A Plataforma é formada por nuvens, como a Sales Cloud, mas também possibilita que você crie sua própria solução, que significa a customização de qualquer oferta do Salesforce, possibilitando a criação do zero de qualquer solução.

Você pode alterar modelos de dados e aplicações, para criar soluções robustas para Desktop e Mobile.

Existe também a plataforma Heroku, que permite o desenvolvimento de aplicações web e serviços de back-end usando Python, Ruby, Go entre outras. Também oferece ferramentas de banco de dados para sincronizar os dados do Salesforce.
O Salesforce oferece várias API’s, para conectar e integrar dados, redes e informações de identidade, SDK para desenvolvimento Mobile, além de outras ferramentas que dão suporte para desenvolvimento de soluções realmente interessantes.

Desenvolvimento sem Código


O Poder do Metadata

No Salesforce, existem três termos importante: Objetos, Campos e Registros. Quando você olha para um dado no Salesforce, mas o que você realmente está vendo é uma abstração do banco de dados impulsionado pela arquitetura de reconhecimento de metadados da plataforma. Nessa abstração, objetos são como tabelas, os campos como colunas e os registros como linhas nas tabelas de um banco de dados.
Existem objetos padrão e customizados (Standard Objects e Custom Objects), os objetos padrão são objetos que são oferecidos em qualquer oferta Salesforce, eles já vem no pacote, os objetos customizados são criados para satisfazer as necessidades do negócio.
O que é Metadata? Bem, de forma geral diz-se que matadados são dados sobre dados. Resumidamente, no Salesforce, o metadada forma a estrutura da organização. Esse modelo de desenvolvimeno com matadata dá ao Salesforce a possibilidade de gerar experiência do usuário, como diálogos, listas de registros, além da funcionalidade de inserir, alterar e excluir registros (CRUD).

Desenvolvimento Sem ou com Pouco Código

Salesforce encoraja o mínimo de código possível no desenvolvimento de soluções e isso é possível graças a arquitetura de metadados. Existem muitas ferramentas de desenvolvimento declarativo (point-and-click). Então, pessoas com pouco conhecimento em codificação podem desenvolver soluções sem usar uma linha de código. Algumas tarefas como a criaçlão de validações pede um pouco de código, mas nada impeditivo, um pouco de conhecimento de lógica pode ajudar. O desenvolvimento declarativo facilita as coisas, de modo que você pode fazer uma solução em bem menos tempo do que se usasse uma maneira tradicional de desenvolvimento.

Liguagens de Codificação do Salesforce


Existem três principais tecnologias de desenvolvimento no Salesforce, que são:

Lightning Components Framework: Um framework de desenvolvimento de UI (User Interface) parecido com AngulasJS.
Apex: Uma linguagem de programação do Salesforce, orientada a objeto e fortemente tipada;
Visualforce: Uma linguagem de marcação que permite a criação de páginas customizadas, como HTML, e pode ser combinada com Apex e Javascript.

Componentes do Lightning

É um framework de desenvolvimento de Inteface de usuários baseada em componentes.
O Developer Console é a IDE do Salesforce para que você possa desenvolver páginas, código e componentes lightning. Nos componentes do lightning você pode notar que a marcação é XLM, com um pouco de HTML, algumas marcações próprias do lightning. O controller de um Componente por sua vez é escrito em Javascript. O Lightning componente usa o Controlador Javascript do lado do cliente e o controlador Apex do lado do servidor. São compatíveis com exibições em mobile.

Apex

O Apex é uma liguagem de programação orientada a objeto e fortemente tipada, muito parecida com o Java, se você já programou em Java não vai estranhar tanto. Possui muitas finalidades, executar processamento de informações, criar registros, alterar registros, criar triggers, controladores.


Na imagem acima temos um exemplo de classe feita no Apex. A notação @InvocableMethod permite que o método seja executado por outras ferramentas, como um Process Builder.

Visualforce

O Visualforce permite criar e personalizar páginas no Salesforce, bem como integrar-se a outras tecnologias padrão da Web, incluindo HTML, CSS e JavaScript.
A principal diferença entre Componentes do Lightning e Visualforce é que com os componentes você constróis componentes que podem ser agrupados como peças de uma página, no Visualforce você constrói apenas uma página inteira.
Para localizar uma Visualforce Page você pode usar o Develop Console usando o atalho File | Open | Page, ou pelo Setup, buscando por Visualforce Pages.

Conhecendo as API’s do Salesforce

À medida que você avança em direção a um desenvolvimento mais programático, encontra um conjunto robusto de APIs que permitem acessar seus dados do Salesforce de várias maneiras. Você já viu a API em ação quando analisamos os componentes do Lightning, o Apex e o Visualforce.
Abaixo, uma breve olhada nas API’s que são provisionadas pelo Salesforce e o que elas fazem:



E o Heroku (Sem Rima)?


O Heroku é uma plataforma de desenvolvimento da Web que permite criar, implantar e dimensionar aplicativos da web rapidamente.
Uma das grandes coisas sobre o Heroku é que você tem muita flexibilidade em como você escreve seu aplicativo. Se você é um nerd em Java, pode escrever seu aplicativo em Java. Se você é fã de Python, Heroku não vai atrapalhar. PHP seu atolamento? PHP para o conteúdo do seu coração!
O Heroku é desenvolvido com base no Amazon Web Services (AWS), o que significa que muitos problemas de infraestrutura que você pode ter no desenvolvimento de aplicativos da Web padrão são atendidos por você.
O Heroku é desenvolvido com base no Amazon Web Services (AWS), o que significa que muitos problemas de infraestrutura que você pode ter no desenvolvimento de aplicativos da Web padrão são atendidos por você. Além disso, o Heroku Connect unifica seus dados do Salesforce com seus dados do Heroku Postgres, para que você não precise gerenciar a movimentação de informações entre as plataformas. Não se preocupar com infraestrutura ou armazenamento de dados significa mais tempo para você se concentrar em novos desenvolvimentos.

IoT


Com o Salesforce você pode integrar sua solução a IoT (Internet of Things), usando componentes lightnings, páginas Visualforce, microsserviços hospedados no Heroku e as interfaces do IoT você pode fazer muitas coisas, controlar coisas através do seu dispositivo.

Bots


Chatbots também podem ser criados no Salesforce, seja para ajudar os clientes ou para ajudar empregados.

Para mais informações, conclua o módulo Platform Development Basics no Trailhead!

terça-feira, 13 de novembro de 2018

AppExchange - Uma Breve Introdução!


O que é o AppExchange?


É a loja do Salesforce e é nela que você pode encontrar tudo do Salesforce, como Componentes do Lightning e Apps, gratuítos ou pagos, feitos pela própria Salesforce ou por desenvolvedores parceiros.
Existe uma grande chance de existir uma solução no AppExchange para algo que você quer desenvolver.

O AppExchance é uma comunidade, inicialmente formada pelos colaboradores Salesforce e depois por parceiros, como administradores, desenvolvedores e outros.

O que eu posso encontrar no AppExchange?


Você encontra algo para cada nuvem e produto do Salesforce. Em geral, você terá soluções e serviços de consultoria.
Uma solução é algo que se conecta ao Salesforce e aumenta a sua funcionalidade principal, aplicativos, componentes do lighting, são exemplos de soluções.
Um serviço de consultoria é um grupo de profissionais da Salesforce especializados em criar soluções personalizadas para nuvens ou setores específicos. Por exemplo, um serviço de consultoria pode trabalhar com um fabricante de equipamentos para desenvolver um conjunto de aplicativos para técnicos de montagem.



Nem sempre você vai saber o que quer no AppExchenge, você pode começar pesquisando nas Coleções.
Coleções são grupos de listagens organizadas por especialistas do AppExchange, e são uma forma prática de se concentrar nas principais soluções em uma área específica.
O que existe no AppExchance está sempre mudando, para não ficar por fora das novidades, você pode se inscrever na newsletter e se manter informado.


AppExchange e Ohana


Ao lado de Industry Collections, talvez você tenha notado a seção Ohana (1). Lembre-se da comunidade do AppExchange da qual falamos anteriormente? Eles são uma extensão do Salesforce Ohana, ou família, e eles são tão importantes para o sucesso do AppExchange que fornecemos a eles seu próprio canto da loja. Vá até a seção Ohana para se conectar com outros membros da comunidade e receber as últimas notícias, dicas e conteúdo da equipe do AppExchange.


E Sobre o Preço?


Existem várias opções disponíveis, desde as gratuitas, as que você pode testar antes de comprar.

Estratégia para Encontrar a Melhor Solução no AppExchange


Para achar uma solução adequado, você precisa de uma estratégia. E envolve as questões abaixo:

Tipo de listagem (Listing type) - você está procurando algo que se conecte ao Salesforce sem muita dificuldade? Se sim, uma solução, como um componente Lightning, provavelmente é sua melhor aposta. Ou você quer ajudar a criar uma solução personalizada para um problema de negócios complexo? Nesse caso, um serviço de consultoria é o melhor ajuste.
Funcionalidade(Functionality) - o que a solução precisa fazer? Quais desses recursos são essenciais e que são bons para ter?
Orçamento (Budget) - Você está disposto a pagar pela solução certa ou precisa ser livre? Para listagens pagas, qual é o seu modelo de precificação preferido? O AppExchange oferece suporte a pagamentos e assinaturas em um único período.
Necessidades dos stakeholders - Quem está usando a solução? Certifique-se de encontrar essas partes interessadas para entender suas necessidades, expectativas e prazos.
Testes (Testing) - Você tem algum lugar onde possa testar tudo primeiro? Antes de instalar uma solução em uma organização de produção, recomendamos sempre testar em uma organização do Developer Edition ou em um sandbox.
Considerações técnicas (Technical considerations) - A solução precisa ser compatível com uma edição ou recurso específico do Salesforce? E o Lightning Experience ou o aplicativo Salesforce? Pense no que é exclusivo da sua organização e anote esses itens.

E como testamos aplicações pagas?


Alguns apps oferecem a possibilidade de você fazer um Test Drive, nesse caso o teste é feito em uma organização developer edition apenas de leitura.

Para o caso do Free Trial, a aplicação será instalada em uma organização que pode ser editada, customizada e após o período de teste poderá ou não continuar instalada, dependendo da decisão de comprar ou não a aplicação.
Nem todas as aplicações tem a opção de testar, vai depender do fornecedor.

Pacotes Gerenciados e não Gerenciados


Quando você encontra sua aplicação dos sonhos, está na hora de instalar. A instação é feita por pacotes, que são conteineres para apps, objetos, guias. Os pacotes podem ser gerenciados ou não gerenciados (Managed and Unmanaged Packages), isso é definido pelo fornecedor do pacote e define a forma como o pacote se comportará na sua organização.

Principais diferenças:


Se você quer customizar código e metadata, a opção não gerenciada é melhor, se você não quer customizar, escolha uma opção gerenciada, não vai contabilizar nos limites da sua organização e as versões são atualizadas automaticamente. Para os casos de pacotes não gerenciados, você precisa reinstalar o o pacote, ou seja, desisntalar e instalar de novo e o conteúdo será contabilizado nos limites da sua organização.

Atenção ao Instalar um Pacote


Escolha a organização correta, leia atentamente a documentação da aplicação, para quem você vai instalar a aplicação? Só para administradores? Para todos os usuários? Só para perfis específicos?

Após a instalação do App, ele aparecerá no App Lauch para que você possa navegar até ele.

Após isso, você pode dar seu feedback sobre o app na comunidade AppExchange, o que vai ajudar os fornecedores e também os demais usuários.

Para mais informações, cadastre-se no Trailhead e veja o módulo AppExchange Basics.

SINGLE SIGN-ON - Erro: “Unable to map an unique profile id for the given profile name"

Cenário

Alguns usuários não conseguiam acesso ao Salesforce pelo SSO, ao tentar autenticar o usuário ocorria o seguinte erro: "Unable to map an+unique profile id for the given profile name".

Análise

Tendo em vista a natureza da mensagem, buscamos primeiro analisar o perfil envolvido no caso, verificando a sua existência, se o nome estava compatível com o atributo passado pelo provedor. O perfil existia, devidamente nomeado. Não havia dois perfis com o mesmo nome, até porque isso não é permitido no Salesforce, então ficou a questão "Qual o problema?".

Solução

Verificamos que os perfis que estavam gerando erro possuíam variantes, por exemplo:
  • Perfil com erro: GerenteContas
  • Perfil variante: GerenteContasRegional
E pensamos se na validação, ao passar o perfil "GerenteContas", o Salesforce não estaria procurando o nome usando um "contém essa string" ao invés de um "igual à string". E sim, pasmem, como ambos os profiles possuíam a string passada no atributo do SAML no nome, ambos eram recuperados no Salesforce, gerando o erro reportado. Claro que esse erro ocorre para o perfil mais geral que nesse caro era o perfil GerenteContas, para o perfil GerenteContasRegional só ocorreria o erro se existe outro perfil que variasse dele, como por exemplo GerenteContasRegionalPE.

Como solução, alteramos o nome do perfil que era uma derivação para que o mesmo deixasse de conter o nome do profile mais genérico, por exemplo:

  • De: GerenteContasRegional
  • Para: GerenteDeContasRegional


Após essa alteração, os logins foram realizados com sucesso através do SSO.

Configuração de Navegação


A Barra de Navegação


A barra de navegação é um contêiner para um conjunto de itens e funcionalidades.


  1.  Mostra o nome do app que está sendo usado;
  2.  Guia referente ao objeto, nesse exemplo é a guia do objeto Opportunities;
  3. O App Launch, que é onde você tem acesso aos aplicativos e objetos existentes, de acordo com a sua visibilidade para o seu perfil;
  4. Você pode inserir dados direto pela barra de navegação, visualizar os itens recentes, os favoritos de um objeto.
A Barra de Navegação pode ser personalizada para exibir os principais objetos, os mais utilizados.



Para reordenar os itens, basta arrastá-los na barra e colocar na posição que você deseja. Para maiores alterações, pode usar o item de edição:


  • Para reordenar itens que já estão na sua barra de navegação;
  • Renomeie itens que você adicionou.
  • Adicione novos itens à barra de navegação clicando em “Add More Items”.



Items e Apps para uma navegação eficiente


Algumas vezes você não localiza um objeto na barra de navegação, nesses casos você pode localizar todos os objetos e aplicações disponíveis. Basta clicar no App Launch. Use a pesquisa pata localizar o que deseja rapidamente, você pode reorganizar a exibição dos aplicativos, apenas arrastando-os para a posição que deseja.


  1. Lista dos Apps;
  2. Lista dos Objetos;
  3. Barra de Pesquisa;
  4. Para usuários autorizados, é possível acessar o AppExchange direto do App Launch.


Tudo Sobre a Configuração (Setup)



Você acessa a Setup (Configuração) clicando no ícone:Setup Home, fica próximo ao seu ícone de usuário.
No Setup é onde se tem acesso a toda a configuração do Salesforce, como criação de usuários, profiles, gerenciamento de roles (papéis), criação de objetos customizados, ativação de triggers Apex, enfim. No que diz respeito a configuração do ambiente, permissões de acesso, regras de vizualização, criação de processos automáticos, é no Setup.


1 – Pesquisa Rápida, nesse campo você pode digitar o que deseja configurar e aparecerão as opções correspondentes;
2 – Menu de criação, nessa opção você pode criar:

  •         Crie um novo usuário;
  •          Crie vários usuários de uma só vez;
  •          Crie um novo objeto personalizado;
  •          Crie uma nova guia personalizada;
  •          Crie um modelo de email;
  •          Crie um processo de fluxo de trabalho.


3 – O Carrosel tem uma lista de ferramentas úteis, você pode fazer facilmente e rapidamente coisas como:

  • Abra o Gerenciador de objetos e personalize registros, campos e layouts
  • Inicie o bloco Setup Salesforce para ativar o acesso a dados móveis para sua organização;
  • Acesse instantaneamente as notas da versão para referência rápida;
  • Faça o download do SalesforceA para configurar a administração a partir de um aplicativo móvel;
  • Visualizar rapidamente o status dos dados de desempenho e uso de sua organização.


4  – Mostra os itens recentemente acessados;
5 – Se trata do gerenciador de objetos, que é onde você cria e gerencia objetos na organização.

Busca de Registros


No Salesforce você também pode buscar registros usando a Busca no Salesforce, a pesquisa global busca o texto informado em qualquer lugar do aplicativo.


Ao clicar na barra de pesquisa, já são exibidos itens recentes, a medida que você vai digitando, resultados vão sendo exibidos e quanto mais você digita, mais o filtro vai sendo refinado.
Para mais detalhes, se inscreva do Trailhead e acesso ao módulo CRM for Lightning Experience.

segunda-feira, 12 de novembro de 2018

CRM for Lightning Experience

O que é Salesforce?

Salesforce é uma plataforma CRM criada para ajudar a vender, atender, comercializar e se conectar aos clientes.
É uma plataforma com objetos e recursos padrão, que oferece a possibilidade de gerenciar um negócio de qualquer lugar e pode ser totalmente customizada para atender as necessidades de cada negócio.

O que é um CRM?

A sigla CRM significa "Customer Relationship Management", que é uma tecnologia voltada para o relacionamento com clientes e possíveis clientes.
No Salesforce, todas as informações estão armazenadas de forma segura em nuvem.

Como o Salesforce organiza os dados?

Os dados são armazenados em objetos e registros. É como se o objeto fosse uma tabela e os registros linhas das tabelas.
Quando criamos um objeto no Salesforce ou para os objetos standard (padrão) criamos guias, é por essas guias que acessamos os objetos nas aplicações. Ao acessar os objetos, podemos acessar seus registros. Na tabela abaixo temos uma tabela com definições acerca do que são objetos e registros.


Objetos Padrões e Customizados do Salesforce

O Salesforce vem com alguns objetos standard, alguns são os que estão logo abaixo:

Accounts (Conta):

São as companias com as quais você está fazendo negócios.

Contacts (Contatos):

São pessoas que trabalham nas contas.

Leads (Clientes em potencial):

São os clientes em potencial, você pode ter um cadastro para eventualmente converter a lead em um cliente real, com conta e contatos e oportunidades.

Opportunities (Oportunidades):

São leads qualificadas, convertidas.


Como o Salesforce é uma plataforma, permite que você customize-o de acordo com as suas necessidades.

Lightning Experience

É a interface gráfica que permite a utilização do Salesforce. Disponível para Desktop (Lightning Experience) e Mobile (Salesforce App).
Foi criada com o objetivo de ajudar a experiência do usuário, sendo fácil de usar, intuitivo, tem como objetivo garantir uma experiência agradável e rápida para que os usuários fechem suas vendas.