Mudanças entre as edições de "Integração do Pentaho com o Ckan"

De IBICT
Ir para: navegação, pesquisa
(Criou página com '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.h...')
 
Linha 13: Linha 13:
 
== Código de Exemplo de uma pagina personalizada no 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 utilizamo
+
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 : O registro é necessário para a maioria dos recursos de publicação e para os recursos de personalização, como "seguir" um conjuntos de dados. O registro não é necessário para pesquisar e baixar os conteúdos de dados.
+
; 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 %}{{ _('Pagina Personalizada') }}{% endblock %}
 +
 +
{%- block page -%}
 +
  {% block skip %}
 +
    <div class="hide"><a href="#content">{{ _('Skip to content') }}</a></div>
 +
  {% 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 %}<div role="main">{% endblock %}
 +
      <div id="content" class="container" style="width: 1200px;">
 +
        {% block main_content %}
 +
          {% block flash %}
 +
            <div class="flash-messages">
 +
              {% block flash_inner %}
 +
                {% for message in h.flash.pop_messages() | list %}
 +
                  <div class="alert fade in {{ message.category }}">
 +
                    {{ h.literal(message) }}
 +
                  </div>
 +
                {% endfor %}
 +
              {% endblock %}
 +
            </div>
 +
          {% endblock %}
 +
 +
          {% block toolbar %}
 +
            <div class="toolbar">
 +
              {% block breadcrumb %}
 +
                {% if self.breadcrumb_content() | trim %}
 +
                  <ol class="breadcrumb">
 +
                    {% snippet 'snippets/home_breadcrumb_item.html' %}
 +
                    {% block breadcrumb_content %}
 +
                <li class="active"><a href="/pagina-personalizada">Pagina Personalizada</a></li>
 +
                    {% endblock %}
 +
                  </ol>
 +
                {% endif %}
 +
              {% endblock %}
 +
            </div>
 +
          {% endblock %}
 +
 +
          <div class="row wrapper{% block wrapper_class %}{% endblock %}{% if self.secondary()|trim == '' %} no-nav{% endif %}">
 +
 
 +
            {#
 +
            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">
 +
    <div class="module-content">
 +
 +
<h1>Pagina Personalizada</h1>
 +
<p>Alguma paragrafo de informação (pode-se utilizar o HTML aqui)</p>
 +
 +
{#
 +
  Exemplo de iframe:
 +
#}
 +
 +
<iframe src="http://localhost/pentaho/"></iframe>
 +
 +
</article>
 +
            {% endblock %}
 +
 +
            {% block secondary %}{% endblock %}
 +
          </div>
 +
        {% endblock %}
 +
      </div>
 +
    </div>
 +
  {% endblock -%}
 +
  </div>
 +
  {#
 +
  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 %}
 +
  {{ super() }}
 +
{% endblock -%}

Edição das 11h58min de 10 de janeiro de 2017

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 -%}