Your SlideShare is downloading. ×
Pimp my Plone
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Pimp my Plone

257
views

Published on

People willing to add new features to their websites have too much of a choice. Choosing and testing addons is a task that requires either developer-superpowers and a unlimited budget or blind faith …

People willing to add new features to their websites have too much of a choice. Choosing and testing addons is a task that requires either developer-superpowers and a unlimited budget or blind faith and dumb luck. In this talk we'll find out how to walk the middle ground and live to tell the tale.
See a video of the talk at http://www.youtube.com/watch?v=Sc6NkqaSjqw

Published in: Technology, Sports

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
257
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
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
  • There are over 1000 repos in the plone-collective on githubThe products-section on plone.org holds 2170 add-onsThe search for Plone on pypi yields 2800 packages The addons vary in quality, maturity, age and reliability.
  • The products-section on plone.org holds 2170 add-onsThe search for Plone on pypi yields 2800 packages The addons vary in quality, maturity, age and reliability. Nobody can say they know all plone-addons.
  • Finding, choosing and testing addons is a task that requires either developer-superpowers and a unlimited budget or blind faith and dumb luck. So what should you do to not end up lokking like the sad little elephant looking for the right flower? You need a plan.
  • Find out what you think you really need. Surprisingly often you do not know what you need. On the one hand that makes it hard to even know what to look for in an addon. On the other hand that's a good thing because you'll almost never find an add-on that exactly fits your needs.
  • So you'll have to either* adapt your needs and expectations to what is available,* invest the time & money to modify an existing addons to fit your needs* or create a new addon that does exactly what you needUsually we have all three cases in any project.
  • To be able to make a informed decision you make a list of features and prioritize.Example:* Must-have: Play videos on iOS, FF and IE8+* Nice-to have: Support html5-videoThis way you're able to make a informed decision one you found some candidates.
  • But how do you find candidates? There is no good list of addons. There are either...
  • to few like in plone/products
  • or too many..
  • Search before you ask! 1. http://plone.org/products 2. https://pypi.python.org/p ypi - use the search form!3. https://github.com/collective >1000 repositories!4. h ttps://github.com/plone 240 repos - not all of them are part of the core yet!5. search mailing list-arch ive: http://news.gmane.org/gmane.comp.web.zope.plone.user 6. googleDo all six! In fact it only appears that we have to much choice. There are a lot of addons that do not exist yet.You'll have to write it yourself or pay someone to do this.We rarely have projects were we don't have to write our own addons. There is no harm in this!Usually these addons don't get released on pypi or even on github since they only fit the usecase of that customer.Sometimes addons can be of use to the wider public. Example: collective.noticeboard (sticky notes for plone)
  • If you did not find an addon that fits your needs ask.Actually you might have missed the very best addon for your usecase since the name is somewhat weird (anyone uwosh.north*), it has not been put on plone.org/products or because it is very new.1. irc: #plone on irc.freenode.net2. mailing-list: http://news.gmane.org/gmane.comp.web.zope.plone.user or http://plone.org/support/forums ( http://plone.org/su pport/lists )screenshot: http:// thread.gmane.org/gmane.comp.web.z ope.plone.user/116572/focus=11 6643 3. I think stackoverflow is not the rig ht platform for such a question but you might try it
  • We can satisfy the 85% by providing a up-to-date list of the best addons for frequent use-cases.- Product shortlist https://docs.google.com/spreadsheet/ccc?key=0At7ok0VqX0egdExISThOa0JBYjVUYi1pWmRDU0QyeUE#gid=0 Paul already talked about that
  • Once you think you found a likely candidate: Look closely
  • Test the key features thoroughly. Some addons promise more than they can deliver.
  • Check how fresh and how well maintained the product is. When was the latest release? Are there hundreds of unresolved Bugs in the bug-tracker? Has is recently seen developments? When was the latest release? Are there hundreds of unresolved Bugs in the bug-tracker? Has is recently seen developments? When was the latest release? Are there hundreds of unresolved Bugs in the bug-tracker? Has is recently seen developments?
  • Does it run with your Plone-Version? Many addons are not yet updated to work with Plone 4.3.x () Many releases of addons won't work with Plone 3.3.x or even Plone 4.0Maybe you need to use a older version of an addon to run it.
  • Are all strings properly translated into your language(s). You have to click through all public-facing UI in all your required languages.
  • Does it uninstall cleanly?* Are there instructions for uninstalling?* Do they work?You really need to test that.First uninstall it or follow the instructions (maybe the tell you to run a uninstall-profile). Then remove it from buildout, rerun buidlout and restart the site. If nothing breaks you might just be lucky.Among the bad boys are:* p4a.** singing & dancing* LinguaPlone
  • You'll spend days and sleepless nights trying to get rid of them. You'll work through a lot ob blogpost and mailthreads but might still end up without being able to get rid of the Add-on.It happend to me more often than I care to admit!If an add-on won't uninstall properly you have a choice:* use it anyway and live with the consequences* improve the uninstall-story* use something else Read the great blogpost by Luca Fabbri: http://blog.keul.it/2013/05/how-to-make-your-plone-add-on-products.html
  • Imaging you marry the girl of your dreams but one day you realize the brother she never talked about has just been released from jail and now want's to move in. This is how it feels to realize that the dependencies of a product have unexpected bad boys among them.- Check for other packages (e.g. flowplayer depends on several hachoir-packages, not bad but good to know)- Check for the required versions of these packages (e.g. plone.app.themeeditor uses Zopeskel 3.x/templer -> incompatible to any addon that depends on ZopeSkel 2)
  • * Just how many js-libraries will be pulled into your page-load?* Why does the site run very slow?* I once wrote code that iterated over all users and created some special vocabulary from them. I did not expect that code being used in a site with thousands of users hammering a erratic LDAP with queries.
  • What to do if it's not working like it should? Sometimes you'll have to fix an existing addon or add some functionality. Write a bug-report or feature-request.The bug-trackers are usually on github and are usually mentioned in the pypi-page.Example: https://github.com/smcmahon/Products.PloneFormGen/issues If you are a developer you might want to fix it yourselves. I do it all the time.If your bug-report gets ignored and you need to find someone to fix something check the list of people who recently commited to the package. To do so you go to the github-page of the addon.Example: https://github.com/collective/collective.oembed/commits/ master You should only contact people directly if you are prepa red to eventually pay them for the work they are supposed to be doing on your behalf.
  • Once you found them tend to them and keep them in a nice row.This includes:* Pinn your versions* Don't use source-checkouts in production* Pinn revisions if you have to use source-checkouts* Keep track of updates and development* Check your add-ons early if you plan a update* Prevent bitrot by following the development and participatingThen the addons will be great troopers and you or your customers will be happy.
  • We have room for up to four questions
  • Transcript

    • 1. PIMP MY PLONE Philip Bauer www.starzel.de
    • 2. There are over 1000 repos in the plone-collective on github The products-section on plone.org holds 2170 add-ons The search for Plone on pypi yields 2800 packages The addons vary in quality, maturity, age and reliability.
    • 3. The products-section on plone.org holds 2170 add-ons The search for Plone on pypi yields 2800 packages The addons vary in quality, maturity, age and reliability. Nobody can say they know all plone-addons.
    • 4. Finding, choosing and testing addons is a task that requires either developer-superpowers and a unlimited budget or blind faith and dumb luck. So what should you do to not end up lokking like the sad little elephant looking for the right flower? You need a plan.
    • 5. Make a list of features Find out what you think you really need. Surprisingly often you do not know what you need. On the one hand that makes it hard to even know what to look for in an addon. On the other hand that's a good thing because you'll almost never find an add-on that exactly fits your needs.
    • 6. Adapt So you'll have to either * adapt your needs and expectations to what is available, * invest the time & money to modify an existing addons to fit your needs * or create a new addon that does exactly what you need Usually we have all three cases in any project.
    • 7. Prioritize To be able to make a informed decision you make a list of features and prioritize. Example: * Must-have: Play videos on iOS, FF and IE8+ * Nice-to have: Support html5-video This way you're able to make a informed decision one you found some candidates.
    • 8. Finding the right one But how do you find candidates? There is no good list of addons. There are either...
    • 9. Too few to few like in plone/products
    • 10. Too many or too many..
    • 11. 1. http://plone.org/products 2. https://pypi.python.org/pypi 3. https://github.com/collective 4. https://github.com/plone 5. http://news.gmane.org/gmane.comp.web.zope.plone.user 6. google Search before you ask! 1. http://plone.org/products 2. https://pypi.python.org/pypi - use the search form! 3. https://github.com/collective >1000 repositories! 4. https://github.com/plone 240 repos - not all of them are part of the core yet! 5. search mailing list-archive: http://news.gmane.org/gmane.comp.web.zope.plone.user 6. google Do all six! In fact it only appears that we have to much choice. There are a lot of addons that do not exist yet. You'll have to write it yourself or pay someone to do this. We rarely have projects were we don't have to write our own addons. There is no harm in this! Usually these addons don't get released on pypi or even on github since they only fit the usecase of that customer. Sometimes addons can be of use to the wider public. Example: collective.noticeboard (sticky notes for plone)
    • 12. Ask If you did not find an addon that fits your needs ask. Actually you might have missed the very best addon for your usecase since the name is somewhat weird (anyone uwosh.north*), it has not been put on plone.org/products or because it is very new. 1. irc: #plone on irc.freenode.net 2. mailing-list: http://news.gmane.org/gmane.comp.web.zope.plone.user or http:// plone.org/support/forums (http://plone.org/support/lists) screenshot: http://thread.gmane.org/gmane.comp.web.zope.plone.user/116572/ focus=116643 3. I think stackoverflow is not the right platform for such a question but you might try it
    • 13. Shortlist We can satisfy the 85% by providing a up-to-date list of the best addons for frequent use- cases. - Product shortlist https://docs.google.com/spreadsheet/ccc? key=0At7ok0VqX0egdExISThOa0JBYjVUYi1pWmRDU0QyeUE#gid=0 Paul already talked about that
    • 14. So test therefore, who join forever, If heart to heart be found together! F. Schiller Once you think you found a likely candidate: Look closely
    • 15. Promises Test the key features thoroughly. Some addons promise more than they can deliver.
    • 16. Freshness Check how fresh and how well maintained the product is. • When was the latest release? • Are there hundreds of unresolved Bugs in the bug-tracker? • Has is recently seen developments?
    • 17. Compatability Does it run with your Plone-Version? • Many addons are not yet updated to work with Plone 4.3.x () • Many releases of addons won't work with Plone 3.3.x or even Plone 4.0 Maybe you need to use a older version of an addon to run it.
    • 18. i18n-support Are all strings properly translated into your language(s). You have to click through all public-facing UI in all your required languages.
    • 19. Will it uninstall? Does it uninstall cleanly? * Are there instructions for uninstalling? * Do they work? You really need to test that. First uninstall it or follow the instructions (maybe the tell you to run a uninstall-profile). Then remove it from buildout, rerun buidlout and restart the site. If nothing breaks you might just be lucky. Among the bad boys are: * p4a.* * singing & dancing * LinguaPlone
    • 20. http://blog.keul.it/2013/05/how-to-make-your- plone-add-on-products.html You'll spend days and sleepless nights trying to get rid of them. You'll work through a lot ob blogpost and mailthreads but might still end up without being able to get rid of the Add-on. It happend to me more often than I care to admit! If an add-on won't uninstall properly you have a choice: * use it anyway and live with the consequences * improve the uninstall-story * use something else Read the great blogpost by Luca Fabbri: http://blog.keul.it/2013/05/how-to-make-your- plone-add-on-products.html
    • 21. Dependencies Imaging you marry the girl of your dreams but one day you realize the brother she never talked about has just been released from jail and now want's to move in. This is how it feels to realize that the dependencies of a product have unexpected bad boys among them. - Check for other packages (e.g. flowplayer depends on several hachoir-packages, not bad but good to know) - Check for the required versions of these packages (e.g. plone.app.themeeditor uses Zopeskel 3.x/templer -> incompatible to any addon that depends on ZopeSkel 2)
    • 22. Load * Just how many js-libraries will be pulled into your page-load? * Why does the site run very slow? * I once wrote code that iterated over all users and created some special vocabulary from them. I did not expect that code being used in a site with thousands of users hammering a erratic LDAP with queries.
    • 23. What to do if it's not working like it should? Sometimes you'll have to fix an existing addon or add some functionality. Write a bug-report or feature-request. The bug-trackers are usually on github and are usually mentioned in the pypi-page. Example: https://github.com/smcmahon/Products.PloneFormGen/issues If you are a developer you might want to fix it yourselves. I do it all the time. If your bug-report gets ignored and you need to find someone to fix something check the list of people who recently commited to the package. To do so you go to the github-page of the addon. Example: https://github.com/collective/collective.oembed/commits/master You should only contact people directly if you are prepared to eventually pay them for the work they are supposed to be doing on your behalf.
    • 24. Keeps your troops organized Once you found them tend to them and keep them in a nice row. This includes: * Pinn your versions * Don't use source-checkouts in production * Pinn revisions if you have to use source-checkouts * Keep track of updates and development * Check your add-ons early if you plan a update * Prevent bitrot by following the development and participating Then the addons will be great troopers and you or your customers will be happy.
    • 25. ? ? ? ? Questions Philip Bauer www.starzel.de irc: pbauer github: pbauer twitter: StarzelDe We have room for up to four questions
    • 26. Napkin plan http://www.flickr.com/photos/cogdog/6293680050 Lost for choice http://www.flickr.com/photos/kool_skatkat/3194000700 troop inspection http://www.flickr.com/photos/pasukaru76/4016842259/ crossed fingers http://www.flickr.com/photos/daniel_gies/5052886953 maintenance http://www.flickr.com/photos/doug88888/2780642603 wrong plug http://www.flickr.com/photos/kaptainkobold/3203311346 menu http://www.flickr.com/photos/orangebrompton/9189799267 zombie http://www.flickr.com/photos/ianaberle/4577125935 how to kill a zombie http://www.flickr.com/photos/12905355@N05/5818578916 truck http://www.flickr.com/photos/webethere/8709657798 stromtroopers http://www.flickr.com/photos/legofenris/4212007962 Images