Guia do ISVforce. Version 29.0: Winter 14

Tamanho: px
Começar a partir da página:

Download "Guia do ISVforce. Version 29.0: Winter 14"

Transcrição

1 Version 29.0: Winter 14 Guia do ISVforce Copyright salesforce.com, inc. Todos os direitos reservados. Salesforce.com é uma marca registrada da salesforce.com, inc., assim como outros nomes e marcas. Outras marcas que aparecem neste documento podem ser marcas comerciais de seus respectivos proprietários.

2

3 Version 29.0 Sumário i Conteúdo Capítulo 1: Introdução...1 Funções no ciclo de vida do aplicativo...2 Capítulo 2: ISVforce Início rápido...3 Tutorial nº 1: Inscrição...4 Etapa 1: Inscreva-se para o Programa de parceiro...4 Etapa 2: Gerar ambientes de desenvolvimento e de teste...5 Etapa 3: Obtenha uma Business Org...5 Etapa 4: Edite sua listagem do editor...6 Resumo da inscrição...7 Tutorial #2: Desenvolvimento de seu aplicativo...7 Etapa 1: Criar um aplicativo...7 Etapa 2: Empacote seu aplicativo...9 Etapa 3: Atribuir um namespace...9 Etapa 4: Carregar uma versão beta...9 Etapa 5: Instalar e testar a versão beta...10 Resumo do desenvolvimento...11 Tutorial #3: Publicação e licenciamento...11 Etapa 1: Carregamento para o AppExchange...11 Etapa 2: Crie sua listagem de aplicativos...12 Etapa 3: Complete sua listagem...12 Etapa 4: Instale o LMA...13 Etapa 5: Licenciamento e gerenciamento de aplicativo...14 Resumo de publicação e licenciamento...14 Tutorial nº 4: Atualização de seu aplicativo...14 Etapa 1: Criando uma Organização de correções...15 Etapa 2: Desenvolvimento de uma correção...16 Etapa 3: Carregando a correção...16 Etapa 4: Instalar e atualizar automaticamente uma correção...17 Resumo da atualização de seu aplicativo...17 Capítulo 3: Arquitetura e desenvolvimento do aplicativo...19 Entendendo pacotes gerenciados e não gerenciados...20 Planejando o lançamento de pacotes gerenciados...20 Componentes disponíveis...21 Editando componentes e atributos após a instalação...25 Componentes adicionados automaticamente a pacotes...30 Comportamento especial dos componentes nos pacotes...32 Componentes protegidos...41 Considerações sobre a arquitetura para Group Edition e Professional Edition...41 Recursos disponíveis na Group Edition e na Professional Edition...42 Limites para Group Edition e Professional Edition...43 Controle de acesso na Group Edition e na Professional Edition...43

4 Version 29.0 Sumário ii Usando o Apex na Group Edition e na Professional Edition...44 Acesso à API na Group Edition e na Professional Edition...44 Acessando a API REST na Group Edition e na Professional Edition...45 Projetando seu aplicativo para oferecer suporte a múltiplas edições...46 Suporte a várias edições usando um pacote de extensão...46 Suporte a várias edições usando o Apex dinâmico...47 Os cenários do projeto de amostra para as Group Edition e Professional Edition...47 Noções básicas sobre dependências...48 Criando aplicativos em pacote com o Chatter...49 Correspondendo à aparência do Salesforce...50 Desenvolvendo documentação de aplicativo...50 Criação de configurações de perfil personalizadas...51 Sobre conjuntos de permissões e configurações do perfil...52 Visão geral de aplicativos conectados...54 Criando um Aplicativo conectado...54 Editando, empacotando ou excluindo um aplicativo conectado...57 Instalando um Aplicativo conectado...58 Exibindo detalhes de aplicativo conectado...58 Gerenciando um aplicativo conectado...59 Editando um Aplicativo conectado...59 Monitoramento de uso de um Aplicativo conectado...60 Desinstalando um Aplicativo conectado...61 Sobre o WSDL do parceiro...61 Trabalhando com serviços externos...62 Provisionamento de serviços externos...62 Protegendo sua propriedade intelectual...63 Hub de ambiente...63 Configurando o Hub de ambiente...64 Configurando Meu domínio para o Hub de ambiente...66 Práticas recomendadas para o Hub de ambiente...67 Conectando uma organização ao Hub de ambiente...67 Exibindo os detalhes de um membro do Hub de ambiente...68 Editando os detalhes de um membro do Hub de ambiente...70 Criando uma nova organização a partir do Hub de ambiente...70 Ativando login único no Hub de ambiente...71 Desativando login único no Hub de ambiente...72 Mapeando usuários para login único no Hub de ambiente...72 Capítulo 4: Empacotamento e teste do seu aplicativo...74 Registrando um prefixo de namespace...75 O que são as versões beta de pacotes gerenciados?...75 Criando e carregando um pacote beta...76 Sobre os ambientes de desenvolvimento e teste do parceiro...77 Como se inscrever para ambientes de teste...77 Instalando um pacote...77

5 Version 29.0 Sumário iii Disponibilidade do componente depois da implantação...79 Configurando pacotes instalados...79 Resolução de problemas de instalação...81 Desinstalando um pacote...82 Instalando pacotes gerenciados usando a API...83 Criando e carregando um pacote gerenciado...84 Sobre versões do pacote...85 Executando o Apex em instalação/atualização de pacotes...86 Executando o Apex na desinstalação de pacotes...89 Capítulo 5: Passando pela análise de segurança...92 Sobre a análise de segurança...93 Etapas da análise de segurança...93 O Questionário de análise de segurança...95 Criar uma AppExchange Publishing Organization...96 Alterar sua AppExchange Publishing Organization...97 Atualizar a versão do pacote em sua listagem do AppExchange...97 Envio de um aplicativo móvel para análise de segurança...98 Envio de um pacote de extensão para análise de segurança...99 Recursos na análise de segurança...99 Perguntas frequentes sobre a análise de segurança...99 Quanto tempo leva a análise de segurança? Com que frequência ela é necessária? Há alguma taxa? Por que preciso testar meu aplicativo antes da análise se a equipe de segurança vai testá-lo de qualquer forma? Posso enviar meu aplicativo antes de concluí-lo para que eu possa realizar o processo de análise de segurança antecipadamente? Por que a equipe de análise precisa testar a parte X ou Y da minha oferta? Preciso corrigir todos os problemas relatados pela equipe da análise de segurança? Por que a equipe da análise de segurança não pode me enviar cada ocorrência de cada descoberta da minha análise? Se eu atualizar meu aplicativo, preciso pagar novamente a taxa da análise de segurança para que ele seja revisto? Quando eu criar um novo pacote gerenciado (efetivamente uma atualização do meu primeiro aplicativo), precisarei pagar novamente a taxa para que a segurança dele seja analisada? Por que preciso fazer análises de segurança periódicas? Compreendo que soluções analisadas podem funcionar com organizações da PE e GE. Como isso funciona? Capítulo 6: Publicando seu aplicativo O que é o AppExchange? Vendendo no AppExchange Como o AppExchange funciona? Quem pode usar o AppExchange? Gerenciando suas organizações do Salesforce Publicando seu aplicativo ou serviço Publicação de um aplicativo no AppExchange Criando ou editando seu perfil do fornecedor...108

6 Version 29.0 Sumário iv Criando ou editando uma listagem Inclusão da marca em seu aplicativo Enviando sua listagem para aprovação Registrando seu pacote e escolhendo configurações de licença Notificações por Usando o Checkout do AppExchange Perguntas frequentes do AppExchange Checkout Trabalhando com leads do AppExchange Relatórios analíticos para editores Relatório Instalações (Adquirir agora) Relatório de leads Relatório de recursos e promoções Relatório de test drives, demonstrações e telas Saiba mais, vídeos e relatório de telas Perguntas frequentes sobre o AppExchange Capítulo 7: Gerenciando licenças e fornecendo suporte administrativo Visão geral do Aplicativo de gerenciamento de licença (LMA) Entendendo o gerenciamento de licenças Diagrama de relacionamentos de entidades Terminologia do LMA Instalação do LMA Configuração do LMA Associação de um pacote ao seu LMO Padrões de licença Utilização do LMA Sobre Leads Sobre pacotes Detalhes do pacote Editando os proprietários do pacote Editando o gerenciador de lead para um pacote Sobre versões do pacote Detalhes da versão do pacote Sobre licenças Detalhes da licença Editando os proprietários de licença Editando licenças Integração com vendas e marketing Práticas recomendadas Perguntas frequentes sobre o Aplicativo de Gerenciamento de Licença Solução de problemas Capítulo 8: Fornecendo uma avaliação gratuita do seu aplicativo Por que usar Trialforce? Visão geral do Trialforce...154

7 Version 29.0 Sumário v Configurando o Trialforce Vinculação de um pacote à sua AppExchange Publishing Organization Vinculação de um pacote à sua Organização de gerenciamento de licenças Solicitando uma Organização de gerenciamento do Trialforce Configurando a marca personalizada para o Trialforce Criando s com marca Criando uma página de login marcada Criando uma Organização de origem do Trialforce Vinculando uma Organização de origem do Trialforce à APO Criando um modelo Trialforce Avaliando um modelo do Trialforce Fornecendo uma avaliação gratuita no AppExchange Proporcionando uma avaliação gratuita do AppExchange usando o Trialforce Configurando um test drive no AppExchange Proporcionando uma avaliação gratuita do AppExchange com seu aplicativo instalado Fornecendo uma avaliação gratuita no seu website Solicitando um formulário de inscrição para o Trialforce Vinculando um modelo do Trialforce ao formulário de inscrição Personalização do formulário de registro HTML Fornecendo novas organizações de avaliação Modificando a avaliação para uma atualização Práticas recomendadas do Trialforce Criando inscrições usando a API Solicitação de inscrição Início da solicitação de inscrição Criando uma solicitação de inscrição Exibindo detalhes da solicitação de inscrição Adicionando campos personalizados a solicitações de inscrição Executando relatórios em solicitações de inscrição Usando acionadores com solicitações de inscrição Criando inscrições de proxy para acesso à API e ao OAuth Perguntas frequentes do Trialforce Capítulo 9: Dando suporte aos seus assinantes Guia Suporte (Support) Console de suporte do assinante Exibindo detalhes do assinante Solicitando acesso de login Efetuando login às organizações do assinante Práticas recomendadas Solução de problemas em organizações de assinantes Capítulo 10: Atualizando seu aplicativo Criando e carregando correções Trabalhando com versões de correção...188

8 Version 29.0 Sumário vi Controle de versões do código Apex Efeitos da depreciação do Apex para os assinantes Capítulo 11: Atualização automática Sobre atualizações automáticas Práticas recomendadas para a atualização automática Atribuindo acesso a novos componentes e campos Exemplo de script de pós-instalação para uma atualização automática Conheça as limitações da atualização automática Agendando upgrades automáticos Exibindo detalhes do upgrade automático Exibindo o histórico de atualizações de uma organização Apêndices Apêndice A: Desenvolvendo e distribuindo pacotes não gerenciados Apêndice B: Comparação da licença de usuário do ISVforce Apêndice C: Comparação de licença do usuário OEM Glossário Índice...215

9 Capítulo 1 Introdução Tópicos: Funções no ciclo de vida do aplicativo O ISVforce Guide (Guia do ISVforce) foi elaborado considerando fornecedores de software independentes (ISV) que desejam criar e vender aplicativos criados na plataforma do Force.com. Este guia está organizado segundo seguintes capítulos: Início rápido Comece aqui a adquirir e configurar todos os ambientes necessários para criar e vender aplicativos. Arquitetura e desenvolvimento do aplicativo Antes de começar o desenvolvimento, é importante saber como todas as peças se encaixam. Este capítulo cobre as decisões relacionadas à arquitetura a serem consideradas antes do desenvolvimento. Empacotamento e teste do seu aplicativo Este capítulo também cobre as especificidades acerca do desenvolvimento e teste de aplicativos empacotados. Passando pela análise de segurança Saiba mais sobre as práticas recomendadas de segurança e plano para uma análise de segurança. Publicando seu aplicativo Liste seu aplicativo no marketplace do AppExchange. Gerenciando licenças e fornecendo suporte administrativo Use o Aplicativo de gerenciamento de licença para gerenciar as licenças e aplicativos de seu cliente. Trialforce Crie uma avaliação gratuita para ajudar a vender seu aplicativo para clientes que não são cliente Salesforce. Dando suporte aos seus assinantes Dê suporte técnico aos seus clientes para a instalação e uso de seu aplicativo. Atualização Quando está na hora de fazer a atualização de seu aplicativo empacotado, você pode fazer atualizações automáticas de correções secundárias ou criar versões mais significativas.

10 Introdução Version 29.0 Funções no ciclo de vida do aplicativo 2 Funções no ciclo de vida do aplicativo Este guia cobre todo o ciclo de vida do aplicativo de um pacote, de forma que alguns dos tópicos podem não ser relevantes para você. A lista a seguir tem as sugestões de tópico por função. Uma arquitetura de aplicativo A arquitetura do aplicativo determina o escopo do aplicativo e as estruturas internas que o suportam. Os arquitetos precisam saber detalhes sobre a plataforma do Force.com subjacente que determinará não apenas o uso do aplicativo, mais quais edições ele suporta, como está instalado, configurado e atualizado. Os arquitetos precisam estar familiarizados com todo este guia, mas especialmente com os seguintes capítulos: Arquitetura e desenvolvimento do aplicativo na página 19 Passando pela análise de segurança na página 92 Um desenvolvedor cria, empacota e carrega um aplicativo Um desenvolvedor, ou frequentemente uma equipe de desenvolvedores, cria um aplicativo, o empacota e o carrega para o AppExchange. Os desenvolvedores também atualizam o aplicativo com correções de erro e novos recursos. Como desenvolvedor, seria desejável ver os seguintes capítulos: Arquitetura e desenvolvimento do aplicativo na página 19 Empacotamento e teste do seu aplicativo na página 74 Desenvolvendo documentação de aplicativo na página 50 Atualizando seu aplicativo na página 185 Um editor distribui, vende e oferece suporte ao aplicativo O editor de um aplicativo é a pessoa ou empresa que possui um perfil e uma ou mais listagens para o aplicativo no AppExchange. As listas do editor contêm um link para um aplicativo carregado para o AppExchange, ou para um site de terceiros. Os editores também definem as configurações padrão da licença. Como editor, seria desejável ver os seguintes capítulos: Publicando seu aplicativo na página 105 Fornecendo uma avaliação gratuita do seu aplicativo na página 153 Dando suporte aos seus assinantes na página 181 Um administrador instala o aplicativo Um administrador, ou admin, faz o download de seu aplicativo do AppExchange e instala-o na sua organização. Os administradores também podem personalizar o aplicativo para ajustar ainda mais às suas necessidades comerciais. Veja o tópico a seguir para saber como os administradores irão interagir com seu aplicativo. Instalando um pacote na página 77

11 Capítulo 2 ISVforce Início rápido Tópicos: Tutorial nº 1: Inscrição Tutorial #2: Desenvolvimento de seu aplicativo Tutorial #3: Publicação e licenciamento Tutorial nº 4: Atualização de seu aplicativo Este início rápido foi criado para conduzi-lo pelo ciclo de vida do aplicativo o mais rapidamente possível. Após a conclusão, você terá tudo que você precisa para desenvolver e publicar um aplicativo empacotado. Nota: Você deve ser um parceiro ISVforce/OEM para concluir todas as etapas desse início rápido, pois ele cobre alguns recursos que somente estão disponíveis para parceiros qualificados. Como este início rápido está organizado? Este início rápido estão quebrado em quatro tutoriais, o que destinam-se a ser lidos na ordem. Como algumas etapas exibem uma resposta de automática, o tempo para concluir as etapas pode variar. Entretanto, você pode parar em qualquer etapa e recomeçar do ponto em que parou. O tutorial nº 1 conduz você pelo processo de inscrição para o Programa de Parceiro ISV do Salesforce pelas formas de conseguir tudo o que precisa das organizações (ambientes).. O tutorial nº 2 o conduz na criação de um aplicativo Hello World simples. O tutorial nº 3 ajuda você a publicar e gerenciar seu aplicativo. O tutorial nº 4 explica como atualizar seu aplicativo para versões importantes e secundárias. Tell Me More... No final de cada etapa existe uma seção opcional Conte-me mais. Se você gostar de fazer coisas rapidamente, prossiga para a próxima etapa. Entretanto, se você é do tipo que gosta de ir mais lentamente, há várias informações úteis aqui. Para uma lista de termos úteis, veja o Glossário na página 212. Para saber mais sobre o Force.com para acessar um conjunto cheio de recursos, visite o Developer Force em Para uma introdução tranquila ao desenvolvimento do Force.com, consulte o Livro de exercícios do Force.com em

12 ISVforce Início rápido Version 29.0 Tutorial nº 1: Inscrição 4 Tutorial nº 1: Inscrição Neste tutorial, você reúne todas partes que precisa desenvolver, vender e para as quais precisa oferecer suporte em seus aplicativos. Tudo tem início quando você se inscreve para o Programa de Parceiro AppExchange. Isto dará acesso ao Portal do Parceiro, onde você pode obter as organizações de desenvolvimento e teste (ambientes ), e criar casos para outros recursos a serem habilitados. O primeiro caso que você registrará para a organização de CRM que você usa para gerenciamento da publicação, licenciamento e eventuais vendas de seu aplicativo. Embora você não precise daquela organização de imediato, é mais fácil tirar essas tarefas adminitrativas do caminho agora. Se você já estiver familiarizado com o Salesforce, você sabe que uma organização é uma nuvem em torno de si mesma. Se você for novo para o Salesforce, poderá pensar em uma organização como um ambiente separado em que você pode desenvolver, testar ou publicar seu aplicativo. Figura 1: Organizações (ambientes) são nuvens Etapa 1: Inscreva-se para o Programa de parceiro A primeira etapa é inscrever-se no Programa de parceiro do AppExchange. 1. Em seu navegador, acesse e clique em Aderir agora (Join Now). 2. Selecione a primeira caixa de seleção: Crie e comercialize aplicativos comerciais usando as tecnologias do salesforce.com (Fornecedor de software independente Parceiro ISV). 3. Preencha os campos sobre você e sua empresa. 4. Na área de perguntas adicionais, clique nas caixas suspensas e selecione a resposta apropriada. 5. Insira as palavras Captcha exibidas e clique em Enviar registro (Submit Registration). 6. Em um momento você receberá um com seu nome de usuário e senha temporária. Clique no link para o portal de parceiro (https://sites.secure.force.com/partners/pp2partnerloginpage) e faça o login. 7. Aceite os termos de uso e, em seguida, descarte as pop-ups que aparecerem. 8. Marque a página como favorita, você a usará muito. Parabéns, agora você faz parte do Programa de Parceiro ISV do Salesforce!

13 ISVforce Início rápido Version 29.0 Etapa 2: Gerar ambientes de desenvolvimento e de teste 5 Etapa 2: Gerar ambientes de desenvolvimento e de teste Para criar e vender aplicativos na plataforma do Force.com, você precisa de diferentes ambientes para diferentes tarefas. Chamamos estes ambientes de organizações. É fácil obter as organizações necessárias por meio do Portal do parceiro. A primeira organização que você precisa é a organização Partner Developer Edition, que é onde você faz seu desenvolvimento e, no final, empacota seu aplicativo. Se você já tem uma organização da Developer Edition, você também deve se inscrever na Partner Developer Edition, porque isso permite mais armazenamento de dados, licenças e usuários. 1. Você deve estar conectado ao Portal do parceiro. Se não estiver, clique em seu favorito e faça login agora. 2. No Portal de parceiros, na seção Links rápidos (Quick Links), clique em Criar uma organização de teste (Create a Test Org). Figura 2: Crie uma org 3. Na caixa suspensa Edição (Edition) e selecione Partner Developer Edition. Para simplificar, vamos nos referir a isso como sua dev org daqui em diante. 4. Marque a caixa de seleção para aceitar os termos e clique em Enviar (Submit). Em alguns momentos, você receberá um com um link para login. 5. Enquanto você aguarda este , pode economizar tempo gerando outras organizações que precisar. Depois disso, você fará inscrição para uma organização de teste, que é usada para testar o aplicativo desenvolvido. Na área Links rápidos (Quick Links), clique em Criar uma organização de teste (Create a Test Org) novamente, mas, dessa vez, escolha Enterprise/Platform Edition. Para simplificar, vamos nos referir a isso como sua test org daqui em diante. 6. Em breve, você receberá s que solicitarão que você faça login e altere sua senha para suas orgs dev e test. Clique no link, altere sua senha e crie uma pergunta e resposta de segurança para a senha. Quero saber mais... Talvez você tenha percebido que há alguns tipos diferentes de test orgs para as quais é possível se inscrever. As edições diferentes do Salesforce têm recursos diferentes e, se você planeja distribuir seu aplicativo para outras edições diferentes, pode ser importante testar seu aplicativo e certificar-se de que ele funciona em cada uma delas. Isso está além do escopo deste início rápido. Para obter mais informações, consulte Considerações de arquitetura para a Group Edition e a Professional Edition na página 41. Etapa 3: Obtenha uma Business Org Na etapa anterior, você obteve organizações especificamente para desenvolvimento e teste. Para publicar seu aplicativo e gerenciar suas licenças de aplicativo, você precisará de uma organização especificamente projetada para esta finalidade. Nesta etapa, você registra um caso no Portal de parceiro para ter a ISV CRM Edition provisionada para você. Pense nisso como sua business org, já que ela será usada para publicar e gerenciar as vendas e distribuição de seu aplicativo. Nota: Este recurso está disponível para parceiros elegíveis. Para obter mais informações sobre o Programa de parceiros, incluindo os requisitos de elegibilidade, visite-nos em 1. No portal do parceiro, na seção Links rápidos (Quick Links), clique em Criar um caso (Create a Case).

14 ISVforce Início rápido Version 29.0 Etapa 4: Edite sua listagem do editor 6 Figura 3: Criar um caso 2. Na seção Categoria (Category), escolha a primeira opção. 3. Na primeira caixa de categoria, selecione AppExchange e Listagens de serviço (Service Listings). 4. Na segunda caixa de categoria, selecione Solicitar CRM para o parceiro (Request CRM for Partner). 5. Na caixa suspensa Razão (Reason), selecione Solicitação da administração (Administration Request). 6. Na caixa suspensa Severidade (Severity), selecione Alta (High). 7. Em Assunto (Subject), insira Need ISV CRM. 8. No campo Descrição (Description), informe se você tem uma organização existente ou se precisa de uma nova. Se você já tem uma organização do Salesforce existente, pode fornecer a ID da organização no campo Descrição (Description) e duas licenças CRM adicionais serão adicionadas à sua organização. Se você não tem uma organização existente, nós forneceremos uma nova para você. Em qualquer situação, não esqueça de inserir seu endereço comercial e, em seguida, clique em Salvar (Save). Figura 4: Crie um caso no Portal do parceiro 9. Em breve você receberá outro , solicitando que você faça login e altere sua senha. Faça isso e marque a página como favorito, assim como fez anteriormente. Quero saber mais... Sua organização de business pode ter muitos nomes. Às vezes, ela pode ser citada como sua AppExchange Publishing Organization (APO), sua Organização de gerenciamento de licenças (LMO) ou sua CRM ISV Edition. Ela é todas essas coisas ao mesmo tempo, então é mais fácil simplesmente pensar nela como sua business org. Pode levar de 24h a 48h para que seu caso seja fechado. Você pode olhar no status de seus casos no Portal do parceiro clicando em Meus casos (My Cases) no menu Links rápidos (Quick Links). Etapa 4: Edite sua listagem do editor Nesta etapa, você faz login no AppExchange e fornece informações sobre sua empresa.

15 ISVforce Início rápido Version 29.0 Resumo da inscrição 7 1. Você ainda deve se conectar à sua business org. No canto superior direito, clique em Adicionar (Add) AppExchange Aplicativos (Apps). 2. No canto superior direito, clique em Login ou registro (Login or Register). 3. Na página de login, use seu nome de usuário e senha para sua business org. 4. Clique na guia Publicação (Publishing). 5. Clique em Perfil do seu provedor (Your Provider Profile). 6. Preencha as informações no Perfil do provedor e, em seguida, clique em Salvar (Save). Resumo da inscrição Neste primeiro tutorial, você está inscrito no Programa de parceiro e em todas as organizações para as quais você precisa desenvolver, testar e vender seus aplicativos. Vamos analisar os itens em que você se inscreveu e a finalidade de cada um deles. Programa de parceiro ISV O Programa de parceiro proporciona acesso ao Portal do parceiro, onde você pode criar organizações, registrar casos e encontrar informações gerais sobre o Programa de parceiro. Partner Developer Edition Também conhecido como sua dev org, é o lugar em que você desenvolve seus aplicativos e, no final das contas, o empacota para distribuição. Organização de teste EE Também conhecida como sua test org, é onde você instala e testa seu aplicativo, exatamente como um cliente fará. Organização ISV do CRM Também conhecida como sua business org, esta organização é usada para publicação, licenciamento e gerenciamento de seu aplicativo a partir da perspectiva de negócios. Para ajudar a gerenciar sua licença, você instalou o Aplicativo de gerenciamento de licença (LMA) em sua business org. Tutorial #2: Desenvolvimento de seu aplicativo Neste tutorial, você criará um aplicativo Hello World muito simples. Ele não fará muita coisa, mas é o suficiente para entender onde o desenvolvimento acontece no ciclo de vida de um aplicativo empacotado. Etapa 1: Criar um aplicativo Nesta etapa, você vai criar um aplicativo que contém uma página e uma guia para exibir a página. 1. Em seu navegador, conecte-se à organização da Partner Developer Edition. A partir de agora, nós a chamaremos de sua dev org. 2. Em Configuração, clique em Desenvolver > Páginas. 3. Na lista Visualforce, clique em Novo (New). 4. No campo Rótulo (Label) insira Greeting. 5. Na área de marcação do Visualforce, substitua o conteúdo da tag <h1> por Hello World.

16 ISVforce Início rápido Version 29.0 Etapa 1: Criar um aplicativo 8 Figura 5: Página do editor do Visualforce 6. Clique em Salvar. Agora você associará a página com uma guia. 1. No menu da barra lateral, clique em Criar (Create) > Guias (Tabs). 2. Na lista da guia Visualforce, clique em Novo (New). 3. No assistente da guia do novo Visualforce, clique na caixa suspensa e selecione a página Hello World que acabou de criar. 4. Na guia Rótulo (Label), insira Hello. 5. Clique no campo Estilo de guia (Tab Style) e selecione qualquer ícone para representar sua guia. 6. Clique em Avançar (Next); em seguida, clique em Avançar (Next) novamente e em Salvar (Save) na página final. Agora, você vai criar um novo aplicativo que contém sua guia e página. 1. No menu da barra lateral, clique em Criar (Create) > Aplicativos (Apps). 2. Clique em Novo. 3. No campo Rótulo do aplicativo (App Label), insira sua Hello World e clique em Avançar (Next) e em Avançar (Next) novamente na página seguinte. 4. Na página Selecionar as guias (Choose the Tabs), role para a parte inferior da lista Guias disponíveis (Available Tabs), localize a guia Hello e adicione-a à lista Guias selecionadas (Selected Tabs). Clique em Avançar. 5. Marque a caixa de seleção Visível (Visible) para tornar este aplicativo visível e, em seguida, clique em Salvar (Save). Tell Me More... Parece que você acabou de criar uma página em um contêiner dentro de outro contêiner. E você está prestes a colocar tudo isso em outro contêiner! O que acontece com todos esses contêineres e o que eles fazem? Uma guia é um contêiner para coisas que você deseja exibir na mesma página, como um gráfico, uma tabela ou uma página do Visualforce criada por você. Um aplicativo é um contêiner de guias que aparecem umas ao lado das outras. Quando você cria um aplicativo, ele fica disponível no selecionador de aplicativos no canto superior direito da tela. Um pacote é um contêiner para coisas que você carrega no AppExchange. Normalmente, um pacote contém um aplicativo que seus clientes podem instalar em suas organizações, mas você também pode carregar pacotes que ampliam aplicativos existentes. Você não criou um pacote ainda, você fará isso na próxima etapa.

17 ISVforce Início rápido Version 29.0 Etapa 2: Empacote seu aplicativo 9 Etapa 2: Empacote seu aplicativo Nesta etapa, você empacotará seu aplicativo para que ele seja distribuído no AppExchange. Um pacote é simplesmente um contêiner para componentes. Neste caso, é seu aplicativo, guia e página. 1. No menu da barra lateral, clique em Criar > pacotes (Create Packages) e, em seguida, clique em Novo (New). 2. No campo Nome do pacote (Package Name), insira Hello World e, em seguida, clique em Salvar (Save). 3. Na página Detalhe do pacote (Package Detail), clique em Adicionar componentes (Add Components). 4. Selecione seu aplicativo de Hello World e, em seguida, clique em Adicionar ao pacote (Add to Package). Tell Me More... Quando você clicou em Adicionar ao pacote (Add to Package), notou que sua guia Olá (Hello) e a página de Saudação (Greeting) foram automaticamente adicionadas ao pacote? Quando você cria um pacote, a estrutura detecta automaticamente componentes dependentes e adiciona-os ao pacote. Etapa 3: Atribuir um namespace Nesta etapa você escolherá um identificador único chamado namespace. O namespace diferencia seus componentes de outros componentes e permite que você faça coisas como atualizar o aplicativo depois que ele tenha sido instalado. Escolha cuidadosamente seu namespace, pois ele não poderá ser alterado posteriormente. 1. In the sidebar menu, click Create > Packages. 2. Na lista Configurações do desenvolvedor (Developer Settings), clique em Editar (Edit) e, na pagina seguinte, clique em Continuar (Continue). 3. No campo Prefixo de namespace (Namespace Prefix), insira um ID alfanumérico com 1 a 15 caracteres e, em seguida, clique em Verificar disponibilidade (Check Availability). Repita esta etapa até que você tenha um namespace exclusivo. 4. No campo Pacote a ser gerenciado (Package to be managed), selecione seu pacote Hello World e clique em Revisar suas seleções (Review Your Selections). 5. Revise as informações na página e clique em Salvar (Save). Tell Me More... No código subjacente, seu namespace está anexado como prefixo a todos os componentes empacotados em sua "dev org". Isto permite que seu pacote e seus conteúdos sejam diferenciados dos de outros desenvolvedores, e garante o controle exclusivo de todos os componentes empacotados. Etapa 4: Carregar uma versão beta Antes de carregar uma versão de produção de seu aplicativo, é uma prática comum carregar uma versão beta para teste. 1. In the sidebar menu, click Create > Packages. 2. Na página Pacotes (Packages), clique em sue pacote Hello World e, em seguida, clique em Carregar (Upload). 3. Na página Carregar pacote (Upload Package), insira um nome e um número de versão. 4. Em Tipo de versão (Release Type), certifique-se de selecionar Gerenciado Beta (Managed Beta). 5. Scroll to the bottom and click Upload. Talvez leve algum tempo até que o upload seja concluído. Parabéns, você carregou um aplicativo para o AppExchange! Seu aplicativo não está disponível para o público, mas você pode acessá-lo por meio de um link de instalação. Você fará isso na próxima etapa.

18 ISVforce Início rápido Version 29.0 Etapa 5: Instalar e testar a versão beta 10 Tell Me More... Uma versão beta tem, como finalidade única, o teste. Portanto, uma versão beta somente pode ser instalada em uma Developer Edition do test org, ou sandbox (falaremos sobre isso mais adiante). A seguir, você instalará a versão beta no test org, criado na Etapa 2: Gerar ambientes de desenvolvimento e de teste. Etapa 5: Instalar e testar a versão beta Instalar a versão beta é fácil, basta clicar no link e fornecer o nome de usuário e senha usados para seu "test org". 1. Clique agora na URL de instalação. Figura 6: Link da URL de instalação 2. Na página de login, insira o nome de usuário e senha de sua "test org". 3. On the Package Installation Details page, click Continue. 4. Clique em Avançar. 5. Na página Nível de segurança (Security Level), clique em Conceder acesso a todos os usuários (Grant access to all users) e clique em Avançar (Next). 6. Clique em Instalar. 7. Depois de concluída a instalação, você poderá selecionar seu aplicativo no selecionador de aplicativos no canto superior direito. Figura 7: Aplicativo Hello World 8. Você deve consultar sua guia Hello e o texto de saudação na sua página. Figura 8: Guia e página Hello World

19 ISVforce Início rápido Version 29.0 Resumo do desenvolvimento 11 Neste ponto você normalmente testaria o aplicativo e verificaria se ele funciona como projetado. Seu aplicativo instala e exibe o que você deseja. Então, vamos prosseguir. Tell Me More... Os pacotes beta também são instalados em sandboxes. Uma sandbox é uma replicação da organização de seu cliente que permite que ele desenvolva, teste ou instale aplicativos e verifique as alterações que deseja confirmar. Nenhuma das organizações para as quais você se inscreveu neste livro de exercícios tem uma sandbox, mas se você tem uma sandbox em outra organização e deseja instalar seu aplicativo nela, você deve substituir a parte inicial da URL instalação por Resumo do desenvolvimento Parabéns, você acabou de concluir uma parte importante do ciclo de vida do desenvolvimento de software! Alterações adicionais ao seu aplicativo seguirão o mesmo procedimento: 1. Modifique o aplicativo existente em sua "dev org" 2. Empacote o aplicativo. 3. Carregue como um pacote beta. 4. Instale a versão beta em uma "test org" 5. Teste o aplicativo instalado. Tutorial #3: Publicação e licenciamento Imagine que você passou por alguns ciclos de desenvolvimento com sua versão beta e está pronto para publicar um aplicativo público. A próxima etapa é carregar um aplicativo em produção, ou o que chamamos de versão gerenciada-liberada de seu aplicativo. Então, é possível criar uma listagem para que outras pessoas possam encontrar seu aplicativo e saber o que ele faz. Finalmente, é preciso conectar seu aplicativo à sua "business org" para que você possa gerenciar as licenças para as pessoas que instalarem seu aplicativo. Etapa 1: Carregamento para o AppExchange Esta etapa parecerá familiar, ela é semelhante ao carregamento de uma versão beta. 1. Se você acompanhou estas instruções sem interrupções, provavelmente ainda deve estar conectado à sua "test org". Vá em frente e conecte-se agora à sua "dev org". 2. Observe que, no canto superior direito, existe um link que diz: Desenvolvimento do Hello World, versão 1.0 (Developing Hello World, version 1.0). Clique no link para ir diretamente para a página Detalhe do pacote (Package Detail). Figura 9: Developing Hello World, version Na página Detalhe do pacote (Package Detail), clique em Carregar (Upload). 4. Em Tipo de versão (Release Type), selecione Gerenciado Liberado (Managed Released). 5. Scroll to the bottom and click Upload.

20 ISVforce Início rápido Version 29.0 Etapa 2: Crie sua listagem de aplicativos Clique em OK na janela pop-up. Etapa 2: Crie sua listagem de aplicativos Nesta etapa, você irá editar sua listagem de aplicativos e conectar sua "business org" ao seu aplicativo. 1. Depois de carregar o pacote, você verá um link para publicar no AppExchange, clique nele. Figura 10: Publique no AppExchange 2. Será apresentada uma caixa de diálogo para login. Dessa vez, use seu nome de usuário e senha para sua "business org". 3. Leia e concorde com os termos e condições e, em seguida, clique em Eu concordo (I Agree). 4. A primeira pergunta é se você já listou no AppExchange. Você fez isso no Tutorial nº 1: Inscrição, Etapa 4: Edite sua listagem do editor na página 6, então, selecione Sim (Yes) e em seguida, clique em Continuar (Continue). 5. Click Link New Organization. 6. Você será solicitado a informar seu nome de usuário e senha. Insira os valores para sua "dev org". 7. Click the Publishing tab. 8. Clique em Criar nova lista (Create New Listing). 9. Na janela pop-up, insira um Título da listagem do Aplicativo Hello World por <seu nome>. É preciso adicionar seu nome porque o título da listagem deve ser exclusivo e nós não podemos ter ninguém listando aplicativos Hello World genéricos. 10. Selecione o botão de seleção para Aplicativo (App) e, em seguida, clique em Enviar (Submit). 11. Preencha os campos obrigatórios na página Informações básicas (Basic Information). 12. Clique em Salvar. Sua listagem está ativa, mas ainda há algumas coisas a serem feitas, inclusive preencher as guias na parte superior. Isso será feito na próxima etapa. Tell Me More... fique preocupado demais em fazer com que sua listagem seja perfeita, ela ainda não é pública e você poderá alterá-la a qualquer momento. Etapa 3: Complete sua listagem Existem outras guias na parte superior: Oferta (Offering), Visão geral (Overview), Especificações (Specs), Suporte (Support), Conteúdo carregado (Uploaded Content) e Leads. É preciso preencher os campos obrigatórios nestas guias antes que sua listagem esteja completa. 1. Clique em Oferta (Offering). 2. Para vincular seu aplicativo, clique em Alterar Pacotes (Change Packages). 3. Selecione seu aplicativo e mova-o para a lista Selecionado (Selected), e clique em OK.

21 ISVforce Início rápido Version 29.0 Etapa 4: Instale o LMA Na caixa suspensa com o rótulo Selecione a versão mais recente do seu aplicativo (Select the latest version of your application), selecione seu aplicativo. 5. Clique em Salvar. 6. Clique na guia Visão geral (Overview). 7. Selecione Livre (Free). 8. Preencha o campo Descrição completa (Full Description) e clique em Salvar (Save). 9. Clique na guia Especificações (Specs). 10. Clique em Alterar edições (Change Editions). 11. Na janela pop-up, mova todas as edições para a lista Selecionado (Selected) e clique em Enviar (Submit). Nota: A página Visualforce criada está disponível em todas as edições, mas isso nem sempre acontece com outros recursos. Antes de desenvolver um aplicativo completo, você deve levar em consideração seu público-alvo e saber qual edição eles possuem. Para obter mais informações sobre as edições e os recursos compatíveis, consulte: Architectural Considerations for Group and Professional Editions na página Clique em Alterar idiomas (Change Languages). 13. Selecione o idioma em que você desenvolveu o aplicativo (provavelmente inglês) e, sem seguida, clique em Enviar (Submit). 14. Clique em Salvar. As outras guias não têm nenhum campo obrigatório. Deixe-os em branco por enquanto. É possível retornar e alterar posteriormente tudo aquilo que você fez até agora. Etapa 4: Instale o LMA O Aplicativo de gerenciamento de licenças (LMA) ajuda você a gerenciar as vendas, licenciamento e suporte de seu aplicativo. Para instalar o LMA, você precisará registrar um caso no Portal do parceiro. Depois que seu caso estiver resolvido, instale o LMA em sua organização de negócios. Nota: Este recurso está disponível para parceiros elegíveis. Para obter mais informações sobre o Programa de parceiros, incluindo os requisitos de elegibilidade, visite-nos em 1. Clique no link LMA no que você recebeu. 2. Você pode ler o anúncio do aplicativo e, em seguida, clicar em Adquirir agora (Get It Now). 3. Na janela pop-up, selecione Em minha produção (In my production) Salesforce. 4. Leia e aceite os termos e condições e, em seguida, clique em Instalar (Install). 5. Confirme sua senha e clique em Enviar (Submit). 6. Na página Detalhes de instalação do pacote (Package Installation Details), clique em Continuar (Continue). 7. Clique em Avançar (Next), Avançar (Next) e Instalar (Install). 8. Clique em Implantar agora (Deploy Now) e, na página seguida, clique em Implantar (Deploy). 9. Clique no canto superior direito e verá que tem um novo aplicativo instalado.

22 ISVforce Início rápido Version 29.0 Etapa 5: Licenciamento e gerenciamento de aplicativo 14 Figura 11: Aplicativo de gerenciamento de licenças Você não usará o LMA imediatamente, primeiro, você precisa desenvolver um aplicativo e publicá-lo. Você fará isso a seguir. Etapa 5: Licenciamento e gerenciamento de aplicativo Nesta etapa você conectará seu aplicativo ao Aplicativo de gerenciamento de licença (LMA) em sua "business org". 1. Click the Publishing tab. 2. Ao lado do pacote que você carregou, clique em Gerenciar licenças (Manage Licenses). 3. Click Register. 4. Clique em Atribuir (somente uma vez) (Assign (One-Time Only)). 5. Insira as credenciais de login de sua "business org" e clique em Enviar (Submit). 6. Clique em Salvar. Pode levar até 30 minutos para que seu aplicativo se conecte ao LMA. Faça uma pausa, você merece! Resumo de publicação e licenciamento Neste tutorial, você carregou seu aplicativo gerenciado-liberado para o AppExchange e criou uma listagem para seu aplicativo. Você também instalou o Aplicativo de gerenciamento de licença e o vinculou a seu aplicativo. Você pode usar o LMA tanto para gerenciar e renovar licenças quanto para definir configurações de licenças padrão. Por exemplo, você pode licenciar seu aplicativo como uma avaliação gratuita que expira depois de um número de dias especificado. Para obter mais informações, consulte Gerenciando licenças fornecendo suporte administrativo na página 135. Agora mesmo, seu aplicativo tem uma listagem privada no AppExchange que você pode compartilhar com clientes potenciais, mas o público não o vê, a menos que tenha o link. Antes que você possa listar o aplicativo publicamente, precisará passar pela análise de segurança, mas esse tema está além do escopo deste início rápido. Para obter mais informações, consulte Etapas da análise de segurança na página 93. Tutorial nº 4: Atualização de seu aplicativo Se você está familiarizado com o Salesforce, já sabe que fornecemos versões de correção semanais para corrigir erros e, algumas vezes por ano, distribuímos uma versão mais significativa a fim de introduzir novos recursos. Como um ISV, você pode fazer a mesma coisa, distribuindo uma versão de correção para corrigir erros e uma versão mais significativa para novos recursos. Para novos recursos, o processo é o mesmo que você já experimentou anteriormente. Você começa pela modificação de seu aplicativo, empacota-o, carrega uma versão beta, testa a versão beta e, depois, carrega uma versão gerenciada-liberada. As versões mais significativas incrementam a versão para o próximo número inteiro, de 1.0 para 2.0, por exemplo, e as versões

23 ISVforce Início rápido Version 29.0 Etapa 1: Criando uma Organização de correções 15 menos significativas para o primeiro número após o ponto, de 1.0 para 1.1. existem regras rígidas sobre o que constitui uma versão mais ou menos significativa. Isso fica por sua conta. Para as correções de erros, o processo é um pouco diferente. Você começa criando uma "patch org", um ambiente especial que tem funcionalidade limitada e que somente pode ser usado para desenvolver uma correção de um pacote específico. Depois de carregar sua correção, você terá a opção de distribuir automaticamente a correção para seus clientes, de forma que eles obtenham as correções para seus erros na próxima vez que fizerem login. As versões menos significativas incrementam o número de versão para o segundo decimal, ou seja, de 1.0 para 1.0.1, por exemplo. As versões mais ou menos significativas devem ser instaladas pelos clientes (extraídas). Entretanto, é possível instalar automaticamente versões de correção diretamente nas organizações do cliente. Este recurso está disponível somente para parceiros registrados do ISVforce/OEM. Para obter mais informações sobre o Programa de parceiros, incluindo os requisitos de elegibilidade, visite-nos em Como o processo de desenvolvimento de uma versão mais significativa já é familiar, vamos fazer uma versão de correção e distribuí-la de forma automática para nossos clientes. Etapa 1: Criando uma Organização de correções Para criar uma correção, você precisa gerar uma nova organização de desenvolvimento de correções. Para criar uma versão de correção: 1. Em Configuração, clique em Criar > Pacotes. 2. Clique no nome do seu pacote gerenciado. 3. Clique na guia Organização de correções e, em seguida, clique em Novo. 4. Selecione a versão do pacote para a qual você deseja criar uma correção na lista suspensa Corrigindo a versão principal. O tipo de lançamento deve ser Gerenciado - Lançado. 5. Digite um Nome de usuário para fazer login na organização de correção. 6. Digite um Endereço de associado ao seu login. 7. Clique em Salvar. Nota: Se você perder as informações de login, clique em Redefinir na página de detalhes do pacote em Organização de desenvolvimento de correções para redefinir o login para sua organização de desenvolvimento de correções. Em um instante, você receberá um com suas credenciais de login. Depois que estiver conectado e tiver alterado sua senha, prossiga para a próxima etapa. Tell Me More... O desenvolvimento em uma organização de desenvolvimento de correção é limitado. Segue uma lista de advertências: Novos componentes do pacote não podem ser adicionados. Componentes existentes do pacote não podem ser excluídos. Os controles de acesso da API e Apex dinâmicos não podem ser alterados para o pacote. Nenhuma depreciação de nenhum código do Apex. Nenhum relacionamento novo de classe do Apex, como extends, pode ser adicionado. Nenhum modificador novo de acesso do Apex, como virtual ou global, pode ser adicionado. Nenhum serviço da Web novo pode ser adicionado. Nenhuma dependência de novo recurso pode ser adicionada.

24 ISVforce Início rápido Version 29.0 Etapa 2: Desenvolvimento de uma correção 16 Etapa 2: Desenvolvimento de uma correção Estamos fazendo uma simples alteração em seu aplicativo. Em vez de exibir somente um Hello World, você adicionará a data de hoje. 1. In your patch org, from Setup, click Create > Packages and click your Hello World package. 2. Na lista de Componentes do pacote (Package Components), clique em sua página Saudação (Greeting). 3. Clique em Editar. 4. Logo após a tag </h1> de fechamento, insira o seguinte: <br/> <apex:outputtext value="the date and time is: {!NOW()}"/> 5. Clique em Salvar. 6. Para ver o resultado, clique na guia Olá (Hello) e você poderá observar que o horário e a data de hoje serão exibidos. Figura 12: Exibir a data e a hora Isto é tudo o que você precisa fazer nesta correção. Vamos prosseguir. Tell Me More... A função!now retorna a data em um formato padrão. Existem muitas funções integradas e maneiras de formatar a saída. Para obter mais informações, consulte o Visualforce Developer's Guide (Guia do desenvolvedor do Visualforce). Etapa 3: Carregando a correção Normalmente, a próxima etapa é carregar uma correção beta e instalá-la em uma organização de teste. Como isto é muito semelhante à Etapa 4: Carregar uma versão beta e à Etapa 5: Instalar e testar a versão beta, que você concluiu no Tutorial nº 2: Desenvolvimento de seu aplicativo, não obrigaremos você a fazer isso novamente. 1. In your patch org, from Setup, click Create > Packages and click your Hello World package. 2. Na página Pacote de upload, clique em Upload. 3. Insira um nome de versão, como por exemplo a data de hoje. 4. Observe que o númerocorreção do Número da versão aumentou. 5. Selecione Gerenciado Liberado (Managed Released).

25 ISVforce Início rápido Version 29.0 Etapa 4: Instalar e atualizar automaticamente uma correção Como opção, insira e confirme a senha para compartilhar o pacote de modo privado com alguém que tenha a senha. insira uma senha se você quiser tornar o pacote disponível a qualquer pessoa no AppExchange e compartilhar o seu pacote publicamente. 7. O Salesforce seleciona automaticamente os requisitos que encontra. Além disso, selecione qualquer outro componente necessário das seções Requisitos do pacote e Requisitos do objeto para notificar instaladores sobre requisitos para esse pacote. 8. Clique em Carregar. Parabéns, você carregou uma versão de correção. É preciso compartilhar esta correção com outras pessoas, e você fará isso a seguir. Etapa 4: Instalar e atualizar automaticamente uma correção Existem duas maneiras de entregar uma correção: você pode fazer com seus clientes a instalem ou distribuí-la automaticamente a eles. A distribuição automática de atualizações ocorre na próxima vez que seu cliente se conectar. Vamos tentar fazer isso. 1. Conecte-se à sua "dev org". 2. No canto superior direito, clique em Desenvolvimento do Hello World, versão 1.0 (Developing Hello World, version 1.0). Figura 13: Developing Hello World, version Na página Detalhe do pacote (Package Detail), clique em Upgrades automáticos (Push Upgrades). 4. Clique em Agendar upgrades automáticos. 5. Na lista suspensa Versão de correção (Patch Version), selecione a versão de correção a ser atualizada automaticamente. 6. No campo Data de início agendada (Scheduled Start Date), insira a data de hoje. 7. Na seção Selecionar organizações de destino (Select Target Organizations), selecione sua "test org". 8. Clique em Agendar. E pronto! Você distribuiu uma versão de correção para seus assinantes de forma que eles obtenham as atualizações automaticamente. Você deve se certificar de que seus clientes receberam a correção para garantir que ela foi instalada com sucesso. Tell Me More... As versões beta não são elegíveis para atualizações automáticas. Você deve desinstalar uma versão beta e depois instalar uma nova. Resumo da atualização de seu aplicativo Neste tutorial você aprendeu a atualizar seu aplicativo em uma "patch org" e a distribuir atualizações automáticas para seus clientes. Você começou criando uma "patch org" específica para uma versão de pacote liberada. Depois, você modificou seu aplicativo, carregou-o e programou a distribuição de atualização automática para seus clientes.

26 ISVforce Início rápido Version 29.0 Resumo da atualização de seu aplicativo 18 Parabéns, você terminou! Ou acabou de começar? É possível modificar seu aplicativo para ser qualquer coisa que você queira que ele seja, ou criar uma nova "dev org" no Portal do parceiro e criar outro aplicativo. É possível usar as mesmas "sales org" e "test org" e tudo mais que você tenha configurado para publicar e gerenciar muitos aplicativos. Você está a caminho do sucesso com o ISVforce!

27 Capítulo 3 Arquitetura e desenvolvimento do aplicativo Tópicos: Esta seção contém conceitos importantes e decisões relacionadas à arquitetura Entendendo pacotes gerenciados e a serem consideradas antes de iniciar o desenvolvimento, como: não gerenciados Componentes disponíveis Componentes disponíveis Limites para Group Edition e Professional Edition Comportamento especial dos Protegendo sua propriedade intelectual componentes nos pacotes Noções básicas sobre dependências Considerações sobre a arquitetura para Group Edition e Professional Edition Noções básicas sobre dependências Criando aplicativos em pacote com o Chatter Correspondendo à aparência do Salesforce Desenvolvendo documentação de aplicativo Criação de configurações de perfil personalizadas Sobre conjuntos de permissões e configurações do perfil Visão geral de aplicativos conectados Sobre o WSDL do parceiro Trabalhando com serviços externos Protegendo sua propriedade intelectual Hub de ambiente Links relacionados Considerações sobre a arquitetura para Group Edition e Professional Edition

28 Arquitetura e desenvolvimento do aplicativo Version 29.0 Entendendo pacotes gerenciados e não gerenciados 20 Entendendo pacotes gerenciados e não gerenciados Os pacotes vêm em duas formas não gerenciados e gerenciados: Pacotes não gerenciados Pacotes não gerenciados geralmente são usados para distribuir projetos de código fonte aberto ou modelos de aplicativo a fim de fornecer aos desenvolvedores as ferramentas básicas para um aplicativo. Quando os componentes são instalados de um pacote não gerenciado, os componentes podem ser editados na organização em que estão instalados. O desenvolvedor que criou e carregou o pacote não gerenciado não tem controle sobre os componentes instalados e não pode alterá-los nem atualizá-los. Os pacotes não gerenciados não devem ser usados para migrar componentes de um sandbox para a organização de produção. Em vez disso, use Conjuntos de alterações. Pacotes gerenciados Geralmente, os pacotes gerenciados são usados pelos parceiros do salesforce.com para distribuir e vender aplicativos para clientes. Esses pacotes devem ser criados a partir de uma organização da Edição Developer. Usando o AppExchange e o LMA (License Management Application), os desenvolvedores podem vender e gerenciar licenças baseadas no usuário para o aplicativo. Pacotes gerenciados também são totalmente atualizáveis. Para garantir upgrades perfeitos, determinadas alterações destrutivas, como a remoção de objetos ou campos, não podem ser executadas. Os pacotes gerenciados também oferecem os seguintes benefícios: Proteção à propriedade intelectual do Apex Suporte integrado para controle de versão para componentes acessíveis da API Capacidade de dividir e corrigir uma versão anterior Capacidade de enviar perfeitamente atualizações de correção para assinantes Nomenclatura exclusiva de todos os componentes para garantir instalações sem conflito As definições a seguir ilustram esses conceitos: Componentes O componente é parte integrante de um pacote. Define um item, como um objeto personalizado ou campo personalizado. Você pode combinar componentes em um pacote para produzir recursos ou aplicativos poderosos. Em um pacote não gerenciado, os componentes não podem sofrer upgrade. Em um pacote gerenciado, alguns componentes podem ser atualizados, enquanto outros, não. Atributos O atributo é um campo em um componente, como o nome de um modelo de ou a caixa de seleção Permitir relatórios em um objeto personalizado. Em um componente não atualizável de um pacote não gerenciado ou gerenciado, os atributos são editáveis pelo desenvolvedor (quem criou o pacote) e pelo assinante (quem instalou o pacote). Em um componente passível de upgrade em um pacote gerenciado, alguns atributos podem ser editados pelo desenvolvedor, outros podem ser editados pelo assinante e ainda outros ficam bloqueados, o que significa que eles não podem ser editados nem pelo desenvolvedor nem pelo assinante. Planejando o lançamento de pacotes gerenciados O lançamento de um pacote do AppExchange é semelhante ao de qualquer outro programa quanto ao desenvolvimento de software. Convém implantá-lo em iterações para garantir que cada componente funcione conforme planejado. Pode até mesmo haver testadores beta que tenham se oferecido para instalar uma versão anterior de seu pacote e fornecer comentários. Depois que você o pacote, publicando-o no AppExchange, qualquer pessoa poderá instalá-lo. Portanto, planeje o lançamento com cuidado. Revise os estados definidos a seguir para se familiarizar com o processo de lançamento. O Salesforce aplica

29 Arquitetura e desenvolvimento do aplicativo Version 29.0 Componentes disponíveis 21 automaticamente o estado adequado a seu pacote e componentes dependendo das configurações de carregamento escolhidas e da fase em que está no processo de lançamento. Estado gerenciado (Unmanaged) Descrição O pacote não foi convertido em um pacote gerenciado ou o componente não foi adicionado a um pacote gerenciado. Observe que um componente no estado Gerenciado - Beta (Managed - Beta) pode se tornar gerenciado (Unmanaged) se for removido de um pacote gerenciado. Todos os pacotes são não gerenciados a menos que indicado de outra forma por um dos seguintes ícones gerenciados. Gerenciado - Beta (Managed - Beta) O pacote ou o componente foi criado na organização atual do Salesforce e é gerenciado, mas não foi lançado por um destes motivos: foi carregado. Foi carregado com a opção Gerenciado - Beta (Managed - Beta) selecionada. Essa opção impede que ele seja publicado e se torne publicamente disponível no AppExchange. O desenvolvedor ainda poderá editar qualquer componente, mas o instalador provavelmente não, dependendo dos componentes incluídos. Gerenciado - Lançado (Managed - Released) Correção (Patch) Gerenciado - Instalado (Managed - Installed) O pacote ou o componente foi criado na organização atual do Salesforce e é gerenciado. Ele também foi carregado com a opção Gerenciado - Beta selecionada, indicando que ele pode ser publicado no AppExchange e se tornar publicamente disponível. Observe que, depois que um pacote passar para esse estado, algumas propriedades dos componentes não poderão mais ser editadas pelo desenvolvedor e pelo instalador. Esse tipo de lançamento é considerado uma versão principal. Para fornecer uma pequena atualização a um pacote gerenciado, considere criar uma versão de correção em vez de uma nova versão. Uma versão de correção permite que um desenvolvedor altere a funcionalidade de componentes existentes em um pacote gerenciado, assegurando que inscritos não vejam alterações visíveis no pacote. Esse tipo de lançamento é considerado uma versão da correção. O pacote ou o componente foi instalado a partir de outra organização do Salesforce, mas é gerenciado. Um desenvolvedor pode decidir refinar a funcionalidade de um pacote gerenciado com o passar do tempo conforme os requisitos são desenvolvidos. Nesse processo, o editor pode projetar novamente alguns dos componentes no pacote gerenciado. Os desenvolvedores não podem excluir alguns componentes em um pacote Gerenciado - Lançado, mas podem recusar um componente de uma versão posterior do pacote para que novos assinantes não recebam o componente. Enquanto isso, o componente continua funcionando para assinantes e integrações da API existentes. Componentes disponíveis Nem todos os componentes podem ser empacotados para distribuição. Se você criar um aplicativo que usa componentes que não são empacotáveis, seus assinantes terão que criar e configurar esses componentes após instalar seu aplicativo. Se a facilidade da instalação for uma preocupação importante para seus assinantes, preocupe-se com os componentes empacotáveis enquanto desenvolve.

30 Arquitetura e desenvolvimento do aplicativo Version 29.0 Componentes disponíveis 22 A tabela a seguir mostra os componentes disponíveis em um pacote gerenciado e se eles podem ser atualizados ou excluídos. As seções a seguir descrevem as colunas da tabela e seus valores. Atualizável Alguns componentes são atualizados para uma versão mais recente quando um pacote é atualizado. : O componente não é atualizado. Sim: O componente é atualizado. Pode ser excluído pelo assinante O assinante ou instalador de um pacote pode excluir o componente. : O assinante não pode excluir o componente. Sim: O assinante pode excluir o componente. Pode ser excluído pelo desenvolvedor Um desenvolvedor pode excluir alguns componentes depois da atualização do pacote para Gerenciado - Lançado. Os componentes excluídos não são removidos da organização do assinante durante a atualização do pacote. O atributo Protegível contém mais detalhes sobre a exclusão de componentes. : O desenvolvedor não pode excluir um componente Gerenciado - Lançado. Sim: O desenvolvedor pode excluir um componente Gerenciado - Lançado. Protegível Os desenvolvedores podem marcar determinados componentes como protegidos. Componentes protegidos não podem ser vinculados ou fazerem referência a componentes criados na organização do assinante. O desenvolvedor pode excluir um componente protegido em uma versão futura sem se preocupar com falha nas instalações. Mas assim que o componente for marcado como desprotegido e lançado globalmente, o desenvolvedor não poderá excluí-lo. Quando o assinante atualiza para a versão do pacote com o componente excluído, ele é removido da organização do assinante. : O componente não pode ser marcado como protegido. Sim: O componente pode ser marcado como protegido. Proteção de IP Determinados componentes incluem automaticamente proteção de propriedade intelectual, como o código ofuscante do Apex. As únicas exceções são os métodos do Apex declarados como globais, o que significa que as assinaturas do código podem ser visualizadas pelo assinante. As informações nos componentes incluídos em um pacote e publicados devem ser visíveis para usuários no AppExchange. Tenha cuidado ao adicionar seu código ou qualquer outro componente que você não possa esconder em um aplicativo a um s-control personalizado, fórmula ou página do Visualforce. : O componente não suporta proteção de propriedade intelectual. Sim: O componente suporta proteção de propriedade intelectual. Componente Atualizável Pode ser excluído pelo assinante Pode ser excluído pelo desenvolvedor Protegível Proteção de IP Ação Sim Instantâneo analítico Sim Sim Classe do Apex Sim Sim (caso não esteja definido para acesso global) Sim

31 Arquitetura e desenvolvimento do aplicativo Version 29.0 Componentes disponíveis 23 Componente Atualizável Pode ser excluído pelo assinante Pode ser excluído pelo desenvolvedor Protegível Proteção de IP Motivo de compartilhamento do Apex Sim Recálculo do compartilhamento do Apex Sim Sim Acionador do Apex Sim Sim (caso não esteja definido para acesso global) Sim Aplicativo Sim Sim Tipo de artigo Sim Call Center Sim Layout compacto Sim Sim Aplicativo conectado Sim Sim Sim Botão ou link personalizado Sim Sim, caso protegido, exceto links personalizados (somente para a home page) Campo personalizado Sim Sim Sim Rótulo personalizado Sim Sim, caso protegido Sim Objeto personalizado Sim Tipo de relatório personalizado Sim Configuração personalizada Sim Sim Painel Sim Sim Documento Sim Sim Modelo de Sim Sim Conjunto de campos Sim Página flexível Sim Fluxo Sim Sim Pasta Sim Sim

32 Arquitetura e desenvolvimento do aplicativo Version 29.0 Componentes disponíveis 24 Componente Atualizável Pode ser excluído pelo assinante Pode ser excluído pelo desenvolvedor Protegível Proteção de IP Componente da home page Sim Layout de home page Sim Sim Papel timbrado Sim Sim Modo de exibição de lista Sim Sim Layout de página Sim Sim Conjunto de permissões Sim Tipo de registro Sim Configuração do site remoto Sim Sim Relatório Sim Sim S-control Sim Recurso estático Sim Tab Sim Sim Sim Tradução Sim Regra de validação Sim Componente do Visualforce Sim Sim (se definido para acesso public) Sim Página do Visualforce Sim Alerta de de fluxo de trabalho Sim Sim, caso protegido Sim Atualização de campo do fluxo de trabalho Sim Sim, caso protegido Sim Mensagem de saída do fluxo de trabalho Sim Sim, caso protegido Sim Regra de fluxo de trabalho Sim Tarefa de fluxo de trabalho Sim Sim, caso protegido Sim

33 Arquitetura e desenvolvimento do aplicativo Version 29.0 Editando componentes e atributos após a instalação 25 Atributos e comportamentos do componente Apenas alguns atributos de um componente podem ser atualizados. Além disso, muitos componentes se comportam de forma diferente ou incluem restrições adicionais em um pacote gerenciado. É importante considerar esses comportamentos ao projetar um pacote. Links relacionados Editando componentes e atributos após a instalação Componentes adicionados automaticamente a pacotes Editando componentes e atributos após a instalação A tabela a seguir mostra quais componentes e atributos podem ser editados após a instalação a partir de um pacote gerenciado. As seções a seguir descrevem as colunas da tabela e seus valores. Editável pelo desenvolvedor O desenvolvedor pode editar os atributos de componentes nesta coluna. Esses atributos estão bloqueados na organização do assinante. Editável pelo assinante e desenvolvedor O assinante e o desenvolvedor podem editar os atributos de componentes nesta coluna. No entanto, eles não são atualizáveis. Somente os novos assinantes recebem as alterações mais recentes. Bloqueado Uma vez que um pacote estiver Gerenciado - liberado, o assinante e o desenvolvedor não poderão editar os atributos de componentes nesta coluna. Componente Editável pelo desenvolvedor Editável pelo assinante e desenvolvedor Bloqueado Ação Instantâneo analítico Classe do Apex Tipo de registro alvo Todos os campos exceto Layout de ação Tipo de registro alvo Valores predefinidos para campos de ação Todos os atributos exceto Nome exclusivo do Nome exclusivo do instantâneo analítico instantâneo analítico Versão da API Nome Código Motivo de compartilhamento do Apex Rótulo do motivo Nome do motivo Recálculo do compartilhamento do Apex Acionador do Apex Classe do Apex Versão da API Nome Código

34 Arquitetura e desenvolvimento do aplicativo Version 29.0 Editando componentes e atributos após a instalação 26 Componente Editável pelo desenvolvedor Editável pelo assinante e desenvolvedor Bloqueado Aplicativo Tipos de artigo Todos os atributos exceto Nome do aplicativo Nome do aplicativo Descrição Disponível para portal de Nome Rótulo clientes Rótulo no plural O canal exibe Começa com som de vogal Modelo de compartilhamento padrão Status de desenvolvimento Ativar divisões Conceder acesso usando a hierarquia Layouts de pesquisa Layout compacto Todos os atributos Aplicativo conectado Método de acesso URL ACS Nome da API URL do aplicativo da tela ID da entidade Criado em/por URL de callback Restrições de IP Chave do consumidor Nome do aplicativo Gerenciar conjuntos de Segredo do consumidor conectado permissões Instalado por do contato Gerenciar perfis Data instalada Telefone do contato URL de início móvel Data da última Descrição Usuários autorizados modificação/modificado URL do ícone Exigir o login dos usuários por URL de informações Atributos de SAML Versão Intervalos de IP Locais Certificado do provedor de serviços URL da imagem do URL inicial logotipo Tipo de assunto Escopos de OAuth Botão ou link personalizado Comportamento Altura Tipo de exibição URL do botão ou link Redimensionável Origem do conteúdo Mostrar barra de Descrição endereços Caixas de seleção de Mostrar barra de menus exibição Mostrar barras de rolagem Rótulo Mostrar barra de status Codificação de links Mostrar barras de ferramentas Largura Posição da janela Nome

35 Arquitetura e desenvolvimento do aplicativo Version 29.0 Editando componentes e atributos após a instalação 27 Componente Editável pelo desenvolvedor Editável pelo assinante e desenvolvedor Bloqueado Campo personalizado Formato de exibição da numeração automática Rastreamento de feeds do Chatter Nome do relacionamento filho Casas decimais Texto da Ajuda Tipo de dados Descrição Tipo de máscara ID externo Valor padrão Mascarar caractere Nome do campo Rótulo de campo Configuração de Obrigatório Fórmula compartilhamento Campo de resumo de Comprimento Classificar valores da lista de opções totalização Filtro de pesquisa Rótulo da lista relacionada Critérios de filtro de resumo de totalização Rastrear histórico de campos Objeto de resumo de totalização Tipo de resumo de totalização Exclusivo Rótulo personalizado Categoria Nome Descrição breve Valor Objeto personalizado Descrição Permitir atividades Nome do objeto Rótulo Permitir relatórios Rótulo no plural Disponível para portal de Nome do registro clientes Começa com som de vogal Configuração da Ajuda sensível ao contexto Modelo de compartilhamento padrão Status de desenvolvimento Ativar divisões Pesquisa avançada Conceder acesso usando a hierarquia Layouts de pesquisa Rastrear histórico de campos Tipo de dados de nome do registro Formato de exibição do nome do registro Tipo de relatório personalizado Todos os atributos exceto Status de desenvolvimento e Nome do tipo de relatório Status de desenvolvimento Nome do tipo de relatório Configuração personalizada Nome do objeto Descrição Rótulo Tipo de configuração Visibilidade

36 Arquitetura e desenvolvimento do aplicativo Version 29.0 Editando componentes e atributos após a instalação 28 Componente Editável pelo desenvolvedor Editável pelo assinante e desenvolvedor Bloqueado Painel Documento Modelo de Conjunto de campos Todos os atributos exceto Nome exclusivo do painel Nome exclusivo do painel Todos os atributos exceto Nome exclusivo do Nome exclusivo do documento documento Todos os atributos exceto Nome do modelo de Nome do modelo de Descrição Campos selecionados Nome Rótulo (apenas controlados pelo Campos disponíveis assinante) Página flexível Página flexível Fluxo Pasta Todo o fluxo Nome Nome exclusivo do fluxo Descrição URL Status Todos os atributos exceto Nome exclusivo da pasta Nome exclusivo da pasta Componente da home page Nome Corpo Posição do componente Tipo Layout de home page Papel timbrado Modo de exibição de lista Layout de página Conjunto de permissões Todos os atributos exceto Nome do layout Nome do layout Todos os atributos exceto Nome do papel timbrado Nome do papel timbrado Todos os atributos exceto Visualizar nome exclusivo Visualizar nome exclusivo Todos os atributos exceto Nome do layout de página Nome do layout de página Descrição Nome Rótulo Permissões de objeto personalizadas Permissões de campo personalizadas

37 Arquitetura e desenvolvimento do aplicativo Version 29.0 Editando componentes e atributos após a instalação 29 Componente Editável pelo desenvolvedor Editável pelo assinante e desenvolvedor Bloqueado Configurações de acesso à classe do Apex Configurações de acesso à página do Visualforce Tipo de registro Descrição Ativo Nome Rótulo do tipo de registro Processo de negócios Configuração do site remoto Todos os atributos exceto Nome do site remoto Nome do site remoto Relatório S-control Recurso estático Tab Todos os atributos exceto Nome exclusivo do Nome exclusivo do relatório relatório Conteúdo Pré-criar na página Nome do S-Control Descrição Tipo Codificação Nome do arquivo Rótulo Descrição Nome Arquivo Descrição Pronto para dispositivos Nome da guia Codificação móveis Tem barra lateral Estilo de guia Altura Rótulo S-control Link personalizado da página inicial Tipo URL Largura Tradução Todos os atributos Regra de validação Componente do Visualforce Descrição Ativo Nome da regra Fórmula de condição de erro Local do erro Mensagem de erro Versão da API Nome

38 Arquitetura e desenvolvimento do aplicativo Version 29.0 Componentes adicionados automaticamente a pacotes 30 Componente Editável pelo desenvolvedor Editável pelo assinante e desenvolvedor Bloqueado Descrição Rótulo Marcação Página do Visualforce Versão da API Nome Descrição Rótulo Marcação Alerta de de fluxo de trabalho s adicionais Descrição Modelo de Endereço de De Destinatários Atualização de campo do fluxo de trabalho Descrição Pesquisa Nome Valor do campo Notificar destinatário Valor da fórmula Mensagem de saída do fluxo de trabalho Descrição Usuário para enviar como Nome URL do ponto final Campos para envio Enviar ID da sessão Regra de fluxo de trabalho Descrição Ativo Nome da regra Critérios de avaliação Critérios de regra Tarefa de fluxo de trabalho Atribuir a Assunto Comentários Data de vencimento Notificar destinatário Prioridade Tipo de registro Status Componentes adicionados automaticamente a pacotes Ao adicionar componentes ao seu pacote, alguns componentes relacionados são automaticamente adicionados, caso seja necessário. Por exemplo, se você adicionar uma página do Visualforce a um pacote que faça referência a um controlador personalizado, a classe do Apex correspondente também é adicionada. Para entender quais componentes podem ser incluídos automaticamente, consulte a lista a seguir:

39 Arquitetura e desenvolvimento do aplicativo Version 29.0 Componentes adicionados automaticamente a pacotes 31 Ao adicionar este componente: Ação Instantâneo analítico Classe do Apex Estes tipos de componentes podem ser incluídos automaticamente: Objeto-alvo da ação (caso seja um objeto personalizado), campo-alvo da ação, tipo de registro da ação, valores de campos pré-definidos, layout da ação e qualquer campo personalizado que seja referenciado pelo layout da ação ou pelos valores predefinidos no objeto-alvo Relatórios Campos personalizados, objetos personalizados e outras classes do Apex às quais é feita alguma referência explícita, além de qualquer outra coisa à qual a classe do Apex faça referência direta Nota: Se uma classe do Apex fizer referência a um rótulo personalizado e esse rótulo tiver traduções, será necessário empacotar explicitamente os idiomas individuais desejados para que essas traduções sejam incluídas. Acionador do Apex Tipo de artigo Layout compacto Aplicativo personalizado Botão ou link personalizado Campo personalizado Layouts da home page personalizados Configurações personalizadas Objeto personalizado Campos personalizados, objetos personalizados e qualquer classe do Apex à qual é feita alguma referência explícita, além de qualquer outra coisa à qual o acionador do Apex faça referência direta Campos personalizados, o layout padrão da página Campos personalizados Guias personalizadas (incluindo guias da web), documentos (armazenados como imagens na guia), pasta de documentos Campos personalizados e objetos personalizados Objetos personalizados Componentes personalizados da home page no layout Motivos de compartilhamento do Apex, recálculos de compartilhamento do Apex, acionadores do Apex, botões ou links personalizados, campos personalizados, exibições de listas, layouts de página, tipos de registro, regras de validação Campos personalizados, regras de validação, layouts de página, exibições de listas, botões personalizados, links personalizados, tipos de registro, motivos de compartilhamento do Apex, recálculos de compartilhamento do Apex e acionadores do Apex Nota: Os motivos de compartilhamento do Apex não estão disponíveis em extensões. Quando estiverem empacotadas e instaladas, apenas as exibições de listas públicas de um aplicativo serão instaladas. Caso um objeto personalizado tenha alguma exibição de lista personalizada que você deseja incluir no seu pacote, certifique-se de que ela possa ser acessada por todos os usuários. Guia personalizada Objetos personalizados (incluindo todos os seus componentes), s-controls e páginas do Visualforce

40 Arquitetura e desenvolvimento do aplicativo Version 29.0 Comportamento especial dos componentes nos pacotes 32 Ao adicionar este componente: Painel Documento Modelo de Conjunto de campos Página flexível Guia Página flexível (Flexible Page) Fluxo Pasta Layout de página Tipo de registro Relatório S-control Tradução Regra de validação Páginas do Visualforce Regra de fluxo de trabalho Estes tipos de componentes podem ser incluídos automaticamente: Pastas, relatórios (incluindo todos os seus componentes), s-controls e páginas do Visualforce Pasta Pasta, papel timbrado, campos personalizados e documentos (armazenados como imagens no papel timbrado ou no modelo) Qualquer campo referenciado Todas as ações rápidas associadas Página flexível Objetos personalizados, campos personalizados, classes do Apex e páginas do Visualforce Tudo na pasta Botões personalizados, links personalizados, s-controls e páginas do Visualforce Mapeamentos de tipo de registro, layout compacto Pasta, campos personalizados, objetos personalizados, tipos de relatórios personalizados e s-controls personalizados Campos personalizados e objetos personalizados Termos traduzidos para o idioma selecionado em qualquer componente no pacote Campos personalizados (referenciados na fórmula) Classes do Apex usadas como controladores personalizados, componentes personalizados do Visualforce e conjuntos de campos referenciados Todos os alertas de fluxo de trabalho, atualizações de campos, mensagens de saída e tarefas associadas. Além disso, caso a regra de fluxo de trabalho seja feita para um objeto personalizado, ele também será automaticamente incluído. Nota: Alguns componentes do pacote, como as regras de validação ou tipos de registro, podem não ser exibidos na lista de componentes do pacote, mas serão incluídos e instalados com os outros componentes. Comportamento especial dos componentes nos pacotes Ao criar um aplicativo para distribuição, é importante considerar como a embalagem afeta seu aplicativo e seus componentes. Use as seguintes informações para ajudá-lo a determinar o que incluir nos seus pacotes, como projetar seu aplicativo e como distribuir seus pacotes (gerenciados ou não). Nota: Para obter mais informações sobre as propriedades de cada componente nos pacotes, consulte a tabela de propriedade dos componentes empacotados. Para obter mais informações sobre os atributos de cada componente nos pacotes, consulte a tabela dos atributos de componente.

41 Arquitetura e desenvolvimento do aplicativo Version 29.0 Comportamento especial dos componentes nos pacotes 33 Os nomes de componente devem ser exclusivos dentro de uma organização. Para garantir que os nomes do componente não estejam em conflito com a organização de um instalador, use um pacote gerenciado para que todos os nomes dos seus componentes contenham seu prefixo do namespace. Instantâneo analítico Os desenvolvedores de pacotes gerenciados devem considerar as implicações de introduzir instantâneos analíticos que façam referência a relatórios lançados em uma versão anterior do pacote. Se o assinante tiver excluído o relatório ou movido o relatório para uma pasta pessoal, o instantâneo analítico, fazendo referência ao relatório, não será instalado, embora a página de instalação do Pacote possa indicar que ele será. Ainda, se o assinante tiver modificado o relatório, esse relatório pode retornar resultados que afetam as informações exibidas pelo instantâneo analítico. Como prática recomendada, o desenvolvedor deve liberar um instantâneo analítico e os relatórios relacionados na mesma versão. Uma vez que o usuário em execução é selecionado pelo assinante, alguns mapeamentos do campo de instantâneo analítico podem se tornar inválidos se o usuário em execução não tiver acesso aos campos de origem ou destino. Classes ou acionadores do Apex Qualquer Apex incluído como parte de um pacote deve ter pelo menos 75% de cobertura de teste cumulativa. Cada acionador também deve ter alguma cobertura de teste. Quando você carrega seu pacote para o AppExchange, todos os testes são executados para garantir que executem sem erros. Além disso, todos os testes são executados quando o pacote é instalado na organização do instalador. O instalador pode decidir se deseja ou não instalar o pacote se qualquer teste falhar. Dica: Para evitar conflitos de nomenclatura, o Salesforce recomenda usar pacotes gerenciados para todos os pacotes contendo Apex. Assim, todos os objetos do Apex contêm seu prefixo de namespace. Por exemplo, se houver uma classe do Apex chamada MyHelloWorld e o namespace para a sua organização for OneTruCode, a classe é chamada de OneTruCode.MyHelloWorld. Mantenha as seguintes considerações em mente ao incluir o Apex no seu pacote: Pacotes gerenciados recebem um único namespace. Esse namespace é automaticamente anexado como prefixo aos nomes de classe, métodos, variáveis, etc., o que ajuda a evitar nomes duplicados na organização do instalador. Em uma transação única, é possível fazer referência a 10 namespaces únicos. Por exemplo, suponha que você tenha um objeto que execute uma classe em um pacote gerenciado quando o objeto for atualizado. Então essa classe atualiza um segundo objeto, que, por sua vez, executa uma classe diferente em um pacote diferente. Embora o segundo pacote não tenha sido acessado diretamente pelo primeiro, porque ocorre na mesma transação, ele é incluído no número de namespaces sendo acessados em uma única transação. Se você estiver expondo quaisquer métodos como serviços da web, inclua documentação detalhada para que os assinantes possam escrever código externo que chame seu serviço da web. Se uma classe do Apex fizer referência a um rótulo personalizado e esse rótulo tiver traduções, será necessário empacotar explicitamente os idiomas individuais desejados para que essas traduções sejam incluídas no pacote. Se você fizer referência a um objeto de compartilhamento do objeto personalizado (como MyCustomObject share) no Apex, isso adiciona uma dependência de modelo de compartilhamento ao seu pacote. Você deve definir o nível de acesso padrão de compartilhamento corporativo para o objeto personalizado para Privado para outras organizações instalarem seu pacote com sucesso. O código contido em uma classe ou acionador do Apex que é parte do pacote gerenciado é automaticamente ofuscado e não pode ser visualizado em uma organização realizando a instalação. As únicas exceções são os métodos declarados como globais, o que significa que as assinaturas de método podem ser visualizadas em uma organização executando a instalação. Você pode usar a anotação recusada no Apex para identificar métodos, classes, exceções, enumerações, interfaces e variáveis globais que não podem mais ser referidos em versões posteriores do pacote gerenciado em que residem.

42 Arquitetura e desenvolvimento do aplicativo Version 29.0 Comportamento especial dos componentes nos pacotes 34 Isso é útil quando você está refatorando código em pacotes gerenciados conforme as exigências evoluem. Depois de realizar o upload de outra versão de pacote como Gerenciado - Liberado, novos assinantes que instalam a última versão do pacote não podem ver os elementos recusados, embora os elementos continuem a funcionar para assinantes atuais e integrações da API. Qualquer Apex contido em um pacote não gerenciado que explicitamente faça referência a um namespace não pode ser carregado. O código do Apex que faz referência a Categorias de dados não pode ser carregado. Motivos de compartilhamento do Apex Os motivos de compartilhamento do Apex podem ser adicionados diretamente a um pacote, mas estão disponíveis apenas para objetos personalizados. Layouts compactos Quando você empacota um layout compacto, seus mapeamentos de tipo de registro não são incluídos. Os assinantes ou instaladores de um pacote que contém um layout compacto devem recriar seus mapeamentos de tipo de registro nas suas organizações. Aplicativos conectados Assinantes ou instaladores de um pacote não podem excluir um Aplicativo conectado em si; eles somente podem instalar seu pacote. Um desenvolvedor pode excluir um Aplicativo conectado depois de um pacote ser carregado como Gerenciado - Liberado. O Aplicativo conectado será excluído na organização do assinante durante a atualização do pacote. Se você atualizar um Aplicativo conectado e incluí-lo em uma nova versão de pacote, atualizar esse pacote em uma organização do cliente atualiza o Aplicativo conectado existente. Se você realizar a atualização automática de um pacote contendo um Aplicativo conectado cujo escopo OAuth ou intervalos de IP tenham mudado com relação à versão anterior, a atualização falhará. Esse é um recurso de segurança para bloquear o acesso amplo de usuários não autorizados a uma organização do cliente atualizando um pacote instalado. Um cliente ainda pode realizar uma atualização manual do mesmo pacote; isso é permitido porque é feito com o conhecimento e consentimento do cliente. É possível adicionar um Aplicativo conectado existente (ou seja, um criado antes de Summer '13) para um pacote gerenciado. Também ;e possível combinar Aplicativos conectados novos e existentes no mesmo pacote gerenciado. Para Aplicativos conectados criados antes de Summer '13, o URL de instalação existente continua válido até que você crie o pacote e faça upload de uma nova versão. Quando você carrega uma nova versão do pacote com um Aplicativo conectado atualizado, o URL de instalação não funcionará mais. Campos personalizados Os valores do campo da lista de opções para campos personalizados podem ser adicionados, editados ou excluídos por assinantes. Um desenvolvedor deve considerar cuidadosamente isso ao explicitamente fazer referência a um valor da lista de opções no código. Os valores da lista de opções podem ser adicionados ou excluídos pelo desenvolvedor. Durante uma atualização de pacote, nenhum novo valor de lista de opções é instalado na organização do assinante para os campos existentes. Qualquer valor da lista de opções excluído pelo desenvolvedor ainda está disponível na organização do assinante. Os desenvolvedores podem adicionar campos personalizados obrigatórios e universalmente obrigatórios a pacotes gerenciados, desde que tenham valores padrão. Os campos obrigatórios e do tipo numeração automática não podem ser adicionados depois de o objeto ser carregado em um pacote Gerenciado - Liberado.

43 Arquitetura e desenvolvimento do aplicativo Version 29.0 Comportamento especial dos componentes nos pacotes 35 Rótulos personalizados Se um rótulo for traduzido, o idioma deve ser explicitamente incluído no pacote para que as traduções sejam incluídas no pacote. Os assinantes podem substituir a tradução padrão para um rótulo personalizado. Objetos personalizados Se um desenvolvedor habilitar os atributos Permitir relatórios ou Permitir atividades em um objeto personalizado em pacote, a organização do assinante também tem esses recursos habilitados durante uma atualização. Depois de ativado em um pacote Gerenciado - Liberado, o desenvolvedor e o assinante não podem desativar esses atributos. Substituições de botão e link padrão também podem ser incluídas no pacote. Tipos de relatório personalizado O desenvolvedor pode editar um tipo de relatório personalizado em um pacote gerenciado depois de ser liberado, e adicionar novos campos. Os assinantes recebem automaticamente essas alterações ao instalarem uma nova versão do pacote gerenciado. No entanto, os desenvolvedores não podem remover objetos ou campos do tipo de relatório depois de o pacote ser liberado. Configurações personalizadas Se uma configuração personalizada estiver contida em um pacote gerenciado, e a Visibilidade for especificada como Protegida, a configuração personalizada não é contida na lista de componentes para o pacote na organização do assinante. Todos os dados para a configuração personalizada são ocultos do assinante. Guias personalizadas O Estilo da guia para uma guia personalizada deve ser único dentro do seu aplicativo. Porém, não precisa ser único dentro da organização em que está instalado. Um estilo de guia personalizada não entra em conflito com uma guia personalizada existente no ambiente do instalador. Para fornecer nomes de guia personalizada em diferentes idiomas, em Configuração, clique em Personalizar > Rótulos e nomes de guias > Renomear guias e rótulos. Os assinantes não podem editar guias personalizadas em um pacote gerenciado. Portal de clientes e Portal do parceiro Pacotes referindo-se aos campos Portal de clientes ou portal do parceiro são compatíveis. O assinante que instalar o pacote deve ter o portal respectivo habilitado para instalar o pacote. Componentes do painel Os desenvolvedores de pacotes gerenciados devem considerar as implicações de introduzir componentes do painel que façam referência a relatórios lançados em uma versão anterior do pacote. Se o assinante tiver excluído o relatório ou movido o relatório para uma pasta pessoal, o componente do painel fazendo referência ao relatório é descartado durante a instalação. Ainda, se o assinante tiver modificado o relatório, esse relatório pode retornar resultados que afetam as informações exibidas pelo componente de painel. Como prática recomendada, o desenvolvedor deve liberar um painel e os relatórios relacionados na mesma versão. Divisões Quando as divisões são habilitadas em um objeto personalizado em um pacote, a organização assinante deve ter o recurso de divisões habilitado para instalar o pacote. Configurar o filtro de divisão em um relatório não causa uma dependência. A configuração é descartada quando instalada na organização do assinante. Resumir pelo campo de divisão de objeto (por exemplo, Divisão da conta) em um relatório, provoca uma dependência.

44 Arquitetura e desenvolvimento do aplicativo Version 29.0 Comportamento especial dos componentes nos pacotes 36 Se o campo de divisão de objeto em um relatório for incluído em uma coluna, e a organização do assinante não tiver suporte para divisões no objeto, a coluna é descartada durante a instalação. Se você instalar um tipo de relatório personalizado que inclua um campo de divisão de objeto, como uma coluna, essa coluna é descartada se a organização não tiver suporte para divisões. Dependências de campo Desenvolvedores e assinantes podem adicionar, alterar ou remover dependências de campo. Se o desenvolvedor adicionar uma dependência de campo, ela é adicionada durante a instalação, a menos que o assinante já tenha especificado uma dependência para o mesmo campo. Se o desenvolvedor remover uma dependência, essa alteração não é refletida na organização do assinante durante uma atualização. Se o desenvolvedor introduzir um novo mapeamento de valor de lista de opções entre os campos dependente e controlador, o mapeamento é adicionado durante uma atualização. Se o desenvolvedor remover um mapeamento de valor de lista de opções, a alteração não é refletida na organização do assinante durante uma atualização. Conjuntos de campos Conjuntos de campo em pacotes instalados realizam diferentes comportamentos de mesclagem durante uma atualização de pacote: Se um desenvolvedor de pacote: Então, na atualização do pacote: Altera um campo de Indisponível para Disponível para conjunto de campos ou No conjunto de campos O campo modificado é colocado no fim de um conjunto de campos atualizado em qualquer coluna a que for adicionado. Adiciona um novo campo O novo campo é colocado no fim de um conjunto de campos atualizado em qualquer coluna a que for adicionado. Altera um campo de Disponível para o conjunto de campos ou No conjunto de campos para Indisponível O campo é removido do conjunto de campos atualizado. Altera um campo de No conjunto de campos para Disponível para o conjunto de campos (ou vice-versa) A alteração não é refletida no conjunto de campos atualizado. Nota: Os assinantes não são notificados das alterações aos seus conjuntos de campos instalados. O desenvolvedor deve notificar os usuários (por meio de notas de versão do pacote ou outra documentação) sobre quaisquer alterações aos conjuntos de campos liberados. Mesclagem tem o potencial para remover campos no seu conjunto de campos. Quando um conjunto de campos é instalado, um assinante pode adicionar ou remover qualquer campo. Páginas flexíveis Fluxos As exibições de lista não são incluídas automaticamente quando você empacota uma Página flexível, assim como os objetos personalizados não são referenciados nas propriedades dos componentes da Página Flexível. Você deve adicioná-lo manualmente. Só é possível incluir fluxos ativos nos pacotes. A versão ativa do fluxo é determinada ao clicar para carregar uma versão de pacote. O carregamento falha se não houver versões ativas do fluxo.

45 Arquitetura e desenvolvimento do aplicativo Version 29.0 Comportamento especial dos componentes nos pacotes 37 Se desejar atualizar um pacote gerenciado com uma versão diferente do fluxo, ative essa versão e carregue o pacote novamente. é preciso incluir a versão recém-ativada no pacote. No entanto, se você ativar uma versão de fluxo por engano e carregar o pacote, distribuirá essa versão de fluxo para todos. deixe de verificar que versão você realmente quer carregar. Em uma organização de desenvolvimento, não se pode excluir um fluxo ou versão de fluxo depois de ter sido carregado para um pacote gerenciado beta ou liberado. é possível excluir componentes de fluxo de instalações de pacote gerenciadas - beta em organizações de desenvolvimento. é possível excluir um fluxo de um pacote instalado. Para remover um fluxo empacotado de sua organização, primeiro é preciso desativá-lo, esperar 12 horas e depois desinstalar o pacote. Se houver diversas versões de um fluxo instaladas a partir de diversos pacotes não gerenciados, você não poderá remover apenas uma versão desinstalando seu pacote. Desinstalar um pacote gerenciado ou não gerenciado que contenha uma única versão do fluxo remove todo o fluxo, incluindo todas as versões. Os fluxos não podem ser incluídos em correções de pacote. Um fluxo ativo em um pacote ficará ativo assim que instalado. A versão ativa anterior do fluxo na organização de destino é desativada a favor da versão recém-instalada. Qualquer fluxo em andamento baseado na versão agora desativada continuará a ser executado sem interrupção, mas refletirá a versão anterior do fluxo. Atualizar um pacote gerenciado em sua organização instala uma nova versão do fluxo somente se houver uma versão mais recente do fluxo do desenvolvedor. Após diversas atualizações, você acabará com diversas versões do fluxo. Se você instalar um pacote contendo várias versões de fluxo em uma nova organização de destino, apenas a versão do fluxo mais recente incluída no pacote será implementada. Se você instalar um fluxo de um pacote não gerenciado que tenha o mesmo nome, mas um número de versão diferente de um fluxo já na sua organização, o fluxo recém-instalado se tornará a versão mais recente do fluxo existente. No entanto, se um fluxo empacotado tiver o mesmo nome e número de versão de um fluxo já na organização, a instalação do pacote irá falhar. é possível substituir um fluxo. O Cloud Flow Designer não pode abrir os fluxos instalados de pacotes gerenciados. Pastas Componentes que o Salesforce armazena em pastas, como documentos, não podem ser adicionados a pacotes quando armazenados em pastas pessoais e não arquivadas. Coloque documentos, relatórios e outros componentes que o Salesforce armazena em pastas em uma das suas pastas publicamente acessíveis. Componentes como documentos, modelos de , relatórios ou painéis são armazenados em novas pastas na organização do instalador usando os nomes de pasta do editor. Atribua a essas pastas nomes indicando que são parte do pacote. Se um novo relatório, painel, documento ou modelo de for instalado durante uma atualização, e a pasta contendo o componente tiver sido excluída pelo assinante, a pasta é recriada. Quaisquer componentes na pasta que tenham sido anteriormente excluídos não são restaurados. O nome de um componente contido em uma pasta deve ser único em todas as pastas do mesmo tipo de componente, excluindo pastas pessoais. Componentes contidos em uma pasta pessoal devem ser únicos apenas dentro da pasta pessoal. Componentes da home page Quando você cria um pacote do layout personalizado da home page, todos os componentes da home page personalizados incluídos no layout da página são automaticamente adicionados. Componentes padrão, como Mensagens e alertas, não são incluídos no pacote e não substituem as Mensagens e alertas do instalador. Para incluir uma mensagem no layout personalizado da home page, crie um componente da guia Inicial personalizado do tipo Área HTML contendo sua mensagem, em Configuração, em Personalizar > Início > Componentes da home page e adicione-o ao layout da sua home page.

46 Arquitetura e desenvolvimento do aplicativo Version 29.0 Comportamento especial dos componentes nos pacotes 38 Layouts de home page Depois de instalados, os layouts da home page personalizados são listados com todos os layouts de home page do assinantes. Distinga entre eles incluindo o nome do seu aplicativo no nome do layout da página. Modos de exibição de listas Exibições de lista associadas a filas não podem ser incluídas em um pacote. Multimoedas Se um assinante instalar um relatório ou tipo de relatório personalizado que inclua um campo de moeda de objeto, como uma coluna, essa coluna é eliminada se a organização do assinante não estiver habilitada para várias moedas. Fazer referência ao campo de moeda de um objeto nos critérios de um relatório, por exemplo, Moeda da conta (Account Currency), causa uma dependência. Resumir pelo campo de moeda de um objeto em um relatório causa uma dependência. Usar uma designação de moeda no valor de critérios de um relatório, por exemplo "Receita anual igual à GBP 100", não causa uma dependência. O relatório gera um erro quando executado na organização dos instaladores se não tiver suporte para a moeda. Se o campo de moeda de um objeto em um relatório for incluído como uma coluna e a organização do assinante não estiver habilitada para várias moedas, essa coluna é eliminada durante a instalação. Se um assinante instalar um tipo de relatório personalizado que inclua um campo de moeda de objeto, como uma coluna, essa coluna é eliminada se a organização não estiver habilitada para várias moedas. Layouts de página O layout da página da pessoa que carrega um pacote é o layout utilizado por organizações que usam as edições Group e Professional e torna-se o layout de página padrão para organizações com as edições Enterprise, Unlimited, Performance e Developer. Layouts de página devem ser colocados em um pacote junto com tipos de registro complementares se o layout estiver sendo instalado em um objeto existente. Caso contrário, os layouts da página instalados devem ser aplicados manualmente a perfis. Se um layout de página e um tipo de registro forem criados como resultado ao instalar um pacote, a atribuição de layout da página do usuário realizando o upload para esse tipo de registro é designada para esse tipo de registro para todos os perfis na organização do assinante, a menos que um perfil seja mapeado durante uma instalação ou atualização. Conjuntos de Permissões É possível incluir conjuntos de permissão como componentes em um pacote, com as seguintes permissões e configurações de acesso: Permissões de objeto personalizadas Permissões de campo personalizadas acesso à classe do Apex Acesso à página do Visualforce Nota: Aplicativos atribuídos e configurações de guia não são incluídos em componentes de conjunto de permissão. Use conjuntos de permissões para instalar ou atualizar uma coletânea de permissões. Em contraste com configurações de perfil, conjuntos de permissão não substituem perfis.

47 Arquitetura e desenvolvimento do aplicativo Version 29.0 Comportamento especial dos componentes nos pacotes 39 Contas pessoais Pacotes que fazem referência aos campos relacionados a contas pessoais no objeto Conta por exemplo, É Conta pessoal (Is Person Account), Nome (First Name), Sobrenome (Last Name) ou Título (Title) não podem ser carregados. Lista de opções Os assinantes podem renomear ou excluir valores do campo da lista de opções. Um desenvolvedor deve considerar cuidadosamente isso ao explicitamente fazer referência a um valor no Apex. Os valores do campo da lista de opções podem ser adicionados ou excluídos na organização do desenvolvedor. Após a atualização, nenhum valor novo é instalado. Qualquer valor excluído pelo desenvolvedor ainda está disponível na organização do assinante até o assinante o excluir. Configurações do perfil Configurações de perfil incluem o seguinte para componentes no pacote: Aplicativos atribuídos Configurações de guia Atribuições do layout de página Atribuições do tipo de registro Permissões de objeto personalizadas Permissões de campo personalizadas acesso à classe do Apex Acesso à página do Visualforce Configurações de perfil substituem os perfis existentes na organização do instalador por alterações de configuração e permissão específicas. Tipos de registro Se os tipos de registro forem incluídos no pacote, a organização do assinante deve ter suporte para tipos de registro para instalar o pacote. Quando um novo valor de lista de opções é instalado, ele é associado a todos os tipos de registro instalados de acordo com os mapeamentos especificados pelo desenvolvedor. Um assinante pode alterar essa associação. Fazer referência ao campo de tipo de registro de um objeto nos critérios de um relatório, por exemplo, Tipo de registro da conta (Account Record Type), causa uma dependência. Resumir pelo campo de tipo de registro do objeto nos critérios de um relatório, por exemplo, Tipo de registro da conta (Account Record Type), causa uma dependência. Se um campo de tipo de registro do objeto for incluído como uma coluna em um relatório, e a organização do assinante não estiver usando tipos de registro no objeto ou não tiver suporte para tipos de registro, a coluna é eliminada durante a instalação. Se você instalar um tipo de relatório personalizado que inclua um campo de tipo de registro do objeto, essa coluna é eliminada se a organização não tiver suporte para tipos de registro ou o objeto não tiver nenhum tipo de registro definido. Relatórios Se um relatório incluir elementos que não podem ser incluídos em um pacote, esses elementos serão removidos ou rebaixados, ou o upload do pacote falhará. Por exemplo: Detalhamentos de hierarquia são eliminados de relatórios de atividade e oportunidades. Filtros em campos que não podem ser colocados em um pacote são automaticamente eliminados (por exemplo, em filtros em tipos de registro de objeto padrão).

48 Arquitetura e desenvolvimento do aplicativo Version 29.0 Comportamento especial dos componentes nos pacotes 40 O upload do pacote falha se um relatório incluir lógica de filtro em um campo que não pode ser empacotado (por exemplo, em filtros em tipos de registro de objeto padrão). Valores de pesquisa no campo Selecionar campanha dos relatórios de campanha padrão são eliminados. Relatórios são eliminados de pacotes se tiverem sido movidos para uma pasta privada ou para a pasta de Relatórios públicos não arquivados. Quando um pacote é instalado em uma organização que não tem o Chart Analytics 2.0: Gráficos de combinação são rebaixados, ao invés de eliminados. Por exemplo, um gráfico de colunas vertical de combinação com uma linha adicionada é rebaixado para um gráfico de coluna vertical simples; um gráfico de barras de combinação com barras adicionais é rebaixado para um gráfico de barras simples. Tipos de gráficos incompatíveis, como pizza e funil, são eliminados. S-Controls Somente s-controls em pacotes não gerenciados criados antes de 1º de janeiro de 2010 podem ser instalados por assinantes. Os s-controls foram recusados e são substituídos por páginas do Visualforce na Ajuda do Salesforce. Workbench de tradução Se você tiver habilitado o workbench de tradução e adicionado um idioma ao seu pacote, quaisquer valores traduzidos associados são automaticamente incluídos no pacote para os componentes adequados no seu pacote. Certifique-se de ter fornecido traduções para todos os componentes possíveis. Um instalador do seu pacote pode ver que idiomas são compatíveis com a página de detalhes do pacote. O instalador não precisa habilitar nada para as traduções do idioma incluídas no pacote aparecerem. O único motivo pelo qual os instaladores podem desejar habilitar o workbench de tradução é alterar as traduções para componentes não gerenciados após a instalação, substituir traduções de rótulo personalizado em um pacote gerenciado ou traduzir para mais idiomas. Se você estiver projetando uma extensão de pacote, pode incluir traduções para componentes de extensão, mas não traduções adicionais para componentes no pacote de base. Regras de validação Para objetos personalizados incluídos em um pacote, quaisquer regras de validação associadas são implicitamente incluídas no pacote também. Fluxo de trabalho O Salesforce o impede de carregar alertas de fluxo de trabalho que tenham um grupo público, usuário parceiro ou destinatário de papel. Altere o destinatário para um usuário antes de carregar seu aplicativo. Durante a instalação, o Salesforce substitui esse usuário pelo usuário efetuando a instalação do aplicativo, e o instalador pode personalizá-lo como julgar necessário. O Salesforce o impede de carregar atualizações de campo do fluxo de trabalho que mudem um campo de Proprietário para uma fila. Altere o valor do campo atualizado para um usuário antes de carregar seu aplicativo. Durante a instalação, o Salesforce substitui esse usuário pelo usuário efetuando a instalação do aplicativo, e o instalador pode personalizá-lo como julgar necessário. O Salesforce o impede de carregar regras de fluxo de trabalho, atualizações de campo e mensagens de saída que fazem referência a um tipo de registro em um objeto padrão ou gerenciado-instalado. O Salesforce o impede de carregar tarefas de fluxo de trabalho que estejam designadas a um papel. Altere o campo Atribuído a para um usuário antes de carregar seu aplicativo. Durante a instalação, o Salesforce substitui esse usuário pelo usuário efetuando a instalação do aplicativo, e o instalador pode personalizá-lo como julgar necessário. É possível criar um pacote de regras de fluxo de trabalho e todas as ações de fluxo de trabalho associadas, como atualizações de campo e alertas. Entretanto, qualquer acionador baseado em tempo não é incluído no pacote. Notifique

49 Arquitetura e desenvolvimento do aplicativo Version 29.0 Componentes protegidos 41 seus instaladores para configurarem quaisquer acionadores baseados em tempo que sejam essenciais para o seu aplicativo. Alertas de fluxo de trabalho, atualizações de campo, mensagens de saída e tarefas podem ser protegidos pelo desenvolvedor. Para mais informações sobre componentes protegidos, consulte Componentes protegidos na Ajuda do Salesforce. Os desenvolvedores podem associar ou desassociar ações do fluxo de trabalho com uma regra de fluxo de trabalho a qualquer momento. Essas alterações, incluindo desassociação, são refletidas na organização do assinante mediante a instalação. Em pacotes gerenciados, um assinante não pode desassociar ações de fluxo de trabalho de uma regra de fluxo de trabalho se a associação tiver sido feita pelo desenvolvedor. Referências a um usuário específico em ações de fluxo de trabalho, como o destinatário do de um alerta de de fluxo de trabalho, são substituídas pelo usuário instalando o pacote. Ações de fluxo de trabalho fazendo referência a papéis, grupos públicos, equipe de conta, equipe de oportunidade ou papéis de equipe de caso não podem ser carregadas. Referências a um endereço corporativo, como Do endereço de de um alerta de de fluxo de trabalho, são referidas para o Usuário atual durante a instalação. Na instalação, todas as regras de fluxo de trabalho recém-criadas no pacote instalado ou atualizado têm o mesmo status de ativação que no pacote carregado. Componentes protegidos Os desenvolvedores podem marcar determinados componentes como protegidos. Componentes protegidos não podem ser vinculados ou fazerem referência a componentes criados na organização do assinante. O desenvolvedor pode excluir um componente protegido em uma versão futura sem se preocupar com falha nas instalações. Mas assim que o componente for marcado como desprotegido e lançado globalmente, o desenvolvedor não poderá excluí-lo. Desenvolvedores podem marcar os seguintes componentes como protegidos nos pacotes gerenciados: Rótulos personalizados Links personalizados (somente para a página inicial) Alertas de fluxo de trabalho Atualizações de campo do fluxo de trabalho Mensagens de saída do fluxo de trabalho Tarefas de fluxo de trabalho Considerações sobre a arquitetura para Group Edition e Professional Edition O CRM da Salesforce é oferecido em cinco camadas, ou edições: Group Edition (GE) Professional Edition (PE) Enterprise Edition (EE) Unlimited Edition (UE) Performance Edition (PXE) Nota: A Contact Manager Edition (CME) não permite instalações de pacote do AppExchange, então, isso não será discutido aqui.

50 Arquitetura e desenvolvimento do aplicativo Version 29.0 Recursos disponíveis na Group Edition e na Professional Edition 42 Se você planeja vender seu aplicativo a clientes Salesforce existentes, é importante compreender a diferença entre estas edições, porque elas afetarão o projeto de seu aplicativo. É conveniente pensar sobre eles em clusters, GE/PE e EE/UE/PXE, porque as edições em cada cluster têm funcionalidades semelhantes. Por exemplo, talvez você deseje compatibilidade com EE/UE/PXE se seu aplicativo exigir determinados objetos e recursos que não estão disponíveis em GE/PE. Da mesma forma, em vez de uma única solução compatível com todas as edições, você pode ter uma oferta em camadas. Esta solução consistiria de uma solução básica para GE/PE e uma avançada para clientes de EE/UE/PXE que se beneficiam dos recursos adicionais. As EE/UE/PXE têm a funcionalidade mais robusta. Elas são compatíveis com as licenças de plataforma Force.com, além de licenças de CRM da Salesforce. Se seu aplicativo não exigir recursos de CRM da Salesforce (como Leads, Oportunidades, Casos, etc.), as licenças de plataforma do Force.com oferecerão a maior flexibilidade na implantação de seu aplicativo para usuários que podem normalmente não ser Salesforce. Seu aplicativo ainda está sujeito aos limites de edição e às regras de empacotamento. As GE/PE não contêm todas as funcionalidades que podem ser criadas em uma Developer Edition (DE). Portando, um aplicativo desenvolvido em sua organização da DE talvez não possa ser instalado em uma organização da GE/PE. Se você estiver projetando um aplicativo para funcionar especificamente nas GE/PE, você deve estar ciente de como estas edições são diferentes. Há várias outras considerações a serem levadas em conta ao decidir se será oferecido suporte a estas edições. As licenças de plataforma do Force.com não podem ser provisionadas nas organizações da GE/PE. Isto significa que somente usuários de CRM existentes no Salesforce podem usar seu aplicativo. Existem alguns recursos que não estão disponíveis em GE/PE. Existem várias permissões especiais disponíveis para aplicativos de parceiros qualificados que superam estas limitações. Consulte as seções a seguir para obter informações sobre recursos disponíveis, limites e outras considerações de projeto. Recursos disponíveis na Group Edition e na Professional Edition Limites para Group Edition e Professional Edition Controle de acesso na Group Edition e na Professional Edition Usando o Apex na Group Edition e na Professional Edition Acesso à API na Group Edition e na Professional Edition Projetando seu aplicativo para oferecer suporte a múltiplas edições Cenários do projeto de amostra Recursos disponíveis na Group Edition e na Professional Edition A maneira mais fácil para determinar quais recursos e objetos estão disponíveis em uma determinada edição é por meio da análise da Tabela de comparação de edições. Também é possível verificar quais edições são compatíveis com um recurso ou objeto específico por meio da pesquisa na ajuda online. É importante que você verifique estes recursos antes de começar a projetar seu aplicativo, de forma que você possa tomar uma decisão informada sobre as edições a serem utilizadas. Assim que terminar de criar seu aplicativo, recomendamos que você teste-o instalando seu pacote em organizações de teste da GE e da PE para garantir que tudo funcione adequadamente. A tabela a seguir mostra os principais recursos que estão diferentes entre GE, PE e DE. Recurso Group Edition Professional Edition Developer Edition Patrimônios Com custo adicional Sim Campanhas Sim Sim Contratos Sim Sim Previsões Sim Sim Ideias Sim Sim

51 Arquitetura e desenvolvimento do aplicativo Version 29.0 Limites para Group Edition e Professional Edition 43 Recurso Group Edition Professional Edition Developer Edition Produtos Sim Sim Soluções Sim Sim Tipos de registro Sim Conjuntos de Permissões Sim Perfis personalizados Sim Tipos de relatório personalizado Sim Sim Fluxo de trabalho e aprovações Com custo adicional Sim Código do Apex Consulte a observação a seguir Consulte a observação a seguir Sim Regras de compartilhamento Sim Sim API Consulte a observação a seguir Consulte a observação a seguir Sim Sites Sim Nota: Um ID de cliente permite que seu aplicativo use a API para integração com aplicativos compostos. Para obter mais informações, consulte Usando o Apex na Group Edition e na Professional Edition e Acesso à API na Group Edition e na Professional Edition. Limites para Group Edition e Professional Edition Todas as edições do Salesforce têm limites que restringem o número de aplicativos, objetos e guias que podem ser usados. Para obter mais detalhes sobre os limites para as várias edições, consulte a Tabela de limites da edição. Para parceiros inscritos no Programa ISV, todos os pacotes gerenciados postados publicamente no AppExchange não mais influem negativamente sobre os limites de aplicativos/objetos/guias para sua Salesforce Edition. Isto significa, efetivamente, que os parceiros ISV não precisam mais se preocupar com as falhas na instalação de pacote nos casos em que os limites de aplicativos/objetos/guias forem excedidos. Este recurso é automaticamente habilitado depois que seu aplicativo passar pela aprovação de segurança. Controle de acesso na Group Edition e na Professional Edition A GE e a PE não são compatíveis com perfis personalizados nem com segurança no nível do campo. Como resultado, a segurança no nível do campo também é tratada pelo layout de página para cada objeto. Portanto, quando um cliente instala seu aplicativo, ele não poderá definir os níveis de acesso de cada perfil e você terá que garantir que seu projeto funcione para o perfil de usuário padrão. As definições de permissão podem ser instaladas em organizações da GE/PE, mas não podem ser atualizadas. Como a segurança no nível do campo é tratada pelo layout de página, todos os campos que você deseja que fiquem visíveis devem ser adicionados ao layout de página. Isso significa que, para os campos ficarem acessíveis por meio da API ou Visualforce, eles devem ser adicionados ao layout da página.

52 Arquitetura e desenvolvimento do aplicativo Version 29.0 Usando o Apex na Group Edition e na Professional Edition 44 Usando o Apex na Group Edition e na Professional Edition Seu aplicativo pode conter uma lógica comercial como classes, acionadores, serviços de , etc., escritos em Apex. Como regra geral, o Apex não é compatível com a GE/PE, de forma que não será executado nestas edições. Entretanto, o Apex desenvolvido como parte de um aplicativo ISV e incluído em um pacote gerenciado pode ser executado em uma GE/PE, mesmo que estas edições não sejam compatíveis com o Apex por padrão. Você deve ser um parceiro qualificado no salesforce.com e seu aplicativo precisa passar pela aprovação de segurança. As permissões apropriadas serão automaticamente habilitadas depois que você passar na aprovação de segurança. Seguem algumas considerações importantes para o uso do Apex na GE/PE. Os clientes da GE/PE não podem criar ou modificar um Apex em seu aplicativo; eles podem somente executar o Apex existente. Seu código Apex não deve depender de recursos e funcionalidade que existam somente nas DE, EE, UE ou PXE, pois seu aplicativo apresentará falha de instalação. Lembre-se de usar o REST se você planeja expor um método Apex como um serviço da Web. As classes de Apex que foram expostas como um serviço da Web SOAP podem ser chamadas por um aplicativo Web externo na GE/PE. É permitido usar Apex para fazer callouts de serviço Web na GE/PE. Por exemplo, se você planeja fazer uma callout do serviço Web para um serviço Web externo, contanto que o pacote gerenciado seja autorizado, estas classes funcionarão na GE/PE. Acesso à API na Group Edition e na Professional Edition O acesso à API normalmente não é compatível em organizações da GE/PE. Entretanto, depois que seu aplicativo passar pela aprovação de segurança, você estará qualificado para usar algumas APIs para criar aplicativos compostos. Atualmente, somente as APIs SOAP e as REST são compatíveis com aplicativos GE e PE. Você também pode solicitar que um aplicativo conectado seja colocado na lista de aprovados para usar a API REST em organizações da GE ou PE. Outras APIs como a API de metadados, API em massa e métodos Apex expostas por meio do serviço da Web SOAP permanecem indisponíveis. Os serviços da Web baseada em REST podem ser habilitados pela lista de aprovados para consumidores de aplicativos conectados Os serviços da Web baseada em SOAP podem ser habilitados por meio de uma chave de API chamada de ID de Cliente, que precisa ser anexada a seus cabeçalhos do SOAP nas chamadas de integração. Esta chave especial possibilita que seu aplicativo faça chamadas sucessivas para uma GE/PE, mesmo que o cliente não tenha acesso à API. O ID de cliente tem estas propriedades. 1. Você não pode usar o ID de cliente com o kit de ferramentas de AJAX em um JavaScript, S-controls ou em qualquer aplicativo personalizado em que seu valor seja exposto ao cliente final. 2. Para fins de desenvolvimento, as organizações da GE/PE criadas por meio do Portal do parceiro não precisam de ID de cliente. 3. O ID de cliente somente concederá acesso GE/PE para a API SOAP, não para a API de metadados. A API de metadados permite que você crie dinamicamente vários componentes que você normalmente cria na Configuração (Setup). Por exemplo, a criação dinâmica de um campo personalizado não é possível em uma GE/PE mesmo com a chave de API. Esta tabela mostra quais APIs são acessíveis quando usar a GE/PE e o método de acesso. API Serviços da Web (SOAP) Acesso à GE/PE Sim, com chave

53 Arquitetura e desenvolvimento do aplicativo Version 29.0 Acessando a API REST na Group Edition e na Professional Edition 45 API Métodos Apex expostos como serviços da Web (SOAP) Serviços da Web (REST) Métodos Apex expostos como serviços da Web (REST) API REST do Chatter API de metadados API em massa Ferramenta do Data Loader (usa os serviços da Web SOAP) Acesso à GE/PE Sim, com a lista de permissões do consumidor de aplicativos conectados Sim, com a lista de permissões do consumidor de aplicativos conectados Sim, não é possível definir a chave Acessando a API REST na Group Edition e na Professional Edition A API REST do Force.com oferece uma API de serviço Web eficiente, conveniente e simples para interagir com o Force.com. Parceiros qualificados podem solicitar que o salesforce.com para habilitar seu aplicativo para chamadas de API REST para organizações da GE/PE. Para obter acesso à API REST, você deve atender a estas condições. Acessar o Portal do Parceiro Se você for novo, aprenda sobre os Programas do Parceiro ISV e junte-se a eles. Ser aprovado na aprovação de segurança Todos os aplicativos inscritos no AppExchange e/ou no Programa OEM devem passar por uma aprovação de segurança periódica. Acessar a Salesforce Developer Edition Se você ainda não tem acesso a uma organização da DE, você pode obter a Partner Developer Edition no Portal do Parceiro. Para solicitar a chave de API REST: 1. Crie um novo aplicativo conectado em sua organização da DE. Faça login no salesforce.com com sua conta de desenvolvedor, em Configuração, clique em Criar > Aplicativos (Create Apps), e clique em Novo (New) na seção Aplicativos conectados (Connected Apps). Nota: Recomendamos seriamente que você faça isso em uma organização que continuará usando por muito tempo, como aquela em que você cria pacotes gerenciados ou na sua Organização de gerenciamento do Trialforce (TMO). 2. Insira as informações solicitadas e clique em Salvar (Save). Salvar seus aplicativos dá a você a Chave do consumidor e o Segredo do consumidor que o aplicativo usa para se comunicar com o Salesforce. 3. Envie um caso no Portal do Parceiro e forneça seu ID da organização da DE e as credenciais para seu aplicativo conectado. Nós avaliaremos sua solicitação e habitaremos a permissão apropriada. Depois de fazer isso, enviaremos a você uma notificação de caso. Espere por 24 horas para se certificar de que a permissão esteja completamente ativada. Sua client_id (ou Chave do consumidor) e client_secret (Segredo do consumidor) serão confrontados com as informações que você enviou por meio do caso durante a autenticação OAuth. Se elas combinarem, o sistema permitira que você se comunique com GE/PE. Nota: Esta permissão é destinada somente à API REST. Ela não habilita seu aplicativo a usar a API Serviços Web SOAP, API em massa, API de metadados, etc. na GE/PE. Esta permissão é aplicada somente ao seu aplicativo. Nós não ativamos a API na organização da GE/PE.

54 Arquitetura e desenvolvimento do aplicativo Version 29.0 Projetando seu aplicativo para oferecer suporte a múltiplas edições 46 Projetando seu aplicativo para oferecer suporte a múltiplas edições A compatibilidade com várias edições oferece a oportunidade de liberar versões mais completas de seu aplicativo que sejam compatíveis com recursos mais avançados em EE, UE e PXE. Existem duas tecnologias que podem ser aproveitadas para compatibilidade com várias edições. A primeira abordagem usa pacotes de extensão e a segunda aproveita o Apex dinâmico. Há benefícios para ambas, então, não deixe de analisar ambas as estratégias antes de projetar seu aplicativo. Suporte a várias edições usando um pacote de extensão Esta abordagem usa um pacote gerenciado de base que contém a funcionalidade central do aplicativo. O pacote de base contém somente recursos compatíveis na GE/PE. Você usa, então, um segundo pacote gerenciado ou um pacote de extensão, que amplia e aprimora o pacote de base. O pacote de extensão adiciona mais recursos compatíveis com a EE/UE/PXE. Por exemplo, você tem um aplicativo de armazenamento que rastreia o estoque, assim como uma extensão para este aplicativo que inclui um fluxo de trabalho (que não está disponível para Group). Seus clientes com Group e Professional Edition podem instalar o aplicativo de armazenamento de base, enquanto seus outros clientes instalam o pacote de base para, depois, instalar o pacote de extensão com os componentes do fluxo de trabalho. Figura 14: Usando um pacote de base e de extensão para oferecer suporte a várias edições A utilização de pacotes de extensão habilita você a evitar vários conjuntos de código e a fazer venda agregada para seus clientes. A atualização de um cliente requer somente a instalação do pacote de extensão. Aqui se encontra o processo para criação de um pacote de extensão. 1. Crie seu pacote gerenciado de base que otimiza os recursos compatíveis com GE/PE. 2. Instale seu pacote gerenciado de base em uma organização da DE separada. 3. Nesta organização, crie seu pacote de extensão que inclui funcionalidades adicionais compatíveis com GE/PE. Você pode fazer referência ao pacote gerenciado de base para evitar a duplicação de funcionalidade. Qualquer componente que faça referência ao pacote gerenciado de base acionará automaticamente este pacote para ser um pacote de extensão.

55 Arquitetura e desenvolvimento do aplicativo Version 29.0 Suporte a várias edições usando o Apex dinâmico 47 Como seu pacote de extensão depende do pacote de base, é importante projetar seu aplicativo e as interfaces entre os pacotes. Por exemplo, se o pacote de extensão precisa chamar uma classe Apex no pacote de base, você deve se certificar de que a classe Apex desejada foi transformada em uma classe global. Também é importante considerar todo o ciclo de vida do aplicativo. Por exemplo, se você deseja adicionar novos recursos, eles devem ser incluídos no pacote apropriado. As atualizações para o pacote de base não devem interromper o pacote de extensão. Suporte a várias edições usando o Apex dinâmico Ao usar o Apex dinâmico, o SOQL dinâmico e o DML dinâmico, é possível criar um pacote gerenciado para todas as edições para as quais você deseja oferecer suporte sem precisar usar pacotes de extensão. O comportamento de seu aplicativo pode alterar dinamicamente com base nos recursos disponíveis em sua edição do cliente. Isto é útil ao projetar um aplicativo com o objetivo de oferecer suporte a várias edições. Certifique-se de que o Apex, os fluxos de trabalho, etc. em seu pacote não contenha nenhuma referência fortemente tipificada para um recurso não compatível com GE/PE. Isto pode incluir a adição de um campo personalizado ou de um objeto padrão não compatível, como campanhas, ou fazer uma referência do Apex a recursos como várias moedas ou gerenciamento de território. Quando fizer referência a um recurso em seu pacote não compatível com GE/PE, esta dependência do pacote causará uma falha na instalação. Em vez disso, se você usar Apex dinâmico para verificar se estes recursos estão disponíveis antes de fazer referência a eles, você poderá instalar seu pacote gerenciado na GE/PE. A peça importante a ser considerada é que você deve codificar seu Apex dinâmico de tal forma que ele possa oferecer suporte em ambos os casos. Isso garante que, se seu cliente não tiver um recurso ou objeto específico, seu aplicativo ainda funcionará. Os cenários do projeto de amostra para as Group Edition e Professional Edition Aqui se encontram alguns cenários para ajudar você a compreender quando e como criar na GE/PE. Cenário 1: Você deseja criar um aplicativo que usa tipos de registros e fluxo de trabalho. Como os tipos de registro e o fluxo de trabalho são recursos não encontrados na GE nem na PE, você precisará decidir se deseja a compatibilidade com GE/PE. Considerando que você queira, será possível criar um pacote gerenciado de base que não inclua tipos de registro nem fluxo de trabalho. Depois de carregar este pacote gerenciado em um estado liberado, você poderá instalá-lo em outra organização da DE para começar a criar a extensão. Sua extensão pode adicionar tipos de registro de fluxos de trabalho que serão instalados e aproveitados pelos clientes de EE, UE e PXE. Cenário 2: Você deseja criar um aplicativo com 80 objetos personalizados e 25 guias personalizadas. Normalmente, isso apresentaria um problema para GE e PE por causa do limite de seus objetos e guias. Entretanto, se você disponibilizar seu aplicativo no AppExchange, isso não contará para objetos personalizados, guias nem limites de aplicativo. Dessa forma, mesmo que seu aplicativo tenha 80 objetos personalizados e 25 guias personalizadas, ele será instalado e funcionará normalmente na GE e na PE. Cenário 3: Você deseja criar um aplicativo que faz callouts do Apex para um serviço Web. Geralmente, o Apex não pode ser executado em GE/PE, mas, se você obtiver seu pacote gerenciado autorizado durante a aprovação de segurança, seu Apex será executado conforme o esperado. Dessa forma, para este cenário, você constrói sua callout do Apex para seu serviço Web externo e, em seguida, inclui esta classe em seu pacote. Cenário 4: Você deseja criar um aplicativo que aproveita Campanhas. De maneira semelhante ao cenário 1, por padrão, as Campanhas são um recurso compatível com GE ou PE. A PE tem a opção de comprar Campanhas como complemento, mas, para este cenário, você tem duas opções.

56 Arquitetura e desenvolvimento do aplicativo Version 29.0 Noções básicas sobre dependências 48 Opção 1 - Crie um pacote gerenciado de base que não tenha Campanhas de referência. Depois de concluído, carregue e instale em outra organização da DE para criar a funcionalidade de Campanha como um pacote de extensão. Agora, seus clientes GE e PE (sem Campanhas) podem instalar a base, enquanto o resto também pode instalar a extensão para obter recursos adicionais. Opção 2 - Isso pode demandar somente um pacote, caso você esteja usando Apex dinâmico como única referência para Campanhas, conforme descrito acima. Garanta que seu pacote não inclua um campo personalizado na Campanha. Seu aplicativo pode, então, ser instalado na GE ou em uma edição superior e, se a Campanha estiver em sua edição de cliente, seu Apex dinâmico poderá manipular as Campanhas conforme esperado. Cenário 5: Você deseja criar um aplicativo composto em que você recebe chamada de API de entrada. Você tem um aplicativo hospedado separado que você deseja integrar com o Salesforce, de forma que você precisará fazer chamadas de API para clientes com GE/PE. Por padrão, não será possível, mas se você for um parceiro qualificado, poderá solicitar uma chave de API especial que permite que suas chamadas SOAP se integrem ao GE/PE. Você apenas precisará incorporar o ID do cliente no cabeçalho SOAP de seu código externo. Noções básicas sobre dependências Dependências de pacote são criadas quando um componente faz referência a outro componente, permissão ou preferência que é exigido para que o componente seja válido. O Force.com rastreia determinadas dependências, inclusive: Dependências organizacionais, como se multimoedas ou campanhas estiverem ativadas Dependências específicas do componente, como determinados tipos de registro ou divisões existirem Referências a objetos ou campos padrão e personalizados Pacotes, classes do Apex, acionadores do Apex, componentes do Visualforce e páginas do Visualforce, podem ter dependências em componentes de uma organização. Essas dependências são registradas na página Mostrar dependências. As dependências são importantes para os pacotes, pois qualquer dependência em um componente de pacote é considerada como sendo de todo o pacote. Nota: A organização de instalação deve atender a todos os requisitos de dependência relacionados na página Mostrar dependências; caso contrário, haverá falha na instalação. Por exemplo, a organização de instalação deve ter divisões ativadas para instalar um pacote que faça referência às divisões. As dependências são importantes para as classes ou acionadores do Apex, já que todo componente do qual uma classe ou um acionador depende deve ser incluído na classe ou acionador quando o código é implantado ou inserido no pacote. Além das dependências, o escopo operacional também aparece na página Mostrar dependências. O escopo operacional é uma tabela que relaciona todas as operações de linguagem de manipulação de dados (DML, data manipulation language), como insert ou merge, que o Apex executa em determinado objeto. É possível usar o escopo operacional na instalação de um aplicativo para determinar a extensão total das operações de banco de dados desse aplicativo. Para exibir as dependências e o escopo operacional de um pacote, a classe do Apex, o acionador do Apex ou a página do Visualforce: 1. Navegue até o componente apropriado em Configuração: Para os pacotes, clique em Criar > Pacotes. Para as classes do Apex, clique em Desenvolver > Classes do Apex. Para os acionadores do Apex em objetos padrão, clique em Personalizar, depois, no nome do objeto e em Acionadores. Para os acionadores do Apex em objetos personalizados, clique em Criar, depois, no nome do objeto e em Acionadores. Para as páginas do Visualforce, clique em Desenvolver > Páginas.

57 Arquitetura e desenvolvimento do aplicativo Version 29.0 Criando aplicativos em pacote com o Chatter Selecione o nome do componente. 3. Clique em Exibir dependências para um pacote, ou Mostrar dependências para todos os outros componentes, a fim de visualizar uma lista de objetos que dependem do componente selecionado. Se uma lista de objetos dependentes for exibida, clique em Campos para acessar os detalhes de campo do escopo operacional. Os detalhes de campo incluem informações, como por exemplo se o campo foi atualizado pelo Apex. Para obter mais informações, consulte Escopo operacional do campo na Ajuda do Salesforce. Pacotes, códigos do Apex e páginas do Visualforce podem ser dependentes em vários componentes, incluindo, sem a eles se limitar, os seguintes: Definições de campo personalizado Fórmulas de validação Relatórios Tipos de registro Apex Páginas e componentes do Visualforce Por exemplo, se uma página do Visualforce incluir uma referência a um campo multimoedas, como {!contract.iso_code}, essa página do Visualforce terá uma dependência sobre multimoedas. Se o pacote tiver essa página do Visualforce, também terá uma dependência sobre multimoedas. Qualquer organização que queira instalar esse pacote deverá ter a opção multimoedas ativada. Criando aplicativos em pacote com o Chatter Os objetos, as configurações de campo e o histórico das configurações de campo do Chatter são empacotáveis. Entretanto, um campo de objeto somente é rastreado se o próprio objeto for rastreado. Por exemplo, é possível criar um novo campo personalizado no objeto padrão da conta, mas o campo somente será rastreado se você habilitar o rastreamento de feed nas contas. Ao desenvolver aplicativos que usam o Chatter, é importante estar ciente de que algumas organizações podem não ter o Chatter habilitado. Por padrão, quando você carrega aplicativos do Chatter, o pacote somente está disponível para organizações que têm o Chatter habilitado. Você pode alterar este comportamento e permitir que as organizações instalem o pacote, mesmo que elas não tenham o Chatter. Observe o seguinte: Você deve usar um pacote gerenciado. Pacotes não gerenciados que incluem a funcionalidade do Chatter somente podem ser instalados em organizações que tenham o Chatter habilitado. As operações de chamada DML, SOSL e SOQL acionarão uma exceção de execução se a organização do assinante não tiver o Chatter habilitado. Você deve capturar e tratar todas as exceções do Apex geradas como resultado de um recurso ausente do Chatter. Estas exceções são do tipo REQUIRED_FEATURE_MISSING_EXCEPTION para chamadas de SOSL e SOQL. Para chamadas DML, você deve procurar pelo código de status REQUIRED_FEATURE_MISSING específico em uma exceção de DML. Quando você carregar o pacote, desmarque a caixa de seleção necessária para o Chatter (ela é automaticamente selecionada se você tiver uma referência do Apex para o Chatter). Nota: Se a caixa de seleção necessária para o Chatter puder ser desmarcada, algum componente no pacote tem uma exigência específica para o Chatter. Isto pode acontecer, por exemplo, se você empacotar um tipo de relatório personalizado que depende do Chatter. Se a caixa de seleção necessária para o Chatter puder ser desabilitada, o pacote somente poderá ser instalado em organizações que tenham o Chatter habilitado.

58 Arquitetura e desenvolvimento do aplicativo Version 29.0 Correspondendo à aparência do Salesforce 50 O exemplo a seguir tenta publicar em um feed e obter um feed de usuário. Se o Chatter não estiver habilitado na organização, o código captura a exceção REQUIRED_FEATURE_MISSING. Observe que este é um exemplo de código incompleto e não pode ser executado. public void addfeeditem(string post, Id objid) { FeedItem fpost = new FeedItem(); // Get the parent ID of the feed fpost.parentid = objid; fpost.body = post; try{ insert fpost; } catch (System.DmlException e) { for (Integer i = 0; i < e.getnumdml(); i++) { // Chatter not endabled, do not insert record System.assertEquals(StatusCode.REQUIRED_FEATURE_MISSING, e.getdmltype(i)); System.Debug('Chatter not enabled in this organization:' + e.getdmlmessage()); } } } public List<NewsFeed> getmyfeed() { List<NewsFeed> myfeed; try{ myfeed = [SELECT Id, Type, CreatedById, CreatedBy.FirstName,CreatedBy.LastName, CreatedDate, ParentId, Parent.Name,FeedItemId, Body, Title, CreatedById, LinkUrl, (SELECT Id, FieldName, OldValue, NewValue FROM FeedTrackedChanges ORDER BY Id DESC), (SELECT Id, CommentBody, CreatedDate, CreatedById, CreatedBy.FirstName, CreatedBy.LastName FROM FeedComments ORDER BY CreatedDate DESC, ID DESC LIMIT 10) FROM NewsFeed ORDER BY CreatedDate DESC, ID DESC LIMIT 20]; } catch(system.requiredfeaturemissingexception e){ // The above has returned an empty NewsFeed // Chatter is not enabled in this organization myfeed = new List<NewsFeed>{}; System.Debug('Chatter not enabled in organization:' + e.getmessage()); } return myfeed; } Correspondendo à aparência do Salesforce Os aplicativos que lembram a aparência da interface de usuário do Salesforce são instantaneamente mais familiares aos usuários e fáceis de usar. A maneira mais fácil para modelar o projeto de seu aplicativo para se parecer com a interface de usuário do Salesforce é usar o Visualforce. Quando você usa um controlador padrão com uma página do Visualforce, sua nova página assume o estilo da guia padrão do objeto associado no Salesforce. Para obter mais informações, consulte Usando estilos do Salesforce no Visualforce Developer's Guide (Guia do desenvolvedor do Visualforce). Desenvolvendo documentação de aplicativo O Salesforce recomenda que você publique seu aplicativo no AppExchange com os seguintes tipos de documentação: Opção Configurar É possível incluir uma opção Configurar para os instaladores. Essa opção pode se vincular a detalhes de instalação e configuração, como: Provisionar o serviço externo de um aplicativo composto Personalizar configurações dos aplicativos

59 Arquitetura e desenvolvimento do aplicativo Version 29.0 Criação de configurações de perfil personalizadas 51 A opção Configurar está incluída no seu pacote como um link personalizado. Você pode criar um link personalizado para seus layouts de home page e adicioná-lo ao seu pacote. 1. Crie um link personalizado para um URL que contenha informações de configuração ou uma página do Visualforce que implemente a configuração. Ao criar seu link personalizado, defina as propriedades de exibição para Abrir em uma janela pop-up separada de modo que o usuário retorne à mesma página do Salesforce quando terminar. 2. Ao criar o pacote, escolha esse link personalizado no campo Configurar link personalizado de seu pacote de detalhes. Folha de dados Fornece aos instaladores as informações fundamentais necessárias sobre o aplicativo antes de fazer a instalação. Guia de personalização e aprimoramento Permita que os instaladores saibam o que será necessário personalizar após a instalação como parte da implementação. Ajuda personalizada Se preferir, você pode fornecer ajuda personalizada para seus registros de objeto personalizados e campos personalizados. Criação de configurações de perfil personalizadas Ao projetar seu aplicativo para o AppExchange, crie perfis personalizados para vários usuários de seu aplicativo. Dê a cada perfil personalizado o nível adequado de acesso ao seu aplicativo, tais como visibilidade de guia ou configurações de segurança em nível de campo para campos de aprovação em objetos personalizados. Use as seguintes dicas para a criação de perfis personalizados para os aplicativos que você deseja publicar: Dê a cada perfil personalizado um nome significativo que torna óbvio que o perfil se aplica ao aplicativo. Por exemplo, se você estiver criando um aplicativo de Recursos Humanos, com o nome de "HR2GO", talvez queira nomear um perfil personalizado "HR2GO Approving Manager" para os gestores que aprovam solicitações. Se os seus perfis personalizados têm uma hierarquia, certifique-se de que o nome indica onde o perfil está na hierarquia. Por exemplo, o perfil de um gerente de nível sênior pode ter o nome de HR2GO Level 2 Approving Manager. Evite dar seus nomes de perfis personalizados que possam ser interpretados de forma diferente em outras organizações. Por exemplo, HR2GO Level 2 Approving Manager é um nome de perfil mais adequado do que Sr. Manager. O perfil Descrição (Description) é exibido para o usuário que está instalando seu aplicativo. Forneça uma descrição significativa para cada perfil personalizado para estes usuários. Quando empacotar um aplicativo, será possível incluir seus perfis personalizados. As configurações do perfil são aplicadas a perfis existentes na organização do assinante em instalar ou atualizar. Somente se aplicam as permissões relacionadas a novos componentes criados como parte da instalação ou atualização. As configurações de segurança associadas a objetos padrão e objetos personalizados existentes na organização do instalador não são afetadas. De outra forma, é possível usar os conjuntos de permissão para evitar substituir permissões em perfis de assinante e a manter o controle das configurações de permissões em todos os processos de atualização. Os conjuntos de permissão contêm um subconjunto das configurações de acesso de perfil, incluindo permissões de objeto, permissões de campo, acesso de classe Após e página de acesso do Visualforce. Essas permissões são as mesmas que estão disponíveis nos perfis. É possível adicionar um conjunto de permissão como componente em um pacote. Nota: Em pacotes, as configurações atribuídas a aplicativos e guias não estão incluídas nos componentes do conjunto de permissões.

60 Arquitetura e desenvolvimento do aplicativo Version 29.0 Sobre conjuntos de permissões e configurações do perfil 52 Sobre conjuntos de permissões e configurações do perfil Os desenvolvedores podem usar conjuntos de permissões ou configurações de perfil para conceder permissões e outras configurações de acesso a um pacote. Ao decidir se irá usar conjuntos de permissão, configurações de perfil, ou uma combinação de ambos, considere as similaridades e as diferenças. Comportamento Quais permissões e configurações estão incluídas? Conjuntos de Permissões Configurações do perfil Permissões de objeto personalizadas Aplicativos atribuídos Permissões de campo personalizadas Configurações de guia acesso à classe do Apex Atribuições do layout de página Acesso à página do Visualforce Atribuições do tipo de registro Permissões de objeto personalizadas Nota: Os conjuntos de permissões incluem aplicativos Permissões de campo personalizadas atribuídos e configurações de acesso à classe do Apex guia, mas essas configurações Acesso à página do Visualforce não podem ser empacotadas como componentes de conjuntos de permissões. Eles podem ser atualizados em pacotes gerenciados? Os assinantes podem editá-las? Você pode cloná-los ou criá-los? Eles incluem permissões de objeto padrão? Eles incluem permissões do usuário? Eles estão incluídos no assistente de instalação? Sim. Os assinantes podem editar conjuntos de permissões em pacotes não gerenciados, mas não em pacotes gerenciados. As configurações do perfil são aplicadas a perfis existentes na organização do assinante em instalar ou atualizar. Somente se aplicam as permissões relacionadas a novos componentes criados como parte da instalação ou atualização. Sim. Sim. Entretanto, se um assinante clonar Sim. Os assinantes podem clonar um conjunto de permissões ou criar um qualquer perfil que incluam permissões que seja baseado em um conjunto de e configurações relacionados a permissões em pacote, ele não será componentes em pacote. atualizado em atualizações subsequentes. Somente os conjuntos de permissão incluídos no pacote são atualizados.. Além disso, você não pode incluir permissões de objeto em um objeto personalizado que se encontre em um relacionamento entre mestre e detalhes no qual o mestre é um objeto padrão... Os assinantes devem atribuir conjuntos de permissões após a instalação... Sim. As configurações do perfil são aplicadas a perfis existentes na organização do assinante em instalar ou atualizar. Somente se aplicam as permissões relacionadas a novos componentes criados como parte da instalação ou atualização.

61 Arquitetura e desenvolvimento do aplicativo Version 29.0 Visão geral de aplicativos conectados 53 Comportamento Quais são os requisitos de licença do usuário? Como eles são atribuídos aos usuários? Conjuntos de Permissões Configurações do perfil Um conjunto de permissões é instalado Nenhuma. Em uma organização do somente se uma organização do assinante assinante, a instalação substitui as tiver pelo menos uma licença do usuário configurações de perfil, não as suas que corresponda ao conjunto de licenças de usuário. permissões. Por exemplo, os conjuntos de permissões com a licença de usuário do Salesforce Platform não estão instalados em uma organização que não tenha licenças de usuário do Salesforce Platform. Se um assinante adquirir posteriormente uma licença, eles devem reinstalar o pacote e obter conjuntos de permissões associados à licença recentemente adquirida. Os conjuntos de permissões sem licença de usuário sempre são instalados. Se você atribuir um conjunto de permissões sem licença de usuário, todas as suas configurações e permissões ativadas devem ser autorizadas pela licença do usuário ou a atribuição falhará. Os assinantes devem atribuir conjuntos de permissão em pacote após a instalação do pacote. As configurações do perfil são aplicadas a perfis existentes. Práticas recomendadas Use conjuntos de permissões juntamente com perfis de pacotes para que os assinantes possam adicionar facilmente novas permissões para usuários de aplicativos existentes. Se os usuários precisarem de acesso a aplicativos, guias, layouts de página e tipos de registros, não utilize os conjuntos de permissões como único modelo de concessão de permissão para o seu aplicativo. Configurações de aplicativo e de guia atribuídas estão disponíveis na interface do usuário do conjunto de permissões, mas não estão incluídos em componentes de pacote de conjunto de permissões. Crie conjuntos de permissão empacotados que concedam acesso aos componentes personalizados de um pacote, mas não aos componentes padrão do Salesforce. Visão geral de aplicativos conectados Permissões necessárias ao usuário Para gerenciar aplicativos: Para exibir aplicativos: Personalizar aplicativo Exibir configuração Um aplicativo conectado é um aplicativo que se integra à salesforce.com usando APIs. Os aplicativos conectados usam protocolos SAML e OAuth padrão para autenticar, fornecer login único e chaves de segurança para uso com APIs do Salesforce. Além de recursos OAuth padrão, os aplicativos conectados permitem aos administradores definir várias políticas de segurança e ter controle explícito sobre quem pode usar os aplicativos. Os aplicativos conectados começam quando um desenvolvedor define os metadados de OAuth sobre o aplicativo, incluindo:

62 Arquitetura e desenvolvimento do aplicativo Version 29.0 Criando um Aplicativo conectado 54 Informações básicas de descrição e contato para o aplicativo conectado Escopos de OAuth e URL de callback do aplicativo conectado Faixas opcionais de IP em que o aplicativo conectado pode estar em execução Informações opcionais sobre políticas móveis que o aplicativo conectado pode aplicar Por sua vez, o desenvolvedor recebe um ID de cliente do OAuth e segredo do cliente para o aplicativo conectado. O desenvolvedor pode então empacotar o aplicativo e fornecê-lo a um administrador do Salesforce. Há dois modos de implementação: O aplicativo é criado e usado na mesma organização. Esse é um caso de uso típico para departamentos de TI, por exemplo. O aplicativo é criado em uma organização e instalado em outras organizações. É assim que uma entidade com várias organizações ou um ISV usa aplicativos conectados. Os administradores podem instalar o aplicativo conectado em sua organização e usar perfis, conjuntos de permissões e restrições de faixa de IP para controlar que usuários podem acessar o aplicativo. O gerenciamento é feito a partir de uma página de detalhes do aplicativo conectado. Os administradores também podem desinstalar o aplicativo conectado e instalar uma versão mais recente. Quando o aplicativo é atualizado, o desenvolvedor pode notificar os administradores de que há uma nova versão dele disponível. Nota: Os pacotes gerenciados pelo Salesforce, como aqueles dos aplicativos móveis do Chatter, não podem ser desinstalados. Eles são atualizados automaticamente quando a próxima sessão do usuário é atualizada. Criando um Aplicativo conectado Execute as seguintes etapas para criar um aplicativo conectado: 1. Em Configuração, clique em Criar > Aplicativos. 2. Na seção Aplicativos conectados, clique em Novo. As informações necessárias para criar um aplicativo conectado estão divididas nas seguintes partes: Informações básicas API (Ativar as Configurações do OAuth) Configurações de aplicativo da Web Configurações de aplicativo móvel Configurações de aplicativo de telas Quando você terminar de inserir as informações, clique em Salvar para salvar seu novo aplicativo. Agora você pode publicar seu aplicativo, fazer outras edições ou excluí-lo. Se estiver usando OAuth, salvar seu aplicativo lhe dá dois novos valores que o aplicativo usa para se comunicar com o Salesforce: Chave do consumidor: Um valor usado pelo consumidor para se identificar ao Salesforce. Chamado de client_id em OAuth 2.0. Segredo do consumidor: Um segredo usado pelo consumidor para estabelecer a propriedade da chave do consumidor. Chamado de client_secret em OAuth 2.0. Informações básicas Especifique as informações básicas do seu aplicativo nesta seção, incluindo o nome dele, o logotipo e as informações de contato. 1. Digite o Nome de aplicativo conectado. Esse nome é exibido na lista de aplicativos conectados.

63 Arquitetura e desenvolvimento do aplicativo Version 29.0 Criando um Aplicativo conectado 55 Nota: O nome deve ser completamente exclusivo em sua organização. é possível reutilizar um nome existente ou o nome de um aplicativo conectado excluído. 2. Digite o Nome da API usado ao fazer referência ao seu aplicativo a partir de um programa. Ele retorna a uma versão do nome sem espaços. Apenas letras, números e sublinhados são permitidos. Será necessário editar o nome padrão se o nome original do aplicativo contiver qualquer outro caractere. 3. Forneça o de contato que a salesforce.com deve usar para entrar em contato com você ou sua equipe de suporte. Esse endereço não será fornecido aos administradores que instalarem o aplicativo. 4. Forneça o Telefone de contato que a salesforce.com deve usar caso precise entrar em contato com você. Esse número não será fornecido aos administradores que instalarem o aplicativo. 5. Digite uma URL da imagem de logotipo para exibir seu logotipo na lista de aplicativos conectados e na página de consentimento que os usuários veem ao autenticar. O URL deve usar HTTPS, e o logotipo não pode ser maior que 125 pixels de altura ou 200 pixels de largura. O logotipo padrão é uma nuvem. É possível selecionar um logotipo entre as amostras fornecidas clicando em Escolha um dos logotipos de exemplo (Choose one of our sample logos). Os logotipos dos aplicativos salesforce.com, dos aplicativos de terceiros e dos organismos de padronização estão entre os disponíveis. 6. Digite uma URL do ícone para exibir um logotipo na página de aprovação do OAuth que os usuários veem quando usam seu aplicativo pela primeira vez. O logotipo deve ter 16 pixels de altura e largura, com um plano de fundo branco. Os logotipos de exemplo também estão disponíveis para ícones. 7. Se houver uma página da Web com mais informação sobre seu aplicativo, forneça uma URL de informações. 8. Digite uma Descrição para ser exibida na lista de aplicativos conectados. Antes de Winter 14, a URL de início e a URL do início móvel eram definidas nessa seção. Esses campos agora se encontram em Configurações de aplicativo da Web e Configurações de aplicativo móvel, abaixo. API (Ativar as Configurações do OAuth) Essa seção controla como seu aplicativo se comunica com o Salesforce. Selecione Ativar configurações OAuth para definir as configurações de autenticação. 1. Digite a URL de callback (ponto final) que o Salesforce chama no seu aplicativo durante o OAuth. Trata-se do redirect_uri no OAuth. 2. Se estiver usando o fluxo de OAuth JWT, selecione Usar assinaturas digitais. Se o aplicativo usar um certificado, clique em Escolher arquivo e selecione o arquivo de certificado. 3. Adicione todos os escopos de OAuth suportados em Escopos OAuth selecionados. Esses escopos referem-se às permissões dadas pelo usuário que executa o aplicativo conectado e são seguidos pelos seus nomes de chave de segurança do OAuth entre parênteses: Valor api chatter_api full id refresh_token visualforce web Descrição Permite o acesso à conta do usuário atual conectado usando APIs, como a API REST e a API em massa. Esse valor também inclui a chatter_api, que permite o acesso aos recursos da API REST do Chatter. Permite acesso somente aos recursos da API REST do Chatter. Permite o acesso a todos os dados acessíveis pelo usuário conectado. full não retorna uma chave de atualização. Você deve solicitar explicitamente o escopo refresh_token para obter uma chave de atualização. Permite acesso somente ao serviço de URL de identidade. Permite que um token de atualização seja retornado caso seja elegível para receber um. Permite acesso às páginas do Visualforce. Permite a capacidade de usar o access_token na Web. Também inclui o visualforce, que permite o acesso às páginas do Visualforce.

64 Arquitetura e desenvolvimento do aplicativo Version 29.0 Criando um Aplicativo conectado 56 Se sua organização selecionou a opção Nenhuma aprovação do usuário necessária para usuários nesta organização em seu acesso remoto antes da versão Spring 12, os usuários da mesma organização em que o aplicativo foi criado ainda têm aprovação automática para o aplicativo. A caixa de seleção de somente leitura Nenhuma aprovação do usuário necessária para usuários nesta organização é selecionada para mostrar essa condição. Para aplicativos conectados, o procedimento recomendado depois de criar um aplicativo é os administradores o instalarem e, em seguida, configurarem Usuários autorizados como Usuários aprovados pelo administrador. Se a opção de acesso remoto não foi marcada originalmente, a caixa de seleção não será exibida. Configurações de aplicativo da Web Digite uma URL de início para que seu aplicativo direcione os usuários para um local específico depois da autenticação. Se a URL de início não for fornecida, os usuários serão direcionados para a página de início padrão do aplicativo após a conclusão da autenticação. Se o aplicativo conectado criado for um aplicativo de tela, não será preciso inserir um valor para esse campo. O campo URL do aplicativo de tela contém o URL que é chamado para o aplicativo conectado. Se seu aplicativo conectado usar um provedor de serviço SAML, selecione Ativar SAML. Digite ID da entidade, URL do ACS, Tipo de assunto, Formato do ID do nome e Emissor, disponíveis por meio do seu provedor de serviço. Selecione Certificado do provedor de serviços se ele lhe forneceu um certificado de segurança. Navegue no sistema do certificado. Isso será necessário somente se você planejar iniciar o login no Salesforce pelo provedor de serviços, e o provedor de serviços assinar suas próprias solicitações de SAML. Importante: Se você fizer upload de um certificado, todas as solicitações de SAML deverão estar assinadas. Se nenhum certificado for carregado, todas as solicitações de SAML serão aceitas. Configurações de aplicativo móvel Se o seu for um aplicativo móvel, insira a URL do início móvel para encaminhar os usuários para um local específico quando o aplicativo for acessado a partir de um dispositivo móvel. Se não for inserida a URL do início móvel, os usuários serão enviados à URL de início definida nas Configurações de aplicativo da Web. Se o aplicativo conectado criado for um aplicativo de tela, não será preciso inserir um valor para esse campo. O campo URL do aplicativo de tela contém o URL que é chamado para o aplicativo conectado. A proteção por PIN é aplicada automaticamente pelo SDK do Salesforce Classic (http://developer.force.com/mobilesdk). Você também pode implementá-la manualmente lendo o objeto mobile_policies a partir da URL de identidade do usuário. Se o seu aplicativo impuser isso, selecione a Proteção por Pin para dar ao administrador a opção de definir o tempo limite da sessão e o tamanho do PIN para os aplicativos móveis após a instalação do aplicativo conectado. Nota: Se você remover a integração móvel a partir de uma nova versão de um aplicativo conectado existente, a integração móvel não estará mais incluída em nenhuma versão do aplicativo conectado. Por exemplo, imagine a publicação de um pacote contendo a versão 1.0 do seu aplicativo conectado com integração móvel. Em seguida, remova a integração móvel do aplicativo, embale-o novamente e publique-o como versão 1.1. Se um cliente instalar o pacote anterior com a versão 1.0 nesse ponto, a versão 1.0 do aplicativo conectado não conterá a integração móvel. Configurações de aplicativo de telas 1. Se o seu aplicativo conectado for exposto como aplicativo de tela, selecione Tela do Force.com. 2. Digite a URL do aplicativo da tela no aplicativo de terceiro. O usuário é direcionado a esse URL quando clica no link para o seu aplicativo de tela. 3. Selecione um Método de acesso. Isso especifica como o aplicativo de tela inicia o fluxo de autenticação OAuth. Solicitação assinada (POST): A autenticação OAuth é usada, mas quando o administrador instala o aplicativo de tela, ele permite acesso para usuários implicitamente. Então, o usuário não será solicitado a permitir que o terceiro acesse suas informações de usuário. Quando você usa esse método de acesso, a autenticação é publicada diretamente no URL do aplicativo de tela.

65 Arquitetura e desenvolvimento do aplicativo Version 29.0 Editando, empacotando ou excluindo um aplicativo conectado 57 Se seu aplicativo de tela usa autenticação por solicitação assinada, certifique-se de não selecionar Fazer solicitações em seu nome a qualquer momento em Escopos OAuth selecionados. A autorização de solicitação assinada nunca retorna uma chave de atualização, mesmo se esse valor de campo for selecionado. OAuth Webflow (GET): A autenticação OAuth é usada, e o usuário recebe a solicitação de permitir que o aplicativo de terceiro acesse suas informações. Quando você usa esse método de acesso, o aplicativo de tela deve iniciar o fluxo de autenticação de OAuth. 4. Em Locais, selecione o local onde o aplicativo de tela aparece para os usuários. Nota: Algumas opções não aparecem em todas as organizações. O suporte para aplicativos de Tela do Force.com no editor e no feed de Chatter está disponível atualmente por meio de um programa piloto em todas as novas organizações com a edição Development. Para obter informações sobre como ativá-lo para sua organização, entre em contato com salesforce.com. Feed do Chatter: O aplicativo de tela pode aparecer como item de feed do Chatter. Guia Chatter: O aplicativo de tela é exibido na lista de navegação de aplicativos, na guia Chatter. CTI aberta: O aplicativo de tela aparece na ferramenta de controle de chamadas. Se essa opção for selecionada, será preciso especificar o aplicativo de tela no arquivo de definição de seu centro de atendimento para que ele apareça. Editor: O aplicativo de tela pode aparecer como ação de editor global. Console do Salesforce: O aplicativo de tela aparece no rodapé ou nas barras laterais de um console do Salesforce. Se essa opção for selecionada, será preciso escolher o local onde o aplicativo de tela aparece no console adicionando-o como componente de console personalizado. Página do Visualforce: O aplicativo de tela pode ser exibido em uma página do Visualforce. Se você adicionar um componente <apex:canvasapp> para expor um aplicativo de tela em uma página do Visualforce, certifique-se de selecionar esse local para o aplicativo de tela. Caso contrário, você receberá um erro. 5. Selecione Criar ações automaticamente a fim de criar uma ação global para seu aplicativo de tela. Para criar uma ação global para o aplicativo de tela, selecione Editor em Local. Caso contrário, não serão criadas ações globais. Também é possível criar a ação manualmente mais tarde. Editando, empacotando ou excluindo um aplicativo conectado Após criar um aplicativo conectado, você pode editá-lo, empacotá-lo ou excluí-lo. Os aplicativos conectados têm nomes exclusivos e não podem ser reutilizados, mesmo que um aplicativo seja excluído da sua organização. Editando um Aplicativo conectado É possível atualizar um aplicativo conectado a qualquer momento. Em Configuração, clique em Criar > Aplicativos. Clique em um Nome de aplicativo conectado na lista para abrir a página de detalhes do aplicativo. Clique em Editar para abrir a página de edição onde é possível fazer alterações. Salve suas alterações clicando em Salvar. Depois de criar o aplicativo, especifique as faixas de IP clicando em Novo e em Faixas de IP. Os intervalos de IP funcionam com OAuth, não com SAML, e especificam os endereços que podem acessar o aplicativo sem precisar de autenticação do usuário. Insira um endereço IP válido no campo Endereço IP de início e um endereço IP superior no campo Endereço IP de término. Pode-se inserir várias faixas descontínuas, clicando em Novo para inserir cada faixa. Depois que o aplicativo é instalado, o administrador de cada organização pode aprovar ou ignorar os intervalos definindo restrições de IP. Depois de criar o aplicativo, especifique os atributos personalizados clicando em Novo em Atributos personalizados. Use atributos personalizados para especificar os metadados de SAML ou parâmetros de OAuth que são lidos no tempo de execução do OAuth. Cada atributo personalizado deve ter uma chave exclusiva e usar campos disponíveis no menu Inserir campo. Os administradores podem substituir os atributos personalizados.

66 Arquitetura e desenvolvimento do aplicativo Version 29.0 Instalando um Aplicativo conectado 58 Empacotando um aplicativo conectado Após a criação de um aplicativo conectado ou de uma nova versão de um aplicativo existente, embale-o para disponibilizá-lo aos usuários em outras organizações do Salesforce. É possível adicionar um aplicativo conectado a um pacote gerenciado da mesma forma e juntamente com outros componentes, como objetos personalizados, páginas do Visualforce ou classes do Apex. Isso facilita a distribuição de um aplicativo conectado para outras organizações do Salesforce. Como componente que pode ser empacotado, os aplicativos conectados também podem tirar proveito de todos os outros recursos de pacotes gerenciados, como listagem no AppExchange, upgrade automático, scripts de Apex pós-instalação, gerenciamento de licenças e suporte aprimorado ao assinante. Nota: Só se pode embalar um aplicativo conectado em uma organização da Edição Developer. Excluindo um Aplicativo conectado Para excluir um aplicativo conectado, clique no Nome de aplicativo conectado na lista de aplicativos. Clique em Excluir na página de edição e confirme clicando novamente em Excluir. Embora o aplicativo seja removido da sua lista, não é possível reutilizar o nome dele. Se um aplicativo conectado incluído em um pacote for excluído, ele permanecerá disponível até o pacote ser atualizado. Instalando um Aplicativo conectado Você instala um aplicativo conectado instalando um pacote gerenciado que inclui o aplicativo conectado como um componente. Nota: Os aplicativos conectados criados antes do Summer 13 podem ser instalados por meio de uma URL de instalação, enquanto o aplicativo conectado não estiver atualizado. Depois que o desenvolvedor carregar um pacote com a versão atualizada do aplicativo conectado, a URL não funcionará mais. Exibindo detalhes de aplicativo conectado A página Detalhes do Aplicativo Conectado (Connected App Detail) mostra informações sobre o aplicativo conectado, inclusive sua versão e escopos. Nela, é possível editar e verificar o uso do aplicativo conectado e associar perfis e permissões ao aplicativo. Clique em Edit (Editar) para fazer alterações no aplicativo na página Editar aplicativo conectado (Edit Connected App). Clique em Fazer download de metadados (Download Metadata) para fazer o download dos metadados do provedor de serviços específico para sua configuração. Este botão aparece somente se sua organização estiver habilitada como um provedor de identidade e somente com os aplicativos conectados que usam SAML. Clique em Exibir uso do OAuth para ver o relatório de uso dos aplicativos conectados na sua organização. Clique em Gerenciar perfis para selecionar os perfis do aplicativo na página de Atribuição do perfil do aplicativo. Selecione os perfis que terão acesso ao aplicativo. Importante: Esta opção não será exibida caso a política OAuth para Usuários autorizados esteja definida como Todos os usuários podem conceder autorização a si mesmo porque esta opção não é necessária quando os usuários puderem conceder autorização a si mesmo. Clique em Gerenciar conjuntos de permissões para selecionar os conjuntos de permissões dos perfis para esse aplicativo na página de Atribuição do perfil do aplicativo. Selecione os conjuntos de permissões que terão acesso ao aplicativo. Importante: Esta opção não será exibida caso a política OAuth para Usuários autorizados esteja definida como Todos os usuários podem conceder autorização a si mesmo porque esta opção não é necessária quando os usuários puderem conceder autorização a si mesmo.

67 Arquitetura e desenvolvimento do aplicativo Version 29.0 Gerenciando um aplicativo conectado 59 Clique em Novo em Atributos SAML do provedor de serviços para criar novos pares de valor/chave de atributo. Também é possível editar ou excluir os atributos existentes. Somente os usuários pertencentes a pelo menos um dos perfis ou conjuntos de permissão selecionados podem executar o aplicativo se a opção Usuários aprovados pelo administrador (Admin-approved users) estiver selecionada para o valor Usuários autorizados (Permitted Users) na página Editar aplicativo conectado (Connected App Edit). Se em vez disso você selecionar Todos os usuários, os perfis e conjuntos de permissões serão ignorados. Gerenciando um aplicativo conectado Para exibir e atualizar as propriedades de um aplicativo conectado, localize o aplicativo em Configuração, em Gerenciar aplicativos > Aplicativos conectados e clique em Editar ao lado dele. Para exibir e atualizar os detalhes do aplicativo, clique no nome dele. Nota: As sessões são atualizadas automaticamente em intervalos que variam de 15 minutos a 12 horas, enquanto o usuário está no aplicativo, dependo do Valor do tempo limite de sessão definido para sua organização, o que muitas vezes não é detectado pelo usuário. Editando um Aplicativo conectado A página Editar aplicativo conectado permite editar as configurações e permissões de um aplicativo conectado Siga estas etapas para editar as configurações de um aplicativo conectado. 1. Em Configuração, clique em Gerenciar aplicativos > Aplicativos conectados. 2. Clique em Editar ao lado do nome do aplicativo que deseja modificar. (Para revisar as informações sobre um aplicativo na página Detalhes do aplicativo conectado, clique no nome do aplicativo.) As políticas do OAuth estão disponíveis para qualquer aplicativo conectado. Usuários autorizados determina quem pode executar o aplicativo. - Todos os usuários podem se autoautorizar: Padrão. Qualquer um na organização pode conceder autorização a si mesmo no aplicativo. Isso significa que cada usuário deve aprovar o aplicativo da primeira vez que o acessar. - Os usuários aprovados pelo administrador são pré-autorizados: O acesso é limitado aos usuários com o perfil ou conjunto de permissões especificado, mas eles não precisam aprovar o aplicativo antes de poder acessá-lo. Gerencie perfis do aplicativo editando a lista Acesso a aplicativo conectado de cada perfil. Gerencie conjuntos de permissões do aplicativo editando a lista Aplicativos conectados atribuídos de cada conjunto de permissões. Nota: Se você trocar de Todos os usuários podem conceder autorização a si mesmos para Usuários aprovados pelo administrador estão pré-autorizados, qualquer um que atualmente utiliza o aplicativo perderá seu acesso, a menos que pertença a um conjunto de permissões ou perfil especificado para o aplicativo. Restrições de IP refere-se às restrições de IP às quais os usuários do aplicativo conectado estão sujeitos. Um administrador pode optar por aplicar ou ignorar essas restrições, escolhendo uma das seguintes opções. - Impor restrições de IP: Padrão. Um usuário que executa esse aplicativo está sujeito a restrições de IP da organização, como faixas de IP definidas no perfil do usuário. - Reduzir restrições de IP com o segundo fator: Um usuário que executa esse aplicativo ignora as restrições de IP da organização se qualquer uma destas condições for verdadeira:

68 Arquitetura e desenvolvimento do aplicativo Version 29.0 Monitoramento de uso de um Aplicativo conectado 60 - O aplicativo tem faixas de IP incluídas na lista aprovada e está usando o fluxo de autenticação do OAuth no servidor da Web. Apenas as solicitações recebidas dos IPs na lista aprovada são permitidas. - O aplicativo não tem lista de faixa de IP aprovada, está usando o servidor da Web ou o fluxo de autenticação de OAuth do agente do usuário e o usuário conclui com sucesso a Confirmação de identidade. - Reduzir restrições de IP: Um usuário que executa esse aplicativo conectado não está sujeito a quaisquer restrições de IP. Exigir que os usuários efetuem login especifica a frequência com que o usuário precisa efetuar login para manter as permissões que seu aplicativo de cliente precisa do aplicativo conectado. Você pode especificar que eles precisam efetuar login apenas da primeira vez que usarem o aplicativo, toda vez que o usarem, depois de certo período de inatividade ou após determinado período. As permissões atuais do aplicativo conectado também são listadas aqui. Se seu aplicativo conectado for um aplicativo de tela que usa autenticação de solicitação assinada, certifique-se de: Definir Usuários autorizados para Usuários aprovados pelo administrador estão pré-autorizados. Defina Exigir que os usuários efetuem login para Na primeira vez em que usarem esse aplicativo. Forneça acesso por meio de conjuntos de permissão e perfis aos usuários. Política de nível de sessão está disponível para todos os aplicativos conectados. Selecione a Sessão de alta garantia exigida para obrigar os usuários a inserir uma chave de segurança com base no tempo durante o login para acessar o aplicativo. Informações básicas estão disponíveis para todos os aplicativos conectados. Porém, se o seu aplicativo for um aplicativo de tela, esses valores de campo não serão usados. Em vez disso, o URL do aplicativo de tela especificado quando o aplicativo conectado foi criado é usado. URL inicial é usado se o aplicativo conectado usa login único. Nesse caso, defina o URL da página onde o usuário inicia o processo de autenticação. Essa localização também aparecerá no menu do alternador do aplicativo. URL do início móvel é usada para direcionar os usuários a um local específico quando o aplicativo é acessado a partir de um dispositivo móvel. As configurações de aplicativo móvel estão disponíveis para aplicativos conectados móveis que impõem a proteção por PIN. Tempo limite da sessão especifica quanto tempo pode passar com o aplicativo inativo antes de o aplicativo bloquear a si mesmo e exigir o PIN antes de continuar. Os valores permitidos são nenhum (sem bloqueio), 1, 5, 10 e 30 minutos. Tamanho do Pin define o comprimento do número de identificação enviado para uma confirmação de autenticação. O comprimento pode ser de 4 a 8 dígitos. Os atributos personalizados estão disponíveis para todos os aplicativos conectados. Os desenvolvedores podem definir metadados de SAML personalizado ou atributos de OAuth personalizados para o aplicativo conectado. Os administradores podem excluir ou editar esses atributos. Os administradores também podem incluir atributos personalizados adicionais. Os atributos excluídos, editados ou adicionados por administradores substituem os atributos definidos pelos desenvolvedores. Monitoramento de uso de um Aplicativo conectado Permissões necessárias ao usuário Para gerenciar aplicativos: Para exibir aplicativos: Personalizar aplicativo Exibir configuração

69 Arquitetura e desenvolvimento do aplicativo Version 29.0 Desinstalando um Aplicativo conectado 61 Para exibir as informações sobre o uso de aplicativos conectados na organização, em Configuração, clique em Gerenciar aplicativos > Uso de OAuth em aplicativos conectados. Aparece uma lista de aplicativos conectados e informações sobre cada um deles. Aplicativo conectado O nome do aplicativo. Os aplicativos conectados que foram instalados, mas que não foram utilizados por ninguém, não aparecem na lista. Exibir informações do aplicativo Clique em Exibir informações do aplicativo para acessar a página de detalhes do aplicativo conectado. Como opção, se o aplicativo conectado ainda não estiver instalado, clique em Instalar. Contagem de usuários Ação O número de usuários que executaram o aplicativo. Clique na Contagem de usuários para ver informações sobre cada usuário, incluindo: Quando eles usaram o aplicativo pela primeira vez A última vez que usou o aplicativo O número de vezes que usou o aplicativo Na página Uso do usuário de aplicativo conectado, você pode encerrar o acesso de um usuário à sessão atual, clicando na ação Revogar na fila daquela pessoa. Ou clique no botão Revogar tudo na parte superior da página para efetuar logout de todos os que estão usando o aplicativo conectado. Clique em Bloquear para encerrar todas as sessões de usuário atuais com o aplicativo conectado e bloquear todas as novas sessões. O bloqueio de um aplicativo não é permanente. Você pode clicar em Desbloquear para permitir que os usuários efetuem login e acessem o aplicativo em outro momento. Desinstalando um Aplicativo conectado Para remover um aplicativo conectado da sua organização, desinstale o pacote do qual o aplicativo faz parte. Nota: Quando um aplicativo conectado é desinstalado, as chaves de acesso e de atualização de todos os usuários do aplicativo são removidas. Isso impede que um usuário execute o aplicativo mais tarde, usando uma chave de acesso existente, sem aprovar explicitamente o aplicativo ele mesmo. Sobre o WSDL do parceiro O WSDL de serviços Web do parceiro é usado para aplicativos de cliente que são voltados para metadados e que têm natureza dinâmica. Ele é especialmente (mas não exclusivamente) útil para parceiros salesforce.com que estão criando aplicativos de cliente para várias organizações. Como existe representação da identificação de tipos fraca dos modelos de dados do Salesforce que trabalham com pares de nome-valor e valores em vez de tipos de dados específicos, ela pode ser usada para acessar dados dentro de qualquer organização. Este WSDL é mais apropriado para desenvolvedores ou clientes que podem acionar uma chamada de consulta para obter informações sobre um objeto antes de o cliente agir sobre o objeto. O documento de WSDL do parceiro só precisa ser baixado e consumido uma vez por versão da API. Para obter mais informações sobre o WSDL do parceiro, consulte Usando o WSDL do parceiro no SOAP API Developer's Guide (Guia do desenvolvedor da API SOAP).

70 Arquitetura e desenvolvimento do aplicativo Version 29.0 Trabalhando com serviços externos 62 Trabalhando com serviços externos Talvez você deseje atualizar os seus dados no Salesforce quando ocorrerem alterações em outro serviço. Da mesma forma, talvez você deseje atualizar os dados em outro serviço (fora do Salesforce) com base nas alterações de seus dados do Salesforce. O Salesforce oferece maneiras de fazer ambas as transações. Por exemplo, talvez você queira enviar um em massa para mais contatos e leads do que o Salesforce permite. Para fazer isso, você pode usar um serviço de correio externo que permite aos usuários criar uma lista de destinatários com nomes e endereços usando as informações de contato e de lead em sua organização do Salesforce. Um aplicativo criado na plataforma Force.com pode se conectar a um serviço externo de várias maneiras diferentes. Por exemplo: É possível criar um link personalizado ou um campo de fórmula personalizado que passe as informações para um serviço externo. É possível usar a API do Force.com para transferir dados para dentro e para fora do Salesforce. É possível usar uma classe Apex que contenha um método para serviço Web.. Antes de qualquer página do Visualforce, callout do Apex ou código JavaScript usando XmlHttpRequest está um s-control ou botão personalizado possa chamar um site externo, esse site precisa ser registrado na página de configurações de site remoto ou ocorrerá falha na chamada. Para obter mais informações sobre registro de componentes, consulte Definindo configurações remotas na Ajuda do Salesforce. Cuidado: armazene nomes de usuário e senhas em nenhum serviço externo. Provisionamento de serviços externos Se seu aplicativo se vincula a um serviço externo, os usuários que instalam o aplicativo devem se inscrever para usar o serviço. Forneça acesso em uma destas duas maneiras: Acesso para todos os usuários ativos na organização sem nenhuma necessidade real para identificar um indivíduo. Acesso feito pelo usuário em que a identificação individual é importante. O serviço do Salesforce oferece dois IDs globalmente exclusivos para suporte a essas opções. O ID do usuário identifica um indivíduo e é único em todas as organizações. Os IDs de usuário nunca são reutilizados. Da mesma forma, o ID da organização identifica unicamente a organização. Evite usar endereços de , nomes da empresa e nomes de usuário do Salesforce quando fornecer acesso a um serviço externo. Os nomes de usuário podem mudar com o tempo e os endereços de e os nomes de empresa podem ser duplicados. Se você está fornecendo acesso a um serviço externo, recomendamos o seguinte: Use técnicas de login único (SSO) para identificar novos usuários quando eles usam seu serviço. Para cada ponto de entrada em seu aplicativo, como o link personalizado ou guia da Web, inclua o ID do usuário na string de parâmetros. Faça com que seu serviço examine o ID do usuário para garantir que ele não pertença a um usuário conhecido. Inclua um ID de sessão na string de parâmetros, de forma que seu serviço possa ser lido por meio da API do Force.com e garanta que este usuário esteja em uma sessão ativa e seja autenticado. Ofereça um serviço externo para todos os usuários conhecidos. Para usuários novos, exiba uma página alternativa para coletar as informações necessárias. armazene senhas para usuários individuais. Além dos riscos óbvios à segurança, muitas organizações reiniciam senhas regularmente, o que exige que o usuário atualize a senha também em seu sistema. Recomendamos projetar seu serviço externo para usar o ID de usuário e o ID de sessão para autenticar e identificar usuários.

71 Arquitetura e desenvolvimento do aplicativo Version 29.0 Protegendo sua propriedade intelectual 63 Se seu aplicativo exigir atualizações síncronas depois da expiração da sessão do usuário, dedique uma licença de usuário administrador diferente para isso. Protegendo sua propriedade intelectual Os detalhes de seus objetos personalizados, links personalizados, relatórios e todos os outros itens instalados são completamente revelados aos instaladores. Embora isso permita que um instalador analise um aplicativo e todos os seus componentes quanto a conteúdo mal intencionado, ele também impede que os desenvolvedores protejam algumas propriedades intelectuais. As seguintes informações são importantes ao considerar sua propriedade intelectual e sua proteção. Somente componentes do pacote publicados que são de sua propriedade intelectual e para os quais você tem direito de compartilhamento. Quando os componentes estiverem disponíveis no AppExchange, você não poderá chamá-los novamente de ninguém que os tenha instalado. As informações nos componentes incluídos em um pacote e publicados devem ser visíveis para clientes. Tenha cuidado ao adicionar seu código a uma fórmula, página do Visualforce, ou qualquer outro componente que não possa ocultar no seu aplicativo. O código contido em uma classe ou acionador do Apex que é parte do pacote gerenciado é automaticamente ofuscado e não pode ser visualizado em uma organização realizando a instalação. As únicas exceções são os métodos declarados como globais, o que significa que as assinaturas de método podem ser visualizadas em uma organização executando a instalação. Se uma configuração personalizada estiver contida em um pacote gerenciado, e a Visibilidade for especificada como Protegida, a configuração personalizada não é contida na lista de componentes para o pacote na organização do assinante. Todos os dados para a configuração personalizada são ocultos do assinante. Hub de ambiente Permissões necessárias ao usuário Para configurar o Hub de ambiente: Para conectar uma organização ao Hub de ambiente: Gerenciar o Hub de ambiente Conectar organização ao Hub de ambiente O Hub de ambiente permite exibir, conectar, criar e efetuar login em várias organizações do Salesforce a partir de um local. Isso pode ser especialmente útil se você usar um grande número de organizações de negócios, desenvolvimento e testes. É necessário escolher uma organização como o Hub de ambiente (ou organização de hub) e, em seguida, conectar todas as suas outras organizações (ou organizações membro) ao hub. Você pode estabelecer o login único entre as organizações de hub e membro, permitindo aos usuários alternar facilmente entre elas sem ter de fornecer credenciais de login. Ao conectar uma organização ao hub, as organizações relacionadas são descobertas automaticamente, para que não seja preciso conectá-las manualmente. Os seguintes tipos de organizações relacionadas são descobertos automaticamente. No caso de qualquer organização, todas as organizações do sandbox criadas a partir dela. No caso de uma organização de liberação, todas as organizações de correção relacionadas a ela. No caso de uma Organização de gerenciamento do Trialforce, todas as Organizações de origem do Trialforce criadas a partir dela. No caso de uma Organização de gerenciamento de licenças (LMO), ou seja, uma organização que possui o Aplicativo de gerenciamento de licenças instalado, qualquer organização de liberação (e, portanto, todas as suas organizações de correção associadas) que possua um pacote gerenciado registrado na LMO.

72 Arquitetura e desenvolvimento do aplicativo Version 29.0 Configurando o Hub de ambiente 64 Para acessar o Hub de ambiente: 1. No menu do Aplicativo Force.com, clique em Hub de ambiente. 2. Clique na guia Hub de ambiente. Nota: Para descobrir a organização de hub de qualquer organização membro, em Configuração, clique em Perfil da empresa > Informações da empresa. O ID da organização central está listado na seção Detalhes da organização. A página principal do Hub de ambiente exibe uma lista de todas as organizações membro conectadas ao hub. Para cada organização, são exibidos o nome, a descrição, a edição, o ID da organização, o status de login único e outros detalhes. Na guia Hub de ambiente, é possível executar as seguintes ações. Clique em Conectar organização para adicionar outra organização. Clique em Criar organização para criar uma nova organização. Clique no nome de qualquer organização para exibir detalhes sobre ela, incluindo outras organizações relacionadas. Clique em Editar ao lado da organização para atualizar seus detalhes. Clique em Excluir ao lado da organização para excluí-la do Hub de ambiente. Clique em Login ao lado de uma organização para efetuar login nela. Caso você já ativou o login único para essa organização, poderá se conectar sem fornecer credenciais de login. Se você tiver adicionado um grande número de organizações ao Hub de ambiente, poderá se concentrar em organizações de um tipo específico, por exemplo, organizações de desenvolvimento ou aquelas criadas após determinada data. Para criar um modo de exibição personalizado, clique em Criar novo modo de exibição no topo da página. Você pode filtrar as organizações com base em vários critérios, como edição, data de criação, instância, origem, status de SSO, e assim por diante. Cada organização membro corresponde a um objeto EnvironmentHubMember. Esse é um objeto padrão, semelhante a Contas ou Contatos. Assim, você pode utilizar todas as funcionalidades da plataforma Force.com para estender ou modificar o Hub de ambiente por meio da interface do usuário ou da API. Por exemplo, você pode criar campos personalizados, configurar regras de fluxo de trabalho ou definir mapeamentos de usuário e ativar o login único usando a API, para qualquer organização membro. Configurando o Hub de ambiente Permissões necessárias ao usuário Para configurar o Hub de ambiente: Gerenciar o Hub de ambiente Execute estas etapas para configurar o Hub de ambiente pela primeira vez. 1. Escolha qual organização você deseja usar como sua organização de hub. Essa deve ser a organização em que a maioria dos funcionários efetua login regularmente. 2. Configurar e implantar Meu domínio para sua organização de hub. Esse é um requisito para ativar o Hub de ambiente. 3. Entre em contato com o suporte da salesforce.com para que o Hub de ambiente seja ativado na sua organização de hub. 4. Depois que o recurso estiver ativado, efetue login na sua organização de hub por meio da URL de Meu domínio. 5. Edite perfis ou conjuntos de permissões para atribuir aos usuários acesso a recursos específicos do Hub de ambiente. a. Em Configuração, clique em Gerenciar usuários > Perfis. b. Clique em Editar ao lado do perfil apropriado. c. Selecione as configurações que deseja ativar na página de edição de perfil. d. Clique em Salvar. Esta tabela resume as configurações para o Hub de ambiente na página de edição de perfil.

73 Arquitetura e desenvolvimento do aplicativo Version 29.0 Configurando o Hub de ambiente 65 Seção de perfil Configurações dos aplicativos personalizados Acesso ao aplicativo conectado Acesso ao provedor de serviços Permissões administrativas Permissões gerais do usuário Permissões de objetos padrão Configurações do Hub de ambiente Ative o aplicativo personalizado de Hub de ambiente, para que esteja disponível no menu do aplicativo Force.com. O aplicativo conectado do Hub de ambiente é apenas para uso interno e não precisa ser ativado para os perfis. Uma nova entrada aparece automaticamente aqui sempre que o login único estiver ativado em uma organização membro. Ativar o acesso a um provedor de serviço permite acesso por login único à organização membro correspondente. O provedor de serviço é chamado "Provedor de serviço [OrganizationID]", onde [OrganizationID] é o ID da organização membro. Os usuários que não têm acesso ao provedor de serviço podem ver essa mensagem ao tentar efetuar login via login único: "O usuário [UserID] não tem acesso ao provedor de serviço [ServiceProviderID]." A permissão Gerenciar o Hub de ambiente controla os perfis que podem ativar, criar e editar a configuração de login único para organizações membro. Também controla quais perfis podem criar novas organizações a partir do hub (por meio do botão Criar organização). A permissão Conectar organização ao Hub de ambiente controla quais perfis podem conectar organizações existentes ao Hub de ambiente. As configurações de Membros do hub são usadas para controlar o acesso a entidades de um membro do Hub de ambiente, como segue: Ler: A capacidade de exibir registros de membro de hub existentes. Criar: Essa configuração não tem impacto sobre a capacidade de criar registros de membro de hub. Isso porque a criação do registro é feita conectando-se a uma organização existente ou criando uma nova organização a partir do Hub de ambiente. Editar: A capacidade de editar vários campos nos registros existentes de membros de hub (Organização, Descrição, etc.). Note que nem todos os campos são editáveis, visto que a maioria é gerenciada internamente. Excluir: A capacidade de "desconectar" uma organização do hub e excluir seu registro correspondente de membro de Hub de ambiente e registro de provedor de serviços (se o SSO tiver sido ativado no Membro). Exibir tudo: A capacidade administrativa de ler todos os registros de membros de hub, independentemente de quem os criou. Modificar tudo: A capacidade administrativa de ler, editar e excluir todos os registros de membros de hub, independentemente de quem os criou. Além disso, as configurações Convites do hub são usadas para gerenciar a conexão de organizações com o Hub de ambiente. Ao ativar a permissão Conectar organização ao Hub de ambiente, Criar, Ler, Atualizar e Excluir também devem ser ativados para o objeto Convites do hub. Caso contrário, ele poderá ser desativado com segurança. 6. Defina os mapeamentos de usuário para configurar que usuários devem ter acesso por login único às organizações de membros específicos. Para encontrar detalhes, consulte: Ativando o login único e Definindo um mapeamento de usuário de SSO.

74 Arquitetura e desenvolvimento do aplicativo Version 29.0 Configurando Meu domínio para o Hub de ambiente 66 Depois de serem concluídas as etapas acima, qualquer usuário com o perfil adequado poderá acessar o Hub de ambiente clicando em Hub de ambiente no menu Aplicativo. Os tipos de ações que o usuário pode executar no Hub de ambiente dependerão das configurações no perfil desse usuário. Configurando Meu domínio para o Hub de ambiente Permissões necessárias ao usuário Para configurar um nome de domínio: Personalizar aplicativo Meu domínio deve estar totalmente funcional em sua organização antes que o Hub de ambiente possa ser ativado. Execute estas etapas para configurar e implantar Meu domínio. 1. Encontre um nome de domínio que esteja disponível e inscreva-se para ele. a. Em Configuração, clique em Gerenciamento de domínio > Meu domínio. b. Informe o nome do subdomínio que você deseja usar dentro do URL de exemplo. Você pode usar até 40 caracteres. c. Clique em Verificar disponibilidade. Se o seu nome já tiver sido selecionado, escolha um diferente. d. Clique em Termos e condições para revisar o seu contrato, em seguida, selecione a caixa de seleção. e. Clique em Registrar domínio. Você receberá um quando o seu nome de domínio estiver pronto para a avaliação. Isso pode levar de 10 minutos a 24 horas. 2. Teste seu nome de domínio e implemente-o em toda sua organização. a. Em Configuração, clique em Gerenciamento de domínio > Meu domínio e depois em Clique aqui para fazer login ou então clique na URL no de confirmação, efetue login no Salesforce usando seu novo nome de domínio. b. Teste o novo nome de domínio clicando nas guias e links dentro do seu aplicativo. Você notará que todas as páginas mostram seu novo nome de domínio. Se você tiver personalizado a UI do Salesforce com recursos como botões personalizados ou páginas do Visualforce, certifique-se de testar completamente os elementos personalizados antes de implementar seu nome de domínio. Suas personalizações não devem usar URLs baseados em instância. c. Para disponibilizar o novo nome de domínio para sua organização, na Configuração, clique em Gerenciamento de domínio > Meu domínio e depois em Implantar para usuários. O domínio é ativado imediatamente e todos os usuários são redirecionados para páginas com novos endereços de domínio. 3. Defina a política de login de domínio para os usuários que acessam suas páginas. a. Em Configuração, clique em Gerenciamento de domínio > Meu domínio. b. Em Configurações do meu domínio, clique em Editar. c. Para desativar a autenticação para usuários que não utilizam sua página de login específica do domínio, selecione a política de login. Por exemplo, isso irá impedir que os usuários efetuem o login na página de login https://<instance>.salesforce.com/ genérica e sejam redirecionados para suas páginas após o login. Essa opção melhora a segurança ao impedir tentativas de login por qualquer pessoa que não conheça seu nome de domínio. d. Escolha uma política de redirecionamento com base no nível de segurança desejado. Você tem três opções, em ordem crescente de segurança: Redirecionar os usuários para a mesma página no domínio. Redirecionar os usuários com um aviso. Evitar o redirecionamento de modo que os usuários precisem inserir o novo nome de domínio. 4. Como opção, personalize sua página de login e adicione ou altere os provedores de identidade disponíveis na sua página de login. Para mais detalhes, consulte a ajuda online do Salesforce.

75 Arquitetura e desenvolvimento do aplicativo Version 29.0 Práticas recomendadas para o Hub de ambiente 67 Práticas recomendadas para o Hub de ambiente Essas diretrizes podem ajudá-lo a usar o Hub de ambiente efetivamente. Escolha a organização em que a maioria dos funcionários efetua login regularmente, como sua organização de hub. Você deve ter apenas uma organização de hub. Configure Meu domínio para cada organização membro, além da organização de hub. Edite perfis ou conjuntos de permissões para atribuir aos usuários acesso a recursos específicos do Hub de ambiente. Algumas configurações importantes estão listadas abaixo. O aplicativo personalizado do Hub de ambiente deve estar ativado para aparecer no menu do aplicativo do Force.com. Gerenciar o Hub de ambiente é necessário para criar novas organizações ou configurar acesso por login único. Essa é uma funcionalidade poderosa e só deve ser atribuída a usuários administradores Conectar organização ao Hub de ambiente é necessário para adicionar novas organizações membros ao hub. Acesso do provedor de serviços deve estar ativado para cada organização membro à qual você deseja permitir o acesso por login único. Para mais informações sobre todas as configurações de perfil, consulte: Configurando o Hub de ambiente. Decida uma estratégia para ativar o acesso por login único com base em requisitos de segurança da organização. Você pode então escolher qual combinação dos três métodos de SSO (mapeamento explícito, ID de federação ou fórmula personalizada) utilizar para suas necessidades específicas. Para encontrar detalhes, consulte: Ativando o login único. Visto que cada organização membro é um objeto padrão (do tipo EnvironmentHubMember), você pode modificar seu comportamento ou acessá-la programaticamente. Por exemplo, você pode criar campos personalizados, configurar regras de fluxo de trabalho ou definir mapeamentos de usuário e ativar o login único usando a API, para qualquer organização membro. O login único não funcionará para usuários recém-adicionados ou para mapeamentos de usuário de SSO definidos em uma organização do sandbox. Você deve apenas adicionar usuários, editar informações de usuário ou definir mapeamentos de usuário de SSO na organização pai para o sandbox. Conectando uma organização ao Hub de ambiente Permissões necessárias ao usuário Para conectar uma organização ao Hub de ambiente: Conectar organização ao Hub de ambiente Para conectar uma organização ao Hub: 1. Na página principal do Hub de ambiente, clique em Conectar organização. 2. Digite o nome do usuário administrador da organização membro, isto é, a organização que você deseja conectar ao hub. 3. Clique em Conectar organização. 4. Digite o nome de usuário administrador e a senha da organização membro na janela pop-up. 5. Clique em Efetuar login no Salesforce. 6. Clique em Permitir na próxima janela pop-up. A organização está agora conectada ao hub e aparece na lista de organizações membro no Hub de ambiente.

76 Arquitetura e desenvolvimento do aplicativo Version 29.0 Exibindo os detalhes de um membro do Hub de ambiente 68 Exibindo os detalhes de um membro do Hub de ambiente Clique no nome de qualquer organização no Hub de ambiente para exibir detalhes sobre ela, como seu nome, descrição, ID de organização, organizações relacionadas e usuários vinculados. A página de detalhes possui as seguintes seções. Detalhes do membro do hub Organizações-pai Organizações-filho Mapeamentos de usuários de login único Na página Detalhes do membro do hub, é possível executar as seguintes ações. Clicar em Editar para editar as informações sobre essa organização. Clique em Excluir para remover essa organização do Hub de ambiente. Clicar em Ativar SSO para ativar o login único para essa organização. Isso permite que os usuários vinculados efetuem login em sua organização a partir do Hub de ambiente sem fornecer credenciais. Clique em Efetuar login na organização para efetuar login. Se você tiver ativado SSO para essa organização, será conectado sem precisar digitar as credenciais de login. Clique em Novo mapeamento de usuário SSO para vincular um nome de usuário na organização membro com um nome de usuário na organização de hub para acesso por login único. Detalhes do membro do hub Essa seção exibe os atributos a seguir (em ordem alfabética). Atributo Descrição Edição Origem Organização ID da organização Sandbox Provedor de serviços Status SSO Descrição Uma descrição breve dessa organização. A edição da organização, por exemplo, DE ou EE. O método pelo qual essa organização foi adicionada ao Hub de ambiente. Os valores possíveis são Descoberto automaticamente e Adicionado por usuário. O nome dessa organização. O ID dessa organização. Se for uma organização de sandbox. Um link Detalhes aqui indica que a organização foi ativada para o login único no Hub de ambiente pelo suporte da salesforce.com. É preciso ativar o acesso ao provedor de serviços para essa organização em todos os perfis que o usarão para login único. O status de licenciamento ou criação dessa organização. Os valores possíveis incluem Avaliação, Gratuito, Ativo, Suspenso e Excluído. Se o login único foi ativado para essa organização. Os valores possíveis são: Ligado login único ativado. Desligado login único desativado.

77 Arquitetura e desenvolvimento do aplicativo Version 29.0 Exibindo os detalhes de um membro do Hub de ambiente 69 Atributo Descrição Pendente login único no processo de ativação. Falha falha na ativação do login único. Entre em contato com o suporte da salesforce.com para obter ajuda. Método de SSO 1 Usuários mapeados Método de SSO 2 ID de federação Método de SSO 3 Fórmula de nome de usuário O número de mapeamentos de usuários de SSO definidos entre essa organização e o hub de ambiente. Se o login único tiver sido ativado com base na correspondência de ID de federação. Se o login único tiver sido ativado usando uma fórmula personalizada para corresponder aos nomes de usuários. Organizações pai e organizações filho Ao conectar uma organização ao Hub de ambiente, os seguintes tipos de organizações relacionadas são detectados e conectados automaticamente. No caso de qualquer organização, todas as organizações do sandbox criadas a partir dela. No caso de uma organização de liberação, todas as organizações de correção relacionadas a ela. No caso de uma Organização de gerenciamento do Trialforce, todas as Organizações de origem do Trialforce criadas a partir dela. No caso de uma Organização de gerenciamento de licenças (LMO), ou seja, uma organização que possui o Aplicativo de gerenciamento de licenças instalado, qualquer organização de liberação (e, portanto, todas as suas organizações de correção associadas) que possua um pacote gerenciado registrado na LMO. Essas seções exibem uma lista das organizações relacionadas a essa organização. Para cada organização na lista, são exibidos seu nome e o relacionamento com essa organização. Mapeamentos de usuários de login único Esta seção apresenta uma lista de usuários mapeados, ou seja, os usuários da organização de hub que estão associados a um usuário correspondente na organização membro. Se o login único tiver sido ativado para essa organização membro, todos os usuários mapeados poderão efetuar login nela a partir do Hub de ambiente sem precisar fornecer credenciais. Nessa seção, é possível executar as seguintes ações: Clique em Novo mapeamento de usuário SSO para definir um novo mapeamento de usuário. Clique em Excluir ao lado de um usuário para desativar o acesso por login único. Os mapeamentos de usuário poderão ser de muitos para um (mas não de um para muitos). Isso significa que é possível associar vários usuários na organização de hub ao mesmo usuário em uma organização membro. Isso pode ser útil, por exemplo, se você desejar que um grupo de usuários efetue login em uma organização de teste com o mesmo usuário, para que eles usem exatamente a mesma configuração. Nota: Se um mapeamento tiver sido definido e o usuário ainda não conseguir usar o login único, verifique se o perfil do usuário tem as permissões adequadas ativadas. Para encontrar detalhes, consulte: Configurando o Hub de ambiente. O login único não funcionará para usuários recém-adicionados ou para mapeamentos de usuário de SSO definidos em uma organização do sandbox. Você deve apenas adicionar usuários, editar informações de usuário ou definir mapeamentos de usuário de SSO na organização pai para o sandbox.

78 Arquitetura e desenvolvimento do aplicativo Version 29.0 Editando os detalhes de um membro do Hub de ambiente 70 Editando os detalhes de um membro do Hub de ambiente Para editar detalhes de uma organização membro no Hub de ambiente: 1. Clique em Editar ao lado do nome da organização na página principal ou na página de detalhes do Hub de ambiente. 2. Na página que aparece, edite o nome e a descrição da organização. É útil especificar um nome e uma descrição significativos. Isso permite reconhecer facilmente a organização na lista de membros do Hub de ambiente. 3. Como opção, especifique um ou mais métodos de login único (veja detalhes abaixo). 4. Clique em Salvar. Para corresponder usuários nas organizações de hub e membro para o login único, é possível usar qualquer um dos três métodos. Método de SSO Usuários mapeados ID da federação Fórmula do nome de usuário Descrição Corresponde os usuários na organização de hub aos usuários em uma organização membro manualmente. Esse método está ativado por padrão, caso você tenha definido quaisquer mapeamentos de usuário de SSO a partir da página de detalhes do membro. Para encontrar detalhes, consulte: Definindo um mapeamento de usuário de SSO. Corresponde os usuários que têm o mesmo ID de federação em ambas as organizações. Para ativar esse método, selecione a caixa de seleção ao lado dele. Define uma fórmula personalizada para corresponder os usuários nas organizações membro e de hub. Isso permite a você o máximo de flexibilidade. Para ativar esse método, digite uma fórmula personalizada na caixa de texto fornecida. Por exemplo, a fórmula a seguir corresponde à primeira parte do nome de usuário (a parte antes do símbolo com um nome de domínio explícito. LEFT($User.Username, $User.Username)) & ("mydev.org") Se você especificar mais de um método de login único, eles são avaliados na ordem de precedência listada acima no momento em que o usuário tentar efetuar o login. O primeiro método que resultar em uma correspondência é usado para efetuar o login do usuário e os outros métodos são ignorados. Se nenhum usuário correspondente puder ser identificado, você é redirecionado para a página de login padrão da salesforce.com. Criando uma nova organização a partir do Hub de ambiente Permissões necessárias ao usuário Para configurar o Hub de ambiente: Gerenciar o Hub de ambiente Para criar uma nova organização no Hub de ambiente: 1. No Hub de ambiente, clique em Criar organização. 2. No menu suspenso, escolha o tipo de organização que deseja criar. As opções possíveis são: Desenvolvimento, Teste e Lançamento. 3. Na página que aparece, digite o nome da organização e Meu domínio, bem como o nome, nome de usuário e endereço de do usuário administrador. Se você estiver criando uma organização de teste, também precisará especificar sua edição ou um ID de modelo do Trialforce.

79 Arquitetura e desenvolvimento do aplicativo Version 29.0 Ativando login único no Hub de ambiente Clique em Criar. Esta é uma comparação dos diferentes tipos de organizações utilizadas para o desenvolvimento. Organização de desenvolvimento organização padrão da edição Developer (DE). Organização de lançamento organização de DE usada para criar e carregar o pacote gerenciado. Organização de teste uma organização de avaliação criada para fins de teste e demonstração; similar a uma organização criada em Os parceiros podem especificar um modelo de Trialforce para a criação de organizações de avaliação. Isto lhes permite configurar e testar exatamente o que seus clientes potenciais acham da avaliação. Ativando login único no Hub de ambiente Permissões necessárias ao usuário Para configurar o Hub de ambiente: Gerenciar o Hub de ambiente Para ativar o login único de uma organização: 1. Na página principal do Hub de ambiente, clique no nome da organização. 2. Clique em Ativar SSO na página de detalhes da organização. 3. Na página que é exibida, clique em Ativar SSO. Você é direcionado à página de detalhes da organização. Seu status de login único é exibido no alto da página e ao lado do campo SSO, na seção Detalhes do membro do hub. Para corresponder usuários nas organizações de hub e membro para o login único, é possível usar qualquer um dos três métodos. Método de SSO Usuários mapeados ID da federação Fórmula do nome de usuário Descrição Corresponde os usuários na organização de hub aos usuários em uma organização membro manualmente. Esse método está ativado por padrão, caso você tenha definido quaisquer mapeamentos de usuário de SSO a partir da página de detalhes do membro. Para encontrar detalhes, consulte: Definindo um mapeamento de usuário de SSO. Corresponde os usuários que têm o mesmo ID de federação em ambas as organizações. Para ativar esse método, selecione a caixa de seleção ao lado dele. Define uma fórmula personalizada para corresponder os usuários nas organizações membro e de hub. Isso permite a você o máximo de flexibilidade. Para ativar esse método, digite uma fórmula personalizada na caixa de texto fornecida. Por exemplo, a fórmula a seguir corresponde à primeira parte do nome de usuário (a parte antes do símbolo com um nome de domínio explícito. LEFT($User.Username, $User.Username)) & ("mydev.org") Se você especificar mais de um método de login único, eles são avaliados na ordem de precedência listada acima no momento em que o usuário tentar efetuar o login. O primeiro método que resultar em uma correspondência é usado para efetuar o login do usuário e os outros métodos são ignorados. Se nenhum usuário correspondente puder ser identificado, você é redirecionado para a página de login padrão da salesforce.com.

80 Arquitetura e desenvolvimento do aplicativo Version 29.0 Desativando login único no Hub de ambiente 72 Nota: Se um mapeamento tiver sido definido e o usuário ainda não conseguir usar o login único, verifique se o perfil do usuário tem as permissões adequadas ativadas. Para encontrar detalhes, consulte: Configurando o Hub de ambiente. O login único não funcionará para usuários recém-adicionados ou para mapeamentos de usuário de SSO definidos em uma organização do sandbox. Você deve apenas adicionar usuários, editar informações de usuário ou definir mapeamentos de usuário de SSO na organização pai para o sandbox. Desativando login único no Hub de ambiente Permissões necessárias ao usuário Para configurar o Hub de ambiente: Gerenciar o Hub de ambiente Para desativar o login único de uma organização: 1. Na página principal do Hub de ambiente, clique no nome da organização. 2. Clique em Desativar SSO na página de detalhes da organização. 3. Na página que é exibida, clique em Desativar SSO. Você é direcionado à página de detalhes da organização. Seu status de login único é exibido no alto da página e ao lado do campo SSO, na seção Detalhes do membro do hub. Mapeando usuários para login único no Hub de ambiente Permissões necessárias ao usuário Para configurar o Hub de ambiente: Gerenciar o Hub de ambiente É possível definir um mapeamento entre um usuário na organização de hub e um ou mais usuários em uma organização membro. Se o login único tiver sido ativado para essa organização membro, todos os usuários mapeados poderão efetuar login nela a partir do Hub de ambiente sem precisar fornecer credenciais. Os mapeamentos de usuário poderão ser de muitos para um (mas não de um para muitos). Isso significa que é possível associar vários usuários na organização de hub ao mesmo usuário em uma organização membro. Isso pode ser útil, por exemplo, se você desejar que um grupo de usuários efetue login em uma organização de teste com o mesmo usuário, para que eles usem exatamente a mesma configuração. Para definir um novo mapeamento de usuário de login único no Hub de ambiente: 1. Na página principal do Hub de ambiente, clique no nome da organização. 2. Clique em Novo mapeamento de usuário de SSO na página de detalhes de membro de hub. 3. Na página que aparece, digite o nome de usuário da organização membro e especifique o usuário correspondente para a organização de hub que usa o campo de pesquisa. 4. Clique em Salvar (ou em Salvar e novo para salvar e adicionar um novo usuário mapeado). Nota: Se um mapeamento tiver sido definido e o usuário ainda não conseguir usar o login único, verifique se o perfil do usuário tem as permissões adequadas ativadas. Para encontrar detalhes, consulte: Configurando o Hub de ambiente.

81 Arquitetura e desenvolvimento do aplicativo Version 29.0 Mapeando usuários para login único no Hub de ambiente 73 O login único não funcionará para usuários recém-adicionados ou para mapeamentos de usuário de SSO definidos em uma organização do sandbox. Você deve apenas adicionar usuários, editar informações de usuário ou definir mapeamentos de usuário de SSO na organização pai para o sandbox.

82 Capítulo 4 Empacotamento e teste do seu aplicativo Tópicos: Esta seção contém informações sobre o empacotamento e teste de seu aplicativo Registrando um prefixo de namespace durante o desenvolvimento. O procedimento geral é da seguinte maneira: O que são as versões beta de pacotes 1. Crie e carregue um pacote beta. gerenciados? 2. Instale o pacote beta na organização de teste de um parceiro (Enterprise, Criando e carregando um pacote beta Professional ou Group Editions estão disponíveis). Elas podem ser solicitadas Sobre os ambientes de desenvolvimento e teste do parceiro 3. por meio do portal do parceiro. Teste o pacote. Como se inscrever para ambientes de 4. Corrija erros e faça alterações em sua organização de desenvolvimento. teste 5. Repita estas etapas até que você esteja pronto para liberar um pacote Instalando um pacote gerenciado. Desinstalando um pacote Instalando pacotes gerenciados usando a API Criando e carregando um pacote gerenciado Sobre versões do pacote Executando o Apex em instalação/atualização de pacotes Executando o Apex na desinstalação de pacotes Links relacionados Criando e carregando um pacote beta Instalando um pacote

83 Empacotamento e teste do seu aplicativo Version 29.0 Registrando um prefixo de namespace 75 Registrando um prefixo de namespace No contexto de empacotamento, um prefixo de namespace é um identificador alfanumérico com 1 a 15 caracteres que distingue o seu pacote e conteúdo dos pacotes de outros desenvolvedores do AppExchange. Os prefixos de namespace não diferenciam maiúsculas de minúsculas. Por exemplo: ABC e abc não são reconhecidos como palavras distintas. O seu prefixo de namespace deve ser globalmente exclusivo em todas as organizações do Salesforce. Ele mantém o pacote gerenciado sob o seu controle exclusivo. O Salesforce automaticamente acrescenta ao seu namespace um prefixo, seguido por dois sublinhados ( ), para todos os nomes de componentes exclusivos na sua organização do Salesforce. Um componente de pacote exclusivo é aquele que exige um nome que nenhum outro componente tem dentro do Salesforce, como objetos personalizados, campos personalizados, links personalizados, s-controls e regras de validação. Por exemplo, se o prefixo de namespace for abc e seu pacote gerenciado contiver um objeto personalizado com o nome da API, Expense c, use o nome da API abc Expense c para acessar esse objeto usando a API. O prefixo do namespace é exibido em todas as páginas de detalhes de componentes. O prefixo de namespace deve: Começar com uma letra Ter entre 1 a 15 caracteres alfanuméricos conter dois sublinhados consecutivos Para registrar um prefixo de namespace: 1. Em Configuração, clique em Criar > Pacotes. 2. Clique em Editar. Nota: Esse botão não será exibido se você tiver definido suas configurações de desenvolvedor. 3. Verifique as seleções necessárias para definir as configurações do desenvolvedor e clique em Continuar. 4. Escolha o prefixo do namespace a ser registrado. 5. Clique em Verificar disponibilidade para determinar se já está sendo usado. 6. Repita se o prefixo de namespace inserido não estiver disponível. 7. Clique em Revisar minhas seleções. 8. Clique em Salvar (Save). O que são as versões beta de pacotes gerenciados? Um pacote beta é uma versão antecipada de um pacote gerenciado que é carregado em um estado Gerenciado - Beta (Managed - Beta) O objetivo de um pacote Gerenciado - Beta (Managed - Beta) é permitir que o desenvolvedor teste seus aplicativos em diferentes organizações do Salesforce e compartilhe o aplicativo com um conjunto piloto de usuários para avaliação e feedback. Antes de instalar uma versão beta de um pacote gerenciado, analise as observações a seguir: Os pacotes beta podem ser instalados em sandbox ou em organizações da Developer Edition ou em organizações de teste abastecidas somente pelo Portal do parceiro do salesforce.com Os componentes de um pacote beta são editáveis pela organização do desenvolvedor até que um pacote Gerenciado - Liberado (Managed - Released) seja carregado. As versões beta não são consideradas importantes, de forma que o número da versão do pacote não muda.

84 Empacotamento e teste do seu aplicativo Version 29.0 Criando e carregando um pacote beta 76 Os pacotes beta não são atualizáveis. Como os desenvolvedores ainda podem editar os componentes de um pacote beta, a versão Gerenciada - Liberada (Managed - Released) pode não ser compatível com o pacote beta instalado. Desinstale o pacote beta e instale um novo pacote beta ou versão liberada. Para obter mais informações, consulte Desinstalando um pacote na página 82 e Instalando um pacote na página 77. Criando e carregando um pacote beta Use os procedimentos a seguir para criar e carregar um pacote beta. 1. Criar um pacote: a. Em Configuração, clique em Criar > Pacotes. b. Clique em Novo (New). c. Insira um nome para o pacote. d. No menu suspenso, escolha o idioma padrão para todos os rótulos de componente no pacote. e. Também é possível escolher um link personalizado no campo Configurar link personalizado (Configure Custom Link) para exibir informações de configuração para os instaladores. O link personalizado é exibido como um link Configurar (Configure) no Salesforce, nas páginas Pacotes instalados (Installed Packages) e Detalhes do pacote (Package details) da organização do instalador. f. No campo Destinatário da notificação de exceção Apex (Apex Exception Notification Recipient), digite o nome de usuário da pessoa que receberá uma notificação por caso ocorra uma exceção em um script Apex que não seja detectada pelo script. g. Digite uma descrição do pacote. h. No lado direito da tela, marque a caixa de seleção Gerenciado (Managed). i. Clique em Salvar (Save). 2. Também é possível alterar os privilégios de acesso à API. Por padrão, o acesso à API é definido como Sem restrição (Unrestricted), mas você pode alterar essa configuração para restringir o acesso à API para os componentes no pacote. 3. Adicionar componentes: a. Clique em Adicionar componentes (Add Components). b. Na lista suspensa, selecione o tipo de componente. c. Selecione os componentes que desejar adicionar. d. Clique em Adicionar ao pacote. e. Repita essas etapas até adicionar todos os componentes ao pacote. Nota: Alguns componentes relacionados são incluídos automaticamente no pacote, mesmo que não sejam exibidos na lista Componentes do pacote (Package Components). Por exemplo, quando você adiciona um objeto personalizado a um pacote, seus campos personalizados, layouts de página e relacionamentos com objetos padrão são incluídos automaticamente. 4. Como opção, clique em Mostrar dependências (Show Dependencies) e reveja uma lista de componentes que dependem de outros componentes, permissões ou preferências dentro do pacote. Para obter mais informações sobre dependências, consulte Noções básicas sobre dependências na página 48. Clique em Concluído para retornar à página de detalhes do Pacote. 5. Clique em Carregar. 6. Na página Carregar pacote, faça o seguinte: a. Insira um Nome de versão (Version Name), como Spring 11 Beta. b. Insira um Número da versão (Version Number), como 1.0. Todos os pacotes beta usam o mesmo número de versão até que você carregue um pacote Gerenciado - Liberado (Managed - Released).

85 Empacotamento e teste do seu aplicativo Version 29.0 Sobre os ambientes de desenvolvimento e teste do parceiro 77 c. Selecione um Tipo de versão (Release Type) do Gerenciado - Beta (Managed - Beta). Nota: Os pacotes beta somente podem ser instalados na Developer Edition, na sandbox ou nas organizações de teste solicitadas por meio do Portal do parceiro salesforce.com e, portanto, não pode ser atualizado automaticamente nas organizações de cliente. d. Como opção, insira e confirme a senha para compartilhar o pacote de modo privado com alguém que tenha a senha. insira uma senha se você quiser tornar o pacote disponível a qualquer pessoa no AppExchange e compartilhar o seu pacote publicamente. e. O Salesforce seleciona automaticamente os requisitos que encontra. Além disso, selecione qualquer outro componente necessário das seções Requisitos do pacote e Requisitos do objeto para notificar instaladores sobre requisitos para esse pacote. f. Clique em Carregar. Você receberá um com um link para instalação depois que o pacote for carregado com êxito. Nota: Se você carregou da organização de produção do Salesforce, notifique os instaladores que desejam instalá-lo em uma organização do sandbox para substituir a porção login.salesforce.com do link de instalação por test.salesforce.com. Sobre os ambientes de desenvolvimento e teste do parceiro Como parceiro do Force.com ISV, você tem o direito a uma variedade de ambientes para desenvolvimento, teste e demonstrações de seu aplicativo do Force.com. Em geral, é preciso testar seu aplicativo em todas as edições para as quais quer oferecer suporte. Como se inscrever para ambientes de teste Para se inscrever para ambientes de teste (organizações), use o Portal de parceiros. 1. Faça login no Portal de parceiros. 2. No Portal de parceiros, na seção Links rápidos (Quick Links), clique em Criar uma organização de teste (Create a Test Org). 3. Na caixa suspensa Edição (Edition), selecione a edição que deseja testar. Para uma comparação das edições, consulte Sobre os ambientes de desenvolvimento e teste do parceiro na página Marque a caixa de seleção para aceitar os termos e clique em Enviar (Submit). 5. Você receberá um que solicitará que você se conecte e altere sua senha. Clique no link, altere sua senha e crie uma pergunta e resposta de segurança para a senha. Instalando um pacote Use o procedimento a seguir para localizar o aplicativo. Se você receber um link para o pacote, clique no link e ignore esta etapa: 1. Clique no link AppExchange na sua organização para ir diretamente para 2. No site do AppExchange, procure o aplicativo que deseja instalar. 3. Clique em Adquirir agora na página de informações de aplicativos. 4. Clique em Avançar.

86 Empacotamento e teste do seu aplicativo Version 29.0 Instalando um pacote 78 Nota: Apenas uma pessoa em sua organização pode instalar ou carregar um pacote por vez. Para instalar o pacote. 1. Insira o seu nome de usuário e a senha, leia os termos do usuário, selecione a caixa de seleção e clique em Continuar. Nota: Se você estiver instalando em um sandbox, substitua a parte do link de instalação com test.salesforce.com. Observe que esse pacote será removido do sandbox da sua organização sempre que você criar uma nova cópia do sandbox. 2. Se o pacote for protegido por senha, insira a senha que você recebeu do editor. 3. Selecione uma opção de segurança e clique em Avançar (Next). Conceder acesso somente aos administradores Especifica as configurações a seguir sobre a instalação do perfil de administrador e qualquer perfil com a permissão "Personalizar aplicativo": As permissões de objeto "Leitura", "Criação", "Edição", "Exclusão", "Exibir todos" e "Modificar todos" estão todas habilitadas Segurança em nível de campo Definida como visível e editável para todos os campos Classes do Apex Habilitadas Páginas do Visualforce Habilitadas Configurações do aplicativo Habilitadas Configurações da guia Determinadas pelo criador do pacote Configurações do layout de página Determinadas pelo criador do pacote Configurações do tipo de registro Determinadas pelo criador do pacote Após a instalação, se você tiver as edições Enterprise, Unlimited, Performance ou Developer, poderá definir as permissões de usuário e objeto apropriadas nos perfis personalizados, conforme o necessário. Conceder acesso a todos os usuários Especifica as configurações a seguir em todos os perfis personalizados internos: As permissões de objeto "Leitura", "Criação", "Edição", "Exclusão", "Exibir todos" e "Modificar todos" estão todas habilitadas Segurança em nível de campo Definida como visível e editável para todos os campos Classes do Apex Habilitadas Páginas do Visualforce Habilitadas Configurações do aplicativo Habilitadas Configurações da guia Determinadas pelo criador do pacote Configurações do layout de página Determinadas pelo criador do pacote Configurações do tipo de registro Determinadas pelo criador do pacote Nota: O Usuário do portal de clientes, Gerente do portal de clientes, Portal de clientes de alto volume, Site autenticado, Usuário parceiro e perfis padrão não recebem acesso. Selecionar configurações de segurança Permite que você escolha o acesso de uso de todos os perfis personalizados e padrão existentes na organização. Você pode definir que cada perfil tenha acesso total ou nenhum acesso ao novo pacote e todos os seus componentes.

87 Empacotamento e teste do seu aplicativo Version 29.0 Disponibilidade do componente depois da implantação 79 Nota: Dependendo do tipo de instalação, você pode não ver essa etapa. Por exemplo, nas edições Group e Professional, ou se o pacote não contiver um objeto personalizado, o Salesforce ignorará essa e a próxima, dando a todos os usuários acesso total. Os conjuntos de permissões não estão incluídos nas opções de segurança. Se o seu pacote inclui conjuntos de permissão, atribua-os após a instalação. 4. Selecione o nível de acesso a ser dado aos usuários em cada perfil e clique em Avançar (Next). Acesso total Especifica as configurações a seguir para cada perfil: As permissões de objeto "Leitura", "Criação", "Edição", "Exclusão", "Exibir todos" e "Modificar todos" estão todas habilitadas Segurança em nível de campo Definida como visível e editável para todos os campos Classes do Apex Habilitadas Páginas do Visualforce Habilitadas Configurações do aplicativo Habilitadas Configurações da guia Determinadas pelo criador do pacote Configurações do layout de página Determinadas pelo criador do pacote Configurações do tipo de registro Determinadas pelo criador do pacote Nenhum acesso Especifica as mesmas configurações como Acesso total, exceto que todas as permissões do objeto estão desativadas. Você poderá ver outras opções se o editor tiver incluído configurações para perfis personalizados. É possível incorporar as configurações dos perfis personalizados do editor a seus perfis sem afetar as configurações existentes. Escolha o nome das configurações na lista suspensa ao lado do perfil ao qual elas serão aplicadas. As configurações atuais do perfil permanecerão intactas. 5. Clique em Instalar. Se sua instalação falhar, consulte Resolução de problemas de instalação na página Antes de implantar o pacote para os seus usuários, faça as alterações necessárias para a implementação. Dependendo do conteúdo do pacote, talvez seja necessário personalizar os alguns itens: Para obter mais informações, consulte Configurando pacotes instalados na página Clique em OK. 8. Clique em Gerenciar licenças (Manage Licenses) para atribuir licenças a usuários. Disponibilidade do componente depois da implantação Muitos componentes têm um atributo Está implantado (Is Deployed) que controla se eles estão disponíveis para usuários finais. Depois da instalação, todos os componentes estão imediatamente disponíveis se eles estiverem disponíveis na organização do desenvolvedor. Para obter dicas sobre personalização do pacote e dos componentes instalados, consulte Configurando pacotes instalados na Ajuda do Salesforce. Os pacotes instalados estão disponíveis para usuários em sua organização com as permissões apropriadas e configurações de layout de página. Configurando pacotes instalados Antes de disponibilizar o pacote para os seus usuários, faça as alterações necessárias para a implementação. Dependendo do conteúdo do pacote, talvez seja necessário personalizar os seguintes itens:

88 Empacotamento e teste do seu aplicativo Version 29.0 Configurando pacotes instalados 80 Opção Configurar Se o editor incluiu um link para um site externo com informações sobre configuração, a página de Downloads do AppExchange exibe a opção Configurar ao lado do pacote em Configuração ao clicar em Pacotes instalados. Clique em Configurar para exibir as configurações sugeridas pelo editor. Campos personalizados e links personalizados Adicione os campos ou links personalizados necessários aos novos objetos personalizados. Objeto personalizado Ative o rastreamento de objetos que não estão nesse pacote, mas que tenham campos rastreados no Chatter. Por exemplo, para rastrear um campo personalizado em Conta, certifique-se de que o objeto padrão Conta esteja ativado para rastreamento. Tipos de relatório personalizado Se o Nome de tipo de relatório de um relatório personalizado corresponder a um relatório usado na sua organização, altere o Nome de tipo de relatório após a instalação do pacote, para evitar qualquer confusão entre os dois tipos de relatório. Usuário em execução no painel Pastas O Usuário em execução de qualquer painel é definido como o usuário que instala o pacote. Você pode editar as propriedades do painel e alterar o Usuário em execução para um usuário que tenha as configurações de segurança que você deseja aplicar ao painel. Quando os aplicativos contêm documentos, modelos de , relatórios ou painéis, o Salesforce cria novas pastas na organização do instalador usando os nomes de pasta do editor. Certifique-se de que esses nomes de pastas são exclusivos na organização. Todos os usuários podem ver as novas pastas. Defina as configurações de pasta antes da implantação caso deseje que tenham visibilidade limitada. Layouts de home page Layouts personalizados de home page incluídos no pacote não são atribuídos a nenhum usuário. Para torná-los disponíveis aos usuários, atribua-os aos perfis apropriados. Modos de exibição de listas Os modos de exibição de listas contidos nos aplicativos ficam visíveis para todos os usuários. Altere a visibilidade desses modos de exibição de listas se necessário. Layouts de página A todos os usuários é atribuído o layout de página padrão dos objetos personalizados contidos no pacote. Os administradores de organizações que usam as edições Enterprise, Unlimited, Performance e Developer podem configurar o layout de página para os usuários apropriados. Se um objeto personalizado do pacote contiver relacionamentos com objetos padrão, adicione-os como listas relacionadas aos layouts de página apropriados. Se o pacote contiver links personalizados, adicione-os aos layouts de página apropriados. Se o gerenciamento avançado de moedas estiver ativado em sua organização, os campos de resumo de totalização de moeda serão inválidos se estiverem em contas e resumindo os valores de oportunidade, ou em oportunidades e resumindo os valores de objeto personalizado.remova esses campos dos layouts de página.

89 Empacotamento e teste do seu aplicativo Version 29.0 Resolução de problemas de instalação 81 Conjuntos de Permissões Atribuir conjuntos de permissões incluídos em um pacote aos usuários que necessitam de acesso ao pacote. Você não pode editar conjuntos de permissões que estejam incluídos em um pacote gerenciado. Se você clonar um conjunto de permissões incluído no pacote ou criar o seu próprio conjunto, será possível fazer alterações ao conjunto de permissões, mas as atualizações posteriores não o afetarão. Workbench de tradução Os valores traduzidos para componentes do pacote instalados também são instalados para qualquer linguagem incluída pelo desenvolvedor. Os componentes do pacote personalizados pelo desenvolvedor na configuração, como um campo ou tipo de registro personalizado, são exibidos nas páginas de configuração do instalador na linguagem do desenvolvedor (a linguagem usada na definição desses itens). Os usuários na organização do instalador verão automaticamente os valores traduzidos se sua linguagem pessoal for incluída no pacote. Além disso, os instaladores podem ativar linguagens adicionais desde que o workbench de tradução esteja ativado. Alertas de fluxo de trabalho Se o destinatário de um alerta de fluxo de trabalho for um usuário, o Salesforce substituirá esse usuário pelo usuário que estiver instalando o pacote. Você pode alterar os destinatários de quaisquer alertas de fluxo de trabalho instalados. Atualizações de campo do fluxo de trabalho Se uma atualização de campo for designada para alterar um campo do proprietário do registro para um usuário específico, o Salesforce substituirá esse usuário pelo usuário que estiver instalando o pacote. Você pode alterar o valor do campo de quaisquer atualizações de campo instaladas. Mensagens de saída do fluxo de trabalho O Salesforce substituirá o usuário no campo Usuário para enviar como de uma mensagem de saída pelo usuário que estiver instalando o pacote. Você pode alterar este valor após a instalação. Regras do fluxo de trabalho As regras de fluxo de trabalho são instaladas sem quaisquer acionadores baseados em tempo que o desenvolvedor possa ter criado. Configure os acionadores baseados em tempo de acordo com a necessidade. Tarefas de fluxo de trabalho O Salesforce substitui o usuário no campo Atribuído a pelo usuário que estiver instalando o pacote. Você pode alterar este valor após a instalação. Resolução de problemas de instalação Uma instalação pode falhar por diversos motivos: O pacote contém objetos personalizados que vão fazer com que a sua organização exceda o limite de objetos personalizados. O pacote contém guias personalizadas que vão fazer com que a sua organização exceda o limite de guias personalizadas. O desenvolvedor do pacote carregou uma versão mais recente dele e rebaixou a versão associada a esse URL de instalação. Entre em contato com o editor do pacote para obter o URL de instalação mais recente. Você está tentando instalar uma extensão em um pacote e ainda não tem o pacote de base instalado. O pacote exige que determinados componentes sejam habilitados na sua organização, ou que os recursos exigidos estejam disponíveis na sua edição. O pacote contém o código do Apex e você não está autorizado a executar o Apex na sua organização. O pacote que você está instalando tem um teste Apex em falha. Se você for um desenvolvedor e a instalação falhar em decorrência de uma falha de teste do Apex, verifique o seguinte:

90 Empacotamento e teste do seu aplicativo Version 29.0 Desinstalando um pacote 82 Verifique se você está preparando todos os dados necessários para o teste do Apex, em vez de confiar nos dados existentes dos assinantes. Se um assinante criar uma regra de validação, campo obrigatório ou acionador em um objeto ao qual seu pacote faz referência, seu teste poderá falhar caso execute DML nesse objeto. Se esse objeto for criado somente para fins de teste, e nunca em tempo de execução, e a criação falhar em função desses conflitos, você poderá ter a segurança de ignorar o erro e continuar o teste. Caso contrário, entre em contato com o cliente e determine o impacto. Desinstalando um pacote Durante o ciclo de desenvolvimento e de teste, talvez você precise desinstalar periodicamente os pacotes antes de instalar o próximo beta. Para remover um pacote: 1. Em Configuração (Setup), clique em Pacotes instalados (Installed Packages). 2. Clique em Desinstalar ao lado do pacote a ser removido. 3. Marque Sim, eu quero desinstalar... e clique em Desinstalar. 4. Após uma desinstalação, o Salesforce cria automaticamente um arquivo de exportação que contém os dados do pacote, assim como quaisquer avisos e anexos associados. Após a conclusão da desinstalação, o Salesforce envia um com um link para o arquivo de exportação ao usuário que está executando a desinstalação. O arquivo de exportação, as notas e os anexos relacionados são listados abaixo da lista de pacotes instalados. Recomenda-se armazenar o arquivo em qualquer outro lugar porque ele só está disponível por um período limitado de tempo após a conclusão da desinstalação. Dica: Se você reinstalar o pacote depois e quiser reimportar os dados do pacote, consulte Importando dados do pacote na Ajuda do Salesforce. Ao desinstalar pacotes, considere o seguinte: Se você estiver desinstalando um pacote que contém um objeto personalizado, todos os componentes desse objeto personalizado também serão excluídos. Isso inclui campos personalizados, regras de validação, s-controls, botões e links personalizados, além de regras de fluxo de trabalho e processos de aprovação. será possível desinstalar um pacote sempre que qualquer um de seus componentes fizer referência a um componente que não seja incluído na desinstalação. Por exemplo: Quando um pacote instalado inclui algum componente em um objeto padrão ao qual outro componente faz referência, o Salesforce impede a desinstalação do pacote. Isso significa que você pode instalar um pacote que inclua um campo de usuário personalizado e criar uma regra de fluxo de trabalho que seja acionada quando o valor desse campo for específico. A desinstalação do pacote impediria a execução do seu fluxo de trabalho. Quando você instala dois pacotes não relacionados e cada um deles inclui um objeto personalizado e um componente de objeto personalizado faz referência a um componente contido no outro, o Salesforce impede a desinstalação do pacote. Isso significa que você pode instalar um aplicativo de relatório de despesas que inclua um campo de usuário personalizado e criar uma regra de validação em outro objeto personalizado instalado que faça referência a esse campo de usuário personalizado. Entretanto, a desinstalação do aplicativo de relatório de despesas impede a execução da regra de validação. Quando uma pasta instalada contém componentes adicionados após a instalação, o Salesforce impede que o pacote seja desinstalado. Quando um papel timbrado instalado é usado para um modelo de adicionado após a instalação, o Salesforce evita que o pacote seja desinstalado. Os arquivos de exportação de desinstalação contêm dados do aplicativo personalizado para o pacote, excluindo alguns componentes, como documentos e valores de campos de fórmula.

91 Empacotamento e teste do seu aplicativo Version 29.0 Instalando pacotes gerenciados usando a API 83 Instalando pacotes gerenciados usando a API É possível instalar, atualizar e desinstalar pacotes usando a API em vez da interface do usuário. A automatização destas tarefas repetitivas pode ajudar você a trabalhar com mais eficiência e acelerar o desenvolvimento do aplicativo. Para instalar, atualizar ou desinstalar um pacote, use a chamada deploy() da API de metadados padrão com o tipo de metadados InstalledPackage. As operações a seguir são compatíveis. A implantação de um InstalledPackage instala o pacote na organização de implantação. A implantação de uma versão mais nova de um pacote atualmente instalado atualiza o pacote. A implantação de um InstalledPackage usando um manifesto chamado destructivechanges.xml, em vez de package.xml, desinstala-o da organização. Nota: É possível implantar um pacote junto com outros tipos de metadados. Portanto, InstalledPackage deve ser o único tipo de metadados especificado no arquivo do manifesto. Este é um típico manifesto de projeto (package.xml) para a instalação de um pacote. O manifesto não deve conter um elemento fullname ou namespaceprefix. <?xml version="1.0" encoding="utf-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>*</members> <name>installedpackage</name> </types> <version>28.0</version> </Package> O pacote é especificado em um arquivo chamado MyNamespace.installedPackage, onde MyNamespace é o prefixo do namespace do pacote. O arquivo deve ser um diretório chamado installedpackages, e seu conteúdo deve ter este formato. <?xml version="1.0" encoding="utf-8"?> <InstalledPackage xmlns="http://soap.sforce.com/2006/04/metadata"> <versionnumber>1.0</versionnumber> <password>optional_password</password> </InstalledPackage> Para desinstalar um pacote, implante este arquivo de manifesto destructivechanges.xml além do arquivo package.xml. <?xml version="1.0" encoding="utf-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>mynamespace</members> <name>installedpackage</name> </types> </Package> A recuperação de um InstalledPackage, usando a chamada retrieve() cria uma representação XML do pacote instalado em uma organização. Se o pacote instalado tiver uma senha, ela não será recuperada. A implantação do arquivo recuperado em uma organização diferente instala o pacote naquela organização. Para obter mais informações sobre os comandos deploy() e retrieve(), consulte o Metadata API Developer s Guide (Guia do desenvolvedor de API de metadados (Metadata API Developer s Guide).

92 Empacotamento e teste do seu aplicativo Version 29.0 Criando e carregando um pacote gerenciado 84 Criando e carregando um pacote gerenciado Use os procedimentos a seguir para criar e carregar um pacote gerenciado. O procedimento considera que você já tenha criado um namespace e um pacote beta. Se você estiver carregando um pacote beta para teste, consulte Criando e carregando um pacote beta na página Criar um pacote: a. Em Configuração, clique em Criar > Pacotes. b. Clique em Novo (New). c. Insira um nome para o pacote. d. No menu suspenso, escolha o idioma padrão para todos os rótulos de componente no pacote. e. Também é possível escolher um link personalizado no campo Configurar link personalizado (Configure Custom Link) para exibir informações de configuração para os instaladores. O link personalizado é exibido como um link Configurar (Configure) no Salesforce, nas páginas Pacotes instalados (Installed Packages) e Detalhes do pacote (Package details) da organização do instalador. f. No campo Destinatário da notificação de exceção Apex (Apex Exception Notification Recipient), digite o nome de usuário da pessoa que receberá uma notificação por caso ocorra uma exceção em um script Apex que não seja detectada pelo script. g. Digite uma descrição do pacote. h. No lado direito da tela, marque a caixa de seleção Gerenciado (Managed). i. Clique em Salvar (Save). 2. Também é possível alterar os privilégios de acesso à API. Por padrão, o acesso à API é definido como Sem restrição (Unrestricted), mas você pode alterar essa configuração para restringir o acesso à API para os componentes no pacote. 3. Adicionar componentes: a. Clique em Adicionar componentes (Add Components). b. Na lista suspensa, selecione o tipo de componente. c. Selecione os componentes que desejar adicionar. d. Clique em Adicionar ao pacote. e. Repita essas etapas até adicionar todos os componentes ao pacote. Nota: Alguns componentes relacionados são incluídos automaticamente no pacote, mesmo que não sejam exibidos na lista Componentes do pacote (Package Components). Por exemplo, quando você adiciona um objeto personalizado a um pacote, seus campos personalizados, layouts de página e relacionamentos com objetos padrão são incluídos automaticamente. 4. Como opção, clique em Mostrar dependências (Show Dependencies) e reveja uma lista de componentes que dependem de outros componentes, permissões ou preferências dentro do pacote. Para obter mais informações sobre dependências, consulte Noções básicas sobre dependências na página 48. Clique em Concluído para retornar à página de detalhes do Pacote. 5. Clique em Carregar. 6. Na página Carregar pacote, faça o seguinte: a. Insira um Nome de versão (Version Name), como Spring 12. O nome de versão é um nome de marketing para uma versão específica de um pacote e permite que você crie um título mais descritivo, e não simplesmente um número. b. Insira um Número da versão (Version Number), como 1.0. Para obter mais informações sobre versões, consulte Atualizando seu aplicativo na página 185.

93 Empacotamento e teste do seu aplicativo Version 29.0 Sobre versões do pacote 85 c. Selecione um Tipo de versão (Release Type) do Gerenciado - Liberado (Managed - Released). d. Altere a Descrição, se necessário. e. Como opção, insira e confirme a senha para compartilhar o pacote de modo privado com alguém que tenha a senha. insira uma senha se você quiser tornar o pacote disponível a qualquer pessoa no AppExchange e compartilhar o seu pacote publicamente. f. O Salesforce seleciona automaticamente os requisitos que encontra. Além disso, selecione qualquer outro componente necessário das seções Requisitos do pacote e Requisitos do objeto para notificar instaladores sobre requisitos para esse pacote. g. Clique em Carregar. 7. Depois que o carregamento estiver concluído, você pode fazer o seguinte: Clique no link Trocar senha para alterar a opção de senha. Clique em Recusar para impedir novas instalações deste pacote e permitir que as instalações existentes continuem sendo realizadas. Nota: é possível recusar a versão mais recente de um pacote gerenciado. Ao recusar um pacote, lembre-se também de removê-lo do AppExchange. Consulte Removendo aplicativos do AppExchange na ajuda online do AppExchange. Clique em recusar para tornar uma versão recusada disponível para instalação novamente. Você receberá um com um link para instalação depois que o pacote for carregado com êxito. Nota: Se você carregou da organização de produção do Salesforce, notifique os instaladores que desejam instalá-lo em uma organização do sandbox para substituir a porção login.salesforce.com do link de instalação por test.salesforce.com. Sobre versões do pacote Versão do pacote é um número que identifica o conjunto de componentes carregados em um pacote. O número da versão tem o formato majornumber.minornumber.patchnumber (por exemplo, 2.1.3). Os números maiores e menores aumentam para um valor escolhido em toda versão principal. O patchnumber é gerado e atualizado apenas para a versão do patch. Pacotes não gerenciados não têm capacidade de upgrade; assim, cada versão de pacote é simplesmente um grupo de componentes para distribuição. A versão de um pacote tem mais significado para pacotes gerenciados. Os pacotes podem exibir comportamento diferente para versões diferentes. Os editores podem usar as versões do pacote para evoluírem os componentes nos pacotes gerenciados com suavidade, lançando versões subsequentes do pacote sem romper as integrações existentes com clientes usando o pacote. Os números de versão dependem do tipo de versão do pacote, que identifica a forma como os pacotes são distribuídos. Existem dois tipos: Versão principal Uma versão principal denota um pacote Gerenciado - Liberado. Durantes estas versões, os números principais e secundários de uma versão de pacote aumentam para qualquer valor escolhido. Versão da correção Uma versão de correção serve somente para versões de correção de um pacote. Durante esses lançamentos, aumenta o número da correção de uma versão do pacote.

94 Empacotamento e teste do seu aplicativo Version 29.0 Executando o Apex em instalação/atualização de pacotes 86 Quando um assinante existente instala uma nova versão do pacote, só há uma única instância de cada componente no pacote, mas os componentes podem emular versões mais antigas. Por exemplo: um assinante pode estar usando um pacote gerenciado que contenha uma classe do Apex. Se o editor decidir recusar um método na classe do Apex e liberar uma nova versão do pacote, o assinante ainda só verá uma única instância da classe do Apex após instalar a nova versão. No entanto, essa classe do Apex ainda pode emular a versão anterior de qualquer código que faça referência ao método recusado na versão antiga. Os desenvolvedores de pacote podem usar lógica condicional nas classes de Apex e acionadores para exibir diferentes comportamentos para diferentes versões. Isso permite que o desenvolvedor do pacote continue oferecendo suporte ao comportamento existente nas classes e acionadores em versões anteriores do pacote enquanto continuam evoluindo o código. Quando você estiver desenvolvendo aplicativos de clientes usando a API, poderá especificar a versão de cada pacote utilizado nas integrações. Executando o Apex em instalação/atualização de pacotes Os desenvolvedores de aplicativo podem especificar um script Apex a ser executado automaticamente após o assinante instalar ou atualizar um pacote gerenciado. Isso torna possível personalizar a instalação ou atualização de pacotes, com base em detalhes da organização do assinante. Por exemplo, é possível usar o script para preencher configurações personalizadas, criar dados de amostra, enviar um para o instalador, notificar um sistema externo ou iniciar uma operação de lote para preencher um novo campo em um grande conjunto de dados. Para simplificar, apenas um script pós-instalação pode ser especificado. Deve ser uma classe do Apex que seja um membro do pacote. O script pós-instalação é chamado após os testes serem executados e está sujeito a limites padrão do controlador. Ele executa como se fosse um usuário especial do sistema que representa o seu pacote, portanto todas as operações realizadas pelo script parecem ser realizadas pelo pacote. Esse usuário pode ser acessado usando UserInfo. Você verá esse usuário apenas no tempo de execução, e não ao executar testes. Se o script falhar, a instalação/atualização será abortada. Erros no script são enviados por para o usuário especificado no campo Notificar em erro do Apex do pacote. Se nenhum usuário for especificado, os detalhes de instalação/atualização não estarão disponíveis. O script pós-instalação tem as seguintes propriedades adicionais. Pode iniciar trabalhos de lote, agendados e futuros. pode acessar IDs de sessão. Pode fazer callouts apenas usando uma operação assíncrona. O callout é feito após o script executar e após a instalação ser concluída e confirmada. Nota: é possível executar um script de instalação de publicação em uma organização sob nova avaliação com fornecimento por Trialforce. O script só é executado quando um assinante instala seu pacote em uma organização existente. Como um script pós-instalação funciona? Um script pós-instalação é uma classe do Apex que implementa a interface InstallHandler. Essa interface possui um único método, chamado de oninstall, que especifica as ações a serem realizadas na instalação. global interface InstallHandler { void oninstall(installcontext context) } O método oninstall aceita um objeto de contexto como argumento, o que fornece as seguintes informações. O ID da organização na qual a instalação ocorre.

95 Empacotamento e teste do seu aplicativo Version 29.0 Como um script pós-instalação funciona? 87 O ID do usuário que iniciou a instalação. O número da versão do pacote instalado anteriormente (especificado usando a classe Version). É sempre um número com três dígitos, como Se a instalação é uma atualização. Se a instalação é uma atualização automática. O argumento de contexto é um objeto cujo tipo é a interface InstallContext. Essa interface é implementada automaticamente pelo sistema. A definição a seguir da interface InstallContext mostra os métodos que podem ser chamados no argumento de contexto. global interface InstallContext { ID organizationid(); ID installerid(); Boolean isupgrade(); Boolean ispush(); Version previousversion(); } Métodos e classe de versão Os métodos na classe System.Version podem ser usados para obter a versão de um pacote gerenciado e para comparar versões de pacote. Versão do pacote é um número que identifica o conjunto de componentes carregados em um pacote. O número da versão tem o formato majornumber.minornumber.patchnumber (por exemplo, 2.1.3). Os números principais e secundários aumentam para um valor escolhido em toda versão principal. Os aumentos dos números principais e secundários sempre usam um número de correção 0. A seguir estão métodos de instância da classe System.Version. Método Argumentos Tipo de retorno Descrição Comparar (compareto) System.Version version Inteiro Compara a versão atual com a versão especificada e retorna um dos seguintes valores: Zero, se a versão do pacote atual for igual à versão especificada Um valor inteiro maior que zero, se a versão do pacote atual for maior que a versão especificada Um valor inteiro menor que zero, se a versão do pacote atual for menor que a versão especificada Se uma versão de duas partes estiver sendo comparada a uma versão de três partes, o número de correção será ignorado e a comparação se baseia apenas nos números principal e secundário. principal (major) Inteiro Retorna a versão principal do pacote do código de chamada. secundário (minor) Inteiro Retorna a versão secundária do pacote do código de chamada.

96 Empacotamento e teste do seu aplicativo Version 29.0 Exemplo de um script de pós-instalação 88 Método Argumentos Tipo de retorno Descrição correção (patch) Inteiro Retorna a versão de correção do pacote do código de chamada ou null, se não houver versão de pacote. A classe System contém dois métodos que podem ser usados para especificar lógica condicional, portanto diferentes versões podem exibir comportamentos diferentes. System.requestVersion: Retorna uma versão de duas partes que contém os números de versão principal e secundário de um pacote. Usando esse método, é possível determinar a versão de uma instância instalada do pacote a partir da qual o código de chamada está referenciando o pacote. Dependendo da versão do código de chamada, você pode personalizar o comportamento do código do pacote. System.runAs(System.Version): Altera a versão do pacote atual para a versão especificada no argumento. Quando um assinante instala várias versões do pacote e cria código que faz referência a classes ou acionadores do Apex no pacote, ele precisa selecionar a versão de referência. É possível executar diferentes caminhos de código no código Apex do pacote dependendo da configuração de versão do código Apex de chamada que faz a referência. É possível determinar a configuração da versão do pacote do código de chamada chamando o método System.requestVersion no código do pacote. Exemplo de um script de pós-instalação O script de pós-instalação de amostra a seguir realiza essas ações na instalação/atualização de pacotes. Se a versão anterior é nula, ou seja, se o pacote está sendo instalado pela primeira vez, o script então: Cria uma nova Conta chamada Newco e verifica se ela foi criada. Cria uma nova instância do objeto personalizado Pesquisa, chamado Pesquisa de satisfação do cliente. Envia um ao assinante confirmando a instalação do pacote. Se a versão anterior é 1.0, o script cria uma nova instância de Pesquisa chamada Atualizando da versão 1.0. Se o pacote é uma atualização, o script cria uma nova instância de Pesquisa chamada Pesquisa de amostra durante atualização. Se a atualização é automática, o script cria uma nova instância de Pesquisa chamada Pesquisa de amostra durante atualização automática. global class PostInstallClass implements InstallHandler { global void oninstall(installcontext context) { if(context.previousversion() == null) { Account a = new Account(name='Newco'); insert(a); Survey c obj = new Survey c(name='client Satisfaction Survey'); insert obj; User u = [Select Id, from User where Id =:context.installerid()]; String toaddress= u. ; String[] toaddresses = new String[]{toAddress}; Messaging.Single Message mail = new Messaging.Single Message(); mail.settoaddresses(toaddresses); mail.setsenderdisplayname('my Package Support'); mail.setsubject('package install successful'); mail.setplaintextbody('thanks for installing the package.'); Messaging.send (new Messaging. [] { mail }); }

97 Empacotamento e teste do seu aplicativo Version 29.0 Especificando um script pós-instalação 89 } else if(context.previousversion().compareto(new Version(1,0)) == 0) { Survey c obj = new Survey c(name='upgrading from Version 1.0'); insert(obj); } if(context.isupgrade()) { Survey c obj = new Survey c(name='sample Survey during Upgrade'); insert obj; } if(context.ispush()) { Survey c obj = new Survey c(name='sample Survey during Push'); insert obj; } } É possível testar um script de pós-instalação usando o novo método testinstall da classe Test. Esse método aceita os seguintes argumentos. Uma classe que implementa a interface InstallHandler. Um objeto Version que especifica o número da versão do pacote existente. Um valor booleano opcional que é true se a instalação for automática. O padrão é false. Essa amostra descreve como testar um script de pós-instalação implementado na classe PostInstallClass do static void testinstallscript() { PostInstallClass postinstall = new PostInstallClass(); Test.testInstall(postinstall, null); Test.testInstall(postinstall, new Version(1,0), true); List<Account> a = [Select id, name from Account where name ='Newco']; System.assertEquals(a.size(), 1, 'Account not found'); } Especificando um script pós-instalação Após criar e testar o script de pós-instalação, você pode especificá-lo no campo de pesquisa Script de pós-instalação na página de Detalhes do pacote. Em versões de correção seguintes, você poderá alterar o conteúdo do script, mas não a classe do Apex. A seleção de classe também está disponível através da API de metadados como Package.postInstallClass. Isso é representado em package.xml como um elemento <postinstallclass>foo</postinstallclass>. Executando o Apex na desinstalação de pacotes Os desenvolvedores de aplicativo podem especificar um script do Apex a ser executado automaticamente após o assinante desinstalar um pacote gerenciado. Isso permite realizar tarefas de atualização e notificação com base nos detalhes da organização do assinante. Para simplificar, apenas um script de desinstalação pode ser especificado. Deve ser uma classe do Apex que seja um membro do pacote. O script de desinstalação está sujeito aos limites padrão de controlador. Ele executa como um usuário especial do sistema que representa o seu pacote, portanto todas as operações realizadas pelo script parecem ser realizadas pelo pacote. Esse usuário pode ser acessado usando UserInfo. Você verá esse usuário apenas no tempo de execução, e não ao executar testes. Se o script falhar, a desinstalação continuará, mas nenhuma das alterações realizadas pelo script será confirmada. Erros no script são enviados por para o usuário especificado no campo Notificar em erro do Apex do pacote. Se nenhum usuário for especificado, os detalhes de desinstalação não estarão disponíveis.

98 Empacotamento e teste do seu aplicativo Version 29.0 Como funciona um script de desinstalação? 90 O script de desinstalação tem as seguintes restrições. Ele não pode ser usado para: iniciar trabalhos de lote planejados e futuros, acessar IDs de sessão ou realizar callouts. Como funciona um script de desinstalação? Um script de desinstalação é uma classe do Apex que implementa a interface UninstallHandler. Essa interface possui um único método, chamado de onuninstall, que especifica as ações a serem realizadas na desinstalação. global interface UninstallHandler { void onuninstall(uninstallcontext context) } O método onuninstall aceita um objeto de contexto como argumento, o que fornece as seguintes informações. O ID da organização na qual a desinstalação ocorre. O ID do usuário que iniciou a desinstalação. O argumento de contexto é um objeto cujo tipo é a interface UninstallContext. Essa interface é implementada automaticamente pelo sistema. A definição a seguir da interface UninstallContext mostra os métodos que podem ser chamados no argumento de contexto. global interface UninstallContext { ID organizationid(); ID uninstallerid(); } Exemplo de um script de desinstalação O script de desinstalação de amostra abaixo realiza as seguintes ações na desinstalação do pacote: Insere uma entrada no campo descrevendo qual usuário fez a desinstalação e em qual organização Cria e envia uma mensagem de confirmando a desinstalação para esse usuário global class UninstallClass implements UninstallHandler { global void onuninstall(uninstallcontext ctx) { FeedItem feedpost = new FeedItem(); feedpost.parentid = ctx.uninstallerid(); feedpost.body = 'Thank you for using our application!'; insert feedpost; } } User u = [Select Id, from User where Id =:ctx.uninstallerid()]; String toaddress= u. ; String[] toaddresses = new String[] {toaddress}; Messaging.Single Message mail = new Messaging.Single Message(); mail.settoaddresses(toaddresses); mail.setsenderdisplayname('my Package Support'); mail.setsubject('package uninstall successful'); mail.setplaintextbody('thanks for uninstalling the package.'); Messaging.send (new Messaging. [] { mail }); É possível testar um script de desinstalação usando o método testuninstall da classe Test. Esse método aceita como argumento uma classe que implementa a interface UninstallHandler.

99 Empacotamento e teste do seu aplicativo Version 29.0 Especificando um script de desinstalação 91 Essa amostra descreve como testar um script de desinstalação implementado na classe UninstallClass do static void testuninstallscript() { Id UninstallerId = UserInfo.getUserId(); List<FeedItem> feedpostsbefore = [SELECT Id FROM FeedItem WHERE parentid=:uninstallerid AND CreatedDate=TODAY]; Test.testUninstall(new UninstallClass()); List<FeedItem> feedpostsafter = [SELECT Id FROM FeedItem WHERE parentid=:uninstallerid AND CreatedDate=TODAY]; System.assertEquals(feedPostsBefore.size() + 1, feedpostsafter.size(), 'Post to uninstaller failed.'); } Especificando um script de desinstalação Após criar e testar o script de desinstalação e incluí-lo como membro do seu pacote, você poderá especificá-lo no campo de pesquisa Script de desinstalação na página de Detalhes do pacote. Em versões de correção seguintes, você poderá alterar o conteúdo do script, mas não a classe do Apex. A seleção de classe também está disponível através da API de metadados como Package.uninstallClass. Isso é representado em package.xml como um elemento <uninstallclass>foo</uninstallclass>.

100 Capítulo 5 Passando pela análise de segurança Tópicos: Sobre a análise de segurança Etapas da análise de segurança O Questionário de análise de segurança Criar uma AppExchange Publishing Organization Alterar sua AppExchange Publishing Organization Atualizar a versão do pacote em sua listagem do AppExchange Envio de um aplicativo móvel para análise de segurança Envio de um pacote de extensão para análise de segurança Recursos na análise de segurança Perguntas frequentes sobre a análise de segurança O Salesforce.com analisa todos os novos aplicativos quanto à conformidade com a segurança. Os aplicativos devem atender ou exceder estes requisitos para serem certificados. Aplicativos certificados existentes também são testados anualmente. A segurança de informações do cliente é absolutamente essencial para nosso sucesso mútuo e continuado. É necessário fazer a coisa certa desde o começo para ajudar nossos clientes a manter a confiança de que o Force.com é uma plataforma desejável e robusta para seus principais aplicativos corporativos. Este capítulo contém orientações e tarefas específicas que ajudarão você a garantir que seus aplicativos sejam aprovados no processo de análise de segurança do AppExchange.

101 Passando pela análise de segurança Version 29.0 Sobre a análise de segurança 93 Sobre a análise de segurança A análise de segurança foi desenvolvida para avaliar a postura de segurança das organizações de parceiro e para garantir que todos os aplicativos publicados no AppExchange sigam as práticas recomendadas quanto aos padrões de segurança. Para obter as informações mais recentes sobre análise de segurança, visite A análise de segurança do AppExchange: Capacita os clientes a confiar em aplicativos de terceiros para trabalhar com segurança com o seus aplicativos do Salesforce Ajuda os parceiros a ter sucesso na oferta de aplicativos que abrangem vários sistemas e a atender às necessidades dos usuários do AppExchange. Permite que o salesforce.com facilite as relações abertas entre clientes, desenvolvedores de terceiros e fornecedores de aplicativos, fornecendo um ecossistema seguro O escopo da análise de segurança depende do tipo de aplicativo. Vamos realizar o teste indicado abaixo para cada tipo de componente incluído em seu aplicativo. Tipo de aplicativo Descrição Escopo da análise Force.com Aplicativos em que dados primários, lógica e Varredura de código automatizada interface com o usuário sejam criados Análise de código e teste da caixa preta inteiramente na plataforma do Force.com. O manuais aplicativo pode chamar serviços Web de Componentes do cliente (Flash, terceiros aprovados, como Amazon, Google, JavaScript) Facebook, etc. Integrações e serviços da Web Aplicativos móveis e de clientes (Client and Mobile Apps) Aplicativos executados fora do ambiente do Teste prático manual Salesforce. Esses aplicativos tratam a Integrações e serviços da Web plataforma Force.com como uma origem de Análise da arquitetura e teste do servido dados, usando o modelo de desenvolvimento da Web de qualquer ferramenta e plataforma para a qual eles foram projetados. Exemplos clássicos deste tipo de aplicativo incluem o aplicativo para iphone e conectores do Microsoft Outlook. Aplicativos da Web (Web Applications) Aplicativos executados em um ambiente hospedado por terceiros e integrado ao Testados automaticamente e teste de caixa preta manual Salesforce, aproveitando a API de serviços Componentes do cliente (Flash, Web do Force.com. Os dados, a lógica e a JavaScript) interface de usuário do aplicativo podem ser Integrações e serviços da Web armazenados fora do Force.com. Análise da arquitetura e teste do servido da Web Etapas da análise de segurança O processo de análise de segurança segue as etapas indicadas abaixo. 1. Preparação para a análise de segurança.

102 Passando pela análise de segurança Version 29.0 Etapas da análise de segurança 94 Leia as orientações de segurança neste capítulo. Analise os recursos gratuitos listados em nosso site Desenvolvimento seguro na nuvem. Assista ao nosso vídeo do Webinar sobre análise de segurança para obter dicas de preparação. Analise a Lista de verificação de requisitos. Analise a Lista de verificação dos dez principais OWASP. Execute uma análise de código fonte em autoatendimento gratuita para o código desenvolvido na plataforma Force.com. Execute uma varredura do aplicativo da Web para seu aplicativo da Web externo que está integrado ao Force.com. Teste manualmente seu aplicativo para garantir que ele atenda aos requisitos da análise não encontrados por ferramentas. Para obter detalhes, consulte: Guia de testes do OWASP Corrija todos os problemas encontrados durante o teste. Em geral, seja o mais cuidadoso possível em seu teste, pois a falta de preparação pode atrasar a aprovação. Por exemplo, durante a fase de desenvolvimento de seu aplicativo, você deverá executar a varredura de código várias vezes para não gastar tempo demais em problemas de correção mais adiante na finalização. Se você tiver outras dúvidas, pode programar o horário de expediente com a equipe de análise de segurança em: 2. Iniciar a análise de segurança. Nota: Antes de iniciar a análise de segurança, seu aplicativo deve ser inscrito no Programa do parceiro integrado ao Force.com ou ao ISVforce. Se você não está inscrito, entre em contato com seu ISV AE ou registre um caso no Portal do parceiro. a. Faça login no AppExchange usando as credenciais da sua APO. b. Clique no seu nome no canto superior direito e, no menu suspenso, selecione Console de publicação (Publishing Console). c. Clique na guia Oferta (Offering). d. Selecione a opção mais apropriada ao seu aplicativo. Seu aplicativo é um pacote (totalmente ou em parte) Seu aplicativo não é um pacote e usa somente o Salesforce API e. Clique em Salvar (Save) f. Clique em Iniciar Avaliação (Start Review) para seu aplicativo. Para aplicativos existentes com previsão de passar por uma análise de segurança subsequente, registre um caso no Portal do parceiro. g. Para cada aplicativo, será preenchido um questionário e lista de verificação de segurança. Forneça à equipe de revisão uma conta de teste totalmente configurada e permita o acesso de login à sua organização de publicação. h. Você será solicitado a fornecer um Ambiente de teste e Documentação para sua oferta a pagar a Taxa anual de listagem. A equipe de análise executará testes para identificar possíveis vulnerabilidades no código, e poderá contatá-lo para uma sessão de acompanhamento, se necessário. É possível verificar o status da análise de segurança no Portal do parceiro. A equipe de análise executará aplicativos e testes de segurança de rede e fornecerá os resultados a você. 3. Analisar os resultados. Existem três resultados possíveis. Aprovado: Você será imediatamente autorizado a listar o aplicativo no AppExchange. Você provavelmente receberá um token de API para acessar as contas da Professional Edition. Para obter mais informações sobre o Programa de parceiros, incluindo os requisitos de elegibilidade, visite-nos em Provisoriamente Aprovado: Questões de baixo ou médio risco foram identificadas, o que pode ser resolvido facilmente e não representam risco significativo para o salesforce.com ou seus clientes. Você poderá criar uma lista pública para a seu aplicativo na AppExchange. No entanto, a não resolução dos problemas observados durante o período de tempo especificado resultará na remoção do aplicativo do AppExchange. Você provavelmente receberá um token de API para acessar as contas da Professional Edition.

103 Passando pela análise de segurança Version 29.0 O Questionário de análise de segurança 95 Aprovado: Problemas de alto risco foram identificados durante a fase de teste. Você não poderá listar seu aplicativo no AppExchange até que todos os problemas tenham sido tratados e analisados pela equipe de segurança do AppExchange. Se o aplicativo já estiver listado no AppExchange, você terá 60 dias para resolver os problemas. Você não receberá um token de API para acessar as contas da Professional Edition. Principais etapas a serem seguidas depois de passar pela análise de segurança Depois de passar pela análise de segurança, você estará qualificado a: Listar seu aplicativo publicamente no AppExchange Solicitar um token de API Nota: O Salesforce.com reserva o direito de conduzir testes aleatórios em aplicativos publicados no local ou externamente. Se, durante esses testes, descobrirmos que o aplicativo deixou de cumprir qualquer requisito de nossas práticas recomentadas, nós o notificaremos e daremos tempo para resolver o problema. Em casos extremos, poderemos retirar a lista do AppExchange da visualização pública. O Questionário de análise de segurança Para começar a análise de segurança, é iniciado um questionário on-line que solicita todas as informações necessárias para testar seu aplicativo. Disponha de tempo suficiente para concluir o questionário, pois ele é detalhado e abrangente. É possível salvar suas respostas a qualquer momento e voltar mais tarde para concluir o processo. Nota: Seja o mais abrangente possível em suas respostas. É melhor errar fornecendo informações demais do que de menos. Quanto mais informações tivermos, mais rápido seremos capazes de testar e aprovar seu aplicativo. O questionário é composto de uma série de telas que irão guiá-lo pelas informações necessárias, dependendo do tipo de componentes em seu aplicativo (ou seja, se ele é Force.com, baseado na Web, híbrido ou móvel). 1. Preparação Visão geral das etapas no questionário e indicadores para informações úteis. 2. Informações gerais Seu nome e informações de contado. 3. Políticas e certificações Detalhes sobre a política de segurança da informação da sua empresa e todas as certificações. Você possui a opção de carregar um documento de política. 4. Componentes Os componentes e tecnologias usados pelo seu aplicativo. É possível selecionar itens relevantes em uma lista de verificação com base no tipo de aplicativo. Algumas exceções são: Force.com Apex, Visualforce, API, SSO Web app estruturas/linguagens (Java,.NET, Rails, etc.), SSO, Heroku aplicativo de cliente aplicativo para desktop, plugin para navegador, implementação do kit de ferramentas de CTI do Salesforce aplicativo móvel ios, Android, Blackberry, Windows

104 Passando pela análise de segurança Version 29.0 Criar uma AppExchange Publishing Organization Ambientes de teste Detalhes de acesso, como credenciais de login, links de instalação e dados de exemplo para ambientes de teste de trabalho totalmente configurados. Eles dependem do tipo de aplicativo. Force.com nomes de usuário e senhas para todos os níveis de usuários (admin, usuário final, etc.) em uma organização de teste Aplicativo da Web URLs, nomes de usuário e senhas para todos os níveis de usuários, tokens de API, SSO e configurações OAuth/SAML aplicativo de cliente instalar URLs, dados de configuração e instruções; incluir quaisquer arquivos necessários de licença, de dados de amostra associados, guias de configuração, credenciais aplicativo móvel link de instalação separado para cada tipo de aplicativo móvel 6. Relatórios Carregue relatórios de seu teste anterior, por exemplo: Force.com relatório de varredura do código de segurança Nota: Os resultados de varredura de código devem ser limpos antes de enviados para a análise. Se você está ciente de todos os problemas no relatório de varredura que são falsos positivos, forneça os detalhes. Aplicativo da Web relatório de varredura do aplicativo da Web Outro outro relatório ou documentação 7. Detalhes da análise Isso consolida todas as informações que você forneceu, para que seja possível verificar se está tudo correto e completo. É possível retornar a alguma tela anterior para modificar suas informações. 8. Pagamento Isso capacita você a pagar pela análise de segurança, usando o serviço de pagamento recorrente. As informações de pagamento são salvas, de forma que você só precisa fornecê-las uma vez. Se seu aplicativo for gratuito, não será necessário efetuar o pagamento. Criar uma AppExchange Publishing Organization Todas as suas listagens de aplicativos e serviços devem ser publicadas em uma única organização do Salesforce, chamada de AppExchange Publishing Organization (APO) mestre. A APO, que na maioria dos casos é a mesma organização que você usa para gerenciar suas licenças, é onde você irá gerenciar toda a sua publicação do AppExchange. Informa os detalhes do perfil que os clientes veem ao navegar em suas listagens. Veja estas práticas recomendadas para sua APO. As organizações da Developer Edition (DE) onde você cria e faz upload do seu aplicativo não devem ser indicadas como sua APO. Em vez disso, as organizações da DE devem ser vinculadas à APO como organizações filhas. Isso permite fazer login na APO para gerenciar todos os pacotes (aplicativos) e modelos de avaliação (versões de amostra do seu aplicativo) fornecidos pelas suas listagens, independentemente de qual organização você usou para criar os aplicativos. Como parceiro do salesforce.com, você tem uma APO e quantas organizações vinculadas precisar. Use a mesma organização como sua APO e LMO. Isso permite monitorar os leads gerados pela sua listagem, bem como os clientes que instalam seu aplicativo em um local. Peça que o grupo de marketing da sua empresa preencha a listagem do aplicativo na sua APO. Isso se deve ao fato de que sua listagem é uma informação pública que pode ser visualizada por clientes em potencial e clientes existentes. Para criar sua APO:

105 Passando pela análise de segurança Version 29.0 Alterar sua AppExchange Publishing Organization Faça login no AppExchange usando as credenciais da sua LMO. Se você ainda não tiver uma LMO, crie uma nova organização da DE no Portal de parceiros e use essas credenciais. Caso você não use as credenciais da LMO para criar a APO, posteriormente será possível alterar a organização. 2. Clique no seu nome no canto superior direito e, no menu suspenso, selecione Console de publicação (Publishing Console). Se o link para o Console de publicação (Publishing console) não for exibido, siga estas etapas: a. Clique em Listar no AppExchange (List on the AppExchange). b. Você será direcionado para a página Termos e Condições (Terms and Conditions). Analise as informações e clique em Aceitar (Accept). c. Informe se você já publicou anteriormente um aplicativo no AppExchange. Você será redirecionado para a área de publicação, onde poderá fornecer informações sobre o aplicativo. d. Insira as informações especificadas e clique em Salvar (Save). Alterar sua AppExchange Publishing Organization Ao criar sua listagem do AppExchange, é necessário fazer login com suas credenciais do Salesforce para uma organização existente. É recomendável que a APO e a LMO sejam iguais. Isso significa que você deve fazer login no Console de publicação (Publishing console) do AppExchange com a organização onde seu Aplicativo de gerenciamento de licença está instalado. Talvez você tenha criado a listagem do AppExchange fazendo login com alguma outra organização. Isso pode ter ocorrido porque você ainda não havia criado uma LMO ou porque as pessoas responsáveis pela listagem do AppExchange talvez não tivessem acesso à LMO. Para alterar sua APO: 1. Faça login no AppExchange usando as credenciais da sua APO. 2. Clique no seu nome no canto superior direito e, no menu suspenso, selecione Console de publicação (Publishing Console). 3. Clique na guia Publicação (Publishing). 4. Clique em Suas organizações (Your Organizations). 5. Clique em Alterar minha AppExchange Publishing Organization (Change my AppExchange Publishing Organization). 6. Insira as credenciais da organização que deseja designar como sua APO. 7. Clique em Salvar (Save). Se você já tiver uma APO designada, esta ação moverá essa organização e todas as suas organizações vinculadas à nova organização. Pode levar 30 minutos ou mais para que seu aplicativo apareça como associado à APO. Para confirmar que o processo foi concluído, volte à seção Início (Home) do Console de publicação (Publishing Console) e clique na guia Seus pacotes carregados (Your Uploaded Packages). A versão do seu pacote deverá ser exibida. Só é possível alterar sua APO se você não tiver nenhuma listagem pública no AppExchange. Se você já tiver publicado uma listagem, é necessário registrar um caso no suporte ao cliente do Salesforce para alterar a APO. Observe que a organização da DE onde você cria aplicativos não deve ser sua APO; ela deve estar vinculada à sua APO. Ao registrar o caso: Procure o ID da organização para sua LMO. Informe o URL da listagem do AppExchange e explique que você deseja alterar sua APO para a nova organização. Informe o ID da organização para sua LMO. Atualizar a versão do pacote em sua listagem do AppExchange Cada vez que você atualiza seu pacote, você deve atualizar sua listagem do AppExchange para indicar a versão mais recente. Isso garante que os novos clientes terão a versão mais recente de seu aplicativo. O aplicativo atualizado deve atender aos seguintes critérios:

106 Passando pela análise de segurança Version 29.0 Envio de um aplicativo móvel para análise de segurança O aplicativo deve ter passado pela aprovação de segurança no último ano. 2. Você deve ter testado o pacote com o verificador de segurança e corrigido todos os problemas identificados. 3. O pacote deve ter o mesmo namespace que o outro que passou pela aprovação de segurança. Para atualizar a versão do pacote na listagem do AppExchange: 1. Carregue a versão mais recente de seu pacote a partir da organização que distribui o pacote. 2. Faça login em AppExchange usando suas credenciais da APO. 3. Clique na guia Seus pacotes carregados (Your Uploaded Packages) para visualizar uma lista de todos os pacotes carregados. Você deve ver a versão de pacote mais recente que acabou de carregar. Pode levar alguns minutos depois da carga para ele aparecer nesta lista. 4. Na coluna Aprovação de segurança (Security Review), a versão do pacote aprovado contém a data de aprovação. As versões subsequentes mostram o status "Nunca aprovado" (Never Reviewed) na mesma coluna. Clique em Iniciar avaliação (Start Review) para obter a versão mais recente que você acabou de carregar. 5. Preencha o questionário de autoavaliação e clique em Enviar (Submit). Seu pacote será executado por meio do scanner de fonte de segurança, e você receberá os resultados da varredura por . Você deve corrigir todos os problemas listados pelo scanner. Se seu aplicativo foi aprovado na aprovação de segurança no último ano, sua nova versão de pacotes será aprovada automaticamente, e seu status será alterado para Aprovado (Reviewed). A alteração do status pode demorar até 24 horas. 6. Edite a listagem pública para seu aplicativo e clique na guia Oferta (Offering). 7. Na seção "Seus pacotes carregados" (Your Uploaded Packages), clique no link Alterar pacotes (Change Packages). 8. Mova a versão mais recente do pacote para a seção Selecionado (Selected) na lista de seleção. 9. Selecione a versão mais recente do pacote na lista de seleção da versão. 10. Clique em Salvar (Save). Nota: Se a última aprovação de segurança foi concluída há mais de um ano, você será contatado pela equipe de aprovação de segurança para uma aprovação subsequente. Até então, você pode continuar a listar a versão mais recente. Envio de um aplicativo móvel para análise de segurança A maioria dos requisitos que se aplicam a aplicativos de clientes e alguns que se aplicam a aplicativos da Web serão válidos para aplicativos móveis, dependendo de como o aplicativo é construído. Estes são os cenários típicos: O aplicativo móvel tem um componente do Force.com, que fica na organização do cliente. O componente do Force.com deve ser um pacote gerenciado e acompanhar o processo de análise de segurança para um aplicativo empacotado. O aplicativo móvel só usa APIs para se comunicar com o Salesforce. Neste caso, siga o processo de um aplicativo somente de API para a análise de segurança. Para os testes, pedimos que você forneça um aplicativo para todas as plataformas que você pretende distribuir. Nós podemos aceitar um teste operacional ou uma implantação ad-hoc para ios. Para outras plataformas podemos aceitar o aplicativo em um arquivo (.APK, COR, etc.) semelhante ao de um aplicativo composto; se houver chamadas para outra coisa que não seja o Salesforce, pedimos um relatório Burp. Se o aplicativo móvel tem um componente da Web mesmo que opcionalmente, é necessário um relatório Burp. Como com qualquer outro aplicativo: Deve existir uma listagem do seu aplicativo no AppExchange. A listagem do AppExchange deve ser vinculada à sua APO.

107 Passando pela análise de segurança Version 29.0 Envio de um pacote de extensão para análise de segurança 99 Envio de um pacote de extensão para análise de segurança Os ISVs criam pacotes de extensão quando desejam fornecer recursos adicionais para seus aplicativos. Os pacotes de extensão também ajudam quando os ISVs desejam oferecer suporte a edições do Salesforce como PE e GE com seus aplicativos. Outro caso de uso é a criação de um pacote de "ponte" que permite que aplicativos do ISV funcionem com outros aplicativos. Todos os pacotes, sejam de base ou de extensão, necessitam de uma análise de segurança. O mesmo processo deve ser seguido para a análise de um pacote de extensão e de um pacote de base. Alguns pacotes de extensão são muito pequenos, por exemplo, alguns links ou botões para chamar componentes do pacote base. Independentemente do tamanho do pacote de extensão, o mesmo processo deve ser seguido. A única diferença é que o processo de análise será mais rápido para pacotes menores. O processo de envio de um pacote de extensão para uma análise de segurança do AppExchange é semelhante ao que é feito para o pacote de base. 1. Carregue seu pacote de extensão (ele deve ser gerenciado-liberado como seu pacote de base). É óbvio que o pacote de extensão só pode ser carregado a partir de uma organização distinta da do pacote de base. 2. Em sua listagem do AppExchange, vincule a organização onde o pacote de extensão foi criado. O pacote de extensão deve aparecer na lista de pacotes em suas listas. 3. Clique em Iniciar Avaliação (Start Review) e preencha os campos no formulário. Garanta que sua conta de teste inclui pacotes de base e de extensão. 4. Envie para análise. É importante que todos os pacotes de extensão sejam analisados e aprovados pela equipe de segurança do Salesforce. Apesar de o pacote ser pequeno, ele pode introduzir vulnerabilidades na plataforma. Siga o mesmo processo de fazer uma auto varredura do código antes de enviar para uma análise. Se o pacote de extensão tem componentes que fazem interface com um aplicativo externo, execute uma varredura Burp e envie os resultados correspondentes. Recursos na análise de segurança Estes recursos podem ajudar você a se preparar para a análise de segurança. Processo de análise de segurança Lista de verificação de requisitos da análise de segurança Recursos do Force.com de desenvolvimento seguro na nuvem Orientações do Force.com de codificação segura Open Web Application Security Project (OWASP) Os dez principais problemas do OWASP Guia de testes do OWASP Guia de codificação segura do OWASP Referência rápida para práticas de codificação segura do OWASP Perguntas frequentes sobre a análise de segurança Esta seção contém uma lista de perguntas frequentes sobre a análise de segurança. É necessária uma análise de segurança do AppExchange? O que compõe uma análise de segurança? Por que preciso realizar uma análise de segurança?

108 Passando pela análise de segurança Version 29.0 É necessária uma análise de segurança do AppExchange? 100 Quanto tempo leva a análise de segurança? Com que frequência ela é necessária? Há alguma taxa? Aplicativos gratuitos precisam pagar pela análise de segurança? Por que preciso testar meu aplicativo antes da análise se a equipe de segurança vai testá-lo de qualquer forma? Quais os motivos comuns de reprovação na análise de segurança? Posso enviar meu aplicativo antes de concluí-lo para que eu possa realizar o processo de análise de segurança antecipadamente? Por que está sendo exibido um erro quando eu solicito uma análise de segurança? Serei reprovado na análise se houver respostas "" no questionário de segurança ou se não houver documentação formal ou detalhada? Por que a equipe de análise precisa testar a parte X ou Y da minha oferta? Preciso corrigir todos os problemas relatados pela equipe da análise de segurança? Por que a equipe da análise de segurança não pode me enviar cada ocorrência de cada descoberta da minha análise? O que acontece se eu for aprovado na análise de segurança? O que acontece se meu aplicativo não for aprovado? Qual é a diferença entre Aprovado, Aprovação temporária e Reprovado? Se eu atualizar meu aplicativo, preciso pagar novamente a taxa da análise de segurança para que ele seja revisto? Quando eu criar um novo pacote gerenciado (efetivamente uma atualização do meu primeiro aplicativo), precisarei pagar novamente a taxa para que a segurança dele seja analisada? Por que preciso fazer análises de segurança periódicas? Compreendo que soluções analisadas podem funcionar com organizações da PE e GE. Como isso funciona? É necessária uma análise de segurança do AppExchange? Sim, todos os aplicativos AppExchange e OEM precisam ser aprovados pela análise de segurança. O que compõe uma análise de segurança? O processo de análise de segurança compreende dois tipos de avaliações: Qualitativa: pergunta e resposta sobre as políticas e procedimentos da análise. Quantitativa: teste de penetração da rede e do aplicativo (consulte Escopo). Por que preciso realizar uma análise de segurança? Queremos tornar o AppExchange o ecossistema para aplicativos on-demand mais confiável que existe. A realização de uma análise de segurança ajuda a construir essa cultura de confiança, dado que analisa se os aplicativos atendem a um conjunto de normas de segurança e de práticas recomendadas. Esta análise ajuda a oferecer credibilidade tanto ao AppExchange quanto aos seus aplicativos. Esta confiança, por sua vez, ajuda a aumentar a adoção por parte do cliente. Quanto tempo leva a análise de segurança? Com que frequência ela é necessária? O processo de análise leva cerca de 5 a 7 semanas a partir do momento em que tivermos todos os dados, desde que: Sua documentação esteja completa e precisa. O ambiente de teste esteja completo, totalmente configurado e inclua todas as informações necessárias.

109 Passando pela análise de segurança Version 29.0 Há alguma taxa? 101 Você tenha atendido todos os requisitos. Você esteja dentro das orientações do acordo Este é um processo periódico. Próximo da data de expiração da análise de segurança, entraremos em contado para analisar novamente seu aplicativo. Há alguma taxa? Clique aqui para saber mais sobre as taxas de listagem. Aplicativos gratuitos precisam pagar pela análise de segurança?, os aplicativos gratuitos são analisados gratuitamente. Para que o aplicativo seja qualificado, precisa ser gratuito durante o ano inteiro. Por que preciso testar meu aplicativo antes da análise se a equipe de segurança vai testá-lo de qualquer forma? O teste antes da análise é para aumentar as chances de aprovação da análise na primeira rodada. Nossa análise de segurança, além de baseada nas práticas recomendadas, é muito completa. O esforço investido nas primeiras fases será recompensado ao longo do processo, porque os novos testes produzem um atraso significativo no seu aplicativo e no processo como um todo. Quais os motivos comuns de reprovação na análise de segurança? De forma não hierárquica, apresentamos uma lista das principais razões para um aplicativo não ser aprovado. Para obter mais detalhes, consulte o Os dez principais OWASP. Injeção (SQL, XML etc.) Cross Site Scripting (XSS) Gerenciamento de autenticação e de sessão interrompidos Referências diretas a objetos inseguros Cross Site Request Forgery (CSRF/XSRF) Erro de configuração de segurança Armazenamento criptográfico inseguro Falha ao restringir o acesso à URL Proteção insuficiente da camada de transporte Redirecionamentos e encaminhamentos invalidados Posso enviar meu aplicativo antes de concluí-lo para que eu possa realizar o processo de análise de segurança antecipadamente?. É muito importante que a oferta enviada seja a versão que você pretende distribuir e esteja completa. Se a oferta enviada não é a que você pretende distribuir ou está incompleta, não poderemos identificar corretamente os problemas. Isto resultará em atraso dada a necessidade de uma nova análise completa.

110 Passando pela análise de segurança Version 29.0 Por que está sendo exibido um erro quando eu solicito uma análise de segurança? 102 Por que está sendo exibido um erro quando eu solicito uma análise de segurança? Podem ocorrer os seguintes erros quando você solicita uma análise de segurança para sua listagem. Esta parceria já está vinculada a outro Perfil do fornecedor do AppExchange. Este erro significa que sua conta de parceiro está associada a uma organização do Salesforce diferente. A organização associada à sua conta de parceiro é conhecida como sua AppExchange Publishing Organization (APO) e é a única organização a partir da qual você pode publicar no AppExchange. Para resolver esse erro, vincule as organizações onde você desenvolveu seu aplicativo à sua APO. Se você não souber qual organização é sua APO, registre um caso no Portal de parceiros para obter ajuda. Para submeter seu aplicativo à análise de segurança, você deve ser um parceiro do salesforce.com e conectar suas informações de parceria ao seu perfil do fornecedor. Para conectar essas informações, faça login usando sua APO mestre e edite seu perfil do fornecedor. Para que você possa enviar uma listagem para a análise de segurança, seu perfil do fornecedor do AppExchange (isto é, o perfil do fornecedor associado à sua APO) deve ser vinculado à sua conta de parceiro. Esse requisito acelera o processo de análise posterior garantindo que os parceiros tenham acesso ao Portal de parceiros e que concordaram com os termos e condições. Para resolver esse erro, faça login na página Publicação (Publishing) do AppExchange usando as credenciais da sua APO e adicione as informações da sua conta de parceiro ao seu perfil do fornecedor. Serei reprovado na análise se houver respostas "" no questionário de segurança ou se não houver documentação formal ou detalhada?, não reprovaremos você. Embora as questões peçam documentação formal e detalhada, nós entendemos que, dependendo da dimensão e maturidade da empresa, isso pode não ser possível. Nós tentamos fazer o questionário genérico para que ele possa cobrir todo o espectro de empresas. Por exemplo, as empresas menores podem nos fornecer uma lista de verificação informal em vez de uma documentação formal de suas políticas de segurança. Se você precisar responder "não" a alguma das perguntas, insira alguns comentários na caixa indicada explicando a sua abordagem. Entendemos que a pontuação não pode ser preto e branco, e vai levar em consideração os diferentes elementos como tamanho da empresa, maturidade, e assim por diante. Por que a equipe de análise precisa testar a parte X ou Y da minha oferta? Nossa abordagem é para testar todas as partes da oferta, a fim de assegurar que nossos clientes mútuos e seus dados não estejam em risco. Isso inclui aplicativos ou serviços da Web externos que são obrigatórios ou opcionais, os aplicativos de cliente/móveis que são obrigatórios ou opcionais e todos os Apex e Visualforce (empacotados ou não) que estejam incluídos na oferta. Se você não tem certeza se deve incluir parte da sua oferta, inclua-a mesmo assim. A equipe de análise não testará partes da oferta que não estejam no escopo, mas, se a parte requerida não estiver incluída, sua análise será adiada. Preciso corrigir todos os problemas relatados pela equipe da análise de segurança? Sim. A menos que seja observado algo em contrário nos relatórios de teste, será necessário que você corrija todas as classes de problemas que foram enviados pela equipe de análise em todo o aplicativo.

111 Passando pela análise de segurança Version 29.0 Por que a equipe da análise de segurança não pode me enviar cada ocorrência de cada descoberta da minha análise? 103 Por que a equipe da análise de segurança não pode me enviar cada ocorrência de cada descoberta da minha análise? A análise de segurança é uma análise de caixa preta, limitada por tempo, e seria pouco prático fornecer essas informações, dada a visibilidade e o tempo que a equipe de análise tem para cada análise. As descobertas devem ser interpretadas como exemplos e todos os problemas nas categorias fornecidas devem ser corrigidos em toda a oferta. O que acontece se eu for aprovado na análise de segurança? É possível listar seu aplicativo publicamente no AppExchange. Você também está qualificado a solicitar um token de API, se seu aplicativo usar APIs SOAP ou REST. O que acontece se meu aplicativo não for aprovado? é possível publicar seu aplicativo no AppExchange até que todas as descobertas tenham sido tratadas e uma análise de acompanhamento tenha sido conduzida. Qual é a diferença entre Aprovado, Aprovação temporária e Reprovado? Se você recebeu um Aprovado ou Provisoriamente Aprovado em sua análise de segurança, isso significa que não foram encontradas vulnerabilidades de alto risco em seu aplicativo. Para aplicativos Provisoriamente Aprovados, é provável que tenham sido encontradas vulnerabilidades de risco médio. Trabalharemos em uma linha de tempo mutuamente aceitável para que você solucione estes itens. Nesse ínterim, o token de API será fornecido para que você possa listar seu aplicativo no AppExchange. Para aplicativos Reprovados, será necessário, primeiramente, solucionar os problemas encontrados antes que seja possível listar seu aplicativo no AppExchange ou obter acesso ao token de API. Se eu atualizar meu aplicativo, preciso pagar novamente a taxa da análise de segurança para que ele seja revisto?. A análise de segurança é uma revisão periódica, point-in-time em um intervalo determinado pelo salesforce.com (geralmente entre 6 meses e 2 anos). Quando você carrega uma nova versão de pacote para o AppExchange e tenta associá-la ao seu perfil, executamos automaticamente uma análise de código fonte para seu código do Force.com a fim identificar possíveis vulnerabilidades de segurança. Se identificarmos algum problema, nós lhe enviaremos um relatório por e solicitaremos que você resolva os problemas imediatamente. Reservamo-nos o direito de realizar testes aleatórios de penetração de segurança em seu aplicativo ao longo do ano. Eles estão cobertos pela taxa de listagem que você paga anualmente, não há cobrança extra. No entanto, se acharmos que você está fora de nossos padrões de segurança e das práticas recomendadas, caberá a possibilidade de que removamos o aplicativo do AppExchange. Quando eu criar um novo pacote gerenciado (efetivamente uma atualização do meu primeiro aplicativo), precisarei pagar novamente a taxa para que a segurança dele seja analisada?. Se você desenvolver uma nova versão de um pacote já aprovado, depois de clicar em "Iniciar Análise" (Start Review) para a nova versão, ele será automaticamente aprovado e você poderá associar a nova versão à sua lista.

112 Passando pela análise de segurança Version 29.0 Por que preciso fazer análises de segurança periódicas? 104 Por que preciso fazer análises de segurança periódicas? Exigimos análises de segurança periódicas (geralmente entre 6 meses e 2 anos, dependendo do risco do aplicativo) para todos os aplicativos. Novas versões de aplicativos surgem a cada ano e é preciso garantir que as nossas soluções integradas continuam a manter a conformidade com as práticas recomendadas de segurança publicadas. Além disso, nós atualizamos nosso processo de análise para acompanhar as necessidades da indústria, bem como para verificar as vulnerabilidades de segurança mais recentes. Também é importante garantir a aprovação de seu aplicativo nesses novos requisitos. Compreendo que soluções analisadas podem funcionar com organizações da PE e GE. Como isso funciona? Os parceiros qualificados podem se inscrever para obter um token de API por meio do Portal do parceiro. Este token deve ser usado em todas as chamadas de API do aplicativo específico. Após a análise de segurança e se você for um parceiro qualificado, nós permitimos que transações de API identificadas com seu token de API operem com organizações da Professional Edition e da Group Edition. Consulte a página Uso do ClientID para obter exemplos de código.

113 Capítulo 6 Publicando seu aplicativo Tópicos: O que é o AppExchange? Gerenciando suas organizações do Salesforce Publicando seu aplicativo ou serviço Criando ou editando uma listagem Inclusão da marca em seu aplicativo Enviando sua listagem para aprovação Registrando seu pacote e escolhendo configurações de licença Notificações por Usando o Checkout do AppExchange Perguntas frequentes do AppExchange Checkout Trabalhando com leads do AppExchange Relatórios analíticos para editores Perguntas frequentes sobre o AppExchange Esta seção explica como publicar e distribuir seu aplicativo empacotado no AppExchange. Todas as suas listas de aplicativos e serviços devem ser publicadas em uma única organização do salesforce.com conhecida como sua AppExchange Publishing Organization ou APO. Na maioria dos casos, sua APO também é a mesma organização usada para gerenciar suas licenças. É possível vincular-se a uma ou mais organizações da Developer Edition ao APO como organizações filhas. Isso permite que você se conecte à APO para gerenciar todos os aplicativos empacotados e modelos de avaliação (versões de amostra de seu aplicativo) que suas listas fornecem, independentemente de qual tenha sido a organização usada para criar os aplicativos.

114 Publicando seu aplicativo Version 29.0 O que é o AppExchange? 106 O que é o AppExchange? Vendendo no AppExchange Bem-vindo ao AppExchange, seu mercado completo para aplicativos de computação em nuvem e parceiros de consultoria. Para disponibilizar publicamente seu aplicativo ou serviço para possíveis clientes (em outras palavras, publicar uma listagem), é necessário ser um parceiro do salesforce.com. Se você não for um parceiro, visite para saber mais. Antes de começar Para publicar aplicativos no AppExchange, instale gratuitamente o Aplicativo de gerenciamento de licenças (LMA). Com o LMA, você pode automaticamente receber notificações toda vez que seu pacote (aplicativo) for instalado ou desinstalado, o que permite monitorar usuários e facilmente notificá-los sobre as atualizações publicadas. Como o AppExchange funciona? O poder criativo por trás de cada aplicativo do AppExchange é um usuário do Salesforce. O AppExchange oferece aos usuários um lugar para criar, publicar ou instalar aplicativos e extensões no Salesforce. Em linhas gerais, veja como o Force.com AppExchange funciona. Criar Publicar Instalar Qualquer usuário do Salesforce inicia o processo criando um objeto personalizado, uma guia personalizada ou um conjunto de painéis e relatórios que aprimora seus negócios. Esses clientes podem compartilhar suas personalizações, como um aplicativo ou uma extensão, com outros usuários do Salesforce. Qualquer cliente do Salesforce pode registrar e publicar seus aplicativos no AppExchange. Também podem criar uma demonstração da funcionalidade incluída no aplicativo para que os clientes visualizem antes de instalar. Os administradores do Salesforce podem decidir instalar qualquer aplicativo publicado no AppExchange. A instalação de um aplicativo publicado no AppExchange é segura e simples. Navegar Veja descrições, resenhas e demonstrações de qualquer aplicativo do AppExchange. Escolha um aplicativo adequado às suas necessidades. Test Drive Instalar Avalie uma demonstração totalmente funcional do aplicativo como usuário somente leitura e planeje sua implementação. Adicione o aplicativo e todos os respectivos componentes ao seu ambiente do Salesforce. Implantar Forneça aos seus usuários acesso imediato ao aplicativo ou personalize-o para um grupo selecionado de usuários.

115 Publicando seu aplicativo Version 29.0 Quem pode usar o AppExchange? 107 Quem pode usar o AppExchange? Qualquer um podem navegar e testar as listas do AppExchange. Os administradores e os usuários do Salesforce com a permissão "Fazer download de pacotes do AppExchange" podem instalar aplicativos do AppExchange. Para publicar um aplicativo no AppExchange, um usuário deve ter as permissões Criar pacotes do AppExchange e Carregar pacotes do AppExchange. Gerenciando suas organizações do Salesforce Decida o quanto você deseja estruturar suas organizações do salesforce.com. Todas as suas listagens de aplicativos e serviços devem ser publicadas em uma única organização do salesforce.com, chamada de AppExchange Publishing Organization (APO) mestre. A APO, que na maioria dos casos é a mesma organização que você usa para gerenciar suas licenças, é onde você irá gerenciar toda a sua publicação do AppExchange. Informa os detalhes do perfil que os clientes veem ao navegar em suas listagens. As organizações da Developer Edition onde você cria e carrega seu aplicativo devem ser vinculadas à APO como organizações filhas. Isso permite fazer login na APO para gerenciar todos os pacotes (aplicativos) e modelos de avaliação (versões de amostra do seu aplicativo) fornecidos pelas suas listagens, independentemente de qual organização você usou para criar os aplicativos. Como parceiro do salesforce.com, você tem uma APO e quantas organizações vinculadas precisar. Recomendamos que você use a mesma organização como sua APO e sua Organização de gerenciamento de licenças (LMO). Essa consolidação permite monitorar os leads gerados pela sua listagem, bem como os clientes que instalam seu aplicativo em um local. Para gerenciar suas organizações, clique na guia Publicação (Publishing) no AppExchange e faça login. Siga o link Suas organizações (Your Organizations). Nessa página, é possível: Clicar em Alterar minha AppExchange Publishing Organization (Change my AppExchange Publishing Organization) e inserir as credenciais da organização que deseja designar como sua APO. Se você já tiver uma APO designada, esta ação moverá essa organização e todas as suas organizações vinculadas à nova APO. Só é possível alterar sua APO se você não tiver nenhuma listagem pública no AppExchange. Se você já tiver publicado uma listagem, é necessário registrar um caso no Suporte e Atendimento ao Cliente do Salesforce para alterar a APO. Observe que a organização da Developer Edition onde você cria aplicativos não deve ser sua APO: ela deve estar vinculada à sua APO. Visualizar uma lista das suas organizações vinculadas se você estiver conectado à sua APO. Visualizar as informações da sua APO se você estiver conectado a uma organização vinculada. Clicar em Vincular nova organização (Link New Organization) se você estiver conectado à sua APO e inserir as credenciais da organização que deseja adicionar. A lista de organizações vinculadas oferece as seguintes informações. Campo Organização (Organization) ID Salesforce Edition Pacotes (Packages) Modelos de avaliação (Trial Templates) Vinculado em (Linked On) Descrição O nome da organização vinculada O ID da organização vinculada A edição da organização vinculada O número de pacotes carregados a partir da organização vinculada O número de modelos de avaliação carregados a partir da organização vinculada A data em que a organização foi vinculada à APO.

116 Publicando seu aplicativo Version 29.0 Publicando seu aplicativo ou serviço 108 Publicando seu aplicativo ou serviço Para disponibilizar seu aplicativo ou serviço de consultoria no AppExchange, é necessário criar uma listagem: 1. Fala login na sua AppExchange Publishing Organization (APO) ou na organização que você designará como APO após o login. 2. Crie um perfil do fornecedor. 3. Crie uma nova listagem. 4. Se sua listagem for um aplicativo em vez de um serviço, envie o pacote do aplicativo para a análise de segurança. 5. Depois que seu aplicativo for aprovado, clique em Tornar público (Make Public) para publicar sua listagem na comunidade do AppExchange. Os serviços públicos de consultoria não requerem análise. Publicação de um aplicativo no AppExchange A listagem de seu aplicativo noappexchange é flexível. Você não está limitado a uma única listagem. É possível publicar um aplicativo que trata de um negocio genérico, assim como muitas variações do aplicativo que são específicas para determinados mercados verticais. Depois de criar um perfil de provedor e carregar seu aplicativo, será possível começar a criar uma lista de aplicativos clicando em Criar nova lista (Create New Listing) na página inicial de Publicação (Publishing). As listagens constituem sua principal ferramenta de marketing para promoção de seu aplicativo. Quanto mais informações você adicionar à sua listagem, maior a probabilidade de que os usuários a encontrem. Descreva sua solução, preços, suporte e outros detalhes para que os clientes em potencial possam determinar se sua solução é a correta para eles. Carregue vídeos informativos, artigos e outros conteúdos para enriquecer o conhecimento do cliente sobre o que seu aplicativo oferece. Para listar publicamente seu aplicativo, você deve passar pela Análise de segurança do AppExchange. Esta análise garante que seu aplicativo ou modelo de teste pode ser instalado com segurança pelos clientes. Criando ou editando seu perfil do fornecedor O perfil do fornecedor que você cria para sua APO inclui as informações sobre sua empresa que você deseja exibir para os clientes. As pessoas que procurarem suas listagens veem as informações do perfil na guia Fornecedor (Provider). Você também pode criar um perfil do fornecedor para suas organizações vinculadas, embora esse perfil não seja público. Atualmente, é possível listar um serviço por perfil do fornecedor. Para editar o perfil, verifique se você está conectado usando as credenciais da organização de destino e clique em Seu perfil do fornecedor (Your Provider Profile) no canto superior esquerdo da página Publicação (Publishing). É possível fornecer as seguintes informações: Campo Nome do fornecedor (Provider Name) Site da Web (Website) Telefone (Phone) Sede (Headquarters) Ano de fundação (Year Founded) Descrição O nome da sua empresa. Este é o único campo obrigatório. A URL do website da sua empresa. O de contato da sua empresa. O telefone de contato da sua empresa. O endereço completo da sede da sua empresa, incluindo cidade, estado (se aplicável) e país. O ano da fundação da sua empresa.

117 Publicando seu aplicativo Version 29.0 Criando ou editando uma listagem 109 Campo Funcionários (Employees) Descrição (Description) Descrição O número de funcionários da sua empresa. Um ou dois breves parágrafos sobre sua empresa. Parceiro Salesforce.com (Salesforce.com Partnership ) A conta de parceiro do Salesforce.com da sua empresa. Este campo é obrigatório para listar publicamente seu aplicativo ou serviço no AppExchange. Clique em Alterar parceria (Change Partnership) para criar um vínculo entre sua conta no Portal de parceiros e seu perfil do fornecedor do AppExchange. Isso permite que sua certificação, projeto, índice de satisfação do cliente e informações de parceiro apareçam no AppExchange. Importante: Como só é possível vincular sua conta do Portal de parceiros do Salesforce.com uma vez, não se esqueça de vinculá-la à sua APO. Logotipo (Logo) O logotipo da sua empresa. Insira o local de um arquivo ou clique em Procurar... (Browse...) e navegue até seu logotipo. Criando ou editando uma listagem As listagens são sua ferramenta de marketing principal para promover seu aplicativo ou serviço de consultoria no AppExchange. The more information you add to your listing, the more likely it is that users can find it. Crie uma listagem para cada aplicativo ou serviço de consultoria. Edite as seguintes guias, que correspondem às guias que os usuários veem ao visualizar sua listagem. Guia Informações básicas (Basic) para aplicativos e serviços de consultoria Guia Oferta (Offering) para aplicativos Guia Preços (Pricing) para aplicativos Guia Especificações (Specs) para aplicativos Guia Suporte (Support) para aplicativos Guia Experiência (Experience) para serviços de consultoria Guia Conteúdo carregado (Uploaded Content) para aplicativos e serviços de consultoria Guia Leads para aplicativos e serviços de consultoria Guia Informações básicas (Basic) A guia Informações básicas (Basic) inclui informações que ajudam os clientes a encontrar e avaliar sua listagem. Campo Título da Listagem (Listing Title) Tag Line Categorias Descrição (Obrigatório) O nome da sua listagem. (Obrigatório) Uma frase curta que descreve sua listagem. (Obrigatório) As categorias que os clientes podem usar para procurar sua listagem. Se sua listagem for um aplicativo, as categorias são atribuídas pelo salesforce.com logo após a publicação da listagem. Isso garante que seu aplicativo tenha

118 Publicando seu aplicativo Version 29.0 Guia Oferta (Offering) (aplicativos) 110 Campo Descrição Informação de Contato (Privativo a salesforce.com) Contact Information (Private to salesforce.com) melhores chances de ser encontrado por possíveis clientes. Para alterar as categorias de um aplicativo, é necessário registrar um caso no Portal de parceiros. (Obrigatório) comercial/de marketing (Business/Marketing ): o endereço de pelo qual o salesforce.com pode entrar em contato com você sobre informações relacionadas a negócios ou marketing. (Obrigatório) técnico (Technical ): o endereço de pelo qual o salesforce.com pode entrar em contato com você sobre informações técnicas ou relacionadas a segurança. (Obrigatório) s sobre resenhas (Reviews ): o endereço de onde você gostaria de receber notificações por relacionadas a resenhas e comentários em sua listagem. Os endereços de acima não são compartilhados com clientes. Informação de Contato (Público) Contact Information (Public) Breve Descrição (Brief Description) Destaques Descrição Completa (Full Description) o de contato da sua empresa para clientes em potencial. Telefone (Phone): o telefone de contato da sua empresa para clientes em potencial. Website: o URL do website da sua empresa. (Obrigatório) Um resumo da sua listagem. The maximum number of characters permitted is 255. Principais recursos relacionados à sua listagem. Uma descrição detalhada da sua listagem. The maximum number of characters permitted is Guia Oferta (Offering) (aplicativos) A guia Oferta (Offering) é onde você decide como os clientes podem instalar seu aplicativo. Campo Que tipo de aplicativo você está listando? (What kind of application are you listing?) Como seu aplicativo deve ser instalado? (How should people install your application?) Descrição Um pacote é o recipiente que armazena todas as guias e objetos personalizados e padrão que compõem seu aplicativo. Selecione se sua listagem usa um pacote ou a API. Se a listagem incluir um pacote e a API, selecione a opção API. Consulte Escolhendo a melhor opção de instalação.

119 Publicando seu aplicativo Version 29.0 Escolhendo a melhor opção de instalação 111 Campo Enable free trial sign up of Salesforce and your application Descrição Selecione esta opção se você deseja que seus clientes se inscrevam para uma avaliação gratuita de 30 dias do Salesforce e do seu aplicativo. Para obter detalhes, consulte Como oferecer uma avaliação gratuita do meu aplicativo? Adicionar um ou mais de seus pacotes carregados a esta listagem (Link one or more of your uploaded packages to this listing) Selecione a versão mais atual do seu aplicativo (Select the latest version of your application) Se sua listagem incluir um pacote, clique em Alterar pacotes (Change Packages) e inclua todas as versões do seu aplicativo. Each package version can be associated with only one listing at a time. Selecione a versão que deseja que os clientes instalem. As informações desta versão são mostradas na guia Especificações (Specs) da sua listagem. Each package version can be associated with only one listing at a time. Adicione um ou mais de seus modelos de avaliação a esta listagem (Link one or more of your trial templates to this listing) Selecione o modelo de avaliação registrado (Select the sign-up trial template) Test Drive Se você estiver permitindo uma avaliação gratuita, associe pelo menos um modelo de avaliação. Selecione o modelo que os clientes receberão ao fazerem login na sua avaliação gratuita. Para obter mais informações sobre modelos de avaliação, consulte Como oferecer uma avaliação gratuita do meu aplicativo? Selecione esta opção se você deseja oferecer aos usuários do Salesforce um test drive ou uma versão somente leitura do seu aplicativo. Consulte Associando um test drive à sua listagem. Escolhendo a melhor opção de instalação Quanto mais fácil for para as pessoas instalarem e testarem seu aplicativo, maior será a probabilidade de eles se converterem em clientes pagantes. No AppExchange, clientes em potencial clicam em Adquirir agora (Get It Now) na sua listagem de aplicativos e, em seguida, respondem a algumas perguntas simples para orientá-los na instalação. O fluxo depende da resposta à pergunta Como seu aplicativo deve ser instalado (How should people install your application) no momento da criação da listagem. Opção Considerações Instalar diretamente do AppExchange (Install it directly from the AppExchange) Se seu aplicativo for um pacote, geralmente esta é a opção de instalação mais simples. Essa opção permite que as pessoas instalem seu aplicativo no sandbox ou no ambiente de produção do Salesforce por meio da sequência de instalação do AppExchange, sem necessidade de assistência da sua parte. Instalar diretamente do site da companhia (Install it directly from your company s website) Se seu aplicativo for um cliente capaz de ser baixado ou precisar de informações adicionais para ser instalado, esta é a melhor opção para você. Depois que os usuários clicarem no botão Adquirir agora (Get It Now), na sua listagem de aplicativos, e aceitarem os termos e condições, serão direcionados ao seu site para incluir o processo de instalação. Verifique se o seu site tem instruções claras sobre como fazer download do

120 Publicando seu aplicativo Version 29.0 Associando um test drive à sua listagem 112 Opção Considerações Entre em contato com sua companhia para que você possa ajudar na instalação (Contact your company so you can help them install it) aplicativo e realizar as configurações necessárias. Se não for possível instalar seu aplicativo sem ajuda, não selecione esta opção. Se sua instalação ou processo de seleção exigir sua assistência, está é a única opção viável. Após aceitar os termos e condições, seu cliente será informado de que você entrará em contato em breve para ajudá-lo com a instalação. Verifique se sua empresa tem os recursos necessários para auxiliar todos os possíveis clientes. Permitir inscrição na avaliação gratuita do Salesforce e do seu aplicativo (Enable free trial sign up of Salesforce and your application) Esta opção oferece uma avaliação gratuita de 30 dias do Salesforce e do seu aplicativo. Para conhecer os requisitos, consulte Como oferecer uma avaliação gratuita do meu aplicativo? Associando um test drive à sua listagem É possível oferecer a outros usuários do Salesforce a oportunidade de fazer um test drive de uma versão somente para leitura de seu aplicativo em uma organização da Developer Edition. Esta organização, que inclui quaisquer dados amostrais que você escolher, está em um ambiente tão seguro quanto qualquer outro ambiente do Salesforce. Tests drives contribuem para sua popularidade. Para associar um test drive à sua listagem: 1. Ao criar ou editar sua listagem, na guia Oferta (Offering), clique em Criar Test Drive (Create Test Drive). 2. Inserir um título. 3. Selecione o pacote. Ele será instalado em uma nova organização da Developer Edition. 4. Clique em Enviar (Submit). O Salesforce envia informações sobre a nova organização da Developer Edition para o endereço de de seu Salesforce. 5. Depois de receber as informações de login, faça login como administrador na nova organização e crie dados de amostra ou outras tarefas de configuração. 6. Depois que a organização estiver pronta, volte para a página do AppExchange Publishing. 7. Clique em Editar (Edit) na listagem de destino. 8. Na guia Oferta (Offering), clique em Alterar Organização (Change Organization) para especificar a nova organização da Developer Edition. 9. Digite o login e a senha do usuário da avaliação que foram enviados a você junto com as credenciais de administrador. (A senha de avaliação do usuário não pode ser finalizada com #). O usuário da avaliação tem permissão somente para leitura. 10. Clique em OK. Depois que sua listagem for publicada, todos que realizaram o teste drive fazem login com o mesmo usuário de avaliação. Guia Preços (Pricing) Use a guia Preços (Pricing) para especificar informações de preço para seu aplicativo. Também é possível se inscrever no Checkout, um serviço que permite aos clientes pagar pelos seus aplicativos diretamente no AppExchange. Para obter mais informações, consulte Usando o AppExchange Checkout na página 120.

121 Publicando seu aplicativo Version 29.0 Guia Experiência (Experience) 113 Campo Descrição Descrever as informações sobre o preço desse aplicativo (Describe the basic pricing for this application) (Obrigatório) Especifique se seu aplicativo é gratuito ou pago e se você oferece descontos para ONGs. Nota: Alguns dos campos a seguir são relevantes apenas para aplicativos pagos e não serão exibidos se você especificar que seu aplicativo é gratuito. Como deseja cobrar e gerenciar esse aplicativo? (How do you want to bill for and manage this application?) Especifique se você deseja gerenciar o pagamento e a cobrança por meio do Checkout ou por conta própria. Quando deseja coletar as informações de pagamento? (When do you want to collect payment information?) Especifique como você deseja coletar informações de pagamento: antes de os clientes instalarem o aplicativo ou depois que eles iniciarem uma avaliação gratuita. Nota: Este campo só será exibido se você tiver se inscrito para o Checkout e for usá-lo nesta listagem. Preço de lista (List Price) Detalhes adicionais (Additional Details) Taxa O preço do seu aplicativo, por unidade. Especifique o valor e a moeda. Unidades A unidade da qual o preço depende, como usuário ou empresa. Se você não estiver usando o Checkout, também poderá especificar unidades personalizadas. Frequência A frequência de cobrança. Pode ser mensal ou única. Se você não estiver usando o Checkout, você também terá a opção de preços anuais. Avaliação gratuita O número de dias pelos quais uma avaliação gratuita é válida. Esta opção só estará disponível ao usar o Checkout e quando você decidir coletar informações de pagamento antes da instalação. Quaisquer informações adicionais sobre preços que você deseje comunicar aos clientes. Essa descrição pode ter até 255 caracteres e pode incluir links, por exemplo, de uma planilha completa de preços no seu site. Guia Experiência (Experience) Ao editar um serviço, na guia Experiência (Experience), informe a região, o idioma e informações de parceria da sua listagem.

122 Publicando seu aplicativo Version 29.0 Guia Especificações (Specs) 114 Campo Foco Geográfico (Geographic Focus) Idiomas Falados (Languages Spoken) Certificações, Projetos e Satisfação do Cliente (Certifications, Projects, and Customer Satisfaction) Descrição Os locais onde você oferece seu serviço. Você pode adicionar ou alterar regiões. Os idiomas nos quais o serviço é prestado. You can add or change languages. Essas informações são vinculadas ao seu Portal de parceiros. Para atualizar sua parceira, clique em Vá para seu perfil do fornecedor para gerenciar este link (Go to Your Provider Profile to Manage this Link). Guia Especificações (Specs) Use a guia Especificações (Specs) para inserir as seguintes informações sobre seu aplicativo. Campo Salesforce Editions Idiomas suportados (Supported Languages) Requisitos do sistema Descrição (Obrigatório) As edições do Salesforce que são compatíveis com o seu aplicativo. É possível adicionar ou alterar edições. (Obrigatório) Os idiomas suportados pelo seu aplicativo. Você pode adicionar ou alterar idiomas. Os requisitos do seu aplicativo. Por exemplo, você pode listar o sistema operacional, as versões do navegador ou outros softwares necessários para que seu aplicativo funcione corretamente. Guia Suporte (Support) A guia Suporte (Support) oferece aos clientes informações sobre o serviço que você deseja prestar. Campo Suportado (Supported) ou suportado (No Support) Número de telefone URL do bate-papo on-line (Online Chat URL) URL da base de conhecimento (Knowledge Base URL) Descrição Indique se seu aplicativo é suportado ou não. Se o seu aplicativo for suportado, digite as informações de suporte solicitadas. Se não for, é necessário digitar apenas o contrato de termos e condições. O telefone de suporte da sua empresa. Indique se o telefone de suporte tem uma cobrança adicional. O de suporte da sua empresa. Indique se o de suporte tem uma cobrança adicional. O endereço do bate-papo on-line da sua empresa. Indique se o suporte on-line tem uma cobrança adicional. O endereço da base de conhecimento da sua empresa. Indique se o acesso à base de conhecimento tem uma cobrança adicional.

123 Publicando seu aplicativo Version 29.0 Guia Conteúdo carregado (Uploaded Content) 115 Campo Suporte disponível 24h, 7 dias por semana (Support Available 24 hrs 7 days) Suporte premium disponível (Premium Support Available) Contrato de prestação de serviço (Service Level Agreement) Detalhes do suporte (Support Details) Termos e Condições (Terms & Conditions) Descrição Indica se o suporte está disponível 24 horas por dia, 7 dias por semana. Indica se você oferece um pacote de suporte premium. Indica se você oferece um contrato de prestação de serviço. Insira informações detalhadas sobre seus recursos de suporte. Insira os Termos e Condições que seus clientes devem analisar e aceitar antes de instalar o aplicativo. Se os Termos e Condições tiverem mais de caracteres, insira um acordo abreviado e informe que o cliente pode acessar os Termos e Condições completos no seu site. Guia Conteúdo carregado (Uploaded Content) Na guia Conteúdo carregado (Uploaded Content), você pode adicionar ou remover arquivos da sua listagem, como logotipos, banners e vídeos. Campo Logotipo Descrição Carregue os logotipos da sua listagem. Seus logotipos podem aparecer em vários locais do AppExchange, incluindo em sua listagem, nos resultados da pesquisa e na página inicial. Confira nossas diretrizes para criar um ótimo logotipo. Se sua listagem for privada e você não carregar logotipos da listagem, o AppExchange exibirá logotipos padrão. Para tornar sua listagem pública, carregue logotipos pequenos, lado a lado e em alta resolução, conforme descrito a seguir. Logotipo pequeno: carregue um arquivo PNG de até 100 KB. O logotipo deve ter exatamente pixels. Logotipo lado a lado: carregue um arquivo PNG de até 300 KB. O logotipo deve ter exatamente pixels. Logotipo de alta resolução: carregue um arquivo PNG de alta resolução, com um plano de fundo transparente, de até 10 MB. Este logotipo tem apenas fins de marketing e não é usado no site. Efeitos como sombras são automaticamente aplicados, portanto não é necessário incluí-los no logotipo. Banner Carregue um banner para sua listagem. Este banner é mostrado na sua listagem, na página Resumo (Summary). É possível carregar um arquivo PNG de até 1 MB. A imagem deve ter exatamente pixels.

124 Publicando seu aplicativo Version 29.0 Diretrizes do logotipo 116 Campo Vídeo Images Recursos Descrição Forneça um vídeo para sua listagem. Você tem duas opções: Especificar um URL para visualizar um vídeo em uma nova página. Isso leva o cliente para fora da página da sua listagem, mas permite que você gere leads. Incorporar um vídeo do YouTube na mesma página. Isso oferece uma experiência integrada ao cliente, mas não permite a geração de leads. Será necessário especificar uma legenda para o vídeo. Carregue até oito imagens para sua listagem. há restrições quanto ao tamanho da imagem. Os arquivos devem ter a extensão PNG e ter até 1 MB. Carregue até seis whitepapers, depoimentos, estudos de caso, folhas de dados, webinários, guias de personalização ou outros recursos que podem ser hospedados no AppExchange ou em outro lugar. Os recursos podem ser arquivos PDF de até 10 MB. Diretrizes do logotipo Os logotipos são mais do que simples decoração. Um bom logotipo diz a seus clientes que eles podem confiar no seu aplicativo ou serviço porque você dedicou tempo para investir na própria marca. O logotipo também transmite atributos importantes sobre sua oferta. Dicas para criar um ótimo logotipo: 1. Contrate um designer ou aproveite um serviço de logotipo crowdsourcing é possível encontrá-lo na Internet e definir o preço que deseja pagar pelo logotipo. 2. use apenas o logotipo da sua empresa criar um logotipo e um nome próprio ao seu aplicativo ou serviço fornece uma plataforma para expandir sua oferta. 3. Use imagens que as pessoas reconhecem você deseja que as pessoas façam associações rápidas, não que percam tempo decifrando referências obscuras. 4. Mantenha a simplicidade evite fotos, excesso de palavras e imagens complexas. 5. Dedique tempo para observar seus concorrentes e aplicativos populares no espaço do consumidor aproveite o mercado para ganhar inspiração. 6. Teste seu logotipo em diferentes contextos em planos de fundo branco, preto ou ao lado do logotipo da sua empresa. Guia Leads Na guia Leads, você pode especificar os cenários que geram leads a partir da sua listagem. Campo Envie-me leads na instalação (Send me leads on install) Descrição Para listagens de aplicativo, um lead é enviado quando um cliente instala seu aplicativo. Se você exigir que os clientes entrem em contato com você para obter informações de instalação, selecione esta opção.

125 Publicando seu aplicativo Version 29.0 Inclusão da marca em seu aplicativo 117 Campo Envie-me leads no test drive (Send me leads on test drive) Descrição Para listagens de aplicativo, um lead é enviado quando um cliente faz um test drive do seu aplicativo. Envie-me leads na demonstração (Send me leads on demo) Para listagens de aplicativo, um lead é enviado quando um cliente visualiza sua demonstração. Envie-me leads na inscrição na avaliação gratuita (Send me leads on free trial sign up) Envie-me leads no saiba mais (Send me leads on learn more) Envie-me leads no vídeo (Send me leads on video) Campanha (Campaign) (opcional) Enviar Leads para (Send Leads To) Para listagens de aplicativo, um lead é enviado quando um cliente se inscreve para uma avaliação gratuita. Para listagens de serviço, um lead é enviado quando um cliente clica em Saber mais na (Learn More) na sua listagem. Para listagens de serviço, um lead é enviado quando um cliente visualiza seu vídeo. Se você desejar associar os leads gerados pela sua listagem a uma campanha, insira o ID de uma campanha. Os IDs de campanhas começam com 701 e contêm 15 caracteres. Clique em Alterar organização (Change Organization) para especificar a organização do Salesforce onde você deseja enviar leads para esta listagem. A organização deve ter o Web-To-Lead ativado. Inclusão da marca em seu aplicativo É importante considerar a importância da marca ao projetar suas listas de aplicativos. Determine uma marca significativa e influente que você possa usar consistentemente no AppExchange para identificar seu aplicativo. Consulte Partner Logo and Branding Usage Guidelines (Orientações para uso do logotipo e da marca do parceiro) no conteúdo do Portal do parceiro em relação às convenções para logotipo e marca no aplicativo. É possível navegar até a página de Relações públicas de duas maneiras: Início (Home) > Programas (Programs) > Programa de consultoria (Consulting Program) > Para o mercado (Go-to-market) > Relações públicas (Public Relations) ou Início (Home) > Programas (Programs) > Programa ISV (ISV Program) > Para o mercado (Go-to-market) > Relações públicas (Public Relations). Enviando sua listagem para aprovação Somente aplicativos listados publicamente podem ser pesquisados no AppExchange. Para que você liste seu aplicativo ou forneça um modelo de avaliação publicamente no AppExchange, eles devem passar pelaanálise de segurança do AppExchange. Esta análise garante que seu aplicativo ou modelo de teste pode ser instalado com segurança pelos clientes. Como fornecedor, você é obrigado a atualizar as informações da sua análise de segurança sempre que seu aplicativo ou modelo de avaliação são alterados. Nota: As informações fornecidas nesta avaliação são disponibilizadas a todos os clientes do AppExchange. Para iniciar a avaliação de um aplicativo empacotado, siga estas etapas: 1. Clique em Iniciar avaliação (Start Review) na coluna Aprovação de segurança (Security Review) do pacote na página inicial Publicação (Publishing) ou clique em Iniciar avaliação (Start Review) na guia Oferta (Offering) ao editar a listagem.

126 Publicando seu aplicativo Version 29.0 Enviando sua listagem para aprovação Determine se o aplicativo é pago ou gratuito. Aplicativos gratuitos devem ser submetidos à avaliação, mas neste caso a taxa não é cobrada. 3. Se você cobrar pelo aplicativo, a equipe de Operações do parceiro enviará dentro de dois dias úteis um com informações sobre como pagar pela avaliação. Esse pagamento é anual. 4. Indique se seu aplicativo faz parte de qualquer serviço da Web fora do Force.com, incluindo seus próprios servidores. 5. Se seu aplicativo fizer parte de outros serviços da Web, liste todos eles na caixa Webservices utilizados (Webservices Used). Você pode inserir até 1000 caracteres. 6. Caso seu aplicativo integre outros serviços da Web, selecione como seu aplicativo será autenticado nesses serviços. Insira comentários úteis na caixa exibida. Você pode inserir até 1000 caracteres. 7. Indique se seu aplicativo armazena credenciais do usuário do salesforce.com fora do Force.com. 8. Indique se seu aplicativo armazena dados do cliente do salesforce.com fora do Force.com. 9. Se seu aplicativo armazenar dados do cliente do salesforce.com fora do Force.com, liste todos os objetos do salesforce.com acessados na caixa Objetos acessados (Objects Accessed). Você pode inserir até 255 caracteres. 10. Indique se seu aplicativo requer que os clientes instalem quaisquer componentes, como softwares ou plug-ins. 11. Se seu aplicativo exigir componentes do cliente, insira os detalhes na caixa Requisitos (Requirements). Você pode inserir até 1000 caracteres. 12. Clique em Iniciar avaliação de segurança (Start Security Review) para iniciar a Análise de segurança do AppExchange. Para descartar suas alterações e voltar à página anterior, clique em Cancelar (Cancel). Importante: De acordo com o contrato, você é obrigado a manter essas informações atualizadas. Por exemplo, se você atualizar seu aplicativo para usar um novo serviço da Web, deve editar as informações no envio da sua análise de segurança. Para editar suas informações de envio, clique em Editar análise (Edit Review) na guia Oferta (Offering) ao editar a listagem. Os aplicativos são revisados periodicamente. Após você iniciar a análise, um membro da equipe de operações do parceiro enviará um dentro de dois dias úteis informando as próximas etapas. Para fornecer uma avaliação gratuita do seu aplicativo e do Salesforce, tanto seu aplicativo (pacote) como o respectivo modelo do Trialforce devem receber uma avaliação. Para iniciar o processo de avaliação para um modelo do Trialforce: 1. Verifique se todos os pacotes incluídos no modelo do Trialforce foram aprovados na Análise de segurança do AppExchange. há custo adicional para a avaliação do modelo. 2. Clique em Iniciar avaliação (Start Review) na coluna Aprovação de segurança (Security Review) do modelo do Trialforce, na página inicial Publicação (Publishing). 3. Clique em Inscrever-se usando modelo de avaliação (Sign Up Using Trial Template). 4. Insira o nome de usuário desejado e o da sua nova organização. Suas novas credenciais (nome de usuário e senha) são enviados para este Clique em Enviar (Submit). 6. Após receber um de inscrição com suas credenciais de usuário, faça login nessa organização e defina a senha permanente. 7. Volte ao AppExchange e à página Aprovação de segurança (Security Review) do seu modelo. Para fazer isso, clique em Iniciar avaliação (Start Review) na coluna Aprovação de segurança do modelo, localizada na página inicial Publicação (Publishing). 8. Clique em Alterar organização (Change Organization). 9. Insira seu nome de usuário e senha da sua nova organização de avaliação. 10. Clique em Iniciar avaliação de segurança (Start Security Review) ou em Cancelar (Cancel) para descartar suas alterações e voltar à página anterior. A avaliação do modelo leva alguns dias, e a equipe de avaliação entrará em contato com você em caso de dúvidas.

127 Publicando seu aplicativo Version 29.0 Registrando seu pacote e escolhendo configurações de licença 119 Registrando seu pacote e escolhendo configurações de licença Se você registrar seu pacote de aplicativos, receberá um registro de licença toda vez que um cliente instalar seu aplicativo. As licenças permitem monitorar quem está usando seu aplicativo e por quanto tempo. Para que você possa registrar seu pacote, sua listagem deverá atender às seguintes condições: Seu aplicativo deve ser um pacote gerenciado. Você deve ter instalado o Aplicativo de gerenciamento de licenças (LMA). A organização em que você instalar o LMA é chamada de sua Organização de gerenciamento de licenças (LMO). Geralmente, seu LMA e sua APO são a mesma organização. Registre seu pacote e escolha as configurações padrão da licença: 1. Na página inicial Publicação (Publishing), clique em Gerenciar licenças (Manage Licenses) ao lado do pacote carregado e gerenciado. 2. Na página Registre seu pacote carregado (Register Your Uploaded Package), clique em Registrar (Register). Se o pacote nunca tiver sido associado a uma LMO, selecione uma. Se uma versão anterior do pacote tiver sido registrada, as configurações dessa versão aparecerão automaticamente. Você pode editar essas configurações existentes, exceto a LMO. Para alterar uma LMO, é necessário entrar em contato com a salesforce.com. 3. Selecione se o status da sua licença padrão é Avaliação gratuita ou Ativa. Se sua licença for gratuita, selecione Ativa (Active). 4. Se você tiver selecionado uma licença de avaliação gratuita, digite o número de dias inteiros, até 90. Se você tiver selecionado uma licença ativa, digite a duração da licença, em dias inteiros. Se sua licença for gratuita ou não expirar, selecione Licença sem expiração (License does not expire). 5. Digite o número de assentos associados à sua licença padrão ou selecione Licença para o site inteiro (License is site-wide) para oferecer a licença a todos os usuários da organização do instalador. 6. Clique em Salvar (Save). Notificações por s de notificação de instalação Um de notificação é enviado aos assinantes do seu aplicativo 30 dias após a instalação inicial. A notificação agradece aos usuários por instalar o aplicativo e incentiva que escrevam uma resenha para compartilhar com outros usuários as experiências que tiveram. Uma notificação é enviada somente quando são atendidas as seguintes condições: O usuário tem um endereço de válido. Ainda não foi enviada uma notificação para o mesmo usuário. O usuário ainda não publicou uma resenha. s de notificação de resenha Quando os usuários publicam resenhas e comentários sobre seu aplicativo e suas listagens de parceiro de consultoria, são enviados s de notificação às partes interessadas. Existem vários tipos de notificações por , que dependem da função do usuário na conversa (fornecedor, autor ou comentador). Tipo de de notificação Novo comentário sobre sua listagem Enviado para Você, o fornecedor Detalhes Enviado somente se você tiver especificado um endereço de no campo sobre resenhas (Reviews ) na guia Editar listagem (Edit Listing) > Informações básicas (Basic).

128 Publicando seu aplicativo Version 29.0 Usando o Checkout do AppExchange 120 Tipo de de notificação Novo comentário sobre sua resenha Também comentou sobre a resenha Novo comentário sobre a resenha da sua listagem Enviado para O autor da resenha As pessoas que comentaram sobre a resenha Você, o fornecedor Detalhes Enviado somente se alguém diferente do autor da resenha fizer um comentário sobre a resenha e se o autor tiver optado por receber notificações por no perfil dele. Se o autor responder à notificação, a resposta será publicada como novo comentário na resenha. Enviado para as pessoas que comentaram sobre uma resenha, que não são o autor da resenha nem o autor deste comentário e que optaram por receber notificações por em seus perfis. No máximo uma notificação por é enviada a cada comentador para cada novo comentário. Se a pessoa responder à notificação, a resposta será automaticamente publicada como novo comentário na resenha. Enviado sempre que alguém escreve um novo comentário sobre uma resenha da sua listagem. A notificação é enviada somente se você tiver especificado um endereço de no campo sobre resenhas (Reviews ) na guia Editar listagem (Edit Listing) > Informações básicas (Basic). Usando o Checkout do AppExchange O Checkout é um serviço do salesforce.com e do Recurly que permite aos clientes pagar pelos seus aplicativos diretamente no AppExchange. O serviço cobra do cartão de crédito dos seus clientes automaticamente e deposita o dinheiro na sua conta. Se o acesso ao seu aplicativo for vendido como uma assinatura, o serviço cobrará seus clientes periodicamente. O Checkout oferece acesso integrado ao gerenciamento automático de assinaturas e cobranças recorrentes do Recurly, incluindo pagamento inicial, complemento, redução, cancelamento e renovação automática. Ele também atualiza automaticamente licenças no Aplicativo de gerenciamento de licenças (LMA). Para os seus clientes, o Checkout facilita o pagamento pelo seu aplicativo. Para você, ele evita o trabalho de gerenciar cobranças recorrentes e licenças. Para se inscrever no Checkout: 1. Clique na guia Publicação (Publishing) no AppExchange. 2. Clique em Editar listagem (Edit Listing) do seu aplicativo. 3. Clique na guia Preços (Pricing) na página Listagem (Listing). 4. Clique em Inscrever-se no Checkout (Sign up for Checkout). 5. Uma sobreposição é exibida para explicar o serviço, verificar se você está usando sua AppExchange Publishing Organization (APO) e se você vinculou sua conta de parceiro ao seu perfil de fornecedor do AppExchange. Clique em Inscrever-se (Sign Up) para continuar. 6. É exibida uma sobreposição com os termos e condições do Recurly e do salesforce.com. Aceite os termos para continuar. 7. É exibida uma mensagem confirmando que você se inscreveu no Checkout. Finalize especificando as informações de preço na guia Preços (Pricing) do seu aplicativo. O processo de inscrição no Checkout está concluído. Para ativar o Checkout em sua listagem, é necessário registrar-se no Recurly. Para fazer isso, clique no link Ir para o Recurly (Go to Recurly), que aparece na mensagem de aviso informando que esta é a última etapa. No Recurly, será necessário: 1. Especificar o gateway de pagamento e as informações da conta bancária do comerciante. 2. Informar um cartão de crédito que será usado para efeitos de pagamento mensal. O valor cobrado é de 15% da sua receita faturada pelo AppExchange Checkout. 3. Ative o serviço disponibilizando-o. Para obter mais informações sobre essas tarefas, visite

129 Publicando seu aplicativo Version 29.0 Perguntas frequentes do AppExchange Checkout 121 Depois que você ativar o Checkout, todos os clientes que comprarem seu aplicativo no AppExchange serão solicitados a fornecer informações do cartão de crédito. Se eles prosseguirem com a instalação do seu aplicativo, serão cobrados de acordo com os detalhes de pagamento que você especificou. Perguntas frequentes do AppExchange Checkout Esta seção contém uma lista alfabética de Perguntas frequentes sobre o AppExchange Checkout. Posso ter várias listagens para um aplicativo? Posso usar meu sistema de processamento de cartão de crédito existente com o Checkout e o Recurly? Há suporte para preço que não seja mensal por usuário? Por exemplo, um preço anual de US$ por instância do Salesforce? Se o cartão de crédito for recusado, a licença se torna automaticamente inativa? O Checkout substitui o LMA? O LMA seguirá controlando o status da licença (Ativa/Avaliação) ou as licenças são ativas para qualquer compra realizada por meio do Checkout? O Checkout oferece suporte para pagamento em várias moedas? A divisão de lucros se aplica a transações não processadas pelo Checkout? Como a cobrança funciona quando clientes adicionam/removem licenças durante o mês? Como o Checkout afeta os processos existentes, como gerenciamento de lead, Trialforce e licenças de avaliação? Por exemplo, como a inscrição do Checkout interage com o processamento de lead? Como devo tratar faturas dos meus clientes? Se uma cobrança for recusada, há um período gratuito antes que a licença seja desativada no LMA? Se um administrador instalar o aplicativo, outra pessoa na empresa poderá acessar a conta do AppExchange desse administrador e clicar em Comprar agora (Buy Now)? Existe uma divisão de lucros mínima? Por exemplo, se 15% for menos de US$ 1,00, a divisão de lucros permanece sendo 15%? Posso ter várias listagens para um aplicativo? É possível ter duas listagens se você tiver dois pacotes separados. Um pacote só pode ser associado a uma listagem. Posso usar meu sistema de processamento de cartão de crédito existente com o Checkout e o Recurly? O Recurly oferece suporte a um número limitado de gateways não pertencentes ao Recurly. Para obter detalhes, consulte Há suporte para preço que não seja mensal por usuário? Por exemplo, um preço anual de US$ por instância do Salesforce? No momento, não. Atualmente, as opções de preço disponíveis são: mensal por usuário mensal por empresa uso único por usuário uso único por empresa

130 Publicando seu aplicativo Version 29.0 Se o cartão de crédito for recusado, a licença se torna automaticamente inativa? 122 Se o cartão de crédito for recusado, a licença se torna automaticamente inativa? Se um cartão de crédito for recusado, o Recurly tentará concluir a cobrança solicitando as informações de pagamento atualizadas do assinante. Se o processo falhar, o Recurly pode cancelar a assinatura ou mantê-la ativa. É possível especificar esse comportamento nas configurações da sua conta do Recurly. O Checkout substitui o LMA? O LMA ainda controla o status da licença ou as licenças são ativas para qualquer compra realizada por meio do Checkout? O Checkout não substitui o LMA. O Checkout funciona com o LMA para controlar se um aplicativo está ativo ou inativo, bem como quantas licenças uma organização tem. O Checkout cria e atualiza automaticamente registros de licença no LMA, conforme necessário. é possível editar diretamente registros de licença criados pelo Checkout. Para alterar qualquer um desses registros, primeiro atualize as informações da assinatura correspondente no Recurly. Em seguida, o Checkout atualizará automaticamente os registros no LMA. O Checkout oferece suporte para compras em várias moedas? O Checkout pode aceitar pagamento em qualquer moeda aceita pelo gateway de pagamento. Quando você se inscreve no Recurly pela primeira vez, a moeda de pagamento padrão é escolhida com base no seu país (por exemplo, US$ se você estiver nos Estados Unidos). Você pode ativar qualquer outra moeda aprovada pelo seu gateway de pagamento editando as configurações da sua conta do Recurly. Em seguida, é possível especificar essa moeda no campo Cobrança (Charge) da guia Preços (Pricing) da listagem do seu aplicativo. Quando os clientes comprarem seu aplicativo, o Checkout fará a cobrança nessa moeda e depositará o valor na sua conta bancária comercial também nessa moeda. Nota: No momento, é possível selecionar apenas um valor para a moeda. é possível listar o aplicativo várias vezes para oferecê-lo em várias moedas. A divisão de lucros se aplica a transações não processadas pelo Checkout? A divisão de receita aplica-se somente às transações do Checkout, isto é, todas as cobranças na sua conta do Recurly vinculada à AppExchange Publishing Organization (APO). Como a cobrança funciona quando clientes adicionam/removem licenças durante o mês? Licenças adicionadas ou removidas ao longo de um mês são cobradas proporcionalmente a esse mês.

131 Publicando seu aplicativo Version 29.0 Como o Checkout afeta os processos existentes, como gerenciamento de lead, Trialforce e licenças de avaliação? Por exemplo, como a inscrição do Checkout interage com o processamento de lead? 123 Como o Checkout afeta os processos existentes, como gerenciamento de lead, Trialforce e licenças de avaliação? Por exemplo, como a inscrição do Checkout interage com o processamento de lead? O Checkout não afeta a forma como os leads são enviados a você, nem a configuração do Trialforce. No entanto, o Checkout afeta o modo com o qual as licenças de avaliação do AppExchange são gerenciadas. Quando um cliente se inscreve para uma avaliação usando o Checkout, ele é listado como Ativo no LMA. Como devo tratar faturas dos meus clientes? O Recurly automaticamente envia faturas para os clientes. Os clientes também podem visualizar essas faturas diretamente no AppExchange. Só é necessário criar faturas para clientes que não realizarem a compra por meio do Checkout. Se um administrador instalar o aplicativo, outra pessoa na empresa poderá acessar a conta do AppExchange desse administrador e clicar em Comprar agora (Buy Now)? Qualquer usuário que tiver permissões para instalar aplicativos pode executar ações Comprar agora (Buy Now), desde que também tenha a permissão Gerenciar cobrança (Manage Billing). Essa é a mesma permissão necessária para visualizar a página Minha conta (My Account) ou para comprar aplicativos usando o Checkout dentro do aplicativo Salesforce. Se uma cobrança for recusada, há um período gratuito antes que a licença seja desativada no LMA? Sim. Por padrão, o período gratuito é de 10 dias e o cliente recebe duas notificações por antes da desativação da licença. Para alterar o comportamento padrão, edite as configurações da sua conta do Recurly. Existe uma divisão de lucros mínima? Por exemplo, se 15% for menos de US$ 1,00, a divisão de lucros permanece sendo 15%? há cobrança mínima para os aplicativos vendidos pelo Checkout. A divisão de receita é sempre de 15%, mesmo se o valor for inferior a US$ 1,00. Trabalhando com leads do AppExchange O AppExchange coleta informações de contato quando as pessoas realizam várias ações na listagem do aplicativo ou de serviços de consultoria de um fornecedor. Essas informações de contato são enviadas a uma organização do Salesforce escolhida pelo fornecedor, na forma de um lead. Os fornecedores podem escolher quais ações capturam leads. As seguintes ações podem ser configuradas para capturar leads: Confirmar instalação (somente aplicativos) Fazer um test drive (somente aplicativos) Assistir a uma demonstração/vídeo Inscrever-se para uma avaliação gratuita do aplicativo do fornecedor e do Salesforce (somente aplicativos)

132 Publicando seu aplicativo Version 29.0 Como receber leads do AppExchange? 124 Clicar em Saber mais (Learn More) (somente serviços de consultoria) Como receber leads do AppExchange? Para receber leads do AppExchange, edite sua listagem do AppExchange e clique na guia Leads. Especifique as ações para as quais deseja receber leads e a organização do Salesforce para a qual enviar os leads. Essa organização deve ter o Web-To-Lead ativado e deve ser uma organização padrão do Salesforce, ou a organização CRM para ISVs do fornecedor, não uma organização da Developer Edition. Os parceiros do Salesforce.com podem registrar um caso no Portal de parceiros do Salesforce.com para obter uma organização CRM para ISVs. Além disso, os fornecedores podem optar por especificar um ID de campanha para cada ação para as quais desejam receber leads. Os leads criados serão automaticamente associados à campanha correta na organização Salesforce do fornecedor. Posso receber leads apenas da minha solução principal do AppExchange, e não das minhas outras listagens? Cada listagem é ativada separadamente para a coleta de leads. Se você não deseja coletar leads para uma listagem específica, não especifique essa organização para receber leads na guia Leads. Como saber se este lead veio do AppExchange? Os códigos fonte do lead oferecem informações sobre como o lead foi criado e podem ajudá-lo a decidir como proceder. O código fonte do lead sempre tem o formato SFDC-XX Listing Name ou SFDC-dup-XX Listing Name. Se o código fonte tiver -dup-, significa que o AppExchange já enviou a você um lead para esse usuário, essa listagem ou ação nos últimos 180 dias. O XX identifica a ação que o usuário realizou para gerar o lead. O Salesforce pode eliminar leads duplicados antes que eles sejam enviados para mim? A maior parte dos parceiros que consultamos solicitaram o recebimento de todos os leads. Designamos leads duplicados do AppExchange da seguinte forma: SFDC-dup-XX Listing Name. Se o código fonte tiver -dup-, significa que o AppExchange já enviou a você um lead para esse usuário, essa listagem ou ação nos últimos 180 dias. Por exemplo, SFDC-dup-DM VerticalResponse for AppExchange indica um lead duplicado de um usuário que clicou para visualizar o vídeo de demonstração na VerticalResponse da listagem do AppExchange. O que significam os códigos fonte do lead da minha listagem? Os códigos fonte do lead oferecem informações sobre como o lead foi criado e podem ajudá-lo a decidir como proceder. O código fonte do lead sempre tem o formato SFDC-XX Listing Name ou SFDC-dup-XX Listing Name. Se o código fonte tiver -dup-, significa que o AppExchange já enviou a você um lead para esse usuário, essa listagem ou ação nos últimos 180 dias. O XX identifica a ação que o usuário realizou para gerar o lead. Veja a tabela dos códigos de ação e o que eles significam. Código fonte do lead IN Descrição O usuário iniciou o processo de instalação do seu aplicativo clicando em Adquirir agora (Get It Now) na sua listagem, aceitando os termos e condições e clicando no botão Finalizar

133 Publicando seu aplicativo Version 29.0 Como ver mais informações no registro do lead? 125 Código fonte do lead Descrição instalação (Final Install) na página de confirmação. O usuário pode não ter concluído a instalação ou ter desinstalado seu aplicativo. Use o Aplicativo de gerenciamento de licenças (LMA) para monitorar quem instalou seu aplicativo. DM LM TS TD O usuário assistiu sua demonstração, em parte ou inteira. O usuário clicou em Saiba mais (Learn More) na sua listagem de serviços. Nota: Listagens de aplicativos que anteriormente tinham botões Saiba mais (Learn more), no momento têm botões Adquirir agora (Get it Now) e recebem códigos fonte de lead com ações IN. O usuário clicou em Adquirir agora (Get It Now) na sua listagem e optou por iniciar uma avaliação gratuita de 30 dias do Salesforce e do seu aplicativo. Esses usuários podem ser clientes pré-existentes do salesforce.com. O usuário realizou seu test drive clicando em Test Drive na sua listagem. Como ver mais informações no registro do lead? Neste momento, os fornecedores não podem modificar o formulário de lead que os clientes são solicitados a preencher quando visualizam uma demonstração, acessam um test drive, instalam um aplicativo ou clicam em Saber mais (Learn More). Indique quais melhorias você gostaria de ver no IdeaExchange. Qual é a diferença entre os leads e os registros de licença gerados pela minha listagem? Todas as pessoas que publicam uma listagem no AppExchange recebem leads, e você pode escolher quais cenários geram leads. Se você tiver o Aplicativo de gerenciamento de licença (LMA) instalado, poderá configurar definições de licença padrão para que, toda vez que um cliente instalar seu aplicativo, você receba um registro de licença na organização em que instalou o LMA. Os leads e os registros de licença são completamente independentes um do outro. O que acontece com minha listagem se eu decidir não receber nenhum lead do AppExchange? Se os fornecedores não selecionarem nenhum cenário para o quais desejam coletar leads, os usuários não serão solicitados a preencher o formulário de inscrição de lead e nenhum lead será enviado. Independentemente das configurações do lead, os usuários ainda podem visualizar a demonstração, fazer um teste drive, clicar em Saber mais (Learn More) e instalar o aplicativo. Relatórios analíticos para editores Os relatórios analíticos do AppExchange mostram como está o desempenho da sua listagem de aplicativos públicos ou da sua listagem de parceiros de consultoria. Esses relatórios fornecem métricas para o número de instalações e outras atividades do usuário em sua listagem ao longo do tempo. Com essas informações, é possível identificar áreas que exigem ajustes ou

134 Publicando seu aplicativo Version 29.0 Relatórios analíticos para editores 126 esclarecimentos a fim de atrair e envolver usuários e, ao final, aumentar sua contagem de instalações. Para acessar os relatórios, faça login no AppExchange Publishing e clique no link Relatórios (Reports) associado à sua listagem pública. Os relatórios não estão disponíveis para listagens privadas. Tipos de relatório Para uma listagem de aplicativos, os relatórios disponíveis são: Instalações (Adquirir agora) Leads Recursos e promoções Test Drives, demonstrações e telas Para uma listagem de parceiros de consultoria, os relatórios disponíveis são: Leads Saiba mais, vídeos e telas Atributos de relatórios Todos os relatórios compartilham os seguintes atributos comuns. Nome da listagem O título da listagem mostrado no topo de cada relatório. Link Voltar à página inicial da publicação (Back to Publishing Home) Use para retornar à página inicial da publicação. Menu Mostrar (Show) Permite selecionar um dos relatórios disponíveis. Os relatórios são classificados alfabeticamente. Menu Intervalo de datas (Date Range) Permite selecionar um dos intervalos de datas disponíveis, que incluem: Últimos 30 dias (Last 30 Days), Últimos 60 dias (Last 60 Days), Últimos 90 dias (Last 90 Days), Últimos 120 dias (Last 120 Days) e Últimos 180 dias (Last 180 Days). Por padrão, é selecionada a opção Últimos 30 dias (Last 30 Days). Métricas Relatório Instalações (Adquirir agora) Leads Recursos e promoções Test Drives, demonstrações e telas Saiba mais, vídeos e telas Métricas Adquirir agora, Instalações, Proporção clique para instalar Leads únicos, leads duplicados, total de leads Estudos de caso, Folhas de dados, Promoções, Depoimentos do cliente, Webinários, Guias de personalização, Whitepapers Test Drives, demonstrações, telas Saiba mais, vídeos, telas Gráfico linear Mostra uma ou mais linhas para cada uma das métricas que você selecionou para exibição. Marque as caixas de seleção abaixo do gráfico para obter as métricas que deseja ver. Por padrão, todas as métricas são incluídas no gráfico. Os relatórios mostram métricas ao longo do tempo, agrupadas pela data de criação. Quando você clica no gráfico, a data e as métricas

135 Publicando seu aplicativo Version 29.0 Relatório Instalações (Adquirir agora) 127 Tabela selecionadas para essa data são exibidas. Ao lado de cada métrica, é exibido o número total de itens na métrica ao longo do intervalo de datas selecionado, independentemente de você ter optado ou não por incluir o gráfico dessa métrica. Cada relatório inclui uma tabela. A primeira coluna em todos os relatórios é a Data, e o restante das colunas corresponde às métricas associadas ao relatório. A tabela exibe 30 linhas por vez. Clique em Próximo (Next) para ver mais dados. Por padrão, a tabela é organizada por data, da entrada mais antiga para a mais recente. Para alterar a ordem de classificação, clique nos cabeçalhos da coluna. Clique novamente na coluna de classificação selecionada para classificar os dados na direção oposta. O pequeno triângulo apontando para cima ou para baixo ao lado do cabeçalho de uma coluna indica a direção de classificação e identifica essa coluna como a coluna de classificação. Relatório Instalações (Adquirir agora) O relatório Instalações (Adquirir agora) mostra como está o desempenho da sua listagem com base no número de instalações. As métricas disponíveis são: Cliques em Adquirir agora (Get It Now) Cliques em Confirmação de instalação (Install Confirmation) Taxa de conversão: o número total de cliques em Confirmação de instalação (Install Confirmation) dividido pelo número total de cliques em Adquirir agora (Get It Now), mostrado como percentual com duas casas decimais. A tabela inclui: Data Números de Adquirir agora: o número total de cliques em Adquirir agora (Get It Now) para esta listagem até a data atual. Instalações: o número total de cliques em Instalar (Install) para esta listagem até a data atual. Proporção de cliques para instalar: o número total de cliques em Instalar (Install) para esta listagem até a data atual, dividido pelo número total de cliques em Adquirir agora (Get It Now) até a data atual, mostrado como percentual com duas casas decimais. Relatório de leads O Relatório de leads mostra quantos leads você recebeu em sua listagem. As métricas disponíveis são: Leads únicos: o número total de leads, não incluindo os duplicados. Lead duplicados: o número total de leads duplicados. Um lead duplicado é criado quando a mesma pessoa realiza a mesma ação na mesma listagem mais de uma vez nos últimos 180 dias. Total de leads: o número total de leads, incluindo os duplicados. A tabela inclui: Data Leads únicos Leads duplicados Total de leads Relatório de recursos e promoções O Relatório de recursos e promoções mostra o desempenho da sua listagem com base em recursos e promoções.

136 Publicando seu aplicativo Version 29.0 Relatório de test drives, demonstrações e telas 128 As métricas disponíveis são: Estudos de caso: o número total de atividades de estudo de caso para a listagem por dia. Depoimentos do cliente: o número total de atividades de depoimento do cliente para a listagem por dia. Guias de personalização: o número total de atividades de guia de personalização para a listagem por dia. Folhas de dados: o número total de atividades de folha de dados para a listagem por dia. Webinários: o número total de atividades de webinário para a listagem por dia. Whitepapers: o número total de atividades de whitepaper para a listagem por dia. Promoções: o número total de atividades de promoção para a listagem por dia. A tabela inclui: Data Estudos de caso Depoimentos de cliente Guias de personalização Folhas de dados Webinários Whitepapers Promoções Relatório de test drives, demonstrações e telas O Relatório de test drives, demonstrações e telas mostra o desempenho da sua listagem com base em atividades de avaliação. As métricas disponíveis são: Test drives: o número total de atividades test drive para a listagem por dia. Demonstrações: o número total de atividades de demonstração para a listagem por dia. Telas o número total diário de atividades de tela para a listagem. A tabela inclui: Data Test drives Demonstrações Telas Saiba mais, vídeos e relatório de telas O Relatório de Saiba mais, vídeos e telas mostra como está o desempenho da sua listagem de parceiro de consultoria com base em atividades de Saiba mais, vídeo e tela. As métricas disponíveis são: Saiba mais: o número total de atividades "saiba mais" para a listagem por dia. Vídeos: o número total de atividades de demonstração para a listagem por dia. Telas o número total diário de atividades de tela para a listagem. A tabela inclui: Data

137 Publicando seu aplicativo Version 29.0 Perguntas frequentes sobre o AppExchange 129 Saiba mais Vídeos Telas Perguntas frequentes sobre o AppExchange Esta seção contém uma lista alfabética de Perguntas frequentes sobre como vender no AppExchange. Posso adicionar mais indústrias? Posso adicionar mais idiomas? Posso associar minha conta de parceiro a mais de um perfil de fornecedor (organização)? Posso alterar o nome da minha empresa? Posso criar meu aplicativo em um sandbox do Salesforce e enviá-lo para o AppExchange? Posso editar uma análise? Posso manter a mesma listagem mas alterar o pacote fornecido? Posso atualizar meu aplicativo com uma nova versão (correção)? Como os clientes encontram minha listagem? Como editar um pacote após a criação de uma listagem? Como obter um token de API para meu aplicativo? Como aumentar a popularidade da minha listagem? Como oferecer uma avaliação gratuita do meu aplicativo? Como ver listagens que foram removidas pelo Salesforce? Como atualizar meus clientes para uma nova versão do meu aplicativo? O que os ícones da minha listagem representam? O que é uma APO? Qual a diferença entre uma avaliação gratuita e um test drive? Onde posso compartilhar minhas ideias? Onde posso carregar depoimentos? Onde posso escrever uma avaliação? Posso adicionar mais indústrias?. Pra evitar o uso abusivo, você só pode especificar duas indústrias para cada listagem. Se você abranger mais indústrias, mencione-as na descrição completa ou abreviada da sua listagem. Posso adicionar mais idiomas? Ao editar uma listagem, você poderá selecionar qualquer idioma na lista Idiomas utilizados (Languages Spoken). Se você oferecer suporte a um idioma não listado, inclua o idioma na descrição completa ou abreviada da sua listagem. Posso associar minha conta de parceiro a mais de um perfil de fornecedor (organização)? Para disponibilizar publicamente uma listagem no AppExchange, é necessário associar o perfil do provedor à sua AppExchange Publishing Organization (APO) com sua conta de parceiro. Para gerenciar várias organizações do Salesforce em sua conta de

138 Publicando seu aplicativo Version 29.0 Posso alterar o nome da minha empresa? 130 parceiro, é possível vincular as organizações à APO, mas uma conta de parceiro só pode ser associada diretamente a um perfil de provedor. Para remover a associação entre sua conta de parceiro e uma organização, registre um caso do Suporte ao Cliente do Salesforce, no Portal de parceiros. Posso alterar o nome da minha empresa? Sim, é possível alterar o nome da sua empresa no seu perfil de fornecedor. Faça login no AppExchange com as credenciais da sua AppExchange Publishing Organization (APO) antes de atualizar o perfil do fornecedor, pois apenas o perfil do fornecedor associado à APO pode ser visto pelas pessoas que procuram suas listagens no AppExchange. Lembre-se de também alterar o nome da sua empresa no Portal de parceiros do salesforce.com. Posso criar meu aplicativo em um sandbox do Salesforce e enviá-lo para o AppExchange?. Embora você possa usar um sandbox para instalar e testar seu aplicativo, é necessário criar e enviá-lo usando uma organização da Developer Edition. Posso editar uma análise? Você pode editar as resenhas que você mesmo criou. Se você não for o autor da resenha, é possível apenas comentá-la. Posso manter a mesma listagem mas alterar o pacote fornecido? Sim, você pode alterar os pacotes gerenciados que são vinculados à sua listagem. Na página inicial do AppExchange, clique na guia Publicação (Publishing) e faça login usando as credenciais da sua AppExchange Publishing Organization (APO). Clique em Suas organizações (Your Organizations) e, em seguida, em Vincular nova organização (Link New Organization). Adicione as credenciais da organização da Developer Edition onde seu novo pacote gerenciado foi criado. Isso torna todas as suas listagens e os seus pacotes criados pela organização com Developer Edition visíveis na APO. Posso atualizar meu aplicativo com uma nova versão (correção)? Sim, mas é necessário enviar o novo aplicativo (pacote) para uma Análise de segurança do AppExchange e registrar o pacote em seu Aplicativo de gerenciamento de licença (LMA). Como os clientes encontram minha listagem? As pessoas procuram por aplicativos e serviços de consultoria no AppExchange das mais variadas maneiras: inserindo termos de pesquisa, navegando pelas categorias e pesquisando por meio de um provedor de pesquisa externo, como o Google. Saber como sua listagem está classificada em cada um destes cenários ajuda você a ganhar maior visibilidade junto a seus clientes potenciais. Na maior parte do tempo, as pessoas procuram por aplicativos e serviços de consultoria inserindo um termo (palavra-chave) na home page do AppExchange. O AppExchange retorna os resultados correspondentes e ordena-os com base na relevância das palavras-chave. Seguem aqui algumas dicas sobre como isso funciona: Se você incluir uma palavra-chave em qualquer lugar em sua listagem, ela aparecerá nos resultados de pesquisa referentes àquela palavra-chave. Geralmente, a relevância de uma palavra-chave é aumentada ao aparecer antes na listagem.

139 Publicando seu aplicativo Version 29.0 Como editar um pacote após a criação de uma listagem? 131 Geralmente, a relevância de uma palavra-chave é aumentada ao aparecer mais de uma vez na listagem. Observe que a listagem de uma palavra-chave várias vezes em uma linha não melhorará a posição da listagem. Quando duas ou mais palavras-chave são pesquisadas, somente as listagens com todas as palavras-chave na mesma ordem são retornadas. Além disso, as pesquisas por várias palavras-chave também corresponderão a palavras camel-case (por ex., pesquisar por "Great App" corresponderá a "GreatApp"). As listagens no topo de uma pesquisa são mais relevantes quando consideradas a partir da perspectiva da palavra-chave e da perspectiva de popularidade (por ex., instalado mais frequentemente, etc.). Quando as pessoas procuram por aplicativos e serviços de consultoria navegando pelas categorias, seja na guia Início (Home), Aplicativos (App) ou Consultoria (Consulting Services), as listagens em uma categoria são ordenadas com base na popularidade durante os últimos 30 dias. A popularidade é baseada em todas as ações que os clientes podem realizar: instalar de um aplicativo, realizar um test drive, assistir a uma demonstração ou outros recursos e clicar no link Saber Mais (Learn More). As atividades que mostram maior compromisso, como a de instalar um aplicativo ou a de realizar um test drive recebem um peso maior do que atividades que mostram menos compromisso, como a de clicar em capturas de tela. Observe que o número de análises e a classificação média em uma listagem não estão relacionados com a popularidade da listagem. As pessoas também ordenam os resultados por classificação, por data de liberação, por nome ou por nome de provedor. Os resultados de pesquisa posicionados por classificação são primeiramente ordenados por número de estrelas e depois por número de análises. Portanto, uma listagem com uma análise de cinco estrelas está posicionada acima de uma listagem com 20 análises de quatro estrelas. Como o AppExchange é um site público, os mecanismos de pesquisa como o Google e o Bing indexam suas páginas de listagem e as retornam em seus resultados de pesquisa. Para aprimorar seu posicionamento em provedores de pesquisa externos, garanta a referência cruzada entre a URL de sua listagem em seu site e as páginas de blog, Facebook e Twitter. Como editar um pacote após a criação de uma listagem? Quando você faz login na página Publicação (Publishing) do AppExchange usando as credenciais da sua APO, pode visualizar uma lista de todos os pacotes enviados ao AppExchange. Nessa lista, é possível: Selecionar Exibir apenas os pacotes não listado (Show only unlisted packages) para ver apenas as versões dos seus pacotes enviados que ainda não foram vinculadas a uma listagem. Clique em Iniciar avaliação (Start Review) para iniciar a Análise de segurança do AppExchange. Clique em Editar análise (Edit Review) para fazer alterações no envio da sua análise de segurança. Para pacotes não listados, clique em Listar (List It) para criar uma nova listagem e vinculá-la automaticamente a esta versão do pacote. Para qualquer pacote listado, clique em Editar listagem (Edit Listing) para editar a listagem atual. Para aplicativos em pacotes gerenciados, clique em Gerenciar licenças (Manage Licenses) para atualizar as configurações de licença desta versão empacotada, por exemplo: se seu aplicativo é gratuito ou para venda, quando deve expirar e quantas pessoas na organização do instalador podem acessar o aplicativo. Como obter um token de API para meu aplicativo? Para obter um token de API para seu aplicativo, de modo que ele possa usar APIs SOAP e REST, ele deverá ser aprovado na análise de segurança do AppExchange. Em seguida, você poderá registrar um caso no Portal de parceiros, na categoria Listagens do AppExchange e de serviços (AppExchange and Services Listings) > Ativar API SOAP/REST para organizações GE/PE (Enable SOAP/REST API for GE/PE Org). É necessário especificar o tipo de token (SOAP ou API) e se você está usando OAuth. Nota: Este recurso está disponível para parceiros elegíveis. Para obter mais informações sobre o Programa de parceiros, incluindo os requisitos de elegibilidade, visite-nos em

140 Publicando seu aplicativo Version 29.0 Como aumentar a popularidade da minha listagem? 132 Como aumentar a popularidade da minha listagem? A popularidade é baseada na atividade do cliente nas listagens. O AppExchange mede tudo aquilo que os usuários fazem em sua listagem: instalar, saber mais, test drive, demonstração, telas, whitepapers, folhas de dados e mais. O AppExchange realiza a ponderação utilizando o nível de importância como indicações de interesse, e exclui tentativas de uso abusivo do sistema. O AppExchange recalcula a popularidade diariamente e, em seguida, resume e avalia os resultados nos últimos 30 dias. Ao navegar por categoria, você vê as listagens classificadas pela sua popularidade relativa nos últimos 30 dias. O modo como os clientes avaliaram ou classificaram a listagem não afeta a popularidade. Se desejarem, os visitantes do AppExchange podem ordenar por classificação. Veja algumas dicas para melhorar a classificação: Inclua um test drive. As pessoas gostam da possibilidade de experimentar um aplicativo, e o número de test drives influencia a popularidade. Você também recebe o benefício de coletar leads. Adicione imagens. Uma das primeiras coisas que os visitantes fazem é clicar no botão Exibir telas (View Screenshots). Sem as telas, muitas pessoas não visualizarão a listagem. Adicione mais recursos, como folhas de dados e whitepapers. Divulgue abertamente o preço: Se sua listagem não tiver preço, as pessoas rapidamente perderão o interesse. Como oferecer uma avaliação gratuita do meu aplicativo? Quando você cria ou edita a listagem de um aplicativo, a guia Oferta (Offering) pergunta se você deseja oferecer uma avaliação gratuita do Salesforce e do seu aplicativo. Para oferecer uma avaliação gratuita, primeiro é necessário solicitar acesso registrando um caso no seu Portal de parceiro do salesforce.com. Após receber direito de acesso, você precisará preparar uma organização de exemplo do Salesforce que inclua seu aplicativo e dados de amostra. Essa organização criará um modelo de avaliação para os clientes que selecionarem a opção de avaliação. Para disponibilizar o modelo de avaliação publicamente, é necessário enviá-lo à análise de segurança e associá-lo à sua listagem. Clique aqui para saber mais sobre as avaliações gratuitas no AppExchange. Como ver listagens que foram removidas pelo Salesforce? Na página inicial Publicação (Publishing), clique em Exibir apenas listagens excluídas (Show only delisted listings) para ver as listagens privadas que foram excluídas pelo salesforce.com, geralmente devido a problemas com a análise de segurança periódica. Como atualizar meus clientes para uma nova versão do meu aplicativo? Crie uma nova versão do seu pacote gerenciado e carregue esta versão no estado lançado. Após o carregamento, será possível compartilhar o URL de instalação com seus clientes existentes para que eles façam o upgrade. Se você quiser apenas implantar uma correção de erro para que seus clientes façam o upgrade automaticamente, consulte Agendando upgrades automáticos na ajuda on-line do Salesforce. É possível usar o Aplicativo de gerenciamento de licenças (LMA) para saber quais clientes precisam fazer o upgrade. O que os ícones da minha listagem representam? Ao pesquisar listagens no AppExchange, os clientes em potencial podem rapidamente identificar recursos do seu aplicativo ou serviço com os seguintes ícones.

141 Publicando seu aplicativo Version 29.0 O que é uma APO? 133 Ícone Descrição Significa que este aplicativo está disponível para venda (não é gratuito). Significa que você oferece suporte ao aplicativo. Significa que este é um aplicativo nativo. Um aplicativo nativo é primeiramente criado na plataforma Force.com, com as possíveis exceções de callouts para os seguintes provedores: Google, Facebook ou Amazon. Aplicativos nativos oferecem muitos dos mesmos benefícios do Salesforce CRM, por isso são muito populares. Para que seu aplicativo seja designado como nativo, registre um caso no portal de parceiros do salesforce.com. Identifica seu status de parceria no salesforce.com como um parceiro de consultoria registrado. Identifica seu status de parceria no salesforce.com como um parceiro de consultoria selecionado. Identifica seu status de parceria no salesforce.com como um parceiro de consultoria premier. Identifica o número de indivíduos certificados pelo Salesforce na sua organização. Para atualizar suas informações de certificação, faça login no Portal de parceiros do salesforce.com. Identifica o número de projetos concluídos que sua empresa de consultoria registrou no salesforce.com. Na página Listagem (Listing), é exibido o percentual de clientes satisfeitos. O percentual de satisfação é calculado a partir de pesquisas enviadas pelo salesforce.com diretamente para seu cliente quando você conclui um projeto registrado. Para atualizar as informações do seu projeto, faça login no Portal de parceiros do salesforce.com. O que é uma APO? Todas as suas listagens de aplicativos e serviços devem ser publicadas em uma única organização do salesforce.com, chamada de AppExchange Publishing Organization (APO) mestre. Pense na APO como a organização onde você fará todo o gerenciamento do AppExchange. Se você tiver uma Organização de gerenciamento de licenças (LMO), recomendamos que use a mesma organização para sua LMO e sua APO. Essa consolidação permite monitorar em um só local os clientes que instalam seu aplicativo e os leads gerados pela sua listagem. A organização da Developer Edition onde você cria aplicativos não deve ser designada como sua APO. Só é possível alterar sua APO se você não tiver nenhuma listagem pública no AppExchange. Após publicar pelo menos uma listagem, você só poderá designar uma organização diferente como sua APO registrando um caso no Suporte ao Cliente do Salesforce, em seu Portal de parceiros.

142 Publicando seu aplicativo Version 29.0 Qual a diferença entre uma avaliação gratuita e um test drive? 134 Qual a diferença entre uma avaliação gratuita e um test drive? Quando você cria ou edita a listagem de um aplicativo, a guia Oferta (Offering) pergunta se você deseja oferecer uma avaliação gratuita do Salesforce e do seu aplicativo. A avaliação gratuita é uma organização do Salesforce de não produção que inclui seu aplicativo e dados de exemplo. Se um cliente escolher comprar o aplicativo em vez de deixar a avaliação expirar, a organização torna-se uma versão de produção. Recomendamos que você ofereça aos clientes a opção de remover dados de exemplo gravando um script de limpeza de dados e incluindo um botão no aplicativo. Também é possível optar por oferecer um test drive, que é uma única versão somente leitura do seu aplicativo, na qual todos os clientes que realizam o test drive fazem login. Assim como as avaliações gratuitas, os test drives são organizações da Developer Edition que incluem dados de amostra e as configurações desejadas. Onde posso compartilhar minhas ideias? Você pode compartilhar suas ideias sobre como melhorar os programas de parceiros do AppExchange ou do salesforce.com no Portal de parceiros do salesforce.com. Essas ideias só serão vistas pelo salesforce.com e por outros parceiros. Para compartilhar ideias de forma mais ampla, publique-as no IdeaExchange. Onde posso carregar depoimentos? Envie seus depoimentos na guia Conteúdo carregado (Uploaded Content) ao editar sua listagem. Onde posso escrever uma avaliação? Na página da listagem, clique no número de resenhas ou em Escrever a primeira (Write the first). Se já houver resenhas, você será redirecionado para a página de resenhas, onde pode clicar em Escrever uma resenha (Write a review). Cada usuário pode escrever apenas uma resenha por listagem. Importante: é possível escrever uma resenha para sua própria listagem. Analise os Termos de Uso do AppExchange para obter mais informações legais.

143 Capítulo 7 Gerenciando licenças e fornecendo suporte administrativo Tópicos: Visão geral do Aplicativo de gerenciamento de licença (LMA) Instalação do LMA Configuração do LMA Associação de um pacote ao seu LMO Utilização do LMA Integração com vendas e marketing Práticas recomendadas Perguntas frequentes sobre o Aplicativo de Gerenciamento de Licença Solução de problemas Se você instalou o Aplicativo de gerenciamento de licença (LMA), é possível efetuar login na organização de um cliente e fornecer suporte administrativo a ele. Estes tópicos são cobertos em detalhes nas seções a seguir. Observe que o AppExchange oferece um mecanismo padrão para apresentar um contrato de licença para o instalador e exigir a aceitação deste contrato antes de continuar a instalação. Se você deseja exigir um contrato, cole o texto de seu contrato de licença no campo de texto Contrato de licença (License Agreement) na página de lista de aplicativo no diretório do AppExchange. Se seu aplicativo exigir uma negociação de licença mais interativa, certifique-se de que sua página inicial da guia Sobre (About) detalha claramente o contrato de licença de usuário final obrigatório e declara o processo de sua preferência para iniciar a utilização. Em todos os casos, o salesforce.com inclui uma isenção de responsabilidade que limita suas responsabilidades sobre o aplicativo.

144 Gerenciando licenças e fornecendo suporte administrativo Version 29.0 Visão geral do Aplicativo de gerenciamento de licença (LMA) 136 Visão geral do Aplicativo de gerenciamento de licença (LMA) O Aplicativo de gerenciamento de licença (LMA) ajuda os desenvolvedores e editores a aplicar o licenciamento aos seus aplicativos carregados e registrados no AppExchange. Cada vez que um cliente ou um cliente potencial instala seu pacote gerenciado, um registro de lead e um registro de licença são criados no LMA. Ao especificar os padrões para os registros de licença, é possível aplicar o licenciamento para controlar quantos usuários, na organização do cliente, podem acessar seu pacote e por quanto tempo. Usando o LMA, é possível acompanhar quantos clientes instalaram um pacote e qual versão do pacote eles estão usando atualmente. Também é possível usá-lo para gerenciar os leads associados às licenças. Nota: O LMA está disponível somente em inglês. O LMA é desenvolvido pelo salesforce.com e está disponível para parceiros qualificados. Para obter mais informações sobre o Programa de parceiros, incluindo os requisitos de elegibilidade, visite-nos em Entendendo o gerenciamento de licenças O processo de gerenciamento de licenças começa quando alguém instala um aplicativo no AppExchange. O Salesforce realiza automaticamente as seguintes ações: Cria uma licença na organização do instalador. Uma cópia daquela licença é armazenada na guia Licenças (Licenses) do LMA instalado em sua LMO. Atualiza a versão do pacote com as informações de licença. Cria um lead com o nome, a empresa e o endereço de do instalador. A origem do lead para os instaladores será sempre Instalação do pacote (Package Installation). Use o LMA para gerenciar licenças para pacotes gerenciados. Ao modificar os registros de licença, será possível controlar quantos usuários na organização do cliente podem acessar seu pacote e por quanto tempo. Diagrama de relacionamentos de entidades O LMA tem três objetos personalizados que se relacional direta e indiretamente aos objetos do Salesforce padrão. Veja o diagrama de relacionamentos de entidades abaixo para entender como os objetos personalizados se relacionam com outros objetos.

145 Gerenciando licenças e fornecendo suporte administrativo Version 29.0 Terminologia do LMA 137 O objeto do pacote é o objeto raiz para todas as informações no LMA. Cada pacote pode ter várias versões de pacote. A versão de pacote tem um relacionamento de detalhe mestre com o objeto do pacote. Cada versão de pacote pode ter várias licenças. A licença tem um relacionamento de pesquisa com o objeto da versão do pacote. Cada licença tem um relacionamento direto com um único lead. A licença tem um relacionamento de pesquisa com o objeto de lead. O lead pode ser convertido manualmente em uma conta e contato. Quando isso acontece, o registro de licença é automaticamente associado à conta convertida e aos registros de contato. A licença tem um relacionamento de pesquisa com os objetos da conta e do contato. Terminologia do LMA Aplicativos Uma coleção de componentes do Salesforce como guias, relatórios, painéis, classes e acionadores do Apex, etc., que tratam de uma necessidade específica do negócio. É possível armazenar um aplicativo em um pacote para carregá-lo no AppExchange. Desenvolvedor O desenvolvedor de um aplicativo é o usuário do Salesforce que criou o aplicativo e seus componentes. O desenvolvedor de um aplicativo pode ser diferente do editor ou eles podem ser a mesma pessoa. Instalador O instalador de um aplicativo é a pessoa que o instalou a partir do Force.com AppExchange em sua organização do Salesforce. Gerenciador de Lead O gerenciador do lead é o usuário responsável pelos acompanhamentos dos leads que são automaticamente criados quando um pacote gerenciado é instalado. Por padrão, os novos leads são atribuídos ao gerenciador de licenças. O editor (que possui a LMO) usa o gerenciador de lead para acompanhar os clientes que desinstalarem os pacotes gerenciados.

146 Gerenciando licenças e fornecendo suporte administrativo Version 29.0 Instalação do LMA 138 Licença Uma instalação de um pacote por uma organização do Salesforce. Cada entrada de licença no LMA representa uma instalação de um pacote gerenciado. Gerenciador de licença. O usuário gerenciador de licença é automaticamente criado quando uma organização instala o LMA. Um perfil de Gerenciador de licenças do pacote também é criado. Este usuário é o proprietário padrão para todos os pacotes gerenciados que usam o LMA e todas as licenças criadas para estes pacotes. Organização de gerenciamento de licenças (LMO) A organização de gerenciamento de licenças da organização do Salesforce usada para rastrear todos os usuários do Salesforce que instalam o seu pacote gerenciado. Uma organização de gerenciamento de licenças deve ter o LMA instalado. Ele recebe automaticamente uma notificação toda vez que seu pacote é instalado ou desinstalado, de modo que você possa facilmente notificar os usuários sobre atualizações. Pacote gerenciado Pacote Os pacotes gerenciados são pacotes que podem ser atualizados na organização do instalador. Eles diferem dos pacotes não gerenciados no sentido de que alguns componentes são bloqueados, considerando o processo de atualização. O contêiner para um aplicativo e seus componentes. No LMA, o termo pacote se refere somente a pacotes gerenciados. Um pacote pode conter zero, um ou muitos aplicativos. Gerenciador de licenças do pacote O perfil de Gerenciador de licenças do pacote oferece ao único usuário, o gerenciador de licença, total acesso ao LMA. é possível editar este perfil nem atribuí-lo a qualquer outro usuário. Versão do pacote Editor Uma versão específica do pacote gerenciado. Uma nova versão é criada quando o desenvolvedor carrega o pacote atualizado de uma organização do desenvolvedor. O editor de um aplicativo é o usuário do Salesforce ou a organização que publicou o aplicativo no AppExchange. Depois de registrar seus aplicativos, serão necessários editores para fazer o registro por meio de suas informações de contato. Instalação do LMA Antes de instalar o LMA, você precisa decidir qual organização é sua Organização de gerenciamento de licenças (LMO). Como o LMA é parte integrante de vendas, faturamento e marketing de um pacote gerenciado, colocar o LMA na organização errada dificulta o gerenciamento de licenças como parte do processo de vendas e marketing. O LMA cria registros de lead e de licença quando os clientes instalam um pacote de avaliação. Quando os clientes compram o pacote, estas licenças são convertidas para licenças pagas (pelo site ou baseadas em um número de usuários). O LMA rastreia quem tem um pacote de avaliação instalado, quem está usando-o, quantas licenças foram comprada, quando ela será passível de renovação, etc. Estas partes são todas importantes para o processo contínuo de vendas, faturamento e marketing em sua organização de produção. Se você ainda não solicitou um CRM para a organização ISV por meio do Portal do parceiro, faça isso agora. O CRM para ISVs está disponível para parceiros qualificados. Para obter mais informações sobre o Programa de parceiros, incluindo os requisitos de elegibilidade, visite-nos em

147 Gerenciando licenças e fornecendo suporte administrativo Version 29.0 Configuração do LMA 139 Nota: Se você tem uma organização da Developer Edition que está sendo usada para criar um pacote gerenciado, não a use como sua LMO. Cuidado: Depois que você começar a gerenciar uma licença fora de uma LMO específica, não será possível mover estas licenças, leads nem outras informações para outra organização. Depois de instalar o LMA, não será possível desinstalá-lo. Entre em contato com o Suporte do Salesforce se desejar desinstalar o LMA. Para instalar o LMA: 1. Registre um caso no portal do parceiro na categoria Listagens do AppExchange e de serviços (AppExchange and Services Listings) > Solicitação de LMA (Request the LMA). 2. Depois que o caso for resolvido, você receberá um com uma URL de instalação. Faça login na organização que você planeja usar como sua LMO e clique no link do LMA que está no Você pode ler o anúncio do aplicativo e, em seguida, clicar em Adquirir agora (Get It Now). 4. Na janela pop-up, selecione Em minha produção (In my production) Salesforce. 5. Leia e aceite os termos e condições e, em seguida, clique em Instalar (Install). 6. Confirme sua senha e clique em Enviar (Submit). 7. Na página Detalhes de instalação do pacote (Package Installation Details), clique em Continuar (Continue). 8. Clique em Avançar (Next), Avançar (Next) e Instalar (Install). Clique no canto superior direito e confirme que tem um LMA instalado. Figura 15: Aplicativo de gerenciamento de licenças Configuração do LMA Permissões necessárias ao usuário Para configurar o LMA: Para editar licenças e pacotes: Perfil do Administrador do sistema "Leitura" E "Edição" Para exibir licenças, pacotes e versões de pacotes: "Leitura" Depois de instalar o LMA, configure-o da seguinte maneira:

CA Clarity Agile. Guia de Implementação. Release 13.3.00

CA Clarity Agile. Guia de Implementação. Release 13.3.00 CA Clarity Agile Guia de Implementação Release 13.3.00 A presente documentação, que inclui os sistemas de ajuda incorporados e os materiais distribuídos eletronicamente (doravante denominada Documentação),

Leia mais

CA Agile Vision. Guia de Implementação. Winter 2012. Second Edition

CA Agile Vision. Guia de Implementação. Winter 2012. Second Edition CA Agile Vision Guia de Implementação Winter 2012 Second Edition A presente documentação, que inclui os sistemas de ajuda incorporados e os materiais distribuídos eletronicamente (doravante denominada

Leia mais

Configurar e manter ferramentas de colaboração

Configurar e manter ferramentas de colaboração Configurar e manter ferramentas de colaboração Guia do usuário, Winter 16 @salesforcedocs A versão em Inglês deste documento tem precedência sobre a versão traduzida. Copyright 2000 2015 salesforce.com,

Leia mais

Implantar aprimoramentos de sandboxes

Implantar aprimoramentos de sandboxes Implantar aprimoramentos de sandboxes Guia do usuário, Winter 16 @salesforcedocs A versão em Inglês deste documento tem precedência sobre a versão traduzida. Copyright 2000 2015 salesforce.com, inc. Todos

Leia mais

Guia de Instalação. NSi AutoStore TM 6.0

Guia de Instalação. NSi AutoStore TM 6.0 Guia de Instalação NSi AutoStore TM 6.0 SUMÁRIO PREREQUISITES... 3 INSTALLATION: UPGRADING FROM AUTOSTORE 5.0... 4 INSTALLATION: NEW INSTALLATION... 8 LICENSING... 17 GETTING STARTED... 34 2012 Notable

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Manual de Utilização Google Grupos Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução... 3 Página

Leia mais

Symantec Backup Exec 12.5 for Windows Servers. Guia de Instalação Rápida

Symantec Backup Exec 12.5 for Windows Servers. Guia de Instalação Rápida Symantec Backup Exec 12.5 for Windows Servers Guia de Instalação Rápida 13897290 Instalação do Backup Exec Este documento contém os seguintes tópicos: Requisitos do sistema Antes de instalar Sobre a conta

Leia mais

Manual de Utilização

Manual de Utilização Se ainda tiver dúvidas entre em contato com a equipe de atendimento: Por telefone: 0800 642 3090 Por e-mail atendimento@oisolucoespraempresas.com.br Introdução... 3 1. O que é o programa Oi Backup Empresarial?...

Leia mais

CA Agile Vision. Notas da Versão do Agile Vision. Winter 2011. Terceira edição

CA Agile Vision. Notas da Versão do Agile Vision. Winter 2011. Terceira edição CA Agile Vision Notas da Versão do Agile Vision Winter 2011 Terceira edição A presente documentação, que inclui os sistemas de ajuda incorporados e os materiais distribuídos eletronicamente (doravante

Leia mais

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados.

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik Sense Cloud Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik, QlikTech,

Leia mais

Geração e instalação de Certificado APNS

Geração e instalação de Certificado APNS Geração e instalação de Certificado APNS Manual Rápido para geração e instalação de um Certificado APNS Apple Versão: x.x Manual rápido MobiDM para Certificado APNS Página 1 Índice 1. CERTIFICADO APNS

Leia mais

Suporte aos clientes. Guia do usuário, Winter 16. @salesforcedocs

Suporte aos clientes. Guia do usuário, Winter 16. @salesforcedocs Guia do usuário, Winter 16 @salesforcedocs A versão em Inglês deste documento tem precedência sobre a versão traduzida. Copyright 2000 2015 salesforce.com, inc. Todos os direitos reservados. Salesforce

Leia mais

Apresentação. Estamos à disposição para quaisquer dúvidas e sugestões! Atenciosamente, Equipe do Portal UNESC

Apresentação. Estamos à disposição para quaisquer dúvidas e sugestões! Atenciosamente, Equipe do Portal UNESC Sumário Apresentação... 1 1. Orientações Iniciais... 2 2. Recursos... 4 2.1 Rótulos... 4 2.2 Página de Texto Simples... 8 2.3 Página de Texto Formatado... 12 2.4 Site... 16 2.5 Arquivo... 21 2.6 Pasta

Leia mais

Configurar e manter ferramentas de suporte ao cliente

Configurar e manter ferramentas de suporte ao cliente Configurar e manter ferramentas de suporte ao cliente Guia do usuário, Winter 16 @salesforcedocs A versão em Inglês deste documento tem precedência sobre a versão traduzida. Copyright 2000 2015 salesforce.com,

Leia mais

Norton Internet Security Guia do Usuário

Norton Internet Security Guia do Usuário Guia do Usuário Norton Internet Security Guia do Usuário O software descrito neste guia é fornecido sob um contrato de licença e pode ser usado somente conforme os termos do contrato. Documentação versão

Leia mais

Guia de introdução. Para os administradores do programa DreamSpark

Guia de introdução. Para os administradores do programa DreamSpark Guia de introdução Para os administradores do programa DreamSpark Este documento destaca as funções básicas necessárias para configurar e gerenciar seu ELMS na WebStore do DreamSpark. Versão 2.4 05.06.12

Leia mais

Guia de Inicialização para o Windows

Guia de Inicialização para o Windows Intralinks VIA Versão 2.0 Guia de Inicialização para o Windows Suporte 24/7/365 da Intralinks EUA: +1 212 543 7800 Reino Unido: +44 (0) 20 7623 8500 Consulte a página de logon da Intralinks para obter

Leia mais

Configurar e gerenciar comunidades do Salesforce

Configurar e gerenciar comunidades do Salesforce Configurar e gerenciar comunidades do Salesforce Guia do usuário, Spring 16 @salesforcedocs Última atualização: 17/12/2015 A versão em Inglês deste documento tem precedência sobre a versão traduzida. Copyright

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Como ativar seu código DreamSpark

Como ativar seu código DreamSpark Como ativar seu código DreamSpark 1 Entre no site www.dreamspark.com e clique no botão Sign In, no canto direito superior da tela. 2 Clique em Create Account. 3- Você será redirecionado para a página de

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Compartilhamento de Arquivos no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução...

Leia mais

FAQ Perguntas Frequentes

FAQ Perguntas Frequentes FAQ Perguntas Frequentes 1. COMO ACESSO A PLATAFORMA DE ENSINO?... 2 2. NÃO CONSIGO REALIZAR O MEU CADASTRO NO AMBIENTE VIRTUAL DO MMA.... 4 3. FIZ MEU CADASTRO NO SITE E NÃO RECEBI O E-MAIL DE CONFIRMAÇÃO

Leia mais

Guia de conceitos básicos API Version 2010-01-01

Guia de conceitos básicos API Version 2010-01-01 : Guia de conceitos básicos Copyright 2011 Amazon Web Services LLC ou suas afiliadas. Todos os direitos reservados. Conceitos básicos do Amazon RDS... 1 Cadastre-se no Amazon RDS... 2 Inicie uma instância

Leia mais

Symantec Backup Exec 2010. Guia de Instalação Rápida

Symantec Backup Exec 2010. Guia de Instalação Rápida Symantec Backup Exec 2010 Guia de Instalação Rápida 20047221 Instalação do Backup Exec Este documento contém os seguintes tópicos: Requisitos do sistema Antes da instalação Sobre a conta de serviço do

Leia mais

Spam Manager. Guia do Administrador da Quarentena

Spam Manager. Guia do Administrador da Quarentena Spam Manager Guia do Administrador da Quarentena Guia do Administrador da Quarentena do Spam Manager Versão da documentação: 1.0 Avisos legais Avisos legais Copyright Symantec Corporation 2013. Todos os

Leia mais

Manual de Instalação: Agente do OCS Inventory NG

Manual de Instalação: Agente do OCS Inventory NG Manual de Instalação: Agente do OCS Inventory NG Abril 2013 Sumário 1. Agente... 1 2. Onde instalar... 1 3. Etapas da Instalação do Agente... 1 a. Etapa de Instalação do Agente... 1 b. Etapa de Inserção

Leia mais

Guia de atualização passo a passo do Windows 8 CONFIDENCIAL 1/53

Guia de atualização passo a passo do Windows 8 CONFIDENCIAL 1/53 Guia de passo a passo do Windows 8 CONFIDENCIAL 1/53 Índice 1. 1. Processo de configuração do Windows 8 2. Requisitos do sistema 3. Preparações 2. 3. usando 4. usando o DVD de 5. usando o DVD de 6. 1.

Leia mais

CA Agile Vision e CA Product Vision. Guia de cenários

CA Agile Vision e CA Product Vision. Guia de cenários CA Agile Vision e CA Product Vision Guia de cenários Summer 2012 A presente documentação, que inclui os sistemas de ajuda incorporados e os materiais distribuídos eletronicamente (doravante denominada

Leia mais

Universidade de São Paulo Centro de Informática de Ribeirão Preto TUTORIAL HOTMAIL

Universidade de São Paulo Centro de Informática de Ribeirão Preto TUTORIAL HOTMAIL Universidade de São Paulo Centro de Informática de Ribeirão Preto TUTORIAL HOTMAIL Tutorial Hotmail Sobre o MSN Hotmail Acessando o Hotmail Como criar uma conta Efetuando o login Verificar mensagens Redigir

Leia mais

Guia de Inicialização para o Macintosh

Guia de Inicialização para o Macintosh Intralinks VIA Versão 2.0 Guia de Inicialização para o Macintosh Suporte 24/7/365 da Intralinks EUA: +1 212 543 7800 Reino Unido: +44 (0) 20 7623 8500 Consulte a página de logon da Intralinks para obter

Leia mais

Guia de Utilização do Microsoft Dynamics CRM (Gestão de Relacionamento com Clientes)

Guia de Utilização do Microsoft Dynamics CRM (Gestão de Relacionamento com Clientes) Guia de Utilização do Microsoft Dynamics CRM (Gestão de Relacionamento com Clientes) 1. Sobre o Microsoft Dynamics CRM - O Microsoft Dynamics CRM permite criar e manter facilmente uma visão clara dos clientes,

Leia mais

1. Usar o scanner IRISCard

1. Usar o scanner IRISCard O Guia Rápido do Usuário ajuda você a instalar e começar a usar scanners IRISCard Anywhere 5 e IRISCard Corporate 5. Os softwares fornecidos com esses scanners são: - Cardiris Pro 5 e Cardiris Corporate

Leia mais

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados.

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik Sense Desktop Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik, QlikTech,

Leia mais

1. StickerCenter... 3. 2. Menu Broadcast Stickers... 4. 3. Menu MyStickers... 9

1. StickerCenter... 3. 2. Menu Broadcast Stickers... 4. 3. Menu MyStickers... 9 1. StickerCenter... 3 1.1. O que é?... 3 1.2. O que são Stickers?... 3 1.3. Como acessar o StickerCenter?... 3 1.4. Como atualizar o StickerCenter?... 3 2. Menu Broadcast Stickers... 4 2.1. O que é?...

Leia mais

Guia do Usuário do Centro de Serviços de Licenciamento por Volume LICENCIAMENTO POR VOLUME DA MICROSOFT

Guia do Usuário do Centro de Serviços de Licenciamento por Volume LICENCIAMENTO POR VOLUME DA MICROSOFT Guia do Usuário do Centro de Serviços de Licenciamento por Volume LICENCIAMENTO POR VOLUME DA MICROSOFT NOVEMBRO DE 2014 GUIA DO USUÁRIO DO C ENTRO DE SERVIÇOS DE LICENCIAMENTO POR VO LUME DA MICROSOFT

Leia mais

Instalando o Lazarus e outros sistemas de suporte. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Instalando o Lazarus e outros sistemas de suporte. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Instalando o Lazarus e outros sistemas de suporte Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 1 Levante e ande - Instalando o Lazarus e outros sistemas de suporte. Ano: 02/2011 Nesta Edição

Leia mais

Atualizando do Windows XP para o Windows 7

Atualizando do Windows XP para o Windows 7 Atualizando do Windows XP para o Windows 7 Atualizar o seu PC do Windows XP para o Windows 7 requer uma instalação personalizada, que não preserva seus programas, arquivos ou configurações. Às vezes, ela

Leia mais

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,

Leia mais

Ajuda do Usuário do Websense Secure Messaging

Ajuda do Usuário do Websense Secure Messaging Ajuda do Usuário do Websense Secure Messaging Bem-vindo ao Websense Secure Messaging, uma ferramenta que fornece um portal seguro para transmissão e exibição de dados confidenciais e pessoais em email.

Leia mais

Capture Pro Software. Introdução. A-61640_pt-br

Capture Pro Software. Introdução. A-61640_pt-br Capture Pro Software Introdução A-61640_pt-br Introdução ao Kodak Capture Pro Software e Capture Pro Limited Edition Instalando o software: Kodak Capture Pro Software e Network Edition... 1 Instalando

Leia mais

Licenciamento por volume da Adobe

Licenciamento por volume da Adobe Licenciamento por volume da Adobe Admin Console para clientes do VIP Guia do usuário do Value Incentive Plan (VIP) Versão 2.5 November 21, 2013 Sumário O que é o Admin Console para clientes do VIP?...

Leia mais

Seu manual do usuário F-SECURE ONLINE BACKUP http://pt.yourpdfguides.com/dref/2859647

Seu manual do usuário F-SECURE ONLINE BACKUP http://pt.yourpdfguides.com/dref/2859647 Você pode ler as recomendações contidas no guia do usuário, no guia de técnico ou no guia de instalação para F-SECURE ONLINE BACKUP. Você vai encontrar as respostas a todas suas perguntas sobre a no manual

Leia mais

Qlik Sense Desktop. Qlik Sense 2.1.1 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados.

Qlik Sense Desktop. Qlik Sense 2.1.1 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik Sense Desktop Qlik Sense 2.1.1 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik, QlikTech,

Leia mais

INTRODUÇÃO. A SKA preparou este documento técnico com o objetivo de auxiliar seus clientes a realizar a instalação do SolidWorks 2009.

INTRODUÇÃO. A SKA preparou este documento técnico com o objetivo de auxiliar seus clientes a realizar a instalação do SolidWorks 2009. Guia de Instalação do SolidWorks 2009 INTRODUÇÃO A SKA preparou este documento técnico com o objetivo de auxiliar seus clientes a realizar a instalação do SolidWorks 2009. O SolidWorks pode ser instalado

Leia mais

Manual de configuração do sistema

Manual de configuração do sistema Manual de configuração do sistema (v.1.5.x Beta) Rua México, 119 Sala 2004 Centro Rio de Janeiro, RJ www.doctors-solution.com.br www.simdoctor.com.br contato@simdoctor.com.br Sumário 1. Fazendo seu primeiro

Leia mais

Manual Do Usuário ClinicaBR

Manual Do Usuário ClinicaBR Manual Do Usuário ClinicaBR SUMÁRIO 1 Introdução... 01 2 ClinicaBR... 01 3 Como se cadastrar... 01 4 Versão experimental... 02 5 Requisitos mínimos p/ utilização... 03 6 Perfis de acesso... 03 6.1 Usuário

Leia mais

Novell Vibe 3.4. Novell. 1º de julho de 2013. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos

Novell Vibe 3.4. Novell. 1º de julho de 2013. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos Novell Vibe 3.4 1º de julho de 2013 Novell Inicialização Rápida Quando você começa a usar o Novell Vibe, a primeira coisa a se fazer é configurar sua área de trabalho pessoal e criar uma área de trabalho

Leia mais

XXIV SEMANA MATEMÁTICA

XXIV SEMANA MATEMÁTICA XXIV SEMANA ACADÊMICA DA MATEMÁTICA Minicurso: Produção de Páginas Web para Professores de Matemática Projeto de Extensão: Uma Articulação entre a Matemática e a Informática como Instrumento para a Cidadania

Leia mais

WEB OF KNOWLEDGE NOTAS DA VERSÃO v5.11

WEB OF KNOWLEDGE NOTAS DA VERSÃO v5.11 WEB OF KNOWLEDGE NOTAS DA VERSÃO v5.11 Os recursos a seguir são planejados para a Web of Knowledge em 28 de julho de 2013. Este documento fornece informações sobre cada um dos recursos incluídos nessa

Leia mais

CA Agile Vision e CA Product Vision. Guia de Administração

CA Agile Vision e CA Product Vision. Guia de Administração CA Agile Vision e CA Product Vision Guia de Administração Winter 2012 A presente documentação, que inclui os sistemas de ajuda incorporados e os materiais distribuídos eletronicamente (doravante denominada

Leia mais

PROGRAMANDO ANDROID NA IDE ECLIPSE GABRIEL NUNES, JEAN CARVALHO TURMA TI7

PROGRAMANDO ANDROID NA IDE ECLIPSE GABRIEL NUNES, JEAN CARVALHO TURMA TI7 Serviço Nacional de Aprendizagem Comercial do Rio Grande do Sul Informação e Comunicação: Habilitação Técnica de Nível Médio Técnico em Informática Programação Android na IDE Eclipse PROGRAMANDO ANDROID

Leia mais

Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br

Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br Índice Como acessar o Moodle Editando seu PERFIL Editando o curso / disciplina no Moodle Incluindo Recursos

Leia mais

INTRODUÇÃO. A SKA preparou este documento técnico com o objetivo de auxiliar seus clientes a realizar a instalação do SolidWorks 2010.

INTRODUÇÃO. A SKA preparou este documento técnico com o objetivo de auxiliar seus clientes a realizar a instalação do SolidWorks 2010. Guia de Instalação do SolidWorks 2010 INTRODUÇÃO A SKA preparou este documento técnico com o objetivo de auxiliar seus clientes a realizar a instalação do SolidWorks 2010. O SolidWorks pode ser instalado

Leia mais

Solução de gerenciamento de sistemas Dell KACE K1000 Versão 5.5. Guia do administrador do Service desk. Julho de 2013

Solução de gerenciamento de sistemas Dell KACE K1000 Versão 5.5. Guia do administrador do Service desk. Julho de 2013 Solução de gerenciamento de sistemas Dell KACE K1000 Versão 5.5 Guia do administrador do Service desk Julho de 2013 2004-2013 Dell, Inc. Todos os direitos reservados. Qualquer forma de reprodução deste

Leia mais

WF Processos. Manual de Instruções

WF Processos. Manual de Instruções WF Processos Manual de Instruções O WF Processos é um sistema simples e fácil de ser utilizado, contudo para ajudar os novos usuários a se familiarizarem com o sistema, criamos este manual. Recomendamos

Leia mais

IMPORT EXPRESS ONLINE GUIA DO USUÁRIO

IMPORT EXPRESS ONLINE GUIA DO USUÁRIO Envíos Envio en línea OnlineAdministración Gestão de de de Envios envíos Soluções Soluciones de de de integração integración IMPORT EXPRESS ONLINE GUIA DO USUÁRIO importexpressonline.dhl.com Prepare e

Leia mais

Guia de Introdução ao Windows SharePoint Services

Guia de Introdução ao Windows SharePoint Services Guia de Introdução ao Windows SharePoint Services - Windows SharePoint Services... Page 1 of 11 Windows SharePoint Services Guia de Introdução ao Windows SharePoint Services Ocultar tudo O Microsoft Windows

Leia mais

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO 1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO

Leia mais

Manual do usuário sobre o WebEx Meeting Center com as Salas de Reuniões de Colaboração (Nuvem CMR)

Manual do usuário sobre o WebEx Meeting Center com as Salas de Reuniões de Colaboração (Nuvem CMR) Manual do usuário sobre o WebEx Meeting Center com as Salas de Reuniões de Colaboração (Nuvem CMR) Primeira publicação: 2014 Última modificação: Americas Headquarters Cisco Systems, Inc. 170 West Tasman

Leia mais

Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Windows

Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Windows Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Windows Abril de 2015 Inicialização rápida O Novell Filr permite que você acesse facilmente todos os seus arquivos e pastas do desktop,

Leia mais

MDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon

MDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon MDaemon GroupWare plugin para o Microsoft Outlook Trabalhe em Equipe Usando o Outlook e o MDaemon Versão 1 Manual do Usuário MDaemon GroupWare Plugin for Microsoft Outlook Conteúdo 2003 Alt-N Technologies.

Leia mais

MANUAL DE MEMBRO COMUNIDADE DO AMIGO

MANUAL DE MEMBRO COMUNIDADE DO AMIGO SUMÁRIO Efetuando o Login na comunidade... 3 Esqueceu sua senha?... 3 Página Principal... 4 Detalhando o item Configurações... 5 Alterar Foto... 5 Alterar Senha... 5 Dados Pessoais... 6 Configurações de

Leia mais

Conceitos básicos do Painel

Conceitos básicos do Painel Básico Wordpress Conceitos básicos do Painel Logando no Painel de Controle Para acessar o painel de controle do Wordpress do seu servidor siga o exemplo abaixo: http://www.seusite.com.br/wp-admin Entrando

Leia mais

Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Mac

Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Mac Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Mac Abril de 2015 Inicialização rápida O Novell Filr permite que você acesse facilmente todos os seus arquivos e pastas do desktop, browser

Leia mais

Kaseya 2. Dados de exibição rápida. Version R8. Português

Kaseya 2. Dados de exibição rápida. Version R8. Português Kaseya 2 Software Deployment and Update Dados de exibição rápida Version R8 Português Outubro 23, 2014 Agreement The purchase and use of all Software and Services is subject to the Agreement as defined

Leia mais

Aula 12 Lista de verificação de segurança para o Windows 7

Aula 12 Lista de verificação de segurança para o Windows 7 Aula 12 Lista de verificação de segurança para o Windows 7 Use esta lista de verificação para ter certeza de que você está aproveitando todas as formas oferecidas pelo Windows para ajudar a manter o seu

Leia mais

TUTORIAL GOOGLE DRIVE

TUTORIAL GOOGLE DRIVE TUTORIAL GOOGLE DRIVE Armazenar e compartilhar arquivos ou pastas no google drive. Para compartilhar e armazenar arquivos no google drive é necessário ter uma conta google ou conta no gmail. Após criar

Leia mais

Guia do Usuário do Servidor do Avigilon Control Center

Guia do Usuário do Servidor do Avigilon Control Center Guia do Usuário do Servidor do Avigilon Control Center Versão 5.2 PDF-SERVER5-B-Rev1_PT 2006 2014 Avigilon Corporation. Todos os direitos reservados. A menos que expressamente concedida por escrito, nenhuma

Leia mais

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova. 3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao

Leia mais

Versão 1.0 Janeiro de 2011. Xerox Phaser 3635MFP Plataforma de interface extensível

Versão 1.0 Janeiro de 2011. Xerox Phaser 3635MFP Plataforma de interface extensível Versão 1.0 Janeiro de 2011 Xerox Phaser 3635MFP 2011 Xerox Corporation. XEROX e XEROX e Design são marcas da Xerox Corporation nos Estados Unidos e/ou em outros países. São feitas alterações periodicamente

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

Limites do Salesforce

Limites do Salesforce Guia do usuário, Winter 16 @salesforcedocs A versão em Inglês deste documento tem precedência sobre a versão traduzida. Copyright 2000 2015 salesforce.com, inc. Todos os direitos reservados. Salesforce

Leia mais

Guia do Usuário do Centro de Serviços de Licenciamento por Volume

Guia do Usuário do Centro de Serviços de Licenciamento por Volume Guia do Usuário do Centro de Serviços de Licenciamento por Volume LICENCIAMENTO POR VOLUME DA MICROSOFT FEVEREIRO DE 2015 Novidades O Resumo da Licença foi aprimorado com recursos de pesquisa expandidos

Leia mais

XXIV SEMANA MATEMÁTICA

XXIV SEMANA MATEMÁTICA XXIV SEMANA ACADÊMICA DA MATEMÁTICA Minicurso: Criação e Desenvolvimento de Cursos Online via Moodle Projeto de Extensão: Uma Articulação entre a Matemática e a Informática como Instrumento para a Cidadania

Leia mais

Software Anti-Spyware Enterprise Module versão 8.0

Software Anti-Spyware Enterprise Module versão 8.0 Software Anti-Spyware Enterprise Module versão 8.0 Guia O que é o Anti-Spyware Enterprise Module? O McAfee Anti-Spyware Enterprise Module complementa o VirusScan Enterprise 8.0i para ampliar sua capacidade

Leia mais

Guia do Laboratório de Teste: Demonstre colaboração de Intranet com SharePoint Server 2013

Guia do Laboratório de Teste: Demonstre colaboração de Intranet com SharePoint Server 2013 Guia do Laboratório de Teste: Demonstre colaboração de Intranet com SharePoint Server 2013 Este documento é fornecido no estado em que se encontra. As informações e exibições expressas neste documento,

Leia mais

Guia do Administrador do IBM SmartCloud for Social Business. IBMSmartCloudEngageedoIBM SmartCloud Connections

Guia do Administrador do IBM SmartCloud for Social Business. IBMSmartCloudEngageedoIBM SmartCloud Connections Guia do Administrador do IBM SmartCloud for Social Business IBMSmartCloudEngageedoIBM SmartCloud Connections Guia do Administrador do IBM SmartCloud for Social Business IBMSmartCloudEngageedoIBM SmartCloud

Leia mais

AGÊNCIA VIRTUAL SAP GUIA DE INTRODUÇÃO

AGÊNCIA VIRTUAL SAP GUIA DE INTRODUÇÃO GUIA DE INTRODUÇÃO CONTEÚDO Introduction 3 Como Começar 5 Como Criar Campanhas E Material Promocional 8 Como Personalizar E Executar Uma Campanha Pré- Empacotada 10 Como Criar Suas Próprias Campanhas 12

Leia mais

Solução de gerenciamento de sistemas Dell KACE K1000 Versão 5.5. Guia de gerenciamento de ativos. Julho de 2013

Solução de gerenciamento de sistemas Dell KACE K1000 Versão 5.5. Guia de gerenciamento de ativos. Julho de 2013 Solução de gerenciamento de sistemas Dell KACE K1000 Versão 5.5 Guia de gerenciamento de ativos Julho de 2013 2004-2013 Dell, Inc. Todos os direitos reservados. Qualquer forma de reprodução deste material

Leia mais

System Handle ou Referência de Conta de Suporte: Identificação de Contrato de Serviço:

System Handle ou Referência de Conta de Suporte: Identificação de Contrato de Serviço: HP 690 East Middlefield Road Mt. View, CA 94043, EUA Resposta de Clientes N.º (650) 960-5040 System Handle ou Referência de Conta de Suporte: Identificação de Contrato de Serviço: IMPORTANTE: Todos os

Leia mais

"Manual de Acesso ao Moodle - Discente" 2014

Manual de Acesso ao Moodle - Discente 2014 "Manual de Acesso ao Moodle - Discente" 2014 Para acessar a plataforma, acesse: http://www.fem.com.br/moodle. A página inicial da plataforma é a que segue abaixo: Para fazer o login, clique no link Acesso

Leia mais

My Cisco Perguntas mais frequentes

My Cisco Perguntas mais frequentes 1. O que é o My Cisco? My Cisco oferece uma visão portátil e personalizável das suas informações favoritas no Cisco.com. 2. Como é possível acessar o My Cisco? Há duas formas de acessar o My Cisco: A lista

Leia mais

Instalação do IBM SPSS Modeler Server Adapter

Instalação do IBM SPSS Modeler Server Adapter Instalação do IBM SPSS Modeler Server Adapter Índice Instalação do IBM SPSS Modeler Server Adapter............... 1 Sobre a Instalação do IBM SPSS Modeler Server Adapter................ 1 Requisitos de

Leia mais

Manual do Usuário Instituição

Manual do Usuário Instituição 1 Manual do Usuário Instituição Área Restrita Site de Certificação Controle: D.04.36.00 Data da Elaboração: 13/08/2014 Data da Revisão: - Elaborado por: TIVIT / Certificação ANBIMA Aprovado por: Gerência

Leia mais

Guia do Usuário do Servidor do Avigilon Control Center. Versão 5.4.2

Guia do Usuário do Servidor do Avigilon Control Center. Versão 5.4.2 Guia do Usuário do Servidor do Avigilon Control Center Versão 5.4.2 2006-2014 Avigilon Corporation. Todos os direitos reservados. A menos que seja expressamente concedido por escrito, nenhuma licença é

Leia mais

Guia de Atualização do Windows XP para Windows 7

Guia de Atualização do Windows XP para Windows 7 Guia de Atualização do Windows XP para Windows 7 Conteúdo Etapa 1: Saiba se o computador está pronto para o Windows 7... 3 Baixar e instalar o Windows 7 Upgrade Advisor... 3 Abra e execute o Windows 7

Leia mais

Criação e Configuração do APP do Facebook

Criação e Configuração do APP do Facebook Criação e Configuração do APP do Facebook Acesse o perfil de sua conta no Facebook e logo em seguida acesse o link abaixo: https://developers.facebook.com Você estará na pagina de Developers do Facebook

Leia mais

Guia passo a passo de introdução ao Microsoft Windows Server Update Services 3.0

Guia passo a passo de introdução ao Microsoft Windows Server Update Services 3.0 Guia passo a passo de introdução ao Microsoft Windows Server Update Services 3.0 Microsoft Corporation Autor: Susan Norwood Editor: Craig Liebendorfer Resumo Este guia fornece instruções para começar a

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

TeamViewer 9 Manual Management Console

TeamViewer 9 Manual Management Console TeamViewer 9 Manual Management Console Rev 9.2-07/2014 TeamViewer GmbH Jahnstraße 30 D-73037 Göppingen www.teamviewer.com Sumário 1 Sobre o TeamViewer Management Console... 4 1.1 Sobre o Management Console...

Leia mais

SAP VIRTUAL AGENCY GUIA DE INTRODUÇÃO: SELF SERVICE MARKETING

SAP VIRTUAL AGENCY GUIA DE INTRODUÇÃO: SELF SERVICE MARKETING GUIA DE INTRODUÇÃO: SELF SERVICE MARKETING SELF SERVICE MARKETING ÍNDICE Introdução 3 Iniciando 4 Criação de campanhas com recursos 8 Personalização e execução de campanhas pré-configuradas 10 Crie suas

Leia mais

ALFRESCO 4.0. Primeiros Passos

ALFRESCO 4.0. Primeiros Passos 2014 ALFRESCO 4.0 Primeiros Passos Sumário Convite para colaborar de um Site... 0 Personalizando seu painel de instrumentos (dashboard)... 1 Alterando o seu perfil (profile)... 2 Criando um site (collaboration

Leia mais

Guia do Produto Revisão A. Software Cliente do McAfee Secure Web Mail 7.0.0

Guia do Produto Revisão A. Software Cliente do McAfee Secure Web Mail 7.0.0 Guia do Produto Revisão A Software Cliente do McAfee Secure Web Mail 7.0.0 COPYRIGHT Copyright 2011 McAfee, Inc. Todos os direitos reservados. Nenhuma parte desta publicação pode ser reproduzida, transmitida,

Leia mais

SAP VIRTUAL AGENCY PERGUNTAS FREQUENTES

SAP VIRTUAL AGENCY PERGUNTAS FREQUENTES A SAP Virtual Agency é projetada para ajudar os parceiros SAP a obter uma vantagem competitiva no mercado, aproveitando novas tecnologias inovadoras e boas práticas comprovadas para criação de procura

Leia mais

CONHECENDO O AMBIENTE VIRTUAL DE APRENDIZAGEM Moodle - Learning Management System Versão 1.3

CONHECENDO O AMBIENTE VIRTUAL DE APRENDIZAGEM Moodle - Learning Management System Versão 1.3 CONHECENDO O AMBIENTE VIRTUAL DE APRENDIZAGEM Moodle - Learning Management System Versão 1.3 Este tutorial não tem como finalidade esgotar todas as funcionalidades do Ambiente, ele aborda de forma prática

Leia mais

Guia de Conexão à Web

Guia de Conexão à Web Guia de Conexão à Web Versão 0 BRA-POR Modelos aplicáveis Este Guia do Usuário aplica-se aos modelos a seguir: ADS-2500W e ADS-2600W Definições das observações O ícone a seguir é utilizado ao longo deste

Leia mais

Ambiente Virtual de Aprendizagem C.S.G. M anual do Professor

Ambiente Virtual de Aprendizagem C.S.G. M anual do Professor Ambiente Virtual de Aprendizagem C.S.G. M anual do Professor Sumário Pré-requisitos para o Moodle... Entrar no Ambiente... Usuário ou senha esquecidos?... Meus cursos... Calendário... Atividades recentes...

Leia mais

Guia do Kit de Pré-instalação OEM do Microsoft Office 2010

Guia do Kit de Pré-instalação OEM do Microsoft Office 2010 Guia do Kit de Pré-instalação OEM do Microsoft Office 2010 Microsoft Corporation Publicado: Março de 2010 Autor: Office Resource Kit Feedback (FeedORK@microsoft.com) Resumo Este documento dá suporte à

Leia mais