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:
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 caso, nosso 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.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:
A 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.
Antes de validarmos o resultado, quero compartilhar algumas dicas importantes:
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:
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.