Mudanças entre as edições de "Integração do Pentaho com o Ckan"
| Linha 17: | Linha 17: | ||
; Nota : É recomendado familiarizar-se com templates no modelo Jinja2, maiores detalhes podem ser encontrados em: http://jinja.pocoo.org/docs/2.9/templates/ | ; Nota : É recomendado familiarizar-se com templates no modelo Jinja2, maiores detalhes podem ser encontrados em: http://jinja.pocoo.org/docs/2.9/templates/ | ||
| + | <pre> | ||
{% extends "base.html" %} | {% extends "base.html" %} | ||
| Linha 23: | Linha 24: | ||
{%- block page -%} | {%- block page -%} | ||
{% block skip %} | {% block skip %} | ||
| − | + | <div class="hide"><a href="#content">{{ _('Skip to content') }}</a></div> | |
{% endblock %} | {% endblock %} | ||
| Linha 113: | Linha 114: | ||
{{ super() }} | {{ super() }} | ||
{% endblock -%} | {% endblock -%} | ||
| + | </pre> | ||
| + | |||
| + | teste | ||
Edição das 12h00min 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
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 %}{{ _('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 -%}
teste