OBISEE – Uso de variáveis para implementação de Idiomas

Por Carina Mendes
Postado em Julho 2016

Uma implementação comum nos ambientes de OBISEE são as variáveis de sessão que são implementadas no Repositório de Metadados (RPD). Entre as diversas variáveis, a que sempre utilizo é a chamada ‘PORTALPATH’, ela se encarrega em determinar qual será a primeira página que será exibida assim que o usuário efetua o Log-in na aplicação. O mais interessante é que esta variável pode ser condicionada de diversas formas através de uma instrução SQL simples dentro de um bloco de inicialização podemos condicioná-la a um grupo de usuários específicos ou a outras variáveis, como veremos neste artigo.

Nas configurações que aplicaremos em nosso caso, a demanda trata-se do seguinte cenário: temos em uma única instância do OBISEE um conjunto de Dashboards idênticos, entretanto separados por três idiomas. Onde o usuário será direcionado para a página inicial correspondente ao idioma que selecionou antes de realizar o Log-in. Após alguns testes consegui obter esse cenário utilizando a variável ‘PORTALPATH’ juntamente com a ‘WEBLANGUAGE’ que determina a linguagem escolhida pelo usuário. Observe como os componentes se comunicam dentro do OBISEE:

Exemplificando isso dentro do OBISEE temos os seguintes painéis:

Criando a variável PORTALPATH

As variáveis são criadas através do client Administrator Tool, através do menu superior “Gerenciar” clicando na opção “Variáveis”:

Conforme mencionado anteriormente, iremos criar uma nova variável de sessão, por isso é importante no menu esquerdo onde se encontra a árvore de objetos que armazena as variáveis, selecionar as opções correspondentes “Sessão” em seguida “Variáveis” e, só então, no espaço em branco, clicar com o botão direito e escolher a opção “Nova Variável de Sessão”:

O nome da variável (PORTALPATH) é de extrema importância, precisa ser inserido de forma correta para que funcione corretamente, ou seja, o nome das variáveis não estão relacionados apenas aos conceitos, mas são também identificadores únicos dentro da plataforma do OBISEE.

Outras observações interessantes:

- Permitir que qualquer usuário defina o valor: Esta opção permite que a variável seja preenchida pelo usuário e não somente pelo administrador do sistema.

- Inicializador Padrão: Definimos uma página padrão para ser exibida, caso as configurações que faremos a seguir falhem, em nosso casonosso painel padrão será a Página Home-Português.

- Descrição: É sempre aconselhável preencher os campos de descrição dentro do repositório, pois facilita o entendimento da regra de negócio aplicada caso haja necessidade de manutenção futura.

Criando o Bloco de Inicialização:

O bloco de inicialização executa instruções SQL na mesma sessão de ambiente que o RPD se conecta ao banco de dados do OBISEE, o Data Warehouse (DW). Apesar do comportamento das variáveis de sessão estarem relacionadas à sessão de Log-in no OBISEE, toda variável não de sessão (consideradas não estáticas) precisa de um Bloco de Inicialização.

Ainda na janela de criação da variável, clique em “Novo” conforme a imagem:

O nome do bloco de inicialização pode ser a sua escolha, geralmente uso um nome associado ao destino, no caso a variável ‘PORTALPATH’. Em seguida iremos clicar em “Editar Origem de Dados”:

Neste passo, configuramos qual é o tipo de instrução SQL, tipo de banco de dados e versão do banco que utilizaremos. Em seguida, clicando em “Procurar” iremos selecionar um Pool de Conexões’ para este bloco de inicialização. Este Pool determina em qual conexão o bloco irá executar os comandos no DW:

Nesta janela temos a relação de todos os bancos lógicos e pools de conexões mapeados neste repositório de metadados, basta selecionar uma conexão que corresponde aos dashboards ou áreas de assuntos em questão:

É ainda no bloco de inicialização que condicionaremos a variável ‘PORTALPATH’ para que se comporte de acordo com a linguagem selecionada pelo usuário antes de entrar na sessão. Utilizaremos a seguinte querie para aplicar as condições determinadas pela variável “WEBLANGUAGE” e seus respectivos dashboards correspondentes para cada idioma:

querie é inserida no campo em branco de “String de Inicialização”:

Após esses passos o “Bloco de Inicialização” e a variável “PortalPath” estão prontos, basta clicar em “OK” salvar seu RPD:

*Obs.: Não se preocupe com a advertência ao checar as consistências do RPD, pois é somente um aviso de que seu repositório está executando uma querie em seu DW.

Dicas para a implementação:

Antes de validarmos o resultado, quero compartilhar algumas dicas importantes:

  • A variável ‘PortalPath’ não se aplica às sessões de usuário com perfil de administradores de sistema, como por exemplo, o usuário Weblogic. Por isso criei um usuário com perfil de BIAuthor: “Carina.Mendes”, mas poderia ser outro perfil, como BIConsumer ou qualquer outro que não seja administrador.
  • Para saber se a sua string de inicialização está correta, você pode utilizar uma opção do OBISEE localizada no menu de Administração da aplicação chamada “Executar instrução SQL”:

Observe que foi necessário alterar a cláusula “From” da querie para a área de assunto “DW”, pois trata-se de uma querie lógica e não física. Mas o resultado sempre trará o caminho do painel correspondente ao idioma selecionado pelo usuário:

  • Para saber qual é o caminho correto do painel que deseja chamar, basta localizar o dashboard no Catálogo do OBISEE, em seguida clicar em suas “Propriedades”:

Validando os Resultados no OBISEE:

Nas imagens a seguir, ilustro a entrada na sessão selecionando cada um dos três idiomas. Observem que tanto o painel como o idioma dos menus da aplicação são alternados de acordo com a linguagem selecionada:

Primeiro testei o resultado para o Log-in na linguagem em Inglês:

Agora o teste para o Log-in selecionando o idioma Português:

E por fim o resultado do teste para o Log-in em Espanhol:

Carina Mendes - Business Intelligence Consultant.

Formação Acadêmica em Gestão Financeira e Estatística, Atuação técnica no desenvolvimento de projetos em Oracle BIEE 10g/11g e Oracle Endeca Information Discovery 3.1. Linguagens e ferramentas: Oracle SQL, ODI, AdminTool, Shell, Html e CSS.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.