[okfn-br] Experiência na implantação do CKAN 2.0 para o portal de dados abertos do Recife

Marconi Clementino marconix16 em gmail.com
Quinta Agosto 29 17:48:20 UTC 2013


*Experiência na implantação do CKAN 2.0 para o portal de dados abertos do
Recife na EMPREL – Empresa Municipal de Informática do Recife*

Olá, como é de interesse de alguns, venho por meio deste e-mail, descrever
a experiência que tive na instalação do CKAN para o portal de dados abertos
do Recife. Segue o relato:

*Portal:* http://dados.recife.pe.gov.br/


*O Teste*

   Como era uma das metas da prefeitura, a abertura de dados do município,
o departamento de inovação da EMPREL me solicitou que instalasse a
ferramenta CKAN para testarmos. Até o momento nunca tinha ouvido falar da
mesma, e meu conhecimento sobre dados abertos também era nulo.

   Entrei no site, e segui a documentação de instalação “latest” (versão
2.2a). Como o guia padrão de instalação era para Ubuntu, sistema que
utilizo no ambiente de trabalho, instalei na minha própria máquina.
Começamos os testes e notei que não tinha a visualização em grid do live
demo do site do CKAN. Também percebemos que a internacionalização estava
incompleta naquela versão, pois navegando por páginas do portal
identificamos muitas falhas na tradução para o português(alguns elementos
não estavam traduzidos). Daí percebemos que teríamos muito trabalho na
correção destes detalhes. Na versão 2.0 os problemas de tradução são
mínimos.


*Aprovação e instalação nos servidores da EMPREL*

   Após os testes, foi solicitado ao departamento de infraestrutura, a
instalação do CKAN em um dos servidores no ambiente operativo. Passei o
link da documentação de instalação do CKAN 2.0(que pelo meu entendimento,
era a última estável) para os responsáveis, e já surgiu o primeiro
problema: não tinham experiência no ambiente Python, e o servidor
recomendado para instalação era o Ubuntu. O departamento, em questão de
linux, só tem experiência/treinamento em servidores Red Hat e CentOS, e
preferem não comprometerem com outras distribuições. Recomendei a
documentação para instalação no CentOS.

   Após algumas semanas e várias tentativas do departamento(neste período
estava no curso de dados abertos ministrado por Bernadette), chegaram a
conclusão de que não funcionava no CentOS, e que não era possível ter o
CKAN no ambiente da empresa. Com isto dito, pedi um dia para fazer uma
tentativa. Na dia seguinte tinha o CKAN 2.0 instalado em um CentOS em uma
máquina virtual no meu desktop.

   Após a prova do funcionamento, me disponibilizaram uma máquina CentOS
recém instalada e autorização de root. Instalei o CKAN e copiamos para
termos dois ambientes(desenvolvimento e produção).


*Conexões de banco de dados*

   Após a instalação, o departamento de banco de dados questionou o grande
número de conexões abertas pelo CKAN, percebi que a documentação de
instalação deixava duas instâncias rodando, modificando isto, o número já
caiu pela metade, mas mesmo assim, a quantidade de conexões abertas ficavam
entre 8 e 12, e isto não era o habitual entre os sistemas da Emprel. Tive
que estudar sobre o SQLAlchemy(utilizado pelo CKAN) para poder explicar
cada uma das conexões a DBA responsável pelo banco. Ela entendeu e percebeu
que este número não sobrecarregava nosso servidor PostgreSQL.


*Personalização*

   Após o ambiente montado, a diretoria da EMPREL sugeriu que o portal de
dados abertos tivesse a aparência/identidade visual parecida com a do
portal da transparência(http://portaltransparencia.recife.pe.gov.br).
Identifiquei o arquivo css responsável pela aparência do CKAN e pesquisei
referências a ele dentro do projeto, com isto adicionei o tema
“recife”(cópia do padrão do CKAN) e comecei a personalização da aparência.

   Antes de ir a produção, surgiu a necessidade de remover a funcionalidade
de registro de usuário externos. Então tive que pesquisar como remover esta
funcionalidade. Com estas pesquisas fui conhecendo a arquitetura do sistema.

   A primeira vez que tive que programar foi na adição da página de
contato, era uma necessidade, e o CKAN não vem com esta funcionalidade.

   Dentro dos pacotes do CKAN criei o controlador “recife” e passei a
desenvolver as novas funcionalidades dentro dele. Sobre a questão de CMS,
não utilizamos nenhum, todas as páginas adicionadas estão dentro da
arquitetura do CKAN.

Segue uma breve lista das modificações que fizemos:

   -

   Criação do tema Recife
   -

   Modificações de páginas de layout(cabeçalho e rodapé)
   -

   Criação e adição da página de contato com validação de formulário
   -

   Adição e configuração de plugins e serviços para habilitação de:
      - Visualização de dados de CSV
      -  API de pesquisa(datastore)
      - Visualização de dados geográficos
      - Google Analytics
   -

   Página de comentários por Conjunto de Dados com o uso do Disqus(ex:
   http://dados.recife.pe.gov.br/dataset/comments/area-urbana)
   -

   Criação da página de aplicativos baseada na página de “related”, os
   aplicativos foram cadastrados apenas no ambiente de desenvolvimento por
   enquanto, em breve serão lançados e haverá um link na página principal.
   Página de aplicativos: http://dados.recife.pe.gov.br/apps (segue imagens
   em anexo)

*
Considerações finais*

   A pesar de nunca ter trabalhado com Python, com a minha experiência em
desenvolvimento web(dentre elas, o PHP foi o mais importante), o
entendimento necessário da arquitetura e do código fonte do CKAN foi
bastante rápido. Com a documentação disponível e as listas de discussões
OKFN todas as dúvidas foram sanadas.

   Existe uma frente na empresa que deseja utilizar o DKAN, justificando
que já tem experiência suficiente com o Drupal, mas pessoalmente eu
discordo, gostei do que vi e aprendi neste processo de aprendizado com o
CKAN.

   O próximo passo da EMPREL é a automação de carga dos recursos através
das APIs disponibilizadas pelo CKAN.


Muito obrigado pela atenção, e qualquer dúvida, estou a disposição.

-- 
Atenciosamente,

Marconi Clementino de Oliveira
Analista de Sistemas - DSI - EMPREL
Celular: +55 81 8719-1703
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.okfn.org/pipermail/okfn-br/attachments/20130829/0a3444cf/attachment-0002.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: Aplicativos - Portal de Dados Abertos da Cidade do Recife_20130829-131508.png
Tipo: image/png
Tamanho: 309176 bytes
Descrição: não disponível
URL: <http://lists.okfn.org/pipermail/okfn-br/attachments/20130829/0a3444cf/attachment-0008.png>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: Aplicativos - Portal de Dados Abertos da Cidade do Recife_20130829-131650.png
Tipo: image/png
Tamanho: 170564 bytes
Descrição: não disponível
URL: <http://lists.okfn.org/pipermail/okfn-br/attachments/20130829/0a3444cf/attachment-0009.png>


Mais detalhes sobre a lista de discussão okfn-br