SlideShare una empresa de Scribd logo
1 de 16
ESSENTIAL PLONE
DEVELOPMENT TOOLS
          Kim Chee Leong
 Goldmund, Wyldebeast & Wunderliebe
INTRODUCTION


• See   collective.exampledevtools on github.com for examples

 • https://github.com/collective/collective.exampledevtools

• The   tools which can be used during development

• No    elaborate code examples
Where to find help?

• Read   collective.developermanual

  • http://collective-docs.readthedocs.org

• Try   searching duckduckgo/google, Stackoverflow, Plone mailing
 list

• Ask   your question on IRC (freenode, #plone) or Plone mailing
 list

• Read   Plone books: http://plone.org/documentation/books
Scaffolding
Use Templer or ZopeSkel to
 generate code skeletons
Speed up buildout

• Use   latests buildout (1.6.x)

• See: http://rpatterson.net/
 blog/buildout-performance-
 improvements

• Useallow-hosts in buildout
 config

• Run   ./bin/buildout -N -t 5
mr.developer
sauna.reload
  so that you can finish your
Plone development today and
relax in sauna after calling it a
             day
collective.recipe.omelette
collective.recipe.omelette
plone.app.debugtoolbar
plone.app.theming
Got frozen
  Plone?
mr.freeze to the rescue
Automate egg releasing

• Use     jarn.mkrelease or zest.releaser

• Releasing       a Python egg involves:
  •   Bumping the version number

  •   Updating history/changes file

  •   Tagging the release in version control

  •   Creating the egg

  •   Uploading the egg to pypi.python.org or a private egg server
Continuous integration
• Use Travis   CI for opensource GitHub projects

• Use   Jenkins for internal company projects
QUESTIONS?


• http://www.gw20e.com

• https://github.com/collective/collective.exampledevtools

• Twitter: @kaceeleong

• IRC: kacee
PHOTO CREDITS
• http://www.flickr.com/photos/davespencer/6212710431/

• http://www.flickr.com/photos/garnets1973/2771182195

• http://www.flickr.com/photos/lucid_nightmare/74316267/

• http://fschulze.github.com/mr.developer/xkcd-buildout.png
 (Remixed by Matt Hamilton, original from http://xkcd.com/303)


• Thesauna.reload logo was originally the logo of Sauna Sprint
 2011 and it was created by Vilmos Somogyi.

Más contenido relacionado

La actualidad más candente

A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
abodeltae
 

La actualidad más candente (20)

Running jenkins in a public cloud - common issues and some solutions
Running jenkins in a public cloud - common issues and some solutionsRunning jenkins in a public cloud - common issues and some solutions
Running jenkins in a public cloud - common issues and some solutions
 
Introduction to Gitea with Drone
Introduction to Gitea with DroneIntroduction to Gitea with Drone
Introduction to Gitea with Drone
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Jenkins Best Practices
Jenkins Best PracticesJenkins Best Practices
Jenkins Best Practices
 
Intro to Github Actions @likecoin
Intro to Github Actions @likecoinIntro to Github Actions @likecoin
Intro to Github Actions @likecoin
 
ReactJS
ReactJSReactJS
ReactJS
 
Modern Tools: Provisioning Enviornments
Modern Tools: Provisioning EnviornmentsModern Tools: Provisioning Enviornments
Modern Tools: Provisioning Enviornments
 
手機自動化測試和持續整合
手機自動化測試和持續整合手機自動化測試和持續整合
手機自動化測試和持續整合
 
GitHub Actions - Melbourne UG
GitHub Actions - Melbourne UGGitHub Actions - Melbourne UG
GitHub Actions - Melbourne UG
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
 
JHipster presentation by Gaetan Bloch
JHipster presentation by Gaetan BlochJHipster presentation by Gaetan Bloch
JHipster presentation by Gaetan Bloch
 
Github in Action
Github in ActionGithub in Action
Github in Action
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productive
 
Using the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to BitbucketUsing the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to Bitbucket
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
 
Get Ur Git On: Introduction and getting started with Github
Get Ur Git On: Introduction and getting started with GithubGet Ur Git On: Introduction and getting started with Github
Get Ur Git On: Introduction and getting started with Github
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
 
Github
GithubGithub
Github
 

Destacado

Destacado (13)

Start-up kid - Arduino workshop
Start-up kid - Arduino workshopStart-up kid - Arduino workshop
Start-up kid - Arduino workshop
 
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign WorkshopGoldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
 
PyGrunn - Buildout presentation
PyGrunn - Buildout presentationPyGrunn - Buildout presentation
PyGrunn - Buildout presentation
 
Ontmoet de stapelaar
Ontmoet de stapelaarOntmoet de stapelaar
Ontmoet de stapelaar
 
Mediawijsheid in het onderwijs - Jorick Scheerens - OWD14
Mediawijsheid in het onderwijs - Jorick Scheerens - OWD14Mediawijsheid in het onderwijs - Jorick Scheerens - OWD14
Mediawijsheid in het onderwijs - Jorick Scheerens - OWD14
 
2015-01-20 21st century skills in the Netherlands
2015-01-20 21st century skills in the Netherlands2015-01-20 21st century skills in the Netherlands
2015-01-20 21st century skills in the Netherlands
 
'The making of the new Mark Zuckerberg' - Programmeren in het onderwijs - Pau...
'The making of the new Mark Zuckerberg' - Programmeren in het onderwijs - Pau...'The making of the new Mark Zuckerberg' - Programmeren in het onderwijs - Pau...
'The making of the new Mark Zuckerberg' - Programmeren in het onderwijs - Pau...
 
Plone deployment made easy
Plone deployment made easyPlone deployment made easy
Plone deployment made easy
 
Computational Thinking - Symposium
Computational Thinking - SymposiumComputational Thinking - Symposium
Computational Thinking - Symposium
 
Geanimeerd leren met scratch zonder filmpjes
Geanimeerd leren met scratch zonder filmpjesGeanimeerd leren met scratch zonder filmpjes
Geanimeerd leren met scratch zonder filmpjes
 
Ontwikkeling van onderwijs in 21e-eeuwse vaardigheden en digitale vaardighede...
Ontwikkeling van onderwijs in 21e-eeuwse vaardigheden en digitale vaardighede...Ontwikkeling van onderwijs in 21e-eeuwse vaardigheden en digitale vaardighede...
Ontwikkeling van onderwijs in 21e-eeuwse vaardigheden en digitale vaardighede...
 
"Heb je genoeg geleerd vandaag?"- De kwaliteitscyclus
"Heb je genoeg geleerd vandaag?"- De kwaliteitscyclus"Heb je genoeg geleerd vandaag?"- De kwaliteitscyclus
"Heb je genoeg geleerd vandaag?"- De kwaliteitscyclus
 
Responsive webdesign presentatie - Nederlandse Plone gebruikersdag 2012
Responsive webdesign presentatie - Nederlandse Plone gebruikersdag 2012Responsive webdesign presentatie - Nederlandse Plone gebruikersdag 2012
Responsive webdesign presentatie - Nederlandse Plone gebruikersdag 2012
 

Similar a Essential Plone development tools - Plone conf 2012

August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Vim Plugin Deployment
Vim Plugin DeploymentVim Plugin Deployment
Vim Plugin Deployment
偉格 高
 
Package Management and Chef - ChefConf 2015
Package Management and Chef - ChefConf 2015Package Management and Chef - ChefConf 2015
Package Management and Chef - ChefConf 2015
Chef
 

Similar a Essential Plone development tools - Plone conf 2012 (20)

Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Continuous Delivery of Puppet Manifests
Continuous Delivery of Puppet ManifestsContinuous Delivery of Puppet Manifests
Continuous Delivery of Puppet Manifests
 
Beyond Domino Designer
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino Designer
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
Jfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptxJfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptx
 
FooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptxFooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptx
 
ConcourseCi overview
ConcourseCi  overviewConcourseCi  overview
ConcourseCi overview
 
CICD_1670665418.pdf
CICD_1670665418.pdfCICD_1670665418.pdf
CICD_1670665418.pdf
 
Getting started with Octopus Deploy
Getting started with Octopus DeployGetting started with Octopus Deploy
Getting started with Octopus Deploy
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure Databricks
 
Vim Plugin Deployment
Vim Plugin DeploymentVim Plugin Deployment
Vim Plugin Deployment
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
2018-07-23 blogdown for what
2018-07-23 blogdown for what2018-07-23 blogdown for what
2018-07-23 blogdown for what
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Package manages and Puppet - PuppetConf 2015
Package manages and Puppet - PuppetConf 2015Package manages and Puppet - PuppetConf 2015
Package manages and Puppet - PuppetConf 2015
 
Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
 
Package Management and Chef - ChefConf 2015
Package Management and Chef - ChefConf 2015Package Management and Chef - ChefConf 2015
Package Management and Chef - ChefConf 2015
 
Chef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & ChefChef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & Chef
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Essential Plone development tools - Plone conf 2012

Notas del editor

  1. Explain who I am and what I do.\n
  2. \n
  3. Mention new colleagues\nPlone.org has outdated information\nPlone has a steep learning curve, I hope we can ease that curve. \nNabble for mailing list, excellent books available\n
  4. Installing templer/zopeskel using pip/easy_install\nCreate buildouts, Python eggs, Plone CT/Theme etc.\nWhen creating a product (<-explain) we can use Templer to create the boiler plate code. \nExplain: what we can create and ... what local commands do.\nRefer to the talk given by Chris Ewing ‘Zopeskel, the past present and future’. Friday morning.\n\n
  5. Buildout is slow, but it’s getting better\nAllow-hosts, explain index servers\nMention how we split up buildouts (dev/live)\nLocal buildout cache, company egg mirror\n
  6. Explain you’ve got a buildout with src dir.\nBenefits of mr.developer:bulk update, checkout a package\n
  7. Explain about the sauna.reload sprint (jealous!)\nHow we (plone) develop; restart zserver\n
  8. Explain how buildout incorporates the Python eggs\nSome times you need to use the source\n
  9. Explain how buildout incorporates the Python eggs\nSome times you need to use the source luke\n
  10. Replaces the ZMI functionality (name which)\n
  11. Explain briefly how old Plone themes work.\nExplain what Diazo does (html mock-ups, content, rules file).\nExplain what advantage this has (designer -> html2pdf servive -> integrator).\n\n
  12. Explain about a frozen Plone instance, rss feed that was timing out.\nUse mr.freeze or products.signalstack. Explain how they can be used.\n
  13. Releasing an egg properly requires a few steps. \n
  14. We all write tests, do we?\nExplain CI\nFinally, explain plone.api (alpha, things can break)\n
  15. \n
  16. \n