Com isso, todo usuário receberá por padrão o papel Authenticated para poder se logar, depois será associado outros grupos conforme as configurações que vamos fazer nos outros arquivos.
6 – Agora precisamos definir o acesso de determinados grupos para alguns recursos do BI Server e começar a definir quem vai ser o grupo administrador. Isso é feito no arquivo applicationContext-spring-security.xml.
É necessário acrescentar ou substituir os grupos conforme for necessário. Nesse caso, o mais importante é adicionar o grupo de administrador, pois se o usuário não estiver associado a nenhum outro grupo por padrão, ele sempre estará no grupo Autenticated.
Na seção de Administrador, nós colocamos o grupo PENTAHO-ADMIN do LDAP, e precisa ser colocado em caixa alta, caso contrário ele não vai reconhecer. Nesse caso nem precisamos informar o grupo comercial, pois os outros usuário assumirão o grupo Authenticated. Caso fosse necessário, era só colocar uma vírgula e colocar o grupo/papel COMERCIAL depois dos Authenticated.
7 – Para finalizar, precisamos acertar as ACL’s de controle do BI Server, para dizer exatamente quem é o grupo de administradores e o seus privilégios. Para isso, precisamos editar o arquivo pentaho.xml.
Com isso a nossa configuração do LDAP está completa. Basta reiniciarmos o biserver-ce e testar no browser. Se tudo der certo, no nosso exemplo o vader entrará com poderes administrativos, o os outros usuários fulano e fulana com acesso comum.
O vader vai poder clicar em propriedades das pastas e setar quem pode ou não acessar determinadas pastas, conforme os usuários e grupos que serão resgatados do LDAP.
Antes de mais nada, gostaria de agradecer ao Fábio de Salles que me ajudou muito nessa tarefa. O Fábio é um grande conhecedor da Suite Pentaho.
Uma situação que enfrentei com o Pentaho Data Integrations(PDI), foi trabalhar com arquivos texto. Pegar arquivos texto e carrega-los em um Banco de Dados.
Só que não foi uma situação comum com arquivos texto. Na maioria das vezes esses arquivos já estão bem formatados, divididos por um separador, seja vírgula, ponto e vírgula ou qualquer outro tipo de separador.
Esse caso em específico, tinha duas particularidades. A primeira é que o arquivo estava todo desformatado, ou seja, o separador eram espaços e existiam colunas que estavam vazias e maioria das informações pegavam mais de uma linha e em geral sem seguir um padrão. A segunda, é que teoricamente a segunda coluna do arquivo (digo teoricamente porque não tinha nenhum padrão de divisão), tinha um tipo. Logo cada um daqueles tipos precisavam ir para tabelas diferentes dentro do banco de dados. Um detalhe, é que esse tipo estava grudado com outra informação dentro do arquivo texto.
Preciso que essa fonte de dados que está em arquivo texto, seja transformado em um banco de dados, onde cada tipo será uma tabela. O layout de cada campo, está especificado em um planilha Excel.
Vou colocar o passo a passo de como fiz isso com o Pentaho Data Integration, gravando em um SGDB PostgreSQL. Os dados de exemplo que vou colocar aqui são totalmente fictícios e não condizem com a realidade do cliente. Nesse caso em específico, existiam 15 tipos diferentes, ou seja, surgiram 15 tabelas. Nesse exemplo, vou mostrar com 2 tipos, pois o procedimento se repete.
O arquivo texto que possuí os dados, será referenciado por arquivo_dados.txt. O Formato do arquivo é o seguinte:
Reparem que não dá para distinguir as informações. Fazendo um Vim numerado no Linux eu consegui pelo menos saber quem eram as linhas, ficou mais ou menos assim:
Dá para ver a linha 1 e a linha 2. Lembrando que isso é um pequeno exemplo, o arquivo tinha muito mais linhas.
O primeiro passo era saber onde estava o TIPO que seria usado como filtro para jogar os registros certos para as tabelas certas no banco de dados. Para isso, consultei a planilha.xls, que continha a formatação de cada campo.
Vou colocar um exemplo fictício da planilha, e não vou colocar exemplo de todos os campos, pois ficaria muito grande, já que um dos tipos em questão tem vários campos:
Agora já sabemos onde estão os tipos. Temos 2 tipos, o tipo 01 e o tipo 98. E na planilha podemos ver que temos a posição INICIAL de cada campo, o TAMANHO e o TIPO.
Em uma nova transformação do PDI, vamos usar um Step chamado Text file input que fica dentro de Input. A imagem dele é a seguinte:
Na aba File desse Step, precisamos especificar qual é o arquivo de origem. Procure ele através do botão Browse e com Add eu adiciono ao Selected files. Podem ser especificados vários arquivos.
Na aba Content, o mais importantes são os campos Filetype, onde precisamos deixa-lo com o tipo Fixed, pois o arquivo não é do tipo CSV, logo o Separator não vai ser necessário agora. O outro campo é o Format, que nesse caso pode ser DOS ou Unix e o Encondig, que precisa ter uma atenção especial para não ter problemas na hora de gravar no banco de dados.
A próxima aba, a Fields é onde vamos começar a definir a divisão dos campos dentro do arquivos. Nessa aba, vamos clicar no botão Get Fields, onde o PDI mostrará parte do arquivo, para indicarmos a quebra das colunas. A tela a seguir exemplifica isso:
Como o arquivo está todo bagunçado, a única coluna que realmente conseguimos dividir é a primeira, e ainda sim ela não é um único campo, nos próximos passos, ela será dividida em mais campos. As setas vermelhas foram colocadas manualmente, clicando na posição que deseja fazer a separação.
Nessa caso, podemos dividir o arquivo em 3 colunas, a primeira que está fácil de ser identificada, a segunda que será o nosso campo de filtro que é o TIPO, e o terceiro é o restante do arquivo.