S7
zurückTYPO3 Extensions aktualisieren
26.02.2019
Thema: TYPO3

Help, my TYPO3 extension is too old!

How do you keep your TYPO3 extensions up-to-date?

We at Sudhaus7 always use extensions to organize our customers projects and customer-specific changes, which we manage in our self-hosted Gitlab instance. Among those are extensions like our Guard7 or our Newspage alongside with templates and smaller tools which have been written for our customers. During the last several years this grew to something around 140 extensions, which - sooner or later - are supposed to run in said shiny new version of TYPO3.

 

The problem is now to get an overview of the effort needed to upgrade the extensions. And of course we want to know that before we start to upgrade.

After a little searching this tool surfaced pretty quickly:  Typo3scan by Michael Roos. This is a tool which runs on the commandline, and scans any extension. It will then create a report in several different formats. With this tool it was now possible to estimate the amount, the positions and the complexity of the needed changes of an extension or even a whole project.

We added this to our workflow as a step in the Gitlab CI workflow, in order to create html reports with each push to the extensions repository. We create reports for upgrades to TYPO 7, 8 and 9, and publish them to Gitlab Pages, where the developer can review them when needed.

.gitlab-ci.yml

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 "<html><body><pre>";if($d=opendir("public/")){while($e=readdir($d)){if(is_file("public/".$e)){printf("<a href=\"%s\">%s</a>\n",$e,$e);}}}echo "</pre></body></html>";' > public/index.html

  artifacts:
    when: on_success
    paths:
      - public

Now we have a report after each push to the repositort which shows in detail how our extensions need to be updated, and how they become more and more compatible. These HTML Reports directly link to the corresponding documentation of the regression, which often has tips on how to upgrade that part to the new TYPO3 version, and it shows the lines in the code where the regression happens.

.

 

Autor: Frank Berger
Ähnliche Beiträge
[Translate to English:] Globales Menü aus Datensätzen generiert
08.03.2019

Generating a global menu from records

For a product overview we had the need to create a menu of the products for the webpage

At first we thought we'd need a plugin for this case which would fetch the product records, and to render the needed fields and push that to the fluid template. That would have create the following scenarios:  

Kommentare