Implementação em Plone do Portal Padrão da Identidade Digital de Governo
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.rst

.gov.br: Portal Padrão da Identidade Digital do Governo

Introdução

Este complemento provê configurações para implementação da Identidade Digital de Governo em sites Plone do Governo da República Federativa do Brasil.

O desenvolvimento deste complemento foi feito como parte da iniciativa Portal Padrão da comunidade PloneGov.Br.

Requisitos

Para uso deste complemento, seu site deve ter sido construído com:

Atenção: Leia atentamente a seção sobre como escolher o seu arquivo de versões de release para entender qual versão usar.

Recomendamos a leitura do documento sobre a instalação deste complemento.

Estado deste complemento

O brasil.gov.portal tem testes automatizados e, a cada alteração em seu código os testes são executados pelo serviço Travis.

O estado atual do complemento pode ser visto nas imagens a seguir:

Instalação

Para habilitar a instalação deste complemento em um ambiente que utilize o buildout:

  1. Editar o arquivo buildout.cfg (ou outro arquivo de configuração) e adicionar o complemento brasil.gov.portal à lista de eggs da instalação:
[buildout]
...
eggs =
    brasil.gov.portal
  1. Editar o arquivo buildout.cfg (ou outro arquivo de configuração) referenciando o uso do versions.cfg de acordo com o release presente em portalpadrao.release
  2. Após alterar o arquivo de configuração é necessário executar ''bin/buildout'', que atualizará sua instalação.
  3. Reinicie o Plone
  4. Adicione um novo site Plone.

Atualização de 1.x a 2.x

Warning

Só atualize para a versão 2.x do complemento depois de atualizar à versão mais recente da branch 1.x.

As atualizações da versão 1.x à 2.x só são suportadas das versões mais recentes de cada branch. Antes de atualizar confira que você está efetivamente utilizando a última versão da branch 1.x e que não existem upgrade steps pendentes de serem aplicados.

Rodando o buildout de uma tag antiga do complemento

Para atender ao relato de ter vários jobs de integração contínua em complementos brasil.gov.* (ver https://github.com/plonegovbr/portalpadrao.release/issues/11), no fim da seção extends do buildout.cfg de todos os complementos brasil.gov.* temos a seguinte linha:

https://raw.githubusercontent.com/plonegovbr/portal.buildout/master/buildout.d/versions.cfg

Hoje, esse arquivo contém sempre as versões pinadas de um release a ser lançado. Por esse motivo, quando é feito o checkout de uma tag mais antiga provavelmente você não conseguirá rodar o buildout. Dessa forma, após fazer o checkout de uma tag antiga, recomendamos que adicione, na última linha do extends, o arquivo de versões do IDG compatível com aquela tag, presente no repositório https://github.com/plonegovbr/portalpadrao.release/.

Exemplo: você clonou o repositório do brasil.gov.portal na sua máquina, e deu checkout na tag 1.0.5. Ao editar o buildout.cfg, ficaria dessa forma, já com a última linha adicionada:

extends =
    https://raw.github.com/collective/buildout.plonetest/master/test-4.3.x.cfg
    https://raw.github.com/collective/buildout.plonetest/master/qa.cfg
    http://downloads.plone.org.br/release/1.0.4/versions.cfg
    https://raw.githubusercontent.com/plonegovbr/portal.buildout/master/buildout.d/versions.cfg
    https://raw.githubusercontent.com/plone/plone.app.robotframework/master/versions.cfg
    https://raw.githubusercontent.com/plonegovbr/portalpadrao.release/master/1.0.5/versions.cfg

Para saber qual arquivo de versões é compatível, no caso do brasil.gov.portal, é simples pois é a mesma versão (no máximo um bug fix, por exemplo, brasil.gov.portal é 1.1.3 e o arquivo de versão é 1.1.3.1). Para os demais complementos, recomendamos comparar a data da tag do complemento e a data nos changelog entre uma versão e outra para adivinhar a versão compatível.

Sobrescrita de traduções do domínio plone

Se você tem um complemento que tem como dependência o brasil.gov.portal e precisa sobrescrever traduções do domínio plone nesse produto, sua diretiva <i18n:registerTranslations directory="locales" /> deve vir antes da diretiva <includeDependencies package="." />, ou de qualquer outra diretiva que carrege o ZCML do brasil.gov.portal. O seu configure.zcml deve ficar assim:

 <configure
     xmlns="http://namespaces.zope.org/zope"
     ...
     xmlns:i18n="http://namespaces.zope.org/i18n"
     i18n_domain="meu.produto">

   <i18n:registerTranslations directory="locales" />

   <includeDependencies package="." />

   ...

</configure>

O ZCML do brasil.gov.portal carrega o ZCML do Products.CMFPlone, que por sua vez carrega o ZCML do plone.app.locales. Assim o locales do seu produto precisa ser carregado antes do ZCML do brasil.gov.portal para que as traduções do seu produto possam sobrescrever às do Plone.