Pagemachine.de/ Blog/ TYPO3 CMS Certified Developer (TCCD)

TYPO3 CMS Certified Developer (TCCD)

Um ein TYPO3 CMS Certified Developer zu werden, benötigt man Erfahrung in der Umsetzung von Projekten und sollte über ein fundiertes Wissen zur Architektur, Design Patterns, Best Practices sowie den Interna von TYPO3 CMS und dem Extension Framework verfügen. Ein solcher Entwickler ist in der Lage, eine Extension auf dem neuesten Stand der Technik zu implementieren und legt dabei großen Wert auf sauberen Code, welcher den TYPO3 Coding Guidelines (CGL) entspricht. Darüber hinaus beherrscht ein TYPO3 CMS Certified Developer eine Vielzahl von Themen rund um die Erstellung von Extensions – angefangen vom initialen Setup bis hin zur Veröffentlichung im TYPO3 Extension Repository (TER).

Das Zertifikat kostet 395 € und ist für 2 Jahre gültig

Als Developer sollte man sich in folgenden Bereichen auskennen:

Core-Architektur, Extbase und Templates

Knowlege of Core Architecture & APIs for a TCCD

  • Verwaltung digitaler Assets (FAL): Wissen über die transparente Einbindung von externen Dateiquellen in TYPO3.
  • PSR-7: Anfrage/Antwort: Dieser Skill behandelt den PHP-Standard für HTTP-Request/Response-Objekte.
  • XLIFF: Verstehen von XLIFF.
  • Abfragebeschränkungen verwenden: Wie man Datenbankabfragen einschränkt.
  • Verwendung des QueryBuilders: Wie man Abfragen in TYPO3 schreibt.
  • Doctrine DBAL: Grundlegende Kenntnisse über die Doctrine-Komponente für den transparenten Zugriff auf verschiedene DBMS in PHP.
  • PSR-3: Logger-Schnittstellen-Standard: Kenntnisse über den PSR-3 Logging-Standard für PHP.
  • Flexform-Konfigurationsdatenstruktur: Wie man eine Datenstruktur für die Konfiguration des Plugins erstellt und konfiguriert.
  • Flexform-Konzepte: Grundlagen über das Konzept von Flexforms und wie es sich auf die TCA bezieht.
  • Datenbank-Management-System (DBMS): Wissen über DBMS.
  • Logging-API: Kenntnisse über die von TYPO3 bereitgestellte Logging-API.
  • Zugriff auf Flexforms-Daten: Verwendung von Daten, die von Flexforms bereitgestellt werden, in Plugin-CEs und benutzerdefinierten Datensätzen.
  • TYPO3 Debugging Dienstprogramme: Wissen über die von TYPO3 zur Verfügung gestellten Debugging-Utilities.
  • Fehlerverfolgung in Protokollen: Kenntnisse über Log-Quellen und wie man sie zur Fehlerbehebung nutzt.
  • Kenntnisse über Environment Error Logs: Fähigkeit, die von den Systemkomponenten bereitgestellten Logs zu finden.
  • Fehlersuche in PHP: Grundlegende Kenntnisse über die Möglichkeiten der Fehlerverfolgung in PHP.
  • Erweitern von Site-Konfigurationen: Diese Fähigkeit deckt benutzerdefinierte Erweiterungen für das TYPO3 Core Site Konfigurationsmodul ab.
  • Route Enhancers: Dieser Skill behandelt Route Enhancer, die dazu dienen, das vom TYPO3 Core bereitgestellte URL-Routing zu verändern.
  • Request-Verarbeitung mit Middlewares: Dieser Skill behandelt die Verwendung von PSR-15-Middlewares in TYPO3 – sowohl für die Frontend- als auch für die Backend-Request-Verarbeitung.
  • PSR-15: Middlewares: Dieser Skill behandelt den PHP-Standard zu Middlewares.
  • Die Registry-API: Dieser Skill behandelt die Registry-API, die vom TYPO3 Core bereitgestellt wird, um instanzspezifische Daten zu speichern.
  • Environment-Klasse: Dieser Skill vermittelt Kenntnisse über die Environment-Klasse im TYPO3 Core, die dazu dient, systemspezifische Details zu abstrahieren, um Code zu erstellen, der in mehreren Umgebungen läuft.
  • MetaTag-API: Dieser Skill behandelt die MetaTag-API, mit der die Meta-Tags im <head>-Abschnitt der generierten HTML-Seite manipuliert werden können.
  • PageTitle API: Dieser Skill umfasst die PageTitle API, mit der der Titel der generierten Seite flexibel verändert werden kann, z.B. in der Einzelansicht eines Plugins.
  • Kontexte und Aspekte: Dieser Skill behandelt zwei neue Konzepte in TYPO3 v9: den Anfragekontext und Aspekte, die verwendet werden können, um diesen Kontext, z.B. mit Lokalisierungsinformationen, anzureichern.
  • PageRenderer: Dieser Skill behandelt den PageRenderer, eine TYPO3 Core-Komponente, die für das Sammeln und Generieren von Informationen über verschiedene Teile der Seite und die Handhabung der endgültigen Ausgabe einer Seite verantwortlich ist.
  • Eigene Symfony Expressions schreiben und verwenden: Dieser Skill behandelt die Symfony Expression-Syntax, die z.B. in TypoScript-Bedingungen verwendet wird, sowie Möglichkeiten, diese Funktionalität durch eigenen Code zu erweitern.
  • DataHandler: Dieser Skill vermittelt grundlegende Kenntnisse darüber, wie der DataHandler, eine TYPO3 Core Komponente zur Verarbeitung von Benutzerdaten, funktioniert und wie er in eigenen Extensions genutzt werden kann.
  • Fehlerbehandlung/Exception handling: Dieser Skill vermittelt Kenntnisse über TYPO3-spezifische Möglichkeiten, Fehler während der Programmausführung zu behandeln und Informationen über aufgetretene Fehler zu finden.
  • Mail-API: Dieser Skill behandelt die TYPO3 Mail API, die intern Symfony Mailer und MIME für die Erstellung und den Versand von E-Mails nutzt.
  • Flash-Nachrichten: Dieser Skill behandelt Flash Messages, einen Mechanismus, der verwendet wird, um dem Benutzer die Ergebnisse einer Aktion mitzuteilen.
  • Erweiterungs-Scanner: Dieser Skill behandelt den Extension Scanner, mit dem Extension-Autoren mögliche Probleme in ihren Extensions erkennen können, während sie diese auf eine neuere TYPO3-Version aktualisieren.
  • Symfony CLI: Dieser Skill behandelt die Erstellung von Kommandozeilenbefehlen für TYPO3, basierend auf der Symfony Console Komponente.
  • Die TypoScript-Objekte USER/USER_INT: Dieser Skill behandelt die USER- und USER_INT-TypoScript-Objekte, die dazu dienen, eigenen Code in den Rendering-Prozess des TYPO3-Frontends zu integrieren.
  • Das Caching-Framework: Dieser Skill behandelt das Caching-Framework des Core. Es wird gezeigt, wie man vorhandene Caches nutzt und eigene Caches registriert und welche Arten von Cache-Frontends und -Backends es gibt. Weitere Themen sind Verfall und Tagging von Cache-Einträgen sowie das Flushen von Caches.
  • Datenstrukturen im TYPO3-Kern: Klassen für Datenstrukturen, z.B. die BitSet- und Enumeration-Klasse, und ihre Verwendung.
  • TYPO3 Versions-API: Die TYPO3-API für Versionsinformationen.
  • AssetCollector-Klasse und View Helpers: Die AssetCollector-Klasse, ihre Methoden und die entsprechenden View-Helper.
  • PSR-11 Symfony Abhängigkeitsmanagement/Injektion: Dieser Skill behandelt verschiedene Arten der Dependency Injection in TYPO3 und die Konfiguration von
  • Injektion von Abhängigkeiten.
  • Benutzerdefinierte Route Enhancers: Dieser Skill behandelt die Erstellung von benutzerdefinierten Route Enhancern für das TYPO3-Frontend-Routing.
  • Benutzerdefinierte Dashboard-Widgets erstellen: Dieser Skill behandelt die Erstellung von benutzerdefinierten Widgets für das TYPO3 Backend Dashboard und die Konfiguration von bestehenden Widget-Gruppen.
  • Rich Text Editor API: Programmatische Änderung der Konfiguration von CKeditor: Sie können bestehende Konfigurationen ändern oder komplett neue Konfigurationen hinzufügen
  • Native Listenpaginierung: Die neue Listenpaginierung, die in TYPO3 V10 eingeführt wurde.
  • Backend-Benachrichtigungen: In diesem Skill geht es darum, wie man Benachrichtigungen für Backend-Benutzer nutzen kann.
  • Benachrichtigungs-Aktionen: Dieser Skill bezieht sich auf eine neue Funktion, die in v10 eingeführt wurde und die es erlaubt, Aktionen für Benachrichtigungen zu definieren.
  • PSR-17: HTTP-Nachrichten-Fabriken: Dieser Skill behandelt den PHP-Standard für HTTP Message Factories und die Unterschiede zum früheren HTTP Request/Response-Standard.
  • PSR-18: HTTP-Client: Diese Fertigkeit behandelt den PHP HTTP-Client-Standard.
  • Fehlersuche PSR-14: Ereignisbehandlung: Dieser Skill behandelt die Fehlersuche bei der Registrierung, Verteilung und Behandlung von Ereignissen.
  • Vorhandene PSR-14-Ereignisse verwenden: Dieser Skill behandelt die Implementierung und Verwendung von Events im TYPO3 Core.
  • Eigene Events bereitstellen: Der Schwerpunkt dieses Skills liegt auf der Bereitstellung eigener Events innerhalb der TYPO3 PSR-14 Implementierung.
  • JavaScript Event API im Backend: Dieser Skill behandelt die JavaScript-API für Events im TYPO3 Backend, die für die Programmierung eigener Backend-Module und die Erweiterung bestehender Module relevant ist.
  • Erweiterung: Lowlevel: Die Lowlevel-Extension ermöglicht die Überprüfung der aktuellen TYPO3-Konfiguration.
  • Datenbank-Datensatz-Übersetzungen: Dieser Skill befasst sich mit der Übersetzungskonfiguration von Datenbankeinträgen über TCA.

Building Plugins/Modules with Extbase

  • Implementierung von benutzerdefinierten Validatoren: Wie man benutzerdefinierte Validierung in Extbase bereitstellt.
  • Fehler-Aktionen: Wie man mit Validierungsfehlern umgeht.
  • Validierung in Extbase: Welche Konzepte es gibt, um Controller-Action-Eingabeparameter zu validieren.
  • Extbase Persistenz: Wie Extbase mit dem permanenten Speicher interagiert.
  • Implementieren von ViewHelpers: Bietet die Grundlagen für die Erweiterung einer Ansicht mit benutzerdefiniertem PHP-Code.
  • Extbase PersistenceManager: Der eingebaute PersistenceManager.
  • Extbase Anfrage/Antwort: Wie die Request/Response-Behandlung in Extbase durchgeführt wird.
  • Extbase Repositories anpassen: Wie man benutzerdefinierte Persistenz-Funktionalität in Extbase implementiert.
  • Standard Extbase Repository: Die Standard-Repository-Klasse kennenlernen.
  • Erweitern von Basismodellen: Dieser Skill deckt die Anwendungsfälle und verschiedene Möglichkeiten zur Erweiterung der eingebauten Modelle von Extbase ab.
  • Extbase-Ansicht: Erläutern des View-Teils von MVC in Extbase.
  • MVC in TYPO3 implementieren: Einführung in das Konzept von MVC in Extbase: Basisklassen für Modelle, Controller, Repositories; das Konzept von Services und Utilities und deren Einsatzmöglichkeiten.
  • Controller: Diese Fertigkeit behandelt Controller, das „C“ im MVC-Muster.
  • Extbase-Annotationen: Dieser Skill befasst sich mit PHPDoc-Annotationen, die speziell für Extbase gelten.
  • Registrierung von Backend-Modulen: Dieser Skill behandelt die Registrierung eines Backend-Moduls, um es für Benutzer verfügbar zu machen.
  • Registrierung von Frontend-Plugins: Dieser Skill behandelt die Registrierung eines Frontend-Plugins, um es den Nutzern zur Verfügung zu stellen.

Templating & Other Outputs

  • Extbase JSON-Ansicht: Die eingebaute JSON-Ansicht in Extbase.
  • JSON: Das JSON-Format und seine Verwendung in der Web-Entwicklung.
  • ViewHelper: Debuggen: Die Nutzung der Ausgabe für den Zugriff auf Fluid-Variablen.
  • ViewHelper: Bild: Verwendung des Fluid ViewHelper f:image().
  • ViewHelper: Widgets: Lernen Sie die wichtigsten f:widget.* ViewHelper kennen.
  • ViewHelper: Format: Verwendung von Fluid Format ViewHelpers.
  • ViewHelper: Formular: Der TYPO3 CMS Formular ViewHelper für Fluid.
  • ViewHelper: Link, Uri: Verwendung der Fluid ViewHelper f:link.* und f:uri.*.
  • ViewHelper: Kommentar: Einfügen von Kommentaren in Fluid-Vorlagen.
  • ViewHelper: If/Else: Erstellen von if/else-Anweisungen in Fluid-Vorlagen.
  • ViewHelper: For-Schleife: Iterieren durch eine Liste mit dem for ViewHelper.
  • Templates, Layouts, Partials: Fluid Templates, Layouts, Partials – ihre Interaktion und Eigenschaften.
  • ViewHelper: Rendern: Die Verwendung von f:render zum Rendern von Sektionen und Partials sowie die Übergabe von Argumenten.
  • Importieren von ViewHelpern: Verwendung von ViewHelpern von Drittanbietern in Ihren Fluid-Vorlagen.
  • ViewHelper: Wissen, was ein ViewHelper ist.
  • Variablen ausgeben: Grundlegende Verwendung von Variablen in Fluid-Templates und Wissen über Escaping.
  • Extbase Fluid-Ansicht: Die Fluid-basierte HTML-Ansicht von Extbase.
  • Verwendung der Fluid-Ansicht: Kennen und Verstehen der verschiedenen Teile einer Fluid-Vorlagenansicht.
  • Was ist Fluid?: Definition von Fluid und seine mögliche Verwendung in Bezug auf das Model-View-Controller-Muster.

Sicherheit und Extension-Architektur

Security Knowledge for TCCDs

  • Benutzereingaben in Ansichten: Wissen über die sichere Ausgabe von Werten, die durch Benutzereingaben gewonnen wurden.
  • Benutzereingaben in DB-Abfragen: Kenntnisse über die sichere Verarbeitung von Benutzereingaben bei Datenbankabfragen.
  • Benutzereingaben in PHP-Code: Kenntnisse über die sichere Verarbeitung von Benutzereingaben in PHP-Code.
  • Umgang mit Benutzereingaben: Wissen über mögliche Wege zum Abrufen und Verarbeiten von Benutzereingaben.
  • Arten von Sicherheitslücken im Web: Kenntnisse über mögliche Sicherheitslücken in der Webentwicklung.
  • Vorbereitete Anweisungen: Diese Fähigkeit deckt das Konzept und die Argumentation hinter Prepared Statements in relationalen Datenbanken ab.

What knowledege of General Extension Architecture should have a Certified Developer?

  • Tabellenkonfigurations-Array (TCA): Konfiguration von Datenbanktabellen für die Verwendung im Backend und Frontend.
  • Datenbank-Schema-Definition:Dieser Skill befasst sich mit der Definition von eigenen Datenbanktabellen und -feldern für eine Extension zur automatischen Verwaltung durch den TYPO3 Core.
  • Was ist SQL?: Wissen, wie man auf Daten in DBMS zugreift und diese manipuliert.
  • Extension Datei- und Ordnerstruktur: Die Dateistruktur einer Extension kennen und wissen, wo die Dateien aufgrund von Konventionen und technischen Anforderungen abgelegt werden müssen.
  • PSR-Autoloading-Standards: Die verschiedenen PHP-Autoloading-Standards (PSR-4, Class Maps), wie sie PHP-Klassen auf Dateien und Ordner abbilden, und wie das PSR-4-Autoloading konfiguriert wird.
  • Update-Assistenten: Dieser Skill behandelt die Implementierung von Update-Assistenten, die von Integratoren genutzt werden können, um bestehende Extension-Daten und -Konfigurationen nach einem Upgrade der Extension zu aktualisieren.
  • AJAX-Behandlung im TYPO3 Backend: Grundlegendes Wissen darüber, wie AJAX-Aktionen im TYPO3-Backend behandelt werden und wie eigener Code hinzugefügt werden kann, der über AJAX aufgerufen wird.
  • JavaScript-Behandlung im Backend: Dieser Skill deckt die TYPO3-spezifischen Teile von RequireJS ab: wie wird es in TYPO3 verwendet und wie kann ich die TYPO3 Core API nutzen, um meinen eigenen JavaScript-Code im TYPO3 Backend zu verwenden.
  • Composer für TYPO3-Erweiterungen: Dieser Skill führt in die Nutzung des Composers für Extensions und deren Integration in TYPO3-Projekte ein.
  • Erstellen von Scheduler-Tasks: Wie man Scheduler-Tasks für die Automatisierung wiederkehrender Aufgaben erstellt.
  • Extensions lokalisierbar machen: Wie man Extensions übersetzbar und lokalisierbar macht.

Software-Qualität und -Architektur bei TYPO3 Erweiterungen

Software Quality

  • Kodierungsstandards in TYPO3: Wissen, wie man Code schreibt, der den vom TYPO3-Projekt verwendeten Codierungsstandards entspricht.
  • Dokumentationsblöcke in PHP: Die Syntax und der generelle Zweck von Dokumentationsblöcken und die am häufigsten verwendeten Annotationen.

What TCCDs should know about software architecture for extensions

  • PSR-Standards: Kenntnis der PSR-Programmierstandards.
  • Was ist eine Templating Engine?: Einführung in das Grundkonzept einer Templating Engine/Prozessor.
  • PHP: Die Fähigkeit, PHP-Skripte zu entwickeln und auszuführen.
  • Bereichsorientierter Entwurf (DDD): Verstehen des Konzepts von DDD.
  • Ansicht: Was ist eine Ansicht im MVC-Kontext.
  • Modell: Was ist ein Modell im MVC-Kontext.
  • Was ist MVC?: Das MVC-Muster, wofür es verwendet werden kann, und gängige Implementierungen.
  • Dependency Injection: Wissen über Dependency Injection im Allgemeinen.
  • PSR-14: Ereignisdispatching: Diese Fähigkeit deckt die Grundlagen des PHP-Standards zum Event Dispatching ab.

Buildung Plugins/Modules without Extbase

  • AbstractPlugin: Diese Fertigkeit führt in AbstractPlugin ein, die Standardmethode zur Implementierung von Erweiterungen vor Extbase.

Composer-Grundlagen und Best Practice

Package Management

  • Composer: Grundlagen des Composers und seine Verwendung für PHP-Projekte.

Best Development Practises

  • Git-Grundlagen: Grundlagen und wichtigste Befehle für die Arbeit mit dem Versionskontrollsystem Git.

Wo findet die Prüfung zum TCCD statt

Es gibt verschiedene Wege, um eine TYPO3-Zertifizierung zu erwerben. Eine Möglichkeit ist die Teilnahme an Camps, Konferenzen oder offiziellen Rezertifizierungsveranstaltungen, bei denen man nach einer Prüfung das Zertifikat erhalten kann.

Seit dem Jahr 2020 besteht zudem die Option, die Zertifizierung komplett online zu absolvieren. Hierfür muss man lediglich den Anweisungen unter exam.typo3.com/guide folgen. Allerdings ist es hierfür erforderlich, eine spezielle Überwachungssoftware zu installieren, um sicherzustellen, dass die Prüfung unter fairen Bedingungen stattfindet.

Was bedeutet die TYPO3-Zertifizierung für Sie?

Der Nachweis für herausragende Kompetenz

Eine TYPO3-Zertifizierung ist Ihr offizieller Nachweis für herausragende Kompetenz im Umgang mit dem TYPO3 CMS. Sie fungiert als Qualitätsstandard und bestätigt Ihre Fähigkeiten bei der Anwendung dieses leistungsstarken Content-Management-Systems.

Die Vorbereitung auf die TYPO3-Prüfungen erfordert Engagement, ist jedoch eine Investition in Ihre berufliche Entwicklung und eine Anerkennung Ihrer Kompetenz. In unserem Blog finden Sie vier ausführliche Artikel zur Vorbereitung auf jede der Zertifizierungen, die Ihnen helfen, die Prüfungen erfolgreich zu bestehen.

Wir machen Ihre Website wow!

Wir sind Profis, wenn es um Ihre Website geht. Design, Programmierung, SEO, Support.

Experten für TYPO3-Support

So bleibt Ihre TYPO3 Website up to date

Infos zu den weiteren TYPO3 Zertifizierungen

Unsere Kundinnen und Kunden

Unser Newsletter

Pro Quartal versenden wir einen Newsletter, der spannende Neuigkeiten zu den Themen TYPO3, Webdesign, SEO und Trends enthält.

Don’t talk about!

Über 100 Mitarbeiter:innen!

Der FGTCLB: Fünf Agenturen, ein Netzwerk, seit 2017. Wir sind unabhängig, profitieren aber von einem geteilten Pool an Ressourcen und Erfahrung, auch aus gemeinsam realisierten Projekte.

Ein Team

Was haben Sie davon? Ganz einfach, Ihre Projekte werden schneller fertig. Wir gleichen Arbeitsspitzen aus. Und Sie profitieren von mehr Know-how, gerade bei kniffligen Aufgaben.

Pagemachine AG

Solmsstraße 6a
60486 Frankfurt am Main

Tel.: +49 69 260 99 70 30
E-mail: info@pagemachine.de

Kontakt aufnehmen

Haben Sie Fragen oder möchten Sie ein kostenloses, unverbindliches Angebot? Wir kommen gerne bei Ihnen vorbei oder laden Sie auf einen Kaffee bei uns ein.


© PAGEMACHINE AG 2024