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...

Ativando a RequireJS no Pentaho

RequireJS é carregador de código javascript modular. Ele otimiza a carga do código aumentando a velocidade. Para ativá-lo em um dashboard, Pentaho/CDE ativa RequireJS no Editor do CDE em Settings. Diversas bibliotecas serão ativadas como: Utils; jquery; moment; chosen; Obs: A variável de ambiente para para referência aos dashboard mudará de : Dashboards Para  dashboard Observe que é o case sensitive. Referências: https://help.pentaho.com/Documentation/7.0/0R0/CTools/CDE_Advanced_Solutions

Pentaho/CDE tradução das expressões em Tabelas componente Table

O componente table do CDE é baseado no componente web DataTables. Pela documentação desse componente para traduzir as mensagens para Português recomenda-se ajustar na propriedade "language" com o seguinte conteúdo: {      "sEmptyTable" :  "Nenhum registro encontrado" ,      "sInfo" :  "Mostrando de _START_ até _END_ de _TOTAL_ registros" ,      "sInfoEmpty" :  "Mostrando 0 até 0 de 0 registros" ,      "sInfoFiltered" :  "(Filtrados de _MAX_ registros)" ,      "sInfoPostFix" :  "" ,      "sInfoThousands" :  "." ,      "sLengthMenu" :  "_MENU_ resultados por página" ,      "sLoadingRecords" :  "Carregando..." ,      "sProcessing" :  "Processando..." ,      "sZeroRecords" :  "Nenhum registro encontrado" ,  ...