Melhores Práticas para
desenvolvimento com
Plone 4
http://www.slideshare.net/dorneles/melhores-praticas-dev-plone-4
Curiti...
Crise de Identidade!
• Segundo Grau: Codorna (?)
• Universidade: Cortininha (???)
• Sidnei: Dorna
• APyB: Big Kahuna (2009...
O que faço?
• Empreendedor na X3ng
• Desenvolvedor na Enfold Systems
• Presidente (office-boy, ...) na APyB
• Mestre de cer...
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 t...
Plone
• “Plone é atualmente o CMS mais
completo presente no mercado.”
-- Dorneles, PythonBrasil[6]
• E um dos mais rápidos...
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 20...
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
[bu...
Dica: python
Use seu próprio Python
$ cd ~
$ svn co http://svn.plone.org/svn/collective/buildout/python
$ cd python
$ pyth...
Dica: virtualenv
16
Ative o virtualenv a ser usado
$ python -V
Python 2.6.1
$ source ~/python/python-2.6/bin/activate
$ py...
Dica: ZopeSkel
17
Conjunto templates para paster
$ pip install ZopeSkel
$ zopeskel plone3_buildout teste
$ cd teste
$ pyth...
Dica: novos pacotes
18
Utilize o zopeskel, ora bolas!
$ zopeskel --help
$ zopeskel plone3_buildout teste
$ zopeskel plone_...
Dica: fixar versões
19
Define a versão exata dos pacotes
$ cat buildout.cfg
extends =
...
versions.cfg
$ cat versions.cfg
[v...
Dica: dump versions
20
Lista todos pacotes não pinados
$ cat buildout.cfg
[buildout]
extensions = buildout.dumppickedversi...
Dica: road runner
21
Pré-carrega testes para TDD
$ cat buildout.cfg
...
[roadrunner]
recipe = roadrunner:plone
packages-un...
Dica: omelette
22
Gera árvore explodida pacotes
$ cat buildout.cfg
...
[omelette]
recipe = collective.recipe.omelette
eggs...
Dica: produtos úteis
• Products.Clouseau
• Products.Gloworm
• Products.DocFinderTab
• Products.PDBDebugMode
23
quinta-feir...
Problemas buildout?
• bin/buildout -U
• Evita ler o ~/.buildout/default.cfg
• bin/buildout -D
• Inicia o pdb no ponto da e...
Registro Usuários
25
• Introdução do plone.app.users
• Permite personalizar o formulário
de cadastro (e das preferências) ...
Generic Setup
26
• Crie um snapshot no portal_setup
para ver todas as opções suportadas
• Arquivos devem conter apenas o q...
Dexterity
for the rescue?
27
• Archetypes não morreu (e não vai
morrer tão cedo!)
• Dexterity simplifica a criação de novos...
Outras Regras de Ouro
• Sempre alterar a senha do Manager após o
primeiro acesso
• Nunca mudar manualmente as permissões
d...
Contato
• Dorneles Treméa
• @dorneles
• dorneles@tremea.com
• deo @ irc://irc.freenode.net
29
quinta-feira, 4 de novembro ...
Upcoming SlideShare
Loading in …5
×

Melhores Práticas para o Desenvolvimento com Plone 4

1,908 views
1,829 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,908
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
52
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Melhores Práticas para o Desenvolvimento com Plone 4

  1. 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. 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. 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
  4. 4. 4 Plone? (WTF?) quinta-feira, 4 de novembro de 2010
  5. 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. 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. 7 quinta-feira, 4 de novembro de 2010
  8. 8. Plone é RÁPIDO! 8 quinta-feira, 4 de novembro de 2010
  9. 9. Primeiros Passos • Sistema Operacional • Python • Buildout • Coca-Cola Código • Profit! 9 quinta-feira, 4 de novembro de 2010
  10. 10. Desenvolvimento & Produção Sistema Operacional 10 quinta-feira, 4 de novembro de 2010
  11. 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. 12. Buildout “Live together, die alone!” -- Lost S02E23 12 quinta-feira, 4 de novembro de 2010
  13. 13. Controle deVersões Não interessa qual, mas use alguma coisa, pelamordedeus! :-P 13 quinta-feira, 4 de novembro de 2010
  14. 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. 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. 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. 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. 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. 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. 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. 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. 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. 23. Dica: produtos úteis • Products.Clouseau • Products.Gloworm • Products.DocFinderTab • Products.PDBDebugMode 23 quinta-feira, 4 de novembro de 2010
  24. 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. 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. 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. 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. 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. 29. Contato • Dorneles Treméa • @dorneles • dorneles@tremea.com • deo @ irc://irc.freenode.net 29 quinta-feira, 4 de novembro de 2010

×