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
Exception Handling in TYPO3
28.05.2019

Exceptions in TYPO3, how can I deal with that?

Exception handling in TYPO3

Everybody knows these messages telling you that something, somewhere went wrong. This is annoying and should be prevented programmatically, but you can not deal with all of them. Or can you?  

Arbeiten mit TYPO3 FlashMessages im FrontEnd
15.05.2019

Using and configuring FlashMessages in the TYPO3 Frontend

Working with TYPO3 FlashMessages in the FrontEnd

You want to bring a fast notification from actions to the frontend? You only need that temporary? There are FlashMessages in the backend. But can you use them in the frontend? Yes, you can. And I'll show you how.  

[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