Upload
dorneles-tremea
View
1.749
Download
2
Embed Size (px)
Citation preview
Melhores Práticas para desenvolvimento com
Plone 4http://www.slideshare.net/dorneles/melhores-praticas-dev-plone-4
Curitiba, PythonBrasil[6]23 de Outubro de 2010
Dorneles TreméaX3ng / 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 de Versõ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/zopedownload-cache=/home/dorneles/cache/downloaddownload-directory=/home/dorneles/cache/downloadeggs-directory=/home/dorneles/cache/eggsextends-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 -VPython 2.6.1$ source ~/python/python-2.6/bin/activate$ python -VPython 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.cfgextends = ... versions.cfg$ cat versions.cfg[versions]package.one = 1.0package.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:plonepackages-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.omeletteeggs = ${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áriode 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
Dexterityfor 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
• deo @ irc://irc.freenode.net
29
quinta-feira, 4 de novembro de 2010