SlideShare uma empresa Scribd logo
1 de 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
How to use code metrics to improve quality
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 :)

Mais conteúdo relacionado

Destaque

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
 

Destaque (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
 

Mais de 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
 

Mais de 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
 

Último

COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimizationarrow10202532yuvraj
 
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"DianaGray10
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...Daniel Zivkovic
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 

Último (20)

COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization
 
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 

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
  • 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 :)