TCCD Syllabus

Please note: The current TCCD certification exam still refers to TYPO3 v9.
This will remain for the rest of the year 2020.

The syllabus below refers to exams based on TYPO3 v10 LTS. If you are looking for the syllabus for TYPO3 v9 click here.

Download the syllabus for TCCD exams as a PDF document.

Track your skills and learning progress with SkillDisplay.

  • Digital Assets Management (FAL)
    Know about transparent inclusion of external file sources into TYPO3.
  • PSR-7: Request/Response
    This skill covers the PHP standard for HTTP request/response objects.
  • XLIFF
    Understanding XLIFF.
  • Using Query Restrictions
    How to restrict database queries.
  • Using the QueryBuilder
    How to write queries in TYPO3.
  • Doctrine DBAL
    Basic knowledge about the Doctrine component for transparently accessing several DBMS in PHP.
  • PSR-3: Logger Interface standard
    Knowledge about the PSR-3 logging standard for PHP.
  • Flexform Configuration Data Structure
    How to create and configure a data structure for my plugin’s configuration.
  • Flexform Concepts
    Basics about the concept of Flexforms and how it relates to the TCA.
  • Database Management System (DBMS)
    Knowledge about DBMS.
  • Logging API
    Knowledge about the logging API provided by TYPO3.
  • Accessing Flexform Data
    Using data provided by Flexforms, in plugin CEs and custom records.
  • TYPO3 Debugging Utilities
    Knowledge about debugging utilities provided by TYPO3.
  • Tracing Errors in Logs
    Knowledge about log sources and how to utilize them in order to resolve errors.
  • Knowledge about Environment Error Logs
    Ability to locate logs provided by system components.
  • Debugging in PHP
    Basic knowledge about error tracing possibilities present in PHP.
  • Extending site configurations
    This skill covers custom extensions to the TYPO3 Core Site configuration module.
  • Route Enhancers
    This skill covers route enhancers which are used to amend the URL routing provided by the TYPO3 core.
  • Request processing with middlewares
    This skill covers the usage of PSR-15 middlewares in TYPO3 - both for frontend and backend request processing.
  • PSR-15: Middlewares
    This skill covers the PHP standard on middlewares.
  • The Registry API
    This skill covers the registry API, provided by the TYPO3 Core to store instance-specific data.
    Environment class
    This skill provides knowledge on the Environment class in the TYPO3 Core, which is used to abstract away system-specific details to create code that runs in multiple environments.
  • MetaTag API
    This skill covers the MetaTag API, which can be used to manipulate the meta tags in the <head> section of the generated HTML page.
  • PageTitle API
    This skill covers the PageTitle API, which can be used to flexibly modify the title of the generated page, e.g. in the single view of a plugin.
  • Contexts & Aspects
    This skill covers two new concepts in TYPO3 v9: the request context and aspects that can be used to enrich this context, e.g. with localization information.
  • PageRenderer
    This skill covers the PageRenderer, a TYPO3 Core component that is responsible for collecting and generating information about various parts of the page and handling the final output of a page.
  • Writing and using own Symfony Expressions
    This skill covers the Symfony Expression syntax used in e.g. TypoScript conditions and ways to extend that functionality with custom code.
  • DataHandler
    This skill handles basic knowledge on how the DataHandler, a TYPO3 Core component for processing user data, works and how it can be leveraged in own extensions.
  • Error handling/Exception handling
    This skill provides knowledge on TYPO3-specific ways of handling errors during program execution and finding information about any errors that occurred.
  • Mail API
    This skill covers the TYPO3 Mail API, which internally uses Symfony Mailer and MIME for email creation and sending.
  • Flash Messages
    This skill covers flash messages, a mechanism used to communicate results of an action to the user.
  • Extension scanner
    This skill covers the Extension Scanner, which extension authors can use to detect possible problems in their extensions while upgrading them to a newer TYPO3 version.
  • Symfony CLI
    This skill covers the creation of command-line commands for TYPO3, based on the Symfony Console component.
  • The USER/USER_INT TypoScript objects
    This skill covers the USER and USER_INT TypoScript objects, which are used to integrate custom code in the TYPO3 frontend rendering process.
  • The Caching Framework
    This skill covers the Core's caching framework. It shows how to use existings caches and register custom caches and the types of cache frontends and backends. Additional topics are expiration and tagging of cache entries and flushing of caches.
  • Data structures in TYPO3 core
    Classes for data structures, e.g., the BitSet and Enumeration class, and their usage.
  • TYPO3 Version API
    The TYPO3 Version information API.
  • AssetCollector class and view helpers
    The AssetCollector class, its methods and the corresponding view helpers.
  • PSR-11 Symfony Dependency Management/Injection
    This skill covers different types of dependency injection in TYPO3 and the configuration of
    dependency injection.
  • Custom Route Enhancers
    This skill covers the creation of custom Route Enhancers for the TYPO3 frontend routing.
  • Building Custom Dashboard Widgets
    This skill covers creating custom widgets for the TYPO3 Backend Dashboard and configuring existing widget groups.
  • Rich Text Editor API
    Modifying CKeditor’s configuration programmatically: You can modify existing or add complete new configurations
  • Native List Pagination
    The new list pagination introduced in TYPO3 V10.
  • Backend Notifications
    The focus of this skill is to know how to utilize notifications for backend users.
  • Notification Actions
    This skill refers to a new feature introduced in v10 which allows to define actions for notifications.
  • PSR-17: HTTP Message Factories
    This skill covers the PHP standard for HTTP message factories and the differences to the earlier HTTP request/response standard.
  • PSR-18: HTTP Client
    This skill covers the PHP HTTP client standard.
  • Debugging PSR-14 Event Handling
    This skill covers debugging the registration, dispatching and handling of events.
  • Using existing PSR-14 events
    This skill covers the implementation and usage of events in the TYPO3 Core.
  • Providing own events
    The focus of this skill is providing custom events within the TYPO3 PSR-14 implementation.
  • JavaScript Event API in the Backend
    This skill covers the JavaScript API for Events in the TYPO3 Backend, relevant for programming custom backend modules and extending existing modules.
  • Extension: Lowlevel
    The lowlevel extension allows examining the current TYPO3 configuration.
  • Database Record Translations
    This skill covers the translation configuration of database records via TCA.
  • Implementing Custom Validators
    How to provide custom validation in Extbase.
  • Error Actions
    How to handle validation errors.
  • Validation in Extbase
    What concepts exist to validate controller action input parameters.
  • Extbase Persistence
    How Extbase interacts with the permanent storage.
  • Implementing ViewHelpers
    Provides the foundations for extending a view with custom PHP code.
  • Extbase PersistenceManager
    The built-in PersistenceManager.
  • Extbase Request/Response
    How request/response handling is done in Extbase.
  • Customizing Extbase Repositories
    How to implement custom persistence functionality in Extbase.
  • Standard Extbase Repository
    Knowing the default repository class.
  • Extending Base Models
    This skill covers the use cases and different ways to extend the built-in models of Extbase.
  • Extbase View
    Explaining the view part of MVC in Extbase.
  • Implementing MVC in TYPO3
    Introducing the concept of MVC in Extbase: base classes for models, controllers, repositories; the concept of services and utilities and when to use them.
  • Controller
    This skill covers controllers, the "C" in the MVC pattern.
  • Extbase Annotations
    This skill is about PHPDoc annotations particular to Extbase.
  • Registering Backend Modules
    This skill covers the registration of a backend module to make it available to users.
  • Registering Frontend Plugins
    This skill covers the registration of a frontend plugin to make it available to users
  • Extbase JSON View
    The built-in JSON View in Extbase.
  • JSON
    The JSON format and its usages in web development.
  • ViewHelper: Debug
    Utilising output to access Fluid variables.
  • ViewHelper: Image
    Using the Fluid ViewHelper f:image().
  • ViewHelper: Widgets
    Learn the most important f:widget.* ViewHelpers.
  • ViewHelper: Format
    Using Fluid Format ViewHelpers.
  • ViewHelper: Form
    The TYPO3 CMS form ViewHelper for Fluid.
  • ViewHelper: Link, Uri
    Using the Fluid ViewHelpers f:link.* and f:uri.*.
  • ViewHelper: Comment
    Including comments in Fluid templates.
  • ViewHelper: If/Else
    Creating if/else statements within Fluid templates.
  • ViewHelper: For-Loop
    Iterating through a list with the for ViewHelper.
  • Templates, Layouts, Partials
    Fluid Templates, Layouts, Partials - their interaction and properties.
  • ViewHelper: Render
    Using f:render to render sections and partials as well as passing arguments.
  • Importing ViewHelpers
    Using third party ViewHelpers in your Fluid templates.
  • ViewHelpers
    Getting to know what a ViewHelper is.
  • Outputting Variables
    Basic usage of variables inside Fluid templates and knowledge about escaping.
  • Extbase Fluid View
    The Fluid-based HTML view of Extbase.
  • Using the Fluid View
    Knowing and understanding the different parts of a Fluid template view.
  • What is Fluid?
    Definition of Fluid and its possible use with regards to the Model View Controller pattern.
  • User Input in Views
    Knowledge about securely outputting values gained through user input.
  • User Input in DB Queries
    Knowledge about securely processing user input for database queries.
  • User Input in PHP Code
    Knowledge about securely processing user input in PHP code.
  • Handling User Input
    Knowledge about possible ways to retrieve and process user input.
  • Web Vulnerability Types
    Knowledge about possible vulnerabilities in web development.
  • Prepared Statements
    This skill covers the concept of and reasoning behind Prepared Statements in relational databases.
  • Table Configuration Array (TCA)
    Configuring database tables for usage in the backend and frontend.
  • Database Schema Definition
    This skill handles definition of own database tables and fields for an extension for automatic management by the TYPO3 Core.
  • What is SQL?
    Knowledge about how to access and manipulate data in DBMS.
  • Extension File and Folder Structure
    Knowing the file structure of an extension and where to place files by convention and due to technical requirements.
  • PSR autoloading standards
    The different PHP autoloading standards (PSR-4, class maps), how they map PHP classes to files and folders, and how the PSR-4 autoloading is configured.
  • Update wizards
    This skill covers the implementation of update wizards, which can be used by integrators to update existing extension data and configuration after upgrading the extension.
  • AJAX handling in the TYPO3 Backend
    Basic knowledge about how AJAX actions are handled in the TYPO3 Backend and how custom code can be added to be called via AJAX.
  • JavaScript handling in the Backend
    This skill covers the TYPO3-specific parts of RequireJS: how is it used in TYPO3 and how can I use the TYPO3 Core API to use my own JavaScript code in the TYPO3 Backend.
  • Composer for TYPO3 Extensions
    This skill introduces usage of Composer for extensions and their integration into TYPO3 projects.
  • Creating Scheduler Tasks
    How to build Scheduler tasks for automating recurring tasks.
  • Making Extensions localizable
    How to make extensions translatable and localizable
  • Coding Standards in TYPO3
    Knowing how to write code conforming to the coding standards used by the TYPO3 project.
  • Docblocks in PHP
    The syntax and general purpose of documentation blocks, and the most often used annotations.
  • PSR Standards
    Knowing the PSR programming standards.
  • What is a Templating Engine?
    Introduction to the basic concept of a templating engine/processor.
  • PHP
    Ability to develop and execute PHP scripts.
  • Domain-Driven Design (DDD)
    Understanding the concept of DDD.
  • View
    What is a view in MVC context.
  • Model
    What is a model in MVC context.
  • What is MVC?
    The MVC pattern, what it can be used for, and common implementations.
  • Dependency Injection
    Knowledge about dependency injection in general.
  • PSR-14: Event Dispatching
    This skill covers the basics of the PHP standard on Event dispatching.
     
  • AbstractPlugin
    This skill introduces AbstractPlugin, the standard way of implementing extensions before Extbase.
  • Composer
    Composer basics and its usage for PHP projects.
  • Git basics
    Basics and most important commands for working with the version-control system Git.