Ativar conjuntos de permissões baseados em sessão sem código

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:
  • Mencionar as maneiras pelas quais você pode ativar um conjunto de permissões baseado em sessão.
  • Explicar por que você pode querer usar ferramentas declarativas para ativar um conjunto de permissões baseado em sessão.
  • Ativar uma permissão baseada em sessão sem código.

Opções de ativação para conjuntos de permissões baseados em sessão

Agora que você criou um conjunto de permissões baseado em sessão, vamos torná-lo utilizável. Para torná-lo utilizável, você precisa ter uma maneira de ativar uma sessão para o conjunto de permissões. Se você gosta de botar a mão na massa com as APIs, pode fazer isso, não vamos impedir. O objeto PermissionSet na Soap API contém um campo chamado HasActivationRequired, um operador booleano que indica se o conjunto de permissões requer uma sessão ativa associada (true) ou não (false). Insira um registro no objeto SessionPermSetActivation com a combinação de ID e conjunto de permissões da sessão para realizar a ativação.

Não sabe programar? Tudo bem. O Salesforce tem uma ótima ferramenta declarativa que você pode usar desde já: o fluxo. Usaremos um fluxo para ajudar a tornar seu processo de ativação de sessão mais suave, mesmo que você não programe.

Introdução

Antes de mergulhar de cabeça, é melhor estar familiarizado com o uso do fluxo. Se você não estiver familiarizado com fluxos, não tem problema. Criamos um simples aqui. Na verdade, esse fluxo funciona com apenas uma etapa! Porém, você provavelmente já sabe que o Trailhead já está preparado para ajudar se você quiser aprender mais – e nós o incentivamos a fazer isso. Confira a trilha Criar fluxos com o Flow Builder. Mas é preciso ter as permissões para acessar fluxos para continuar! Vamos verificar as permissões agora mesmo.
  1. Acesse seu perfil. Em Configuração, acesse Usuários e selecione seu perfil. Você provavelmente está usando o perfil de Administrador do sistema.
  2. Procure Gerenciar o Flow e verifique se essa opção está selecionada.
Agora, de volta ao nosso fluxo para conjuntos de permissões baseados em sessão.
  1. Em Configuração, insira Fluxos na caixa Busca rápida, selecione Fluxos e clique em Novo fluxo.
  2. Selecione Fluxo de tela e clique em Criar.
  3. Na guia Elementos da caixa de ferramentas, arraste Ação para a tela.
  4. Em Pesquisar todas as ações..., comece a digitar Ativar e selecione Ativar conjunto de permissões baseado em sessão.
  5. Em Rótulo, use Ativar acesso a contratos de emprego. O nome da API é Ativar_acesso_a_contratos_de_emprego por padrão.
  6. Em Definir valores de entrada, localizado em Nome do conjunto de permissões, digite Ativar_acesso_a_contratos_de_emprego. (Esse valor é o nome da API de seu conjunto de permissões!)
  7. Clique em Concluído.
  8. Arraste o nó do conector na parte inferior de Início até sua Ação.
  9. Salve seu fluxo como Fluxo de tela, com o nome Ativar acesso a contratos.
Nota

Nota

Você pode receber uma mensagem dizendo que sua ação não está conectada a nada. Pode ignorá-la por enquanto.

O fluxo ficará assim.

A tela do Flow Builder com uma ação para ativar um conjunto de permissões baseado em sessão.

As etapas de criação de fluxo eram fáceis, não é? Tão fáceis, na verdade, que, se você for um usuário experiente de fluxos, provavelmente está pensando: “Não podemos fazer um fluxo maior?”. Podemos. No momento, porém, estamos concentrados em usar conjuntos de permissões baseados em sessão, então vamos continuar. Execute o fluxo do Flow Builder clicando em Executar. A execução do fluxo ativa o conjunto de permissões. Mas depois de clicar em Executar, você verá uma tela de erro. Opa! Agora, verifique seu email.

O que foi? “Verifique seu email”?

Sim. O motivo é que você também receberá uma mensagem explicando o erro que você viu no Salesforce. Parece que ainda não há ninguém atribuído ao conjunto de permissões Acesso a contratos de emprego. Se você tiver problemas ao trabalhar com seu fluxo, verifique se recebeu emails sobre erros. Lembre-se de que estamos trabalhando com três áreas diferentes: conjuntos de permissões, atribuições de usuário e fluxos. Os detalhes nos emails podem ajudá-lo a solucionar problemas rapidamente. Por exemplo, você receberá um erro se fizer referência a um nome de conjunto de permissões inexistente em seu fluxo, se seu fluxo tiver problemas lógicos ou se você não tiver atribuído a um usuário o conjunto de permissões referenciado no fluxo. Nesse caso, você receberá um email com detalhes sobre a falta de atribuição de usuário.

Ocorreu um erro: O conjunto de permissões deve ser pré-atribuído ao usuário antes de ser ativado

Lembra que dissemos que você poderia ignorar o aviso que recebeu antes porque ainda estamos criando esse fluxo? Você também pode ignorar esse erro. Atribuímos a conjunto de permissões a um usuário, mas esse usuário não existe ainda em nossa organização. Criaremos o usuário a seguir. Em geral, provavelmente você atribui usuários ao seu conjunto de permissões primeiro. No entanto, digamos que você se esqueceu de atribuir um novo funcionário ao conjunto de permissões. O que aconteceria se essa pessoa tentasse executar o fluxo? É claro que você já sabe a resposta.

É bom conhecer alguns erros que você ou os usuários podem encontrar e têm soluções fáceis. Agora, ative seu fluxo: volte ao Flow Builder e clique em Ativar. Ativar seu fluxo sem um usuário atribuído ao conjunto de permissões não fará mal. No entanto, nosso fluxo não pode realizar o que precisamos até que alguém seja atribuído ao conjunto de permissões.

Crie um usuário que possa editar e criar contratos. Essa pessoa é gerente de contratação e precisa de acesso a contratos de emprego para terceirizados.
  1. Atribua o usuário a um perfil, garantindo que a pessoa tenha acesso somente leitura (sem edição) ao objeto Contratos. A pessoa deve executar fluxos. Por exemplo, você pode atribuir ao usuário um clone do perfil somente leitura e ativar a permissão Executar fluxos.
  2. Atribua o conjunto de permissões Acesso a contratos de emprego ao usuário.
Agora, faça login como esse usuário e acesse o objeto Contratos. Você pode ver os contratos. No entanto, não há botão Novo, então você não pode criar um no momento.
Modo de exibição de lista de contratos sem o botão “Novo”.

Mantenha-se conectado como o usuário, vá para Fluxos em Configuração e execute o fluxo Ativar acesso a contratos. Se você for até o objeto Contratos, observe que agora há um botão Novo disponível para criar um contrato.

Modo de exibição de lista de contratos com o botão “Novo”.
Dica

Dica

Se o botão Novo não aparecer, tente atualizar sua tela ou alternar para o Salesforce Classic e depois voltar para Lightning Experience.

No restante da sessão atual, o usuário tem acesso para criar, ler, editar e excluir o objeto Contratos e acesso para editar o nome do contrato, a data de início do contrato e os termos do contrato (meses). Mas provavelmente não queremos que nossos usuários executem fluxos a partir da Configuração sempre que forem criar ou alterar um contrato. Na próxima unidade, tornaremos o processo mais fácil para todos.