Melhores Práticas para
desenvolvimento com
Plone 4
http://www.slideshare.net/dorneles/melhores-praticas-dev-plone-4
Curitiba, PythonBrasil[6]
23 de Outubro de 2010
Dorneles Treméa
X3ng / Enfold / APyB / GTiC
1
quinta-feira, 4 de novembro de 2010
Crise de Identidade!
• Segundo Grau: Codorna (?)
• Universidade: Cortininha (???)
• Sidnei: Dorna
• APyB: Big Kahuna (2009)
• Limi:“Dolores” (??????????????????????????)
• Família: Déo
• 007: Neles, Dorneles.
• Eu:Apenas um rapaz latino-americano
2
quinta-feira, 4 de novembro de 2010
O que faço?
• Empreendedor na X3ng
• Desenvolvedor na Enfold Systems
• Presidente (office-boy, ...) na APyB
• Mestre de cerimônia na PythonBrasil :-)
• Tento ser um bom pai em casa!
• Colaborador no projeto Plone
3
quinta-feira, 4 de novembro de 2010
4
Plone?
(WTF?)
quinta-feira, 4 de novembro de 2010
Por que estão aqui?
• A outra sala estava lotada
• O Wifi é mais rápido
• Único lugar com tomadas sobrando
• Curitiba não tem praia
• Talvez tenham interesse no tema!
5
quinta-feira, 4 de novembro de 2010
Plone
• “Plone é atualmente o CMS mais
completo presente no mercado.”
-- Dorneles, PythonBrasil[6]
• E um dos mais rápidos também! :-)
6
quinta-feira, 4 de novembro de 2010
7
quinta-feira, 4 de novembro de 2010
Plone é RÁPIDO!
8
quinta-feira, 4 de novembro de 2010
Primeiros Passos
• Sistema Operacional
• Python
• Buildout
• Coca-Cola Código
• Profit!
9
quinta-feira, 4 de novembro de 2010
Desenvolvimento & Produção
Sistema Operacional
10
quinta-feira, 4 de novembro de 2010
Versões do Python
Plone 3.x Python 2.4.x
Plone 4.x Python 2.6.x
Plone 5.x Python ?
11
quinta-feira, 4 de novembro de 2010
Buildout
“Live together, die alone!”
-- Lost S02E23
12
quinta-feira, 4 de novembro de 2010
Controle deVersões
Não interessa qual,
mas use alguma coisa,
pelamordedeus! :-P
13
quinta-feira, 4 de novembro de 2010
Dica: cache
14
Ative o cache do buildout
$ mkdir -p ~/cache/{zope,download,eggs,extends}
$ cat ~/.buildout/default.cfg
[buildout]
zope-directory=/home/dorneles/cache/zope
download-cache=/home/dorneles/cache/download
download-directory=/home/dorneles/cache/download
eggs-directory=/home/dorneles/cache/eggs
extends-cache=/home/dorneles/cache/extends
quinta-feira, 4 de novembro de 2010
Dica: python
Use seu próprio Python
$ cd ~
$ svn co http://svn.plone.org/svn/collective/buildout/python
$ cd python
$ python bootstrap.py
$ bin/buildout
$ ls python*
15
quinta-feira, 4 de novembro de 2010
Dica: virtualenv
16
Ative o virtualenv a ser usado
$ python -V
Python 2.6.1
$ source ~/python/python-2.6/bin/activate
$ python -V
Python 2.6.6
quinta-feira, 4 de novembro de 2010
Dica: ZopeSkel
17
Conjunto templates para paster
$ pip install ZopeSkel
$ zopeskel plone3_buildout teste
$ cd teste
$ python bootstrap.py
$ bin/buildout
$ bin/instance start
quinta-feira, 4 de novembro de 2010
Dica: novos pacotes
18
Utilize o zopeskel, ora bolas!
$ zopeskel --help
$ zopeskel plone3_buildout teste
$ zopeskel plone_app package.one
$ zopeskel plone_pas package.two
quinta-feira, 4 de novembro de 2010
Dica: fixar versões
19
Define a versão exata dos pacotes
$ cat buildout.cfg
extends =
...
versions.cfg
$ cat versions.cfg
[versions]
package.one = 1.0
package.two = 0.666-satan++
quinta-feira, 4 de novembro de 2010
Dica: dump versions
20
Lista todos pacotes não pinados
$ cat buildout.cfg
[buildout]
extensions = buildout.dumppickedversions
...
quinta-feira, 4 de novembro de 2010
Dica: road runner
21
Pré-carrega testes para TDD
$ cat buildout.cfg
...
[roadrunner]
recipe = roadrunner:plone
packages-under-test =
package.one
package.two
quinta-feira, 4 de novembro de 2010
Dica: omelette
22
Gera árvore explodida pacotes
$ cat buildout.cfg
...
[omelette]
recipe = collective.recipe.omelette
eggs = ${instance:eggs}
location = ${buildout:directory}/source
quinta-feira, 4 de novembro de 2010
Dica: produtos úteis
• Products.Clouseau
• Products.Gloworm
• Products.DocFinderTab
• Products.PDBDebugMode
23
quinta-feira, 4 de novembro de 2010
Problemas buildout?
• bin/buildout -U
• Evita ler o ~/.buildout/default.cfg
• bin/buildout -D
• Inicia o pdb no ponto da exceção
• bin/buildout -t 2
• Reduz o timeout para 2 segundos
24
quinta-feira, 4 de novembro de 2010
Registro Usuários
25
• Introdução do plone.app.users
• Permite personalizar o formulário
de cadastro (e das preferências) do
usuário sem editar templates
• Exemplo: collective.examples.userdata
quinta-feira, 4 de novembro de 2010
Generic Setup
26
• Crie um snapshot no portal_setup
para ver todas as opções suportadas
• Arquivos devem conter apenas o que
realmente é necessário
• Utilize os atributos disponívies:
insert-before/.../purge/remove
quinta-feira, 4 de novembro de 2010
Dexterity
for the rescue?
27
• Archetypes não morreu (e não vai
morrer tão cedo!)
• Dexterity simplifica a criação de novos
tipos de conteúdo, permitindo a
edição do schema e a definição de
comportamentos pelo navegador
• ZopeSkel plugin: zopeskel.dexterity
quinta-feira, 4 de novembro de 2010
Outras Regras de Ouro
• Sempre alterar a senha do Manager após o
primeiro acesso
• Nunca mudar manualmente as permissões
dos objetos na ZMI, a menos que saiba o
que está fazendo!
• Utilize o collective.recipe.backup para não
se preocupar mais tarde...
28
quinta-feira, 4 de novembro de 2010
Contato
• Dorneles Treméa
• @dorneles
• dorneles@tremea.com
• deo @ irc://irc.freenode.net
29
quinta-feira, 4 de novembro de 2010

Mais conteúdo relacionado

PDF
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
PDF
Encontro da Comunidade Python Brasileira - FISL11
ODP
LDAP Storage for Archetypes
PDF
Introdução ao Python - FTEC
PDF
Oficina Mergulhando no Plone 4
PDF
PHP, Gearman e Memcache
PDF
Ubuntu o projeto e a comunidade
PDF
Arquitetura de projetos e pacotes em GO
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
Encontro da Comunidade Python Brasileira - FISL11
LDAP Storage for Archetypes
Introdução ao Python - FTEC
Oficina Mergulhando no Plone 4
PHP, Gearman e Memcache
Ubuntu o projeto e a comunidade
Arquitetura de projetos e pacotes em GO

Semelhante a Melhores Práticas para o Desenvolvimento com Plone 4 (20)

PDF
Python Zope Plone - Ftec
PDF
Novas tecnologias no aprendizado - Hábitos e ferramentas eficazes para os des...
PDF
Desvendando o python
PDF
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
PDF
Palestra Sacomp 2015
PDF
Poco Bibliotecas C++
PPT
Ferramentas digitais interessantes para tutoria online
PDF
O Futuro do Plone
PPT
Primeiros passos em Python - Tchelinux Uruguaiana 2011
PDF
Plone total#1 - Introdução e Instalação
PDF
Arduino + Python: produtividade ao extremo
PDF
Development pitfalls
PDF
Trabalhando com Módulos no Puppet
PDF
Python e tipagem estática
PDF
O Estado do Plone
PDF
Introdução a linguagem Python: simples e produtiva
PDF
Puppet webcast 4linux
PDF
Desbravando a web com python - Matheus Lima
ODP
Debian no limite - como ter um desktop atualizado
PDF
Wordpress Além do Blog
Python Zope Plone - Ftec
Novas tecnologias no aprendizado - Hábitos e ferramentas eficazes para os des...
Desvendando o python
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
Palestra Sacomp 2015
Poco Bibliotecas C++
Ferramentas digitais interessantes para tutoria online
O Futuro do Plone
Primeiros passos em Python - Tchelinux Uruguaiana 2011
Plone total#1 - Introdução e Instalação
Arduino + Python: produtividade ao extremo
Development pitfalls
Trabalhando com Módulos no Puppet
Python e tipagem estática
O Estado do Plone
Introdução a linguagem Python: simples e produtiva
Puppet webcast 4linux
Desbravando a web com python - Matheus Lima
Debian no limite - como ter um desktop atualizado
Wordpress Além do Blog
Anúncio

Último (19)

PPT
Aula de Engenharia de Software principais caracteristicas
PDF
Jira Software projetos completos com scrum
PDF
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Tipos de servidor em redes de computador.pptx
PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
Banco de Dados 2atualização de Banco de d
PDF
SEMINÁRIO DE IHC - A interface Homem-Máquina
PDF
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
PDF
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
PPTX
ccursoammaiacursoammaiacursoammaia123456
PPTX
Aula 7 - Listas em Python (Introdução à Ciencia da Computação)
PDF
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
PDF
Processamento da remessa no SAP ERP, SCM610 Col15
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPTX
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
Aula de Engenharia de Software principais caracteristicas
Jira Software projetos completos com scrum
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
Analise Estatica de Compiladores para criar uma nova LP
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Tipos de servidor em redes de computador.pptx
Conceitos básicos de Redes Neurais Artificiais
Banco de Dados 2atualização de Banco de d
SEMINÁRIO DE IHC - A interface Homem-Máquina
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
ccursoammaiacursoammaiacursoammaia123456
Aula 7 - Listas em Python (Introdução à Ciencia da Computação)
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
Processamento da remessa no SAP ERP, SCM610 Col15
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Processos no SAP Extended Warehouse Management, EWM100 Col26
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
Anúncio

Melhores Práticas para o Desenvolvimento com Plone 4

  • 1. Melhores Práticas para desenvolvimento com Plone 4 http://www.slideshare.net/dorneles/melhores-praticas-dev-plone-4 Curitiba, PythonBrasil[6] 23 de Outubro de 2010 Dorneles Treméa X3ng / Enfold / APyB / GTiC 1 quinta-feira, 4 de novembro de 2010
  • 2. Crise de Identidade! • Segundo Grau: Codorna (?) • Universidade: Cortininha (???) • Sidnei: Dorna • APyB: Big Kahuna (2009) • Limi:“Dolores” (??????????????????????????) • Família: Déo • 007: Neles, Dorneles. • Eu:Apenas um rapaz latino-americano 2 quinta-feira, 4 de novembro de 2010
  • 3. O que faço? • Empreendedor na X3ng • Desenvolvedor na Enfold Systems • Presidente (office-boy, ...) na APyB • Mestre de cerimônia na PythonBrasil :-) • Tento ser um bom pai em casa! • Colaborador no projeto Plone 3 quinta-feira, 4 de novembro de 2010
  • 5. Por que estão aqui? • A outra sala estava lotada • O Wifi é mais rápido • Único lugar com tomadas sobrando • Curitiba não tem praia • Talvez tenham interesse no tema! 5 quinta-feira, 4 de novembro de 2010
  • 6. Plone • “Plone é atualmente o CMS mais completo presente no mercado.” -- Dorneles, PythonBrasil[6] • E um dos mais rápidos também! :-) 6 quinta-feira, 4 de novembro de 2010
  • 7. 7 quinta-feira, 4 de novembro de 2010
  • 8. Plone é RÁPIDO! 8 quinta-feira, 4 de novembro de 2010
  • 9. Primeiros Passos • Sistema Operacional • Python • Buildout • Coca-Cola Código • Profit! 9 quinta-feira, 4 de novembro de 2010
  • 10. Desenvolvimento & Produção Sistema Operacional 10 quinta-feira, 4 de novembro de 2010
  • 11. Versões do Python Plone 3.x Python 2.4.x Plone 4.x Python 2.6.x Plone 5.x Python ? 11 quinta-feira, 4 de novembro de 2010
  • 12. Buildout “Live together, die alone!” -- Lost S02E23 12 quinta-feira, 4 de novembro de 2010
  • 13. Controle deVersões Não interessa qual, mas use alguma coisa, pelamordedeus! :-P 13 quinta-feira, 4 de novembro de 2010
  • 14. Dica: cache 14 Ative o cache do buildout $ mkdir -p ~/cache/{zope,download,eggs,extends} $ cat ~/.buildout/default.cfg [buildout] zope-directory=/home/dorneles/cache/zope download-cache=/home/dorneles/cache/download download-directory=/home/dorneles/cache/download eggs-directory=/home/dorneles/cache/eggs extends-cache=/home/dorneles/cache/extends quinta-feira, 4 de novembro de 2010
  • 15. Dica: python Use seu próprio Python $ cd ~ $ svn co http://svn.plone.org/svn/collective/buildout/python $ cd python $ python bootstrap.py $ bin/buildout $ ls python* 15 quinta-feira, 4 de novembro de 2010
  • 16. Dica: virtualenv 16 Ative o virtualenv a ser usado $ python -V Python 2.6.1 $ source ~/python/python-2.6/bin/activate $ python -V Python 2.6.6 quinta-feira, 4 de novembro de 2010
  • 17. Dica: ZopeSkel 17 Conjunto templates para paster $ pip install ZopeSkel $ zopeskel plone3_buildout teste $ cd teste $ python bootstrap.py $ bin/buildout $ bin/instance start quinta-feira, 4 de novembro de 2010
  • 18. Dica: novos pacotes 18 Utilize o zopeskel, ora bolas! $ zopeskel --help $ zopeskel plone3_buildout teste $ zopeskel plone_app package.one $ zopeskel plone_pas package.two quinta-feira, 4 de novembro de 2010
  • 19. Dica: fixar versões 19 Define a versão exata dos pacotes $ cat buildout.cfg extends = ... versions.cfg $ cat versions.cfg [versions] package.one = 1.0 package.two = 0.666-satan++ quinta-feira, 4 de novembro de 2010
  • 20. Dica: dump versions 20 Lista todos pacotes não pinados $ cat buildout.cfg [buildout] extensions = buildout.dumppickedversions ... quinta-feira, 4 de novembro de 2010
  • 21. Dica: road runner 21 Pré-carrega testes para TDD $ cat buildout.cfg ... [roadrunner] recipe = roadrunner:plone packages-under-test = package.one package.two quinta-feira, 4 de novembro de 2010
  • 22. Dica: omelette 22 Gera árvore explodida pacotes $ cat buildout.cfg ... [omelette] recipe = collective.recipe.omelette eggs = ${instance:eggs} location = ${buildout:directory}/source quinta-feira, 4 de novembro de 2010
  • 23. Dica: produtos úteis • Products.Clouseau • Products.Gloworm • Products.DocFinderTab • Products.PDBDebugMode 23 quinta-feira, 4 de novembro de 2010
  • 24. Problemas buildout? • bin/buildout -U • Evita ler o ~/.buildout/default.cfg • bin/buildout -D • Inicia o pdb no ponto da exceção • bin/buildout -t 2 • Reduz o timeout para 2 segundos 24 quinta-feira, 4 de novembro de 2010
  • 25. Registro Usuários 25 • Introdução do plone.app.users • Permite personalizar o formulário de cadastro (e das preferências) do usuário sem editar templates • Exemplo: collective.examples.userdata quinta-feira, 4 de novembro de 2010
  • 26. Generic Setup 26 • Crie um snapshot no portal_setup para ver todas as opções suportadas • Arquivos devem conter apenas o que realmente é necessário • Utilize os atributos disponívies: insert-before/.../purge/remove quinta-feira, 4 de novembro de 2010
  • 27. Dexterity for the rescue? 27 • Archetypes não morreu (e não vai morrer tão cedo!) • Dexterity simplifica a criação de novos tipos de conteúdo, permitindo a edição do schema e a definição de comportamentos pelo navegador • ZopeSkel plugin: zopeskel.dexterity quinta-feira, 4 de novembro de 2010
  • 28. Outras Regras de Ouro • Sempre alterar a senha do Manager após o primeiro acesso • Nunca mudar manualmente as permissões dos objetos na ZMI, a menos que saiba o que está fazendo! • Utilize o collective.recipe.backup para não se preocupar mais tarde... 28 quinta-feira, 4 de novembro de 2010
  • 29. Contato • Dorneles Treméa • @dorneles • dorneles@tremea.com • deo @ irc://irc.freenode.net 29 quinta-feira, 4 de novembro de 2010