Saber quais recursos evitar no Lightning Experience
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Listar pelo menos dois componentes cujo uso deve ser evitado no Lightning Experience.
- Identificar os três recursos do Lightning Experience nos quais não se pode utilizar as páginas ou os componentes do Visualforce.
Saber quais recursos evitar no Lightning Experience
Há um número limitado de componentes do Visualforce que devem ser evitados em páginas usadas no Lightning Experience. Além disso, alguns recursos do Visualforce se comportam de maneira diferente quando usados no Lightning Experience. Finalmente, existem alguns lugares no Lightning Experience nos quais não é possível utilizar as páginas ou aplicativos do Visualforce ou onde talvez estes não funcionem conforme esperado.
O Lightning Experience ainda está evoluindo e crescendo (alerta tendo em conta o acordo Safe Harbor), mas esperamos reduzir essa lista ao longo do tempo.
O cabeçalho e o menu de navegação do Lightning Experience não podem ser suprimidos
As páginas do Visualforce aparecem sempre com a interface de usuário padrão do Lightning Experience quando são executadas no Lightning Experience. Não há nenhuma maneira de suprimir ou alterar o cabeçalho ou a barra lateral do Lightning Experience. Particularmente, os atributos showHeader e sidebar de <apex:page> não têm efeito nas páginas do Visualforce quando exibidas no Lightning Experience.
Tal comportamento é intencional. Os aplicativos que são exibidos no Lightning Experience são aplicativos do Lightning Experience. Se precisa fornecer uma interface totalmente personalizada para seu aplicativo, você precisa executá-lo no Salesforce Classic.
O cabeçalho e a barra lateral do Salesforce Classic são sempre suprimidos
O cabeçalho e a barra lateral padrão do Salesforce Classic são sempre suprimidos nas páginas quando são exibidos no Lightning Experience. Particularmente, os atributos showHeader e sidebar de <apex:page> não têm efeito nas páginas do Visualforce quando exibidas no Lightning Experience.
As páginas se comportam como se os atributos showHeader e sidebar de <apex:page> fossem definidos como false.
Listas relacionadas na lista de bloqueio e <apex:relatedList>
Há uma série de listas relacionadas que não são suportadas no Lightning Experience. Essas listas relacionadas são uma “lista de bloqueio”, o que significa que é terminantemente proibido utilizá-las. Como se poderia esperar, essas mesmas listas relacionadas estão na lista de bloqueio do Visualforce com a marca <apex:relatedList>.
Consulte “Acesso a dados e modos de exibição: O que é diferente ou não está disponível no Lightning Experience” na ajuda online, para obter detalhes sobre quais listas relacionadas não têm suporte no Lightning Experience.
Evitar <apex:iframe>
Embora seja possível usar <apex:iframe> em uma página do Visualforce no Lightning Experience, recomendamos evitá-lo.
As páginas do Visualforce são encapsuladas em seu próprio iframe quando exibidas no Lightning Experience. Conforme discutido detalhadamente em Explorando o contêiner do aplicativo Visualforce, há diversas implicações significativas em relação à forma como a página se comporta. Adicionar um nível extra à pilha iframe aumenta a complexidade do ambiente.
Você pode gerenciar essa complexidade se entender os iframes e como eles afetam o DOM e o JavaScript. No entanto, é difícil depurar iframes aninhados se você não tiver experiência em trabalhar com eles. Por esse motivo, sugerimos evitar essa marca nas páginas usadas no Lightning Experience.
Definitivamente, não defina window.location de forma direta
Pode parecer que estamos repetindo como um disco riscado, mas esta informação é importante. Se o código JavaScript da sua página estiver definindo a variável window.location diretamente, ele não funcionará quando a página for exibida no Lightning Experience. Você deve modificar este código para que a página funcione no Lightning Experience.
Para obter detalhes, consulte a unidade Como gerenciar a navegação.
O sforce.one não é apenas para o Salesforce móvel
O objeto utilitário JavaScript sforce.one está disponível para as páginas do Visualforce tanto no aplicativo Salesforce quanto no Lightning Experience. Se estiver controlando a presença do objeto sforce.one como uma forma de saber se sua página está sendo executada em um contexto móvel ou desktop, será necessário atualizar seu código.
Use um dos métodos documentados para distinguir entre os ambientes do Salesforce Classic, do aplicativo Salesforce e do Lightning Experience. As técnicas suportadas estão disponíveis no Visualforce, Apex e JavaScript.
Para obter todos os detalhes, consulte a unidade Como compartilhar páginas do Visualforce entre o Classic e o Lightning Experience.
Alterações com substituições de ação
Talvez a alteração mais significativa, em termos de coisas que podem ser difíceis de contornar, seja o fato de que as substituições do Visualforce das ações padrão são ligeiramente diferentes no Lightning Experience em comparação ao Salesforce Classic. Qualquer substituição de ações da lista de objetos não estará acessível no Lightning Experience.
Especificamente, há seis ações padrão que podem ser substituídas pela maioria dos objetos padrão e por todos os objetos personalizados no Salesforce Classic:
- Guia de objetos
- Lista de objetos
- Visualização de registro
- Edição de registro
- Criação de registro
- Exclusão de registro
No Lightning Experience, as primeiras duas ações foram combinadas em uma página, a página inicial do objeto. A página inicial do objeto é semelhante à lista de objetos, junto com alguns elementos da guia de objetos, como os itens recentes. Outros elementos, como relatórios ou ferramentas, foram movidos para outras partes da interface de usuário.
Independentemente das configurações da interface de usuário em sua organização, a guia de objetos e a lista de objetos estão disponíveis para serem substituídas em Configuração. Substituir a ação da guia de objetos substitui a página inicial de objetos no Lightning Experience, como esperado.
No entanto, uma vez no Lightning Experience, a ação da lista de objetos não é acessível na interface de usuário, portanto não há como acioná-la. Se sua organização substituiu a ação da lista de objetos por qualquer objeto, essa funcionalidade não estará disponível quando os usuários estiverem usando o Lightning Experience. Se há recursos essenciais nessa substituição, será necessário encontrar outra forma de torná-los disponíveis.
Esta tabela lista as ações padrão que você pode substituir para um objeto na Configuração e a ação que é substituída nas três experiências de usuário diferentes.
Substituição na Configuração | Salesforce Classic | Lightning Experience | Aplicativo Salesforce |
---|---|---|---|
Guia | guia de objetos | página inicial do objeto | pesquisa |
Lista | lista de objetos | n/d | página inicial do objeto |
Exibir | visualização de registro | página inicial do registro | página inicial do registro |
Editar | edição de registro | edição de registro | edição de registro |
Novo | criação de registro | criação de registro | criação de registro |
Delete | exclusão de registro | exclusão de registro | exclusão de registro |
Recursos