Integração do Pentaho com o Ckan

De IBICT
Edição feita às 10h58min de 10 de janeiro de 2017 por Lucasrodrigues (disc | contribs)

Ir para: navegação, pesquisa

Esta integração faz parte da interação e modificação de temas no CKAN.

Maiores detalhes podem ser encontrados na pagina: http://docs.ckan.org/en/latest/theming/index.html

Índice

Pré-requisitos

É necessário realizar a instalação do Pentaho anteriormente. A integração com o CKAN é feita através de "iframe" em paginas personalizadas no CKAN. Para isso é necessário entender a estrutura de paginas do CKAN. A próxima seção apresenta esta estrutura.

Estrutura de Paginas do CKAN

As paginas da raiz do CKAN estão no diretório "/ckan/lib/default/src/ckan/ckan/templates". As paginas HTML neste diretório ficam visíveis na raiz da URL do CKAN.

Código de Exemplo de uma pagina personalizada no CKAN

A seguir segue um exemplo de uma pagina personalizada com a utilização de um "iframe" para integrar outros sistemas nas paginas e no servidor do CKAN. Neste exemplo utilizamos o Pentaho instalado na mesma máquina (localhost).

Nota 
É recomendado familiarizar-se com templates no modelo Jinja2, maiores detalhes podem ser encontrados em: http://jinja.pocoo.org/docs/2.9/templates/
{% extends "base.html" %}

{% block subtitle %}Predefinição:('Pagina Personalizada'){% endblock %}

{%- block page -%}
  {% block skip %}
<a href="#content">Predefinição:('Skip to content')</a>
  {% endblock %}

  {#
  Substitua o cabeçalho em uma página por página, estendendo esse bloco. Se estiver fazendo alterações no cabeçalho do site, é preferível substituir o arquivo header.html.
  #}
  {%- block header %}
    {% include "header.html" %}
  {% endblock -%}

  {# O bloco de conteúdo permite substituir o conteúdo da página, se necessário #}
  {%- block content %}
{% block maintag %}
{% endblock %}
        {% block main_content %}
          {% block flash %}
              {% block flash_inner %}
                {% for message in h.flash.pop_messages() | list %}
                {% endfor %}
              {% endblock %}
          {% endblock %}

          {% block toolbar %}
              {% block breadcrumb %}
                {% if self.breadcrumb_content() | trim %}
                {% endif %}
              {% endblock %}
          {% endblock %}

            {#
            O bloco pré-primário pode ser usado para adicionar conteúdo antes da renderização das colunas de conteúdo principal da página.
            #}
            {% block pre_primary %}
            {% endblock %}


            {% block primary %}
  <article class="module">

Pagina Personalizada

Alguma paragrafo de informação (pode-se utilizar o HTML aqui)

{#
  Exemplo de iframe:
#}

<iframe src="http://localhost/pentaho/"></iframe>

</article>
            {% endblock %} 

            {% block secondary %}{% endblock %}
        {% endblock %}
  {% endblock -%}
  {#
  Substitua o rodapé em uma página por página, estendendo esse bloco. Se fizer alterações no cabeçalho do site, é preferível substituir o arquivo footer.html-u.
  #}
  {%- block footer %}
    {% include "footer.html" %}
  {% endblock -%}
{%- endblock -%} 

{%- block scripts %}
    {% resource 'base/main' %}
    {% resource 'base/ckan' %}
    {% if g.tracking_enabled %}
      {% resource 'base/tracking.js' %}
    {% endif %}
  Predefinição:Super()
{% endblock -%}