743 views
 owned this note
# TYPO3 Camp Berlin 2025 [t3cb.de](https://www.t3cb.de/) | Hashtag auf verschiedenen Kanälen: #T3CB25 16.-18. Oktober 2025, Berlin-Kreuzberg im [bum.berlin](https://bum.berlin/) # Sessions - https://www.t3cb.de/programm/ ## Freitag ### Test-driven-Development - [Oliver Klee](https://www.oliverklee.de/) - [Tea-Beispiel-Extension](https://github.com/TYPO3BestPractices/tea/) - [Best-Practices-Team](https://typo3.org/community/teams/best-practices) - [Testing-Workshop von Oli im November in Bonn](https://www.oliverklee.de/workshops/aktuelle-workshops/) ### Barriefreie Formulare - Tom von undkonsorten.com - [Folien](https://www.undkonsorten.com/blog/barrierefreie-formulare-mit-typo3) ### SEO Optimierung mit KI - Sven Deutschländer; dskom - Folien: https://www.dskom.de/wp-content/uploads/2025/10/TYPO3camp2025_Suche-Google-KI-SEO-GEO-AIO.pdf - möglichst überall Schema.org für inhalte verwenden - nicht mehr besuchte seiten, dokumente entfernen - videos, audios aktiv nutzen und einbinden (TikTok) - FAQ mit Schema nutzen - Backlinks einsammeln (Quellen) - Ratgeber per E-Mail anfordern ### Fluid-PDF - Thomas Deuling ### display:grid FTW! - Markus Timtner - Folien: [Grid_Styled_Content](https://timtner.tech/grid_styled_content) - Grundlagen von modernem CSS - man braucht evtl gar kein Framework mehr ### Gewaltfreie Kommunikation - [Oliver Klee](https://www.oliverklee.de/) - [Folien zum Crashkurs](https://speakerdeck.com/oliverklee/gewaltfreie-kommunikation-ein-crashkurs-40ddbe02-c17c-4be6-a438-6f4e31114ed8) - [GfK-Grundannahmen](https://github.com/oliverklee/workshop-handouts/blob/main/gfk/annahmen.tex) ### MCP, AI & Co. - Martin Helmich ([LinkedIn](https://www.linkedin.com/in/martinhelmich), [my.typo3.org](https://my.typo3.org/u/mhelmich)) - [Slides auf Speakerdeck](https://speakerdeck.com/martinhelmich/t3cb25-mcp-the-duct-tape-of-the-ai-era) ### Von den Argonauten zu TYPO3 - Olivier Dobberkau - Slides https://notes.typo3.org/sCDso7NxQU6tmaEhZ1M9vw# ## Samstag ### What the Hack - Reidar #### Vorsicht bei - Aufgabe der Domain -> da hängen oft die Logins für SocialMedia dran!! ### Tracking und Matomo - Volker, pagemachine - wenn Cookie Banner korrekt konfiguriert, nur ca. 60% trackbar - die versierten Personen klicken es weg #### keine Cookies vs DSGVO komform - keine Scripte einsetzen - nur die vom Browser automatisch mitgesendeteen Daten legal verwertbar - zeitverzögerte Auswertung der Logfiles - teils doch recht unterschiedlich bei verschiedenen Providern - Extension: pagemachime/typo3-tracking-matomo #### übermittelte Daten - aufgerufene URL Herkunft - Seitentiel Browsersprache - UserAgent - ip-Adresse #### 2. Teil - Matomo Installation ##### Links - [pagemetrics](https://pagemetrics.eu/) - [EXT typo3-matomo-tracking](https://packagist.org/packages/pagemachine/typo3-matomo-tracking) - [Consent Benchmark Report 2025](https://www.etracker.com/consent-benchmark2025) - [FAQ zu Cookies und Tracking](https://www.baden-wuerttemberg.datenschutz.de/faq-zu-cookies-und-tracking-2/) - bei Fragen: [per Mail](info@pagemachine.de) oder im Slack ### Andreas Wolf - Observability mit OpenTelemetry - signoz zum einlesen der logs - foto der config.yml für docker - foto yml config json logs (log generator aus gsb) - #### problemstellung - warum gab es Exeption xy ### Content Blocks Deep-Dive - André Kraus - Präsentation https://www.autodudes.de/fileadmin/user_upload/presentation/2025-typo3-developer-days/2025-08-08-t3dd25-content-blocks-deep-dive.pdf - Codebeispiele in GitHub Commits: https://github.com/krausandre/cb-demo-25 - Dokumentation https://docs.typo3.org/permalink/friendsoftypo3-content-blocks:introduction - be:editRecord -> Link EditRecord ViewHelper in den changelogs 1.3 (deutlich kürzer) https://docs.typo3.org/p/friendsoftypo3/content-blocks/main/en-us/ChangeLog/1.3/Index.html#link-editrecord-viewhelper ### QA-Tools - [Oliver Klee](https://www.oliverklee.de/) - [Best-Practices-Team](https://typo3.org/community/teams/best-practices) - Empfohlene Tools & Methoden - Code-Reviews - Composer-Unused - Protected Branches - PHP-CS-Fixer - PHPStan - PHPStan-Levels - PHPStan-Baseline - Rector - verschiedene Linter - PHP Lint - XLIFF Lint - TypoScript Lint - YAML Lint - JSON Lint - Shellcheck - Composer Normalize - Composer PSR-Verify - `.editorconfig` - Continuous Integration - Test-driven-Development (TDD) - Unit-Tests - Functional Tests - PHP Mess Detection (PHPMD) - Rector ### TYPO3 Upgrades - Vorstellung, Austausch über Vorgehen und Tools - Karsten Nowak) #### Wie starten, Analyse - Infos zusammen sammeln (DB Version, PHP Version, Extensions) - Check webspace, Komplexität, Anzahl der Seiten - BE User: rollen, rechte - db compare - check internal links (alte bindungen typo3con/extfileadmin, Domains) - verschachtelte storages? Kann passieren wenn man nicht aufpasst. Sowas MUSS korrigiert werden. Beim Upgrade perfekter Zeitpunkt, da man hinterher viel prüft - Bash Script nutzen um: - über SSH remote DB Abfragen machen zu können - lokal mit Composer Dinge abzufragen - Bestimmte Angaben (`typo3conf/ext`) in Extension zu finden (grep durch Dateien) - Ausgaben so formatieren, dass sie einfach in Ticketsystem eingefügt werden können - Idee: Beim Durchlauf des Script immer wieder abfragen ob Ticket erstellt werden soll und dann dieses über API des Ticketssystems (Bsp. Redmine) automatisch anlegen lassen. Spart Zeit für manuelles anlegen hinterher! #### Durchführung - rector/fractor für die Extension Updates (für die es keine Updates gibt) laufen lassen - core upgrader package 2 nutzen um alle Core Wizards älterer TYPO3 Versionen zu haben (https://extensions.typo3.org/extension/core_upgrader2) - In den einzelnen Branches (wenn man TYPO3 Versionen zwischendurch benötigt) nur das TYPO3 lauffähig machen und eventuell benötigte Extensions. Alles anderes erst am Ende (im letzten Branch) - Script für automatische Abarbeitung der einzelnen Aufgaben in den einzelnen TYPO3 Versionen (Git Branches) https://github.com/peter-neumann-dev/ddev-cms-upgrader (ddev-cms-upgrader für TYPO3, Drupal, WordPress) - zwischen drin immer mal ein DB Zwischenstand speichern um nicht alle Aufgaben immer gesammelt testen zu müssen. Dauert bei großen Datenbanken eben recht lange - Großteil einer checkliste golive durch automatisches Upgrade Script ersetzt - für bestimmte Punkte aber trotzdem noch sinnvoll ### Testen mit Playwright - André & Manu von den AutoDudes - Block-Artikel: https://www.autodudes.de/blog/automatisierte-tests-warum-wir-bei-der-ai-suite-auf-playwright-setzen - Demo-Repository: https://github.com/autodudesde/playwright-demo ### Session Titel - ...