interlegis.portalmodelo.pl 1.0rc8
Portal Modelo: IntegraĂ§ĂŁo com sistemas do processo legislativo.
Keywords: interlegis sapl plone portalmodelo plone

**************************************************************
Portal Modelo: Integração com sistemas do processo legislativo
**************************************************************

.. contents:: Conteúdo
   :depth: 2

Introdução
==========

Este pacote permite a integração do `Sistema de Apoio ao Processo
Legislativo`_ (SAPL) e outros sistemas no Portal Modelo do Programa
Interlegis.

Adicionalmente o pacote define tipos de conteúdo para representar os seguintes
objetos dentro da estrutura de uma Câmara Legislativa:

* Parlamentar
* Legistatura
* Sessão legislativa

O pacote também fornece uma view chamada ``@@pl-json`` disponibilizada na
raiz do portal que retorna essa informação em formato JSON.

Descrição dos tipos de conteúdo
===============================

Parlamentar
-----------

Um Parlamentar é um tipo de conteúdo baseado no Dexterity que contém os
seguintes campos:

* Nome
* Nome completo
* Aniversário
* Biografia
* Retrato
* Endereço
* CEP
* Telefone
* Filiação partidaria (sigla do partido e datas de filiação e desfiliação)

Legistatura
-----------

Uma Legislatura é um tipo de conteúdo baseado no Dexterity que contém os
seguintes campos:

* Número
* Descripção
* Data de inicio
* Data de término
* Membros (parlamentares eleitos)

Sessão legislativa
------------------

Uma Sessão legislativa é um tipo de conteúdo baseado no Dexterity que
representa um período dentro de uma legislatura. Dentro de uma sessão está
definida a conposição da mesa diretora desse período. Contém os seguintes
campos:

* Número
* Descrição
* Data de início
* Data de final
* Mesa diretora (membro e cargo)

Sincronização com o SAPL
========================

Caso de Uso
-----------

Este pacote implementa mecanismo de sincronização de uma via entre SAPL e Portal Modelo para os tipos de conteúdo Legislatura, Parlamentar e Sessão legislativa.

Considerando que em sua Câmara Legislativa exista uma versão atual do SAPL, a integração é feita em três passos:

* Configuração do SAPL para sincronização (veja o manual do SAPL)
* Configuração do Portal Modelo, via painel de controle, dos dados de acesso ao SAPL
* Acesso à url http://<portalmodelo>/@@sync-sapl autenticado como usuário administrador

Painel de Controle
------------------

Acesse o painel de controle do Portal Modelo e clique na opção **Configuração do SAPL Sync**.

São dois campos que podem ser configurados:

* Endpoint JSON do SAPL: URL do SAPL que gera o arquivo JSON
* Armazenamento local do SAPL: Caminho, no Portal Modelo, para armazenamento das informações de Legislatura, Parlamentar e Sessão Legislativa.

Formato Arquivo SAPL
---------------------

Utilizamos um arquivo JSON, disponibilizado pelo SAPL, para importação automática das Legislaturas, Parlamentares e Sessões Legislativas.

Abaixo temos um exemplo de arquivo JSON completo utilizado por este pacote::

    {
        "legislatures": [
            {
                "description": "",
                "end_date": "2016-12-31",
                "id": "legislature-01",
                "members": ["000000000001"],
                "sessions": [
                    {
                        "description": "First Legislative Session",
                        "end_date": "2014-12-31",
                        "id": "session-01",
                        "legislative_board": [
                            {
                                "member": "000000000001",
                                "position": "Board President"
                            }
                        ],
                        "start_date": "2013-01-01",
                        "title": "1st (2013-2014)"
                    },
                ],
                "start_date": "2013-01-01",
                "title": "1st Legislature"
            }
        ],
        "parliamentarians": [
            {
                "address": "Av. N2, Anexo E do Senado Federal, Brasilia/DF",
                "birthday": "1943-01-09",
                "description": "Bruxo do Cosme Velho, escritor.",
                "full_name": "Joaquim Maria Machado de Assis",
                "id": "000000000001",
                "image": "http://sapl.interlegis.leg.br/p/machado-assis/image.jpg",
                "party_affiliation": [
                    {
                        "date_affiliation": "1975-12-19",
                        "date_disaffiliation": "",
                        "party": "ABL"
                    }
                ],
                "postal_code": "70165-900",
                "telephone": "+55615553213",
                "title": "Machado de Assis"
            },
        ]
    }

Algumas considerações sobre o formato adotado:

* Datas devem ser exibidas no formato ISO 8601
* Utilizaremos os mesmos IDs dos objetos cadastrados no SAPL
* Imagens serão referenciadas a partir de sua URL completa. Este pacote realizará o download delas.

.. _`Sistema de Apoio ao Processo Legislativo`: https://colab.interlegis.leg.br/wiki/ProjetoSapl

Contributors
============

* Érico Andrei
* Héctor Velarde
* Jean Ferri
* Karyn Nassif
* Márcio Mazza

Changelog
=========

1.0rc8 (2018-12-14)
-------------------

- Fix the Session date range.
  [Iolane Andrade]


1.0rc7 (2018-10-04)
-------------------

- Fix legislature date range and change variable name to be more generic.
  [rafahela]


1.0rc6 (2018-02-23)
-------------------

- Fix error when deleting a parliamentarian from a legislature 
  [IolaneAndrade]


1.0rc5 (2018-02-01)
-------------------

- Nothing changed yet.


1.0rc4 (2018-01-16)
-------------------

- Correct calendar range
  [IolaneAndrade]


1.0rc3 (2017-08-25)
-------------------

- Add permission to fix parliamentarian edit form
  [rafahela]


1.0rc2 (2015-08-26)
-------------------

- Add 'Comissões' folder to 'Processo Legislativo' menu
  [jeanferri]


1.0rc1 (2015-06-17)
-------------------

- Try to fix year for date_affiliation in parlamentarian profile
  [jeanferri]

- Fix test test_setup.py
  [marciomazza]


1.0b3 (2014-08-30)
------------------

- Added description to the folder structure.
  [jeanferri]


1.0b2 (2014-08-25)
------------------

- Corrige problema de serialização do DataGridField (refs. https://colab.interlegis.leg.br/ticket/2990)
  [marciomazza]

- Renomeia a URL da API Opendata de sapl-json para pl-json
  [jeanferri]

- Corrige o link @@mesa-diretora para usuários anônimos
  [jeanferri]

- Alterado o widget do campo description (bio) de um parlamentar para WysiwygFieldWidget (refs. https://colab.interlegis.leg.br/ticket/2928).
  [ericof]

- Adicionado campo email para um parlamentar (refs. https://colab.interlegis.leg.br/ticket/2928).
  [ericof]

- Adicionado campo site para um parlamentar (refs. https://colab.interlegis.leg.br/ticket/2928).
  [ericof]


1.0b1 (2014-07-02)
------------------

- O widget utilizado no campo ``birthday`` foi mudado (refs. https://colab.interlegis.leg.br/ticket/2927).
  [hvelarde]


1.0a3 (2014-04-25)
------------------

- Depend on interlegis.portalmodelo.api.

- Fix menu item registration.

- Fix tags closing on ``session_view.pt``.


1.0a2 (2014-04-08)
------------------

- Fix dependency inclusion to avoid ``ConfigurationError: ('Invalid
  directive', u'factory')``.

- Update package dependencies.

- Disallow comments on package content types.

- Allow creation of the sub-structure if we already have a folder named
  Processo Legislativo.

- Remove layout from folder at uninstall time.

- Fix different views and update translations.

- Fix JSON import.


1.0a1 (2014-04-06)
------------------

- Initial release.