Pular para o conteúdo principal

Cookies em Dashboards Pentaho/CDE

Salvar o valor de um campo em um formulário CDE pode ser feito a partir salvando e carregando o valor a partir de um cookie:

A seguinte implementação foi usada no CDE em um Javascript Script Function:

Implementação


function createCookie(name,value,days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return "";
}

function eraseCookie(name) {
    createCookie(name,"",-1);


Fonte com alterações: 
https://stackoverflow.com/questions/14573223/set-cookie-and-get-cookie-with-javascript

Usando

Para gravar no cookie um valor de um parâmetro:


createCookie('nomecookie',Dashboards.getParameterValue(this.parameter),2);

onde os parâmetros são:

1 - Nome do cookie;
2 - Valor do parâmetro;
3 - Dias para expiração do cookie;

Uma sugestão de inserção no código é no evento Post Change.   do componente que deseja-se gravar o valor. 


Para ler o cookie e gravar em um parâmetro:

Dashboards.setParameter('parametro',readCookie('nomecookie'));






Comentários

Postagens mais visitadas deste blog

Conectando o Excel ao Pentaho usando XMLA

Muitas pessoas reclamam do Saiku como Cliente XMLA para acesso aos cubos do Pentaho. Uma opção é habilitar o pentaho para que outros clientes possam conectar e navegar nos dados. Neste tutorial mostrarei como configurar o Excel para conexão aos cubos do Pentaho. Usarei como Cubo de exemplo o SteelWheels presente por padrão no Pentaho. É necessário fazer duas configurações, no Pentaho e no Excel. Primeiro no Pentaho: Deve-se ir na tela "Manage Data Sources" No exemplo clicamos em SteelWheels Analytics, em seguida na Engrenagem e no Botão Edit: Na tela de edição: Muda para Manually enter data sources parameter values; Clica-se  em EnableXMLA; Clica-se no botão Edição e altera a propriedade para true;  Após a alteração a tela deve estar assim: Confirma em Save. Segundo no Excel: Devemos instalar um pacote que permite ao Excel conectar a fonts XMLA: Usaremos o pacote: XMLA connect https://sourceforge.net/projects/xmlaconne...

Inserindo um Gráfico em um Tooltip de outro Gráfico no Pentaho

Eu trabalho com Pentaho mas sou admirador de outras Ferramentas de BI. Compreendo que as empresas e instituições adotam esta ou aquela ferramenta por motivos de facilidade, cultura, equipe, financeiro ou outros.  Gosto de examinar em especial o Tableau. Recentemente vi um tutorial onde era demonstrado como inserir um gráfico dentro de um Tooltip de um outro gráfico. Achei a idéia muito interessante e me propus a tentar fazer o mesmo usando o Pentaho. Bem vamos lá... Para construção desse efeito usaremos: O Pentaho Server Community; Ctools  CDE - Editor de dashboards; Ctools CCC  - Biblioteca  de gráficos; Ctools CGG - Exportador dos gráficos que permite o aceso ao gráfico em formato PNG ou SVG; Quando pronto o efeito fica dessa forma: Para Fonte de dados utilizei o conjunto de dados SteelWheels que vem com o Pentaho. Defini duas consultas MDX, uma para o primeiro gráfico e outra para o Gráfico do Tooltip: SalesForLine (Gráfico 1): WITH...

Pentaho, CDE, bootstrap, Uso de 100% da largura da tela

Um dúvida comum ao usar dashboards em Pentaho, CDE e o estilo Bootstrap é como deixar deixar o dashboards com uso de 100% da tela. Esse problema é devido ao estilo "container" esta definido em uma largura máxima: .container { width: 1170px; } Buscando resposta como resolver encontrei duas soluções: Solução 1 Sobrescrever o estilo CSS adicionando um Resouce CSS, Code Snippet com o seguinte estilo: .container {     width: auto; } Solução 2 Sobrescrever o estilo CSS adicionando um Resouce JavaScript, Code Snippet com o seguinte código: $('body > .container').removeClass('container'); A primeira solução modifica o CSS a segunda remove o estilo do componente body. Fonte: https://stackoverflow.com/questions/29345094/creating-pentaho-cde-dashboard-with-100-width http://forums.pentaho.com/showthread.php?185040-Changing-Bootstrap-container-element-in-a-CDE-dashboard