SlideShare a Scribd company logo
1 of 36
How to use code
metrics to improve
quality
Christian Trabold
TYPO3 Conference 2011
Agenda

 What started one year ago
 What we improved
 What makes metrics sexy
 Questions & Answers
Downloads & Feedback

 Links and further information on
 http://www.delicious.com/christian_trabold/t3con11
 Listening to you on twitter
 #t3con11-qatalk
 Ask!
 It‘s okay to ask after the talk :)
 Meet me!
 At the dkd booth!
About me

 Christian Trabold
 Senior Developer
 Web since 1999
 TYPO3 since 2004
 dkd since 2006
 Focus on quality assurance
 Maintainer of ci.typo3.org
 Author of TYPO3 Kochbuch, O‘Reilly
 E-Mail christian.trabold@dkd.de
 Twitter @ctrabold
What started one year ago




                                   ci.typo3.org

                          5

Why? Personal itch
We spent far too much time on looking on bad code.
Provide metrics for
every TYPO3 extension


              http://www. ickr.com/photos/ uzo/97673183/
Our intention

    We want to improve
    everyday life of an TYPO3 developer
    … while developing extensions.
    … while integrating extensions.
    … while publishing extensions.




We need to find good extensions


developing = constructive feedback
integrating = now flaws befor they find you
publishing = meet the users
Meet the Tools

  typo3.org               me
                               tric
                                      s.ty
  ci.typo3.org                               po3
                                                 .or
                                                     g

  metrics.typo3.org        ci.t
                                  ypo
                                     3.o
                                        rg


                                      TE
                                         R




Now we have these components:
typo3.org - The repository

 Reliable repository
 Details for more than 5000 extensions
 Provides Data for ci.typo3.org




                                   TE
                                      R
ci.typo3.org - The worker

      Runs analyses over and over again
      Generates data for metrics
      Triggered by new releases




                                      ci.t
                                          ypo
                                             3.o
                                                rg


                                             TE
                                                R




We created ci.typo3.org
to aggregate technical information
which is not available within TER.
Crawling code for every exension in TER…
We had to fix some performance issues
Now ci.typo3.org runs smoothly and provides information on each new extension
release.
The GUI gets complex really fast.

And we do have a problem
which we share with the TER.
A lot of information - no good user interface.
We love Jenkins, but…

      Jenkins is a wonderful tool,
      but implementing a cool GUI can get quite
      cumbersome
      Reason: complex GUI, not sexy enough


      Frankly the whole mission
      didn't workout the way we expected.




There must be a better way for displaying Metrics!

Use a specialized tool for the job // Use the tools for what they are intended

So we took a look around: Sonar

Jenkins = worker -> Sonar = dashboard
Sonar (sonarsource.org)

       Displays metrics nicely
       Provides tons of graphs
       Allows deeper code analysis

                                                      me
                                                           tric
                                                                  s.ty
                                                                         po3
                                                                             .or
                                                                                 g

       Running on                                        ci.t
                                                              ypo
                                                                 3.o
                                                                    rg
       metrics.typo3.org
                                                                  TE
                                                                     R




SonarSource = OpenSource
Looked good at the first sight, then I gave it a try - Now I love it!

If you have questions about sonar:
Olivier Gaudin (CEO and Founder of SonarSource)
is speaking at the TYPO3 conference right after my talk in Room C.

http://t3con11-frankfurt.typo3.org/sessions/acceptedpapers/paper/
continuous_inspection.html
Usecase: We need to evaluate extensions A LOT.
Important: Find potential problems as early as possible.

Screencast:
Go to ci.typo3.org (Search on metrics.typo3.org is broken)
Find extensionkey through search
Open details
Click "Sonar" link
Browse metrics
New challenge:
    Search extensions




So, now we have
- the tools to evaluate extensions
- the metrics to see quality of extensions

But, we still can't find them easily…
A typical use case

      I want an extension to search content
      which is written against TYPO3 CGL
      and has a manual
      and it should be an Extbase extension




In technical terms this means...
Search parameters

       I want an frontend plugin
       which has < 30% violations
       and has a le doc/manual.sxw
       and it depends on EXT:extbase


       Currently NOT possible on typo3.org




All these parameters are already available
Re-Think „Search“

  We need a new search badly.

  Why not combine
  powerful metrics with a powerful search?


  Here are some ideas.




As some of you know:
dkd has quite some experience with "Search"
Simple search interface
Filter search results




Metrics get search parameters
Comprehensive details
Useful statistics
RSS feed for notifications
Demo
The complete application stack




                                         me
                                              tric
                                                     s.ty
                                                            po3
                                                                .or
                                                                    g
   Sec                                        ci.t
         uri                                      ypo
            ty   Bu                                  3.o
                   llet                                 rg
                        ins
    Us
         er F                                        TE
                eed                                     R
                      bac
                            k
                                 Search



Search combines all tools
links to metrics & makes metrics searchable
This is just a beginning

 Get noti cations on new
 extensions meeting your search criteria
 Build a semantic view of TYPO3 ecosystem
 Valuable feedback & donations for developers
 Make awesome
 TYPO3 community visible
New perspectives




Example based on https://github.com/skurfuerst/ter-rdf-schema
See the connecting dots




Example based on http://mbostock.github.com/d3/
Very important

    Provide a sane ext_emconf.php for your
    extension.

    Update dependencies & con icts

    Update required TYPO3 & PHP versions



We have these extension settings since ages!

Use them!

They are cucial for a better TER.
Managing
   input + output for TER content




                                     me
                                          tric
                                                 s.ty
                                                        po3
                                                            .or
                                                                g
   Sec                                   ci.t
         uri                                 ypo
            ty   Bu                             3.o
                   llet                            rg
                        ins
    Us
         er F                                    TE
                eed                                 R
                      bac
                            k
                                Search




It's managing the TER I/O.

So let's call it...
Let's call the new tool




ter.io
Status: Prototype

 We've got a prototype running
 Public version planned end of 2011
 Bookmark http://ter.io
 Follow @ter_io
 Get a "hands on" at the dkd booth!
dkd
                                      development
                                      kommunikation
                                      design




                                  Thanks!

Thanks - you are a terrific crowd :)

More Related Content

Viewers also liked

World robotics 2011, executive summary
World robotics 2011, executive summaryWorld robotics 2011, executive summary
World robotics 2011, executive summaryalain Clapaud
 
Accenture : Analytics Survey, mai 2011
Accenture : Analytics Survey, mai 2011Accenture : Analytics Survey, mai 2011
Accenture : Analytics Survey, mai 2011alain Clapaud
 
IDC : Intelligent systems - next big opportunity
IDC : Intelligent systems - next big opportunityIDC : Intelligent systems - next big opportunity
IDC : Intelligent systems - next big opportunityalain Clapaud
 
SproutCore GTUG
SproutCore GTUGSproutCore GTUG
SproutCore GTUGsproutit
 
Pbs infographic consumer france
Pbs infographic consumer francePbs infographic consumer france
Pbs infographic consumer francealain Clapaud
 
Oracle Sprout Core Presentation 2008 08 12
Oracle Sprout Core Presentation 2008 08 12Oracle Sprout Core Presentation 2008 08 12
Oracle Sprout Core Presentation 2008 08 12sproutit
 
Steria Etude sur le Big Data en europe infographic / Septembre 2013
Steria Etude sur le Big Data en europe infographic / Septembre 2013Steria Etude sur le Big Data en europe infographic / Septembre 2013
Steria Etude sur le Big Data en europe infographic / Septembre 2013alain Clapaud
 
Lowe's 2014 smart home survey report
Lowe's 2014 smart home survey reportLowe's 2014 smart home survey report
Lowe's 2014 smart home survey reportalain Clapaud
 
List of robotics projects in Horizon 2020
List of robotics projects in Horizon 2020List of robotics projects in Horizon 2020
List of robotics projects in Horizon 2020alain Clapaud
 
Wohlers report 2013 : Additive Manudacturing and 3D Printing State of the Ind...
Wohlers report 2013 : Additive Manudacturing and 3D Printing State of the Ind...Wohlers report 2013 : Additive Manudacturing and 3D Printing State of the Ind...
Wohlers report 2013 : Additive Manudacturing and 3D Printing State of the Ind...alain Clapaud
 
Neolane analysisebook.v.5
Neolane analysisebook.v.5Neolane analysisebook.v.5
Neolane analysisebook.v.5alain Clapaud
 

Viewers also liked (11)

World robotics 2011, executive summary
World robotics 2011, executive summaryWorld robotics 2011, executive summary
World robotics 2011, executive summary
 
Accenture : Analytics Survey, mai 2011
Accenture : Analytics Survey, mai 2011Accenture : Analytics Survey, mai 2011
Accenture : Analytics Survey, mai 2011
 
IDC : Intelligent systems - next big opportunity
IDC : Intelligent systems - next big opportunityIDC : Intelligent systems - next big opportunity
IDC : Intelligent systems - next big opportunity
 
SproutCore GTUG
SproutCore GTUGSproutCore GTUG
SproutCore GTUG
 
Pbs infographic consumer france
Pbs infographic consumer francePbs infographic consumer france
Pbs infographic consumer france
 
Oracle Sprout Core Presentation 2008 08 12
Oracle Sprout Core Presentation 2008 08 12Oracle Sprout Core Presentation 2008 08 12
Oracle Sprout Core Presentation 2008 08 12
 
Steria Etude sur le Big Data en europe infographic / Septembre 2013
Steria Etude sur le Big Data en europe infographic / Septembre 2013Steria Etude sur le Big Data en europe infographic / Septembre 2013
Steria Etude sur le Big Data en europe infographic / Septembre 2013
 
Lowe's 2014 smart home survey report
Lowe's 2014 smart home survey reportLowe's 2014 smart home survey report
Lowe's 2014 smart home survey report
 
List of robotics projects in Horizon 2020
List of robotics projects in Horizon 2020List of robotics projects in Horizon 2020
List of robotics projects in Horizon 2020
 
Wohlers report 2013 : Additive Manudacturing and 3D Printing State of the Ind...
Wohlers report 2013 : Additive Manudacturing and 3D Printing State of the Ind...Wohlers report 2013 : Additive Manudacturing and 3D Printing State of the Ind...
Wohlers report 2013 : Additive Manudacturing and 3D Printing State of the Ind...
 
Neolane analysisebook.v.5
Neolane analysisebook.v.5Neolane analysisebook.v.5
Neolane analysisebook.v.5
 

More from Christian Trabold

DevOps Meetup Bangkok - Value Stream Mapping for Continuous Delivery
DevOps Meetup Bangkok - Value Stream Mapping for Continuous DeliveryDevOps Meetup Bangkok - Value Stream Mapping for Continuous Delivery
DevOps Meetup Bangkok - Value Stream Mapping for Continuous DeliveryChristian Trabold
 
DevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh CityDevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh CityChristian Trabold
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenDrei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenChristian Trabold
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben Christian Trabold
 
TYPO3 Extension development using new Extbase framework
TYPO3 Extension development using new Extbase frameworkTYPO3 Extension development using new Extbase framework
TYPO3 Extension development using new Extbase frameworkChristian Trabold
 
How to improve the quality of your TYPO3 extensions
How to improve the quality of your TYPO3 extensionsHow to improve the quality of your TYPO3 extensions
How to improve the quality of your TYPO3 extensionsChristian Trabold
 

More from Christian Trabold (8)

DevOps Meetup Bangkok - Value Stream Mapping for Continuous Delivery
DevOps Meetup Bangkok - Value Stream Mapping for Continuous DeliveryDevOps Meetup Bangkok - Value Stream Mapping for Continuous Delivery
DevOps Meetup Bangkok - Value Stream Mapping for Continuous Delivery
 
DevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh CityDevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh City
 
TYPO3 
Infrastructure
TYPO3 
InfrastructureTYPO3 
Infrastructure
TYPO3 
Infrastructure
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenDrei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben
 
How healthy is TYPO3?
How healthy is TYPO3?How healthy is TYPO3?
How healthy is TYPO3?
 
TYPO3 Extension development using new Extbase framework
TYPO3 Extension development using new Extbase frameworkTYPO3 Extension development using new Extbase framework
TYPO3 Extension development using new Extbase framework
 
How to improve the quality of your TYPO3 extensions
How to improve the quality of your TYPO3 extensionsHow to improve the quality of your TYPO3 extensions
How to improve the quality of your TYPO3 extensions
 

Recently uploaded

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 

Recently uploaded (20)

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 

How to use code metrics to improve quality

  • 1. How to use code metrics to improve quality Christian Trabold TYPO3 Conference 2011
  • 2. Agenda What started one year ago What we improved What makes metrics sexy Questions & Answers
  • 3. Downloads & Feedback Links and further information on http://www.delicious.com/christian_trabold/t3con11 Listening to you on twitter #t3con11-qatalk Ask! It‘s okay to ask after the talk :) Meet me! At the dkd booth!
  • 4. About me Christian Trabold Senior Developer Web since 1999 TYPO3 since 2004 dkd since 2006 Focus on quality assurance Maintainer of ci.typo3.org Author of TYPO3 Kochbuch, O‘Reilly E-Mail christian.trabold@dkd.de Twitter @ctrabold
  • 5. What started one year ago ci.typo3.org 5 Why? Personal itch We spent far too much time on looking on bad code.
  • 6. Provide metrics for every TYPO3 extension http://www. ickr.com/photos/ uzo/97673183/
  • 7. Our intention We want to improve everyday life of an TYPO3 developer … while developing extensions. … while integrating extensions. … while publishing extensions. We need to find good extensions developing = constructive feedback integrating = now flaws befor they find you publishing = meet the users
  • 8. Meet the Tools typo3.org me tric s.ty ci.typo3.org po3 .or g metrics.typo3.org ci.t ypo 3.o rg TE R Now we have these components:
  • 9. typo3.org - The repository Reliable repository Details for more than 5000 extensions Provides Data for ci.typo3.org TE R
  • 10. ci.typo3.org - The worker Runs analyses over and over again Generates data for metrics Triggered by new releases ci.t ypo 3.o rg TE R We created ci.typo3.org to aggregate technical information which is not available within TER.
  • 11. Crawling code for every exension in TER… We had to fix some performance issues Now ci.typo3.org runs smoothly and provides information on each new extension release.
  • 12. The GUI gets complex really fast. And we do have a problem which we share with the TER.
  • 13. A lot of information - no good user interface.
  • 14. We love Jenkins, but… Jenkins is a wonderful tool, but implementing a cool GUI can get quite cumbersome Reason: complex GUI, not sexy enough Frankly the whole mission didn't workout the way we expected. There must be a better way for displaying Metrics! Use a specialized tool for the job // Use the tools for what they are intended So we took a look around: Sonar Jenkins = worker -> Sonar = dashboard
  • 15. Sonar (sonarsource.org) Displays metrics nicely Provides tons of graphs Allows deeper code analysis me tric s.ty po3 .or g Running on ci.t ypo 3.o rg metrics.typo3.org TE R SonarSource = OpenSource Looked good at the first sight, then I gave it a try - Now I love it! If you have questions about sonar: Olivier Gaudin (CEO and Founder of SonarSource) is speaking at the TYPO3 conference right after my talk in Room C. http://t3con11-frankfurt.typo3.org/sessions/acceptedpapers/paper/ continuous_inspection.html
  • 16. Usecase: We need to evaluate extensions A LOT. Important: Find potential problems as early as possible. Screencast: Go to ci.typo3.org (Search on metrics.typo3.org is broken) Find extensionkey through search Open details Click "Sonar" link Browse metrics
  • 17. New challenge: Search extensions So, now we have - the tools to evaluate extensions - the metrics to see quality of extensions But, we still can't find them easily…
  • 18. A typical use case I want an extension to search content which is written against TYPO3 CGL and has a manual and it should be an Extbase extension In technical terms this means...
  • 19. Search parameters I want an frontend plugin which has < 30% violations and has a le doc/manual.sxw and it depends on EXT:extbase Currently NOT possible on typo3.org All these parameters are already available
  • 20. Re-Think „Search“ We need a new search badly. Why not combine powerful metrics with a powerful search? Here are some ideas. As some of you know: dkd has quite some experience with "Search"
  • 22. Filter search results Metrics get search parameters
  • 25. RSS feed for notifications
  • 26. Demo
  • 27.
  • 28. The complete application stack me tric s.ty po3 .or g Sec ci.t uri ypo ty Bu 3.o llet rg ins Us er F TE eed R bac k Search Search combines all tools links to metrics & makes metrics searchable
  • 29. This is just a beginning Get noti cations on new extensions meeting your search criteria Build a semantic view of TYPO3 ecosystem Valuable feedback & donations for developers Make awesome TYPO3 community visible
  • 30. New perspectives Example based on https://github.com/skurfuerst/ter-rdf-schema
  • 31. See the connecting dots Example based on http://mbostock.github.com/d3/
  • 32. Very important Provide a sane ext_emconf.php for your extension. Update dependencies & con icts Update required TYPO3 & PHP versions We have these extension settings since ages! Use them! They are cucial for a better TER.
  • 33. Managing input + output for TER content me tric s.ty po3 .or g Sec ci.t uri ypo ty Bu 3.o llet rg ins Us er F TE eed R bac k Search It's managing the TER I/O. So let's call it...
  • 34. Let's call the new tool ter.io
  • 35. Status: Prototype We've got a prototype running Public version planned end of 2011 Bookmark http://ter.io Follow @ter_io Get a "hands on" at the dkd booth!
  • 36. dkd development kommunikation design Thanks! Thanks - you are a terrific crowd :)