Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to better maintain your TYPO3 extensions

How to better maintain your TYPO3 extensions

Slides of my talk about tools I recommend to use for maintaining a public TYPO3 extension (PHP project) at TYPO3 Developer Days 2018

IchHabRecht

June 24, 2018
Tweet

More Decks by IchHabRecht

Other Decks in Programming

Transcript

  1. How to better maintain your (public) extensions Nicole Cordes, biz-design,

    TYPO3 Developer Days 2018
  2. LOW HANGING FRUITS

  3. Resource  Example extension EXT:my_skeleton  https://github.com/IchHabRecht/my_skeleton

  4. ENSURE COMPATIBILITY

  5. What  Continuous Integration Service

  6. How  Continuous Integration Service  Basically some kind of

    task runner  You push your code  Your Git server triggers the CI service or server  Your CI service or server builds and tests your code
  7. Examples  Bamboo  Gitlab CI  Jenkins  Travis

    CI
  8. Showcase  Travis CI  https://travis-ci.org  Run PHP linter

    for multiple versions  Extend the setup executing unit and functional tests  Release new versions automatically to TER
  9. UNIFY CODE STYLE

  10. What  Coding Standards Fixer

  11. How  Software or service analyzing your PHP code 

    Define your code styles  Run the tool or trigger the service  Possible triggers  Own task in your CI build/test  Service triggered by a Git push
  12. Examples  PHP Coding Standards Fixer (PHP CS Fixer) 

    PHP_CodeSniffer  StyleCI  Manual: PHPStorm
  13. Showcase  StyleCI  https://styleci.io  Advantage: immediate result 

    Offer a corresponding PHP CS Fixer configuration  Configuration names are nearly identically
  14. INCREASE CODE QUALITY

  15. What  Static Code Analyzer

  16. How  Software analyzing your PHP code  Own metrics

    to parse code and find problems  Your code is not executed  Gets split in an abstract tree of PHP Parser Statements  Different defined checks are executed
  17. Examples  PHP Mess Detector  PHPStan  Psalm 

    SonarQube
  18. Showcase  SonarQube  https://about.sonarcloud.io  Add basic configuration 

    Integrate into Travis CI as own stage
  19. THANK YOU!

  20. Photograph Credits  https://www.pexels.com/photo/grapes-vineyard-vine-purple-grapes-45209/  https://www.flickr.com/photos/andrewfhart/8106189987/in/photostream/  https://de.wikipedia.org/wiki/Datei:Ny_Nordisk_mode,_Catwalk.jpg  https://www.pexels.com/photo/person-filling-up-the-daily-report-schedule-form-

    1001752/  https://pixnio.com/de/sonstiges/code-programmierung-computer-technologie-funktion- befehl  https://www.goodfreephotos.com/ukraine/odessa/city-architecture-in-odessa- ukraine.jpg.php  https://www.pexels.com/photo/black-brick-destroy-hole-82178/