Hilfe, meine TYPO3 Extension ist zu Alt!
WIE HÄLT MAN SEINE TYPO3-EXTENSIONS AUF DEM NEUESTEN STAND?
Wir bei Sudhaus7 organisieren unsere Kundenprojekte und die kundenspezifischen Anpassungen immer in Extensions, die wir in unserem eigenen Gitlab verwalten. Darunter befinden sich dann Extensions wie die Guard7 oder unsere Newspage, aber auch Templates und kleinere Tools die speziell für Kunden geschrieben wurden. Über die letzten Jahre kamen so runde 140 Extensions zusammen, die irgendwann dann auch in besagter glänzend neuer TYPO3 Version funktionieren sollen.
Die Herausforderung ist nun, wie man sich einen Überblick über den Aufwand verschaffen kann der hierbei entstehen wird. Wir wollen das ja vorher wissen, bevor wir mit dem TYPO3-Upgrade anfangen.
Nach einiger Recherche kam dieses Tool hier zum Vorschein: Typo3scan von Michael Roos. Ein Tool, das in der Kommandozeile beliebige Extensions scannen, und einen qualifizierten Report in verschiedenen Formaten generieren kann. Mit diesem Tool war es uns Möglich, die Menge, Stellen und Komplexität der notwendigen Anpassungen einer Extension oder gar eines ganzen Kundenprojekts einzuschätzen.
In unseren Workflow bauen wir dies nun als Schritt im Gitlab CI Workflow ein, so dass bei jedem Push Reports in HTML für die Versionen von TYPO3 7, 8 und 9 erstellt, und via Gitlab Pages verfügbar gemacht werden.
stages: - pages pages: image: php:7.2-cli stage: pages variables: SCANNER_RELEASE: "https://github.com/Tuurlijk/typo3scan/releases/download/1.6.2/typo3scan.phar" script: - curl -L $SCANNER_RELEASE --output typo3scan.phar - php ./typo3scan.phar - mkdir -p public - ls -la - php ./typo3scan.phar scan --target 7 --format html . > public/Report_Deprecations_v7.html - php ./typo3scan.phar scan --target 8 --format html . > public/Report_Deprecations_v8.html - php ./typo3scan.phar scan --target 9 --format html . > public/Report_Deprecations_v9.html - php -r 'echo "
";if($d=opendir("public/")){while($e=readdir($d)){if(is_file("public/".$e)){printf("<a href=\"%s\">%s</a>\n",$e,$e);}}}echo "
";' > public/index.html artifacts: when: on_success paths: - public