1408 views
   owned this note
# TYPO3camp Mitteldeutschland 2025 Jena Sammlung Session Slides und Notepads → **Mitmachboard, gern ergänzen** [Lineupr Sessionplan](https://t3cmd.lineupr.com/2025/schedule) [Eindrücke vom Event auf Flickr von Wolfgang Wagner](https://www.flickr.com/photos/wolfgang-wagner/albums/72177720324597288/) [TOC] ## 20.03.2025 Anwendertag ### Silktide - Plugin Google Chrome [Silktide](https://silktide.com/) ... super zum testen - Zoom bis 200% ### [Eye-able](https://eye-able.com) - technologische Barrierefreiheit – regelmäßig testen - Redaktuere schulen - dokumentieren - Leichte Sprache vs. Einfache Sprache "Leichte Sprache" darf nur von zertifizierten Personen verwendet werden, alternativ kann "einfache Sprache" verwendet werden - Prüfsoftware - Eye-Able Audit - Eye-Able Report - Eye-Able Assist - für PDF's ### Barrierefreiheit - https://atlasdigitalebarrierefreiheit.de/ - https://www.accessibilityassociation.org/ --- ### KI Links - https://claude.ai #### Datentransformation mit ChatGPT & Co 1. Excel -> T3 - ChatGPT bricht nach der 5. Zeile ab - Excel Tabelle in Claude (besser als ChatGPT für große Datenmengen) copy & paste aus der Excel ins Promtfeld 3. PDF -> T3 - in ChatGPT einfügen, kann das PDF mit Bild nicht lesen - Schritte beschreiben (OCR), englisches Sprachpaket, nenne Personen etc. 5. Word -> T3 - Promt: erstelle für die Tabelle in der Word Datei ein Balkendiagramm. Werte zusätzlich den Text darunter aus. 7. Prompting & Sprachmodelle - OpenAI ChatGPT - Anthropic Claude - DeepSeek - Gemini - LLaMA - Mistral - … #### KI-Extensions für T3 1. Mehrwert - Zeit & Produktivität - schnelleres & flexibleres Reagieren - Routineaufgaben automatisieren - Qualitätsmanagment - … 2. Feature - Seitenstruktur - Inhalte (Text & Bild) - Inhaltsbearbeitung - … 3. Beispiel EXT: [ai_suite](https://extensions.typo3.org/extension/ai_suite) - AI-Suite - T3AI von T3PLANET - AI SEO Helper In den oben genanten Extensions fehlt der DIalog in den Extensions. ### "next Level" – EXT von Davitec - BEAM App - Relevanz Analyse - Nutzerverhalten / Reports - Realtime ZIelgruppenerknnung - https://www.uni-leipzig.de/t3ud2024/aufzeichnungen - demnächst im TER - läuft auf ChatGPT 4.o aktuell - soll Modus für Datenschutz geben, wo das LLM auf eigenem Serv liegt --- ### Sicherheit im TYPO3 Umfeld - Security Guidlines lesen https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/Security/Index.html#security - sichere Passwörter konfigurieren & 2FA - Zugriffsrechte konfigurieren - CSP setzen - Backups - DB - Site config - settings.php - fileadmin - Best Practices - verdächtige Logins oder Fehler an Admin melden - Abstimmung - [Vortrag](https://de.slideshare.net/slideshow/it-sicherheit-im-typo3-umfeld-eine-einfuhrung/276422110) Frage: - wie können Extension gescannt werden? [dependabot](https://github.com/dependabot) --- ## 21.03.2025 Barcamp Freitag ### Automatisierung mit Tasks - Autor: Maximilian Orthmann - [Folien](https://docs.google.com/presentation/d/1bJirpmO09G-7ooswzvWZXKr1kVHbJOcfzdnGhE0JQnA/edit?usp=sharing) 1. Einführung - Task in Go geschrieben - Single Binary (statisch verlinkt) - parallel ausführbar - Go Template Package - Defer - Taskfile in YAML - Nativer Go Shell Interpreter (mvdan/sh) - Konfiguration über .env Variablen - Starke Synergie im generierten Konfigurationsmanagement 2. Praxibeispiele - [Live Demo Code](https://gitlab.com/plus-b-public/TYPO3Camp-Jena-2025-task-demo) 3. Continuous Delivery - Die von den Entwicklern erstellten Tasks werden direkt in der Pipeline und auf den Deploymentumgebungen verwendet 4. zukünftige Einsatzgebiete - Erstellung einer internen Entwicklerplattform (IDP) - Generierung von Dokumentation, Tests und Umgebungskonfigurationen --- ### Content-Blocks – deep dive - Autor: André Kraus - wird in den Core aufgenommen werden - Änderung der Dateinamen von Camel-Case auf Snag-Case und der Ordnerstruktur - Flexform möglich, ist kein Content! - [JSON Schema](ttps://github.com/nhovratov/content-blocks-json-schema) für die IDE - [Kickstart Command](https://docs.typo3.org/p/friendsoftypo3/content-blocks/main/en-us/Commands/Make/Index.html) zum erstellen nutzen - 'useExitingField: true' ! oder falls notwendig Prefixing ausschalten - ausgeschaltetes Prefixing kann zu Kollisionen führen! - PageType auf Basis eines TimeStamp generieren - Anpassungen mit PHP in CB, [Docu](https://docs.typo3.org/p/friendsoftypo3/content-blocks/main/en-us/DeveloperCorner/DataProcessing/Index.html) - ablegen in ./Classes/EventListener/RecordCreationEventListener.php --- ### Content Planner - Autor: Konrad Michalik - TYPO3-Extension mit einer Seitenstatus-Funktionalität zur Unterstützung der Planung von inhaltlichen Arbeiten, z.B. eines Migrationsprozesses - https://speakerdeck.com/kmi/content-planner-t3cmd25 --- ### TYPO3 AI Extension Erzeugung * https://www.mittwald.de/lp/smart-extension-builder --- ### Einführung in Content Security Policy - Folien: https://brotkrueml.dev/presentations/t3cmd25/csp_einfuehrung.html --- ### Content Security Policy trifft TYPO3 - Folien: https://brotkrueml.dev/presentations/t3cmd25/csp_typo3.html ### TYPO3 Integrations & Interconnectivity - Autor: Dan Kleine - Teaser: Diskussion Aktueller Stand Integration von Drittanbieter-Tools und -Services, wie kann Community und TYPO3 Assoc/GmbH helfen? - Slides: Notizen Diskussion https://notes.typo3.org/s/dBfLF4h5L --- ### Translation Handling Initiative - **Autor:** Eric Harrer - **Teaser:** Unser Fokus liegt auf der Optimierung des Übersetzungsprozesses in TYPO3, speziell auf der Verarbeitung und Verwaltung übersetzungsrelevanter Daten. Ziel ist, Übersetzungen einfacher, effizienter und intuitiver zu gestalten. In der Session wurde die Initiative vorgestellt, zentrale Herausforderungen beleuchtet und erste Lösungsansätze präsentiert. - **Links:** - 📥 Präsentation [(Präsentationsmodus)](https://notes.typo3.org/p/rDfHekWA_#/) oder [(als Slides)](https://notes.typo3.org/rDfHekWA_#/) - [🌐 Offizielle Seite auf typo3.org](https://typo3.org/community/teams/typo3-development/initiatives/translation-handling) - [💬 Austausch im Slack-Channel](https://typo3.slack.com/archives/C05D7UF1L8M) --- ### Mono Repositority & Design Systems - Autor Patrick --- ### Barrierefreiheit rechtliche Situation Q&A - Aktuelle Gesetze - Grundlage: EU-Richtlinie 2016/2102 EN 301 549 WCAG 2.1 -> in Deutschland BITV 2.0 - BITV2.0 hat erweiterten Geltungsbereich - Erklärung für Barrierfreiheit - Landesverordnungen beachten, z.B. - Bayern – leichte Sprache & Gebärden Sprache - Sachsen-Anhalt – Barrierefreie PDF's - NRW Leichte – Sprache & Gebärdensprache - Baden-Würthemberg – Verpflichtung zur Schulung - gendergerechte Sprache ist Empfehlung '*' zu verwenden, Behindertenverband empfielt leichte Sprache zu verwenden - BITV2.0 - verpflichtet sind: - Bundesbehörden - Landesbehörden - Kommunale Verwaltungen - öffentliche Hochschulen & Universitäten - Gerichte & Polizei-Webseiten - andere öffentlich finanzierte Einrichtungen - nicht verpflichtet sind: - private Unternehmen - Online-Shops - Banken - interne Kommunikation - Digitale Produkte - außerhalb der EU - kein allgemeingültiges Gesetz - UN-BRK - ADA & Section 508 (USA) - Baria-furi ho & JIS X 8341-3 (Japan) - neue Gesetze & zukünftige Entwicklungen - BFSG ab 28.06.2025, WCAG 2.1 - verpflichtet sind: - alle bisher betroffenen Stellen - private Unternehmen (> 10 Mitarbeitende) - Banken - digitale Produkte - Selbstbedinungsterminals - Smartphones, Computer, etc. - nicht verpflichtet sind: - Kleinsunternehmen - unverhältnismäßige Belastung - private Webseiten - Welche Barrierefreiheitsanforderungen gelten? - Welche Technologien werden eingesetzt? - Vorlage von Testergebnissen - Welche Ausnahmen existieren? - Konformitätsbewertung & -erklärung - selbstständiges Monitoring - Marktüberwachung der Behörden - Unterschiede WCAG 2.1 vs. WCAG 2.2 (EN 301 549 voraussichtlich ab 2026) - WCAG 2.0 - Sehbedinderung - Motorische Einschränkungen - Screenreader Nutzende - WCAG 2.1 - mobile Nutzer - eingeschränkte Greifvermögen - Nutzung Touchinterfaces - WCAG 2.2 - kognitive Behinderungen & Einschränkungen - Beispiel - SC 3.2.6 Konsitente Hilfe - SC 3.3.7 Redundante Eingaben vermeiden - SC 2.5.7 Drag & Drop ohne Maus - SC 2.4.7 Sichtbarer Fokus (verbessert) - SC 2.2.6 Timeouts - SC 2.5.8 Zielgröße (Minimum 24px X 24px) - SC 3.3.8 Barrierefreie - Tools - Google Lighthouse – WCAG 2.1 - Axe DevTools – WCAG 2.2 & WCAG 2.1 - WAVE WCAG 2.2 - HTML Nu-Checker – WCAG 2.1 - Pa11y – WCAG 2.1 (aber konfigurierbar) - Siteimprove WCAG 2.1 - [Silktide (Erweiterung Chrome)](https://silktide.com/) - [ARIA Authoring Practices Guide (APG)](https://www.w3.org/WAI/ARIA/apg/patterns/) - Zertifizierungen - IAAP - CPACC - WAS - CPWA – Mischung CPACC & WAS - ADS #### Q & A WCAG 2.2 tendenziell 2026 aktiviert. - nahezu 100% abwärtskompatibel - Dokumentation / Monitoring kontinuierlich - Captcha's möglichst vermeiden, wenn doch Honeypots oder POB Captchas (Libary ), greanappeal noch in Entwicklung - "Eselsbrücke" Sobald ein Vertrag (elektronischer Geschäftsverkehr, läuft es auf einen Verbrauchervertrag hinaus) auf der Website statt findet (z.B. Terminbuchung beim Frisör, welche am Ende bezahlt werden muss), greift die WCAG ... nur **als grobe Orientierung zu verstehen**, da immer wieder die Frage aufkommt, muss meine Website barrierefrei sein - Vorgaben "Erklärung zur Barrierefreiheit" - Wie dokumeniert und monitort man das reinpraktisch? - Docker pa11y Durchläufe aufbewaren und als Dokumentation verwendbar - Wer schreibt der bleibt ;-) - Idee: Website des jeweiligen Bundeslandes die Barrierefreiheitserklärung anschauen und entsprechend für seine Websit ausdünnen, z.b. [Sachsen](https://www.sk.sachsen.de/barrierefreiheit-6067.html) --- ### TYPO3 und Performance - Autor: Samir Rachidi - Präsentation: [TYPO3 und Performance](https://docs.google.com/presentation/d/18EQHpUbdbAMN8VUGqKY2HF77qGs74xmuPSzbjmpwKuc/edit#slide=id.g2ca716f5135_1_12) --- ### Rollenbasiertes Arbeiten - Claudia Körner (portrino GmbH) - Präsentation: https://github.com/portrino/t3cmd25/blob/master/Rollenbasiertes-Arbeiten-Vom-Generalisten-zum-Spezialisten.pdf - [All Slides](https://github.com/portrino/t3cmd25) --- ### CSS Shenanigans - Autor David 1. Die Eule - Selektor `* + *` – wenn ein Element einem anderen Element folgt oder auch `* + &` oder `& + &` - super für Seiten mit langen strukturierten Texten, um optisch das Zusammengehörigkeitsgefühl zu stärken - Wende … auf die Beispiel-Klasse, sofern sie nicht das erste Element ist 2. Clamp Calc - 3. Aspect Ratio 4. Logical Properties 5. Grid `minmax`, `auto-fill`, `auto-fit` 6. Sub-Grids 7. `:has`, `:is`, `:where`, `:not` 8. Viewport units 9. BEM & ITCSS 10. BEM & ITCSS Layouttools statt Figma, [penpot](https://penpot.app/) ausprobieren (OpenSource, näher an der Entwicklung) [CSS Shenanigans als PDF](https://we.tl/t-xm9zqjWuWW) --- ### Warum immer Extbase? Problematik: * Nicht immer ist Extbase die "richtige" Variante für Extensions * Großer Aufwand bei TYPO3 Upgrades oder Tests bei kleinen Releases, wenn viel Code genutzt wird * Mehrere Wege führen nach Rom - [Thomas Löffler](https://my.typo3.org/u/tomalo.stuttgart) - https://extensions.typo3.org/extension/just_news - Extension, die die "news" Extension quasi nachbaut, ohne "Classes" Ordner - basierend auf Seiten - hauptsächlich TypoScript und Fluid - verfügbar von TYPO3 v7 bis TYPO3 v13 - Source: https://git.spooner.io/spooner/just_news - https://git.spooner.io/spooner/just_openimmo (kein offizielles Release vorhanden) - Nutzung von Extbase und Fluid - Datenbestand kommt aber nicht aus einer Datenbank, sondern aus XML-Dateien - smarte Nutzung von XSD für den OpenImmo Standard zum flexiblen Auslesen von Daten - Hier eine interressante Verwendung von [__call-Funktion](https://git.spooner.io/spooner/just_openimmo/-/blob/master/Classes/Domain/Model/RealEstate.php?ref_type=heads#L193) - leider veraltet, bei Interesse gerne updaten oder gemeinsam überarbeiten --- ### TYPO3 Kummerkasten - Lösungen die zu Problemen in der Session vorgeschlagen wurden - https://extensions.typo3.org/extension/multisite_belogin Bietet eine Lösung für Multi-Domain Instanzen, damit der Redakteur im Frontend in allen Domains angemeldet ist. Autor meldet: Kann noch verbessert werden - https://extensions.typo3.org/extension/form_extended Erweitert form um folgende Feature: Multi-Upload Feld, AGB-Checkbox, Freischaltung von Absender-Adressen in den Site-Settings - Workspaces ## 22.03.2025 Barcamp Samstag --- ### Strukturierte Daten - Autor Chris Müller - super für Stellenagebote, Produkte, Kalenderdaten, News - [Validator](https://validator.schema.org/) - Schema.org Zusammenarbeit von Google, Bing, Yahoo und Yandex - Vorteile / Nachteile - HTML/ RDFa: Nachteile - schwer lesbar - JSON - besser lesbar - bidirektionale Zuweisungen möglich - Links - [Wikidata](https://www.wikidata.org/) - [Structured Data (German), 2024](https://brotkrueml.dev/presentations/t3cmd24/schema.html#/27) - [Structured Data (German), 2025](https://brotkrueml.dev/presentations/t3cmd25/schema.html) - [Blogbeitrag von b13 zum Thema](https://b13.com/de/blog/steigere-seo-leistung-deiner-website-mit-strukturierten-daten-fuer-google-suche) --- ### Hybrides Projektmanagement - Stefan Griessmann | DMK e-business --- ### Cookiefreies Matomo - Autor Martin 1. Nachteile Cookie Banner - 74% stimmen nicht zu 2. techn. Maßnahmen - Erwägungsgrund 26 in der DSGVO "Keine Anwendung auf anonymisierte Daten" - https://amiunique.org - §25 TDDDG "Schutz der PRivatsspäre von Endgeräten" - https://matomo.org/faq/general/how-is-the-visitor-conig_id-processed/ - Matomo Einstellungen serverseitig https://matomo.org/faq/new-to-piwik/how-do-i-use-matomo-analytics-without-consent-or-cookie-banner/ - JS Anpassung - alle Tracking Cookies dekativieren - clientseitige Do-Not-Trak Erkennung Aktivierung - Browser Featuere Detction deaktivieren - Sonstiges - IP-Adrssen in Webserver Logs anonymisieren (ipv6loganon) - keine benutzerbezogenen URL's im CMS - Datenschutzerklärung anpassen 3. Nachteile Cookieless - Besuche mit identischer anonymisierter IP-Adresse und User-Agent werden aggregiert – problematisch bei Subnetzen - Wiederkehrende Besuche nach 24h werden als neue Benutzer gezählt (config_id) Metrik "wiederkehrende Besuche" ist unzuverlässig - Geolocation ist ungenau 4. Anti-Adblock - Blocklisten - Matomo unter First-Party-Domian - Vermeidung von Snippets - rewrits auf Matomo - max. 365 Tage vom Besuch ohne Zustimmung - Browsergrößen im Snippet rausnehmbar -> Abstimmung mit Datenschutzbeauftragten (DSGVO Problem wäre gelöst, aber [§25 TDDDG](https://dsgvo-gesetz.de/tdddg/25-tdddg/) sagt was anders) - Überlegung für hybrides Tracking – wie möglich - "don't care about cookies" Extension, in Brave automatisch aktiv - Fingerprinting Browser übergreifend möglich durch: - Schriftarten - IP-Adresse - Bildschirmauflösungen --- ### FORM_EXTENDED - Autor Sven Wappler - [Download vom TER](https://extensions.typo3.org/extension/form_extended) ### FORM_END2END - Autor Sven Wappler - Description Sicherstellen der Zustellung dass die Mail tatsächlich ankommt. - [Download von Github](https://github.com/WapplerSystems/t3-form-end2end) --- ### FRONTEND_REGISTRATION - Autor Sven Wappler - [Download von Packagist](https://packagist.org/packages/wapplersystems/fe-registration) ### weitere Form Extensions ### form_crshield – barrierefreier Spam-Schutz - [Download im TER](https://extensions.typo3.org/extension/form_crshield) ### formlog - [Download im TER](https://extensions.typo3.org/extension/formlog) --- ### form_to_database - [Download im TER](https://extensions.typo3.org/extension/form_to_database) --- ### form_translate - [Download im TER](https://extensions.typo3.org/extension/form_translator) #### ToDO's / Probleme - aktuell kein Maintainer für EXT:form - Konzeption der Extension --- ### TYPO3 Caching Framework selbst verwenden - Frank Berger - [Slides und Link zum Repository](https://code711.de/talks/make-the-caching-framework-work-for-you) --- ### Embeddings - the lesser know hero of AI - Frank Berger - [Slides und Link zum Repository](https://code711.de/talks/embeddings-the-lesser-known-hero-of-ai) --- ### Extension Upgrade mit t3static - Thomas Kieslich - [Link zum Repository](https://github.com/thomaskieslich/t3static) --- ### Continuous TYPO3 Upgrade - Thomas Kieslich - [Link zum Repository](https://github.com/thomaskieslich/t3upgrader) --- ### Dependency Updates mit Renovate Bot - Axel Böswetter (portrino GmbH) - Präsentation: https://github.com/portrino/t3cmd25/blob/master/Dependency-Updates-mit-Renovate-Bot.pdf - [All Slides und Link zum Repository](https://github.com/portrino/t3cmd25) - Links: - https://docs.renovatebot.com - https://github.com/renovatebot/renovate --- ### Automatische Content Migrations - Thomas Griessbach (portrino GmbH) - Präsentation: https://github.com/portrino/t3cmd25/blob/master/Automatische-Content-Migrations_migrator-dbsequencer.pdf - [All Slides](https://github.com/portrino/t3cmd25) - Extensions: - https://extensions.typo3.org/package/portrino/px_dbmigrator - https://extensions.typo3.org/extension/px_dbsequencer --- ### TYPO3 headless mit REST API - Thomas Griessbach (portrino GmbH) - Präsentation: [Slides](https://github.com/portrino/t3cmd25) - Extensions: - https://extensions.typo3.org/extension/nnrestapinnrestapi - Doku: https://labor.99grad.de/typo3-docs/typo3-nnrestapi/index.html --- ### What the Hack? - Katharina Hoffmann und Reidar Janssen --- ### Aufwandsschätzung - Thomas Schöne - https://www.netresearch.de/fileadmin/user_upload/Netresearch_Blog/2025/TYPO3Camp_2025/Vortrag___Thomas_Schoene_-_Netresearch___TYPO3_Camp_2025.pdf