Your SlideShare is downloading. ×
  • Like
How not to develop with Plone
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

How not to develop with Plone

  • 2,214 views
Published

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

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,214
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
15
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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/