How not to develop with Plone

3,682 views

Published on

A talk about common mistakes in Plone development. Video is available on blip.tv as well. http://ploneconference2010.blip.tv/file/4304533/

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

No Downloads
Views
Total views
3,682
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
17
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

How not to develop with Plone

  1. How not to develop with Plone Lennart Regebro, Colliberty Plone Conference 2010, Bristol
  2. How not to develop with Plone (A rant) Lennart Regebro, Colliberty Plone Conference 2010, Bristol
  3. Don't do your own scaffolding!
  4. Use paster
  5. Paster $ easy_install ZopeSkel $ paster create --list-templates $ paster create -t plone3_theme $ paster create -t archetype $ paster create -t basic_namespace
  6. Plone buildouts beware! ● No Plone 4 support (yet) ● But plone_hosting template has some utilities: ● ZEO Server + Client ● zopepy ● logrotate ● supervisor
  7. Everything else beware! The module name must have the correct number of dots! ZopeSkel#basic_namespace: One dot ZopeSkel#nested_namespace: Two dots
  8. Local commands $ paster addcontent --list-all $ paster addcontent contenttype $ paster addcontent portlet $ paster addcontent view
  9. Clean up! ExampleTypeSchema['title'].storage = atapi.AnnotationStorage() ExampleTypeSchema['description'].storage = atapi.AnnotationStorage() ... class ExampleType(base.ATCTContent): ... title = atapi.ATFieldProperty('title') description = atapi.ATFieldProperty('description')
  10. Don't use doctests
  11. Don't use doctests Unless you are testing documentation
  12. Don't reinstall to make updates Make upgrade steps
  13. Don't host the project yourself Use the collective svn Upload to the Cheese Shop
  14. Don't use trunk
  15. Don't assume so much
  16. Don't require so much
  17. Don't be so monolithic
  18. Don't overuse components
  19. Don't fight the framework
  20. Don't use content types For things that are not content
  21. Don't use ZTK when it conflicts with The Plone Way
  22. Don't use CMF To do things you can do without it
  23. zope.event subscribers = [] def notify(event): for subscriber in subscribers: subscriber(event)
  24. blog.star
  25. blog.star collective.blog.view collective.blog.feeds collective.blog.portlets collective.blog.star
  26. Photo credits Half scaffolding - istolethetv Toothmato paste - Scott Feldstein Eye Tests - State Records New South Wales Unloved Wicker Trunk – Fredo Alvarez Thinking... Please wait - Karola Riegler Ass Required - vhhammer Effort - Kris Bradley MeccanoStyrofoam – Conor Lawless 155/365 Infinite Regression (fractal) - Stuart Pilbrow underneath a star – Jeremy Villasis
  27. Thank you Lennart Regebro regebro@gmail.com http://regebro.wordpress.com/

×