How healthy is TYPO3?

2,501 views

Published on

Introducing the TYPO3 projects pear.typo3.org, ci.typo3.org and metrics.typo3.org

Talk about lessons we learned and what's the Roadmap for improving TYPO3 Core and TER quality.

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

No Downloads
Views
Total views
2,501
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
11
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

How healthy is TYPO3?

  1. 1. How healthy is TYPO3? Christian Trabold TYPO3 Developer Days 2011Improving Quality with automation
  2. 2. Agenda Introduction Lessons learned Roadmap for TYPO3 Core and TER Examples Questions & Answers
  3. 3. Dowloads & Feedback I am listening to you on twitter @typo3_ci / @ctrabold Ask! It‘s okay to ask :) More details in the workshop on Saturday 01:30PM in Room 20.401Christian
  4. 4. About me Christian Trabold Senior Developer Web since 1999 TYPO3 since 2004 dkd since 2006 Focus on quality assurance Author of TYPO3 Kochbuch, O‘Reilly E-Mail christian.trabold@dkd.de Twitter @ctrabold
  5. 5. Kudos Gerrit Integration, CodeSniffer, Core Job Stefano Kowalke Andy Grunwald Steffen Gebert Sebastian Kurfürst Timo Webler Karsten Dambekalns Thanks dkd for sponsoring the Server!
  6. 6. What started one year ago ci.typo3.org 6At TYPO3 Conference 2010 in Frankfurt
  7. 7. Automate tests on your code Use CPU power to help you Providing reports and code metrics Check for Syntax errors Design aws Copy & Paste codeWe do check the code of more than 1300 Extensions from forge.typo3.org regulary
  8. 8. Reports are a good start for good better quality. http://www. ickr.com/photos/ uzo/97673183/Even a rough Report helps you to get quicker into the code.But it turns out that the metrics are hard to find on ci.typo3.org and rather boring.so we introduced Sonar for displaying metrics.Sonar is a tool specialized on displaying metrics.
  9. 9. Project components pear.typo3.org ci.typo3.org metrics.typo3.orgNow we have these components:
  10. 10. pear.typo3.org - The repository Provides TYPO3 Coding Guidelines as phpCodeSniffer Rules Provides a standardized interface for deploying packages through PEAR Channel Co deS niff er
  11. 11. ci.typo3.org - The worker Does the boring jobs over and over again Gets triggered by Commits and new les Does lint & testing Generates metrics Has slaves Co ntin uou sT est ing Co deS niff er
  12. 12. metrics.typo3.org - The dashboard Displays metrics Provides graphs Allows deeper code analyses Dis pla y Me tric s Co ntin uou sT est ing Co deS niff er
  13. 13. forge.typo3.org - The taskcenter Colaborate Collect ideas Get things done Tak e act ion Dis pla y Me tric s Co ntin uou sT est ing Co deS niff er
  14. 14. Challenges Understand the tools Load testing Gather all extensionsWhat happend in this one year?We created a very big Jenkins installation; Learned a lot about Chef, Jenkins, Groovy, Sonar,Metrics... There were some wrong paths (we dont need documentation on ci.typo3.org forexample)
  15. 15. Mean: 2GB
  16. 16. Mean: 17GB
  17. 17. Move on!NOW we have the right toolsand enough knowledge
  18. 18. RoadmapTesting TYPO3 CoreAnalyzing TYPO3 Extension Repository
  19. 19. Core Jobs Focus on Testing Deliver a stable productAnswers Question: How stable is our product?Metrics are nice to have
  20. 20. Roadmap for core jobs Find Syntax Errors Sniff Code against TYPO3 CGL Support Reviews on Gerrit
  21. 21. Next tasks for core jobs Run UnitTests for JavaScript and PHP on each commit Check for Regressions Run User Acceptance Tests every night Test Core in different versions with different OS and DB-Backends Long term: Packaging
  22. 22. Example Regression Test Feature: Perform a search in the introduction package Scenario: Visit Website Given I am on homepage When I fill in "spSearch" with "TYPO3" And I click on image "spSearchGo" Then I should see "Your search: TYPO3" And I should see "Results: 10"Everybody can contribute tests
  23. 23. Extension Jobs Focus on code metrics Know whats going on in TERTesting is on developer side!
  24. 24. Roadmap for extension jobs Check for Duplicated Code Detect Anti-Patterns and security aws Support Security Team in nding code aws Next: Integrate all extensions from TERAnswers Question: How healthy is TER?
  25. 25. TER Karma is TYPO3 Karma Everybody can publish extenstions TER is world writeable TER is Userland with a huge unknown code base … and Security issuesTER can have bad influence on TYPO3-Karma
  26. 26. ShowcaseWouldnt it be great to...
  27. 27. Have an overview about securityflaws
  28. 28. Find such issues early http://twitter.com/#!/xperseguers/status/87958204398583808
  29. 29. Mark extensions as "imcompatible" http://twitter.com/#!/xperseguers/status/80213031602225152or provide a fix!
  30. 30. Benefits Get trending graphs for TYPO3 codebase Numbers make marketing guys happy, too! See that Code gets better … or worse.Metrics != everything, but a lotWe need experience interpreting the numbers. Tweak. Optimize. But it will help.- encouraging devs?
  31. 31. Business valuesTell good from bad by numbersReduce risk before integrating extensions
  32. 32. Use case: Its TYPO3 bugday and you have 2 hours time to work on code.Which extension would you choose to work on? Hints: take a look on metrics.typo3.org
  33. 33. Get overview of Extensions Provide constructive feedback http://www. ickr.com/photos/69er/329057062/Change the perspective!Get back control.
  34. 34. Tell me: How healthy is TYPO3? Next conference we have real numbers ;-)Metrics != everything, but a lotWe need experience interpreting the numbers. Tweak. Optimize. But it will help.
  35. 35. Want to help? Join the workshop! Saturday 01:30PM Room 20.401Nice to have: Unix / MacOS, Ruby, Groovy, Java; Admin for typo3.org?Todos: unpack T3X files for TER; Provide WebInterface for querying forge extensions
  36. 36. dkd development kommunikation designThanks!

×