{"id":40979475,"url":"https://github.com/interlegis/interlegis.portalmodelo.migrator","last_synced_at":"2026-01-22T07:11:45.278Z","repository":{"id":28400299,"uuid":"31914603","full_name":"interlegis/interlegis.portalmodelo.migrator","owner":"interlegis","description":"Addon for migration from Portal Modelo 1 e 2 to 3","archived":false,"fork":false,"pushed_at":"2018-01-31T16:11:03.000Z","size":40,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-10-26T02:48:03.353Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/interlegis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-09T18:13:23.000Z","updated_at":"2018-01-31T16:05:08.000Z","dependencies_parsed_at":"2022-09-03T14:41:55.042Z","dependency_job_id":null,"html_url":"https://github.com/interlegis/interlegis.portalmodelo.migrator","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/interlegis/interlegis.portalmodelo.migrator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interlegis%2Finterlegis.portalmodelo.migrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interlegis%2Finterlegis.portalmodelo.migrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interlegis%2Finterlegis.portalmodelo.migrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interlegis%2Finterlegis.portalmodelo.migrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interlegis","download_url":"https://codeload.github.com/interlegis/interlegis.portalmodelo.migrator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interlegis%2Finterlegis.portalmodelo.migrator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28657973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-22T07:11:44.593Z","updated_at":"2026-01-22T07:11:45.265Z","avatar_url":"https://github.com/interlegis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Portal Modelo: Componente para migração do Portal Modelo do 1 e 2 para o 3\n\n\n## Introdução\n\nEste pacote faz a migração do Portal Modelo versões 1 e 2 para a nova versão\n3.0.\n\nEle é um pacote específico para o Portal Modelo e é pouco provável sua\nutilização fora deste contexto.\n\n## Procedimento de Migração\n\n### Migração do Portal Modelo 3 \n\nO Portal Modelo 2.0 foi criado utilizando a versão 2.5 do Plone, enquanto o Portal Modelo 3.0 é construído sobre a versão 4.3 do Plone. No período contido entre o lançamento do Portal Modelo 2 e do Portal Modelo 3 o Plone teve 8 versões e [http://plone.org/products/plone/releases/ 55 releases] e, para qualquer software, uma atualização com tantos passos intermediários torna-se complexa e deveria ser muito bem estudada.\n\nÉ importante lembrar que a equipe de desenvolvimento do Plone tem dedicado um cuidado especial ao tópico da atualização de versões e que se estivéssemos falando apenas de conteúdos criados com os tipos de conteúdo padrão do Plone a migração entre as versões seria apenas uma questão de copiar a base do site antigo para o site novo e ativar o mecanismo de migração contido no próprio Plone.\n\nPorém, o Portal Modelo 2 continha diversos produtos adicionais (de terceiros), como por exemplo o !PlonePopoll, CMFSin, !PloneGazette, Poi e etc, e estes foram descontinuados ou não possuem um mecanismo de migração completo e confiável. Isto, somado ao fato de que a própria arquitetura da informação do Portal Modelo 3 foi reestruturada, elimina uma migração utilizando apenas o mecanismo padrão do Plone.\n\nA abordagem detalhada neste documento para realizar esta migração entre diferentes versões do Portal Modelo é a de exportarmos todo o conteúdo para um formato intermediário, realizar a serialização dos dados do portal como arquivos em formato ''[http://pt.wikipedia.org/wiki/JSON JSON]'' no sistema de arquivos, e realizar a importação dos mesmos em uma nova estrutura com o Portal Modelo 3 instalado, usando um mecanismo disponível nessa nova versão.\n\n\n### Exportação dos Dados \n\nPara a realização da exportação dos dados de um Portal Modelo 2 existente, é preciso incluir mais dois pacotes Python na sua instalação: ''simplejson'' e ''collective.jsonify''. Vamos assumir neste tutorial que a instalação do Portal Modelo 2 foi feita através do seu [wiki:PortalModelo20 instalador padrão] e, portanto, há um Python independente só para o portal. Se for diferente disso, você deverá referenciar nos comandos abaixo o Python que roda o portal.\n\nComo o Portal Modelo 2 utiliza o Python 2.4 é preciso garantir que a versão do ''simplejson'' seja a [https://pypi.python.org/pypi/simplejson/2.1.0 2.1.0], que é a compatível com esta versão do Python, e isto é feito durante a instalação do pacote, usando o comando ''easy_install'' do mesmo interpretador Python usado para a execução do portal. A versão do easy_install disponível no Python do Portal Modelo 2 é a 0.6 e, antes disso, será preciso atualizá-la para a 1.4.2, que é mais recente versão compatível com o Python 2.4:\n\n\n```\n$ cd /var/interlegis/PortalModelo-2.0/Python-2.4/bin\n```\n```\n$ sudo ./easy_install -U 'setuptools==1.4.2'\n```\n\nSó então será possível instalar o '''simplejson''':\n\n```\n$ sudo ./easy_install -Z 'simplejson==2.1.0'\n```\n\nCaso o comando ''easy_install'' não esteja disponível, sua instalação deverá ser feita da seguinte maneira:\n\n```\n$ cd /tmp\n$ wget --no-check-certificate https://bitbucket.org/pypa/setuptools/raw/bootstrap-py24/ez_setup.py\n$ sudo python ez_setup.py\n```\n\nPara a instalação do pacote '''collective.jsonify''' é necessário [https://github.com/collective/collective.jsonify baixá-lo do repositório GitHub], descompactá-lo e então instalá-lo no mesmo interpretador Python do Portal Modelo 2:\n\n```\n$ mkdir /tmp/collective.jsonify\n$ cd /tmp/collective.jsonify\n$ wget --no-check-certificate https://github.com/collective/collective.jsonify/archive/master.zip\n$ unzip master.zip\n$ cd collective.jsonify-master\n$ sudo /var/interlegis/PortalModelo-2.0/Python-2.4/bin/python setup.py install\n```\nDepois de instalado o pacote \"coleective.jsonify\", basta adicionar os itens get_item e get_children (external methods para acessos remotos) na raiz do local onde se encontra o Portal Modelo. \n\nPara isso, acesse a ZMI e adicione um External Method para o get_item e outro para o get_children. Nos dois casos o \"Module Name\" sera \"json_methods\" e o nome da função sera o mesmo do id. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterlegis%2Finterlegis.portalmodelo.migrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterlegis%2Finterlegis.portalmodelo.migrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterlegis%2Finterlegis.portalmodelo.migrator/lists"}