Primary Structure of the Step-by-Step Guides

The primary structure of the step-by-step guides is a hierarchical, progression-based approach, with the most beginner-friendly content at the beginning and advancing towards advanced topics. It serves as a superset of all specialized learning paths. It facilitates maintenance of guides and learning paths. As such, it is not directly intended to be the preferred entry point for readers looking for particular learning paths.

Contents

Secondary structures: learning paths

Learning should be tailored to a particular role or project.

While the primary structure represents a progression through topics, from beginner to advanced, it isn’t the preferred way of learning TYPO3 because it contains topics for multiple audiences.

Specific tasks or roles require focused learning paths. A learning path is a subset of the primary structure’s step-by-step guides. Irrelevant guides are omitted, while the sort order can usually remain the same, as learning paths ideally start with beginner-level topics and move on to advanced topics.

Learning paths fall into one of two categories: task-based and role-based.

Task-based learning paths

Beginners often look for a guided way of solving a particular task, such as getting started with a basic website or building a web application. Below are three examples of such task-based learning paths. Note that all of them were created from the primary structure by taking out irrelevant guides; no further adjustments (such as reordering the guides, adding guides that don’t exist in the primary structure, or choosing a different hierarchy) have been applied.

Quick site setup

TYPO3 Step-by-Step Guides/  
β”œβ”€β”€ Getting Started/  
β”‚   β”œβ”€β”€ Installation/  
β”‚   β”‚   β”œβ”€β”€ Install TYPO3 with Composer  
β”‚   β”œβ”€β”€ Basic Configuration/  
β”‚   β”‚   β”œβ”€β”€ First-time Backend Setup  
β”‚   β”‚   β”œβ”€β”€ Set Up a Site Configuration  
β”‚   └── Site Packages/  
β”‚       β”œβ”€β”€ Use the Bootstrap Package  
β”œβ”€β”€ Building Websites/  
β”‚   β”œβ”€β”€ Content Management/  
β”‚   β”‚   β”œβ”€β”€ Set Up Page Types  
β”‚   β”œβ”€β”€ Extensions/  
β”‚   β”‚   β”œβ”€β”€ Find and Install Extensions

Building a corporate website

TYPO3 Step-by-Step Guides/  
β”œβ”€β”€ Getting Started/  
β”‚   β”œβ”€β”€ Installation/  
β”‚   β”‚   β”œβ”€β”€ Install TYPO3 with Composer  
β”‚   β”‚   β”œβ”€β”€ Install TYPO3 without Composer  
β”‚   β”‚   β”œβ”€β”€ Set up TYPO3 with DDEV  
β”‚   β”œβ”€β”€ Basic Configuration/  
β”‚   β”‚   β”œβ”€β”€ First-time Backend Setup  
β”‚   └── Site Packages/  
β”‚       β”œβ”€β”€ Create a Basic Site Package  
β”‚       └── Implement Your Design  
β”œβ”€β”€ Building Websites/  
β”‚   β”œβ”€β”€ Content Management/  
β”‚   β”‚   β”œβ”€β”€ Set Up Page Types  
β”‚   β”‚   β”œβ”€β”€ Create Custom Content Elements  
β”‚   β”‚   β”œβ”€β”€ Configure the Backend Layout  
β”‚   β”‚   └── Manage Backend User Permissions  
β”‚   β”œβ”€β”€ Multilingual Websites/  
β”‚   β”‚   β”œβ”€β”€ Set Up Multiple Languages  
β”‚   β”‚   β”œβ”€β”€ Translate Content  
β”‚   β”‚   β”œβ”€β”€ Manage Language Fallbacks  
β”‚   β”‚   └── Work with Translation Services  
β”œβ”€β”€ Advanced Implementation/  
β”‚   β”œβ”€β”€ Performance Optimization/  
β”‚   β”‚   β”œβ”€β”€ Configure Caching  
β”‚   β”‚   β”œβ”€β”€ Set Up a CDN  
β”‚   β”‚   β”œβ”€β”€ Optimize Database  
β”‚   β”‚   └── Implement Static Site Generation  
└── Maintenance and Security/  
    β”œβ”€β”€ Regular Maintenance/  
    β”‚   β”œβ”€β”€ Backup and Restore Procedures  
    β”‚   β”œβ”€β”€ Update TYPO3 Core  
    β”‚   β”œβ”€β”€ Update Extensions  
    β”‚   └── Database Maintenance Tasks  
    β”œβ”€β”€ Security/  
    β”‚   β”œβ”€β”€ Implement Security Best Practices  
    β”‚   β”œβ”€β”€ Set Up HTTPS  
    β”‚   β”œβ”€β”€ Manage User Authentication  
    β”‚   └── Security Incident Response

Building a web application

TYPO3 Step-by-Step Guides/  
β”œβ”€β”€ Getting Started/  
β”‚   β”œβ”€β”€ Installation/  
β”‚   β”‚   β”œβ”€β”€ Install TYPO3 with Composer  
β”‚   β”‚   β”œβ”€β”€ Install TYPO3 without Composer  
β”‚   β”‚   β”œβ”€β”€ Set up TYPO3 with DDEV  
β”‚   β”œβ”€β”€ Basic Configuration/  
β”‚   β”‚   β”œβ”€β”€ First-time Backend Setup  
β”œβ”€β”€ Building Websites/  
β”‚   β”œβ”€β”€ Extensions/  
β”‚   β”‚   β”œβ”€β”€ Find and Install Extensions  
β”‚   β”‚   β”œβ”€β”€ Configure Common Extensions  
β”‚   β”‚   β”œβ”€β”€ Customize Extension Templates  
β”‚   β”‚   └── Troubleshoot Extension Issues  
β”œβ”€β”€ Advanced Implementation/  
β”‚   β”œβ”€β”€ Extension Development/  
β”‚   β”‚   β”œβ”€β”€ Create a Basic Extension  
β”‚   β”‚   β”œβ”€β”€ Develop with Extbase and Fluid  
β”‚   β”‚   β”œβ”€β”€ Build Non-Extbase Extensions  
β”‚   β”‚   └── Create Extension APIs  
β”‚   β”œβ”€β”€ System Integration/  
β”‚   β”‚   β”œβ”€β”€ Connect to External Services  
β”‚   β”‚   β”œβ”€β”€ Implement Single Sign-On  
β”‚   β”‚   β”œβ”€β”€ Set Up REST APIs  
β”‚   β”‚   └── Integrate with Third-party Systems  
β”‚   └── Deployment and DevOps/  
β”‚       β”œβ”€β”€ Set Up CI/CD Pipelines  
β”‚       β”œβ”€β”€ Implement Git Workflows  
β”‚       β”œβ”€β”€ Containerize with Docker  
β”‚       └── Kubernetes Deployment  
└── Maintenance and Security/  
    β”œβ”€β”€ Regular Maintenance/  
    β”‚   β”œβ”€β”€ Backup and Restore Procedures  
    β”‚   β”œβ”€β”€ Update TYPO3 Core  
    β”‚   β”œβ”€β”€ Update Extensions  
    β”‚   └── Database Maintenance Tasks  
    β”œβ”€β”€ Security/  
    β”‚   β”œβ”€β”€ Implement Security Best Practices  
    β”‚   β”œβ”€β”€ Set Up HTTPS  
    β”‚   β”œβ”€β”€ Manage User Authentication  
    β”‚   └── Security Incident Response  
    β”œβ”€β”€ Monitoring/  
    β”‚   β”œβ”€β”€ Set Up Application Monitoring  
    β”‚   β”œβ”€β”€ Configure Log Management  
    β”‚   β”œβ”€β”€ Implement Alerts  
    β”‚   └── Performance Monitoring  
    └── Troubleshooting/  
        β”œβ”€β”€ Debug Common Issues  
        β”œβ”€β”€ Use the Admin Panel  
        β”œβ”€β”€ Work with Exception Logs  
        └── Get Community Support

Role-based learning paths

Users who want to take on a particular role in their TYPO3 team can take a role-based learning path. Standard roles include editors, integrators, developers, and administrators. These these learning paths are a filtered subset of the primary structure without further restructuring.

Editor path

TYPO3 Step-by-Step Guides/  
β”œβ”€β”€ Getting Started/  
β”‚   β”œβ”€β”€ Basic Configuration/  
β”‚   β”‚   β”œβ”€β”€ First-time Backend Setup  
β”‚   β”‚   β”œβ”€β”€ Create Your First Pages  
β”‚   β”œβ”€β”€ Content Creation/  
β”‚   β”‚   β”œβ”€β”€ Create and Organize Pages  
β”‚   β”‚   β”œβ”€β”€ Add Various Content Elements  
β”‚   β”‚   β”œβ”€β”€ Work with the Rich Text Editor  
β”‚   β”‚   └── Manage Media Assets  
β”œβ”€β”€ Building Websites/  
β”‚   β”œβ”€β”€ Content Management/  
β”‚   β”‚   └── Manage Backend User Permissions  
β”‚   β”œβ”€β”€ Multilingual Websites/  
β”‚   β”‚   β”œβ”€β”€ Translate Content  
β”‚   β”‚   β”œβ”€β”€ Manage Language Fallbacks  
β”‚   β”‚   └── Work with Translation Services

Integrator path

TYPO3 Step-by-Step Guides/  
β”œβ”€β”€ Getting Started/  
β”‚   β”œβ”€β”€ Installation/  
β”‚   β”‚   β”œβ”€β”€ Install TYPO3 with Composer  
β”‚   β”‚   β”œβ”€β”€ Install TYPO3 without Composer  
β”‚   β”‚   β”œβ”€β”€ Set up TYPO3 with DDEV  
β”‚   β”‚   └── Upgrade an Existing TYPO3 Installation  
β”‚   β”œβ”€β”€ Basic Configuration/  
β”‚   β”‚   β”œβ”€β”€ First-time Backend Setup  
β”‚   β”‚   β”œβ”€β”€ Create Your First Pages  
β”‚   β”‚   β”œβ”€β”€ Set Up a Site Configuration  
β”‚   β”‚   └── Implement Site Sets (v13+)  
β”‚   β”œβ”€β”€ Content Creation/  
β”‚   β”‚   β”œβ”€β”€ Create and Organize Pages  
β”‚   β”‚   β”œβ”€β”€ Add Various Content Elements  
β”‚   β”‚   β”œβ”€β”€ Work with the Rich Text Editor  
β”‚   β”‚   └── Manage Media Assets  
β”‚   └── Site Packages/  
β”‚       β”œβ”€β”€ Create a Basic Site Package  
β”‚       β”œβ”€β”€ Use the Bootstrap Package  
β”‚       β”œβ”€β”€ Customize Templates  
β”‚       └── Implement Your Design  
β”œβ”€β”€ Building Websites/  
β”‚   β”œβ”€β”€ Content Management/  
β”‚   β”‚   β”œβ”€β”€ Set Up Page Types  
β”‚   β”‚   β”œβ”€β”€ Create Custom Content Elements  
β”‚   β”‚   β”œβ”€β”€ Configure the Backend Layout  
β”‚   β”‚   └── Manage Backend User Permissions  
β”‚   β”œβ”€β”€ Multilingual Websites/  
β”‚   β”‚   β”œβ”€β”€ Set Up Multiple Languages  
β”‚   β”‚   β”œβ”€β”€ Translate Content  
β”‚   β”‚   β”œβ”€β”€ Manage Language Fallbacks  
β”‚   β”‚   └── Work with Translation Services  
β”‚   β”œβ”€β”€ Extensions/  
β”‚   β”‚   β”œβ”€β”€ Find and Install Extensions  
β”‚   β”‚   β”œβ”€β”€ Configure Common Extensions  
β”‚   └── Frontend Development/  
β”‚       β”œβ”€β”€ Understand Fluid Templates  
β”‚       β”œβ”€β”€ Create Responsive Layouts  
β”‚       β”œβ”€β”€ Implement Frontend User Registration  
β”‚       └── Add Custom JavaScript and CSS  
└── Maintenance and Security/  
    β”œβ”€β”€ Regular Maintenance/  
    β”‚   β”œβ”€β”€ Backup and Restore Procedures  
    β”‚   β”œβ”€β”€ Update TYPO3 Core  
    β”‚   β”œβ”€β”€ Update Extensions  
    β”‚   └── Database Maintenance Tasks  
    β”œβ”€β”€ Security/  
    β”‚   β”œβ”€β”€ Implement Security Best Practices

Developer path

TYPO3 Step-by-Step Guides/  
β”œβ”€β”€ Advanced Implementation/  
β”‚   β”œβ”€β”€ Extension Development/  
β”‚   β”‚   β”œβ”€β”€ Create a Basic Extension  
β”‚   β”‚   β”œβ”€β”€ Develop with Extbase and Fluid  
β”‚   β”‚   β”œβ”€β”€ Build Non-Extbase Extensions  
β”‚   β”‚   └── Create Extension APIs  
β”‚   β”œβ”€β”€ System Integration/  
β”‚   β”‚   β”œβ”€β”€ Connect to External Services  
β”‚   β”‚   β”œβ”€β”€ Implement Single Sign-On  
β”‚   β”‚   β”œβ”€β”€ Set Up REST APIs  
β”‚   β”‚   └── Integrate with Third-party Systems  
β”‚   β”œβ”€β”€ Performance Optimization/  
β”‚   β”‚   β”œβ”€β”€ Configure Caching  
β”‚   β”‚   β”œβ”€β”€ Optimize Database  
β”‚   β”‚   └── Implement Static Site Generation  
└── Maintenance and Security/  
    └── Troubleshooting/  
        β”œβ”€β”€ Debug Common Issues  
        β”œβ”€β”€ Use the Admin Panel  
        β”œβ”€β”€ Work with Exception Logs  
        └── Get Community Support

Admin path

TYPO3 Step-by-Step Guides/  
β”œβ”€β”€ Getting Started/  
β”‚   β”œβ”€β”€ Installation/  
β”‚   β”‚   β”œβ”€β”€ Install TYPO3 with Composer  
β”‚   β”‚   β”œβ”€β”€ Install TYPO3 without Composer  
β”‚   β”‚   β”œβ”€β”€ Set up TYPO3 with DDEV  
β”‚   β”‚   └── Upgrade an Existing TYPO3 Installation  
β”‚   β”œβ”€β”€ Basic Configuration/  
β”‚   β”‚   β”œβ”€β”€ First-time Backend Setup  
β”‚   β”‚   β”œβ”€β”€ Set Up a Site Configuration  
β”‚   β”‚   └── Implement Site Sets (v13+)  
β”œβ”€β”€ Building Websites/  
β”‚   β”œβ”€β”€ Content Management/  
β”‚   β”‚   β”œβ”€β”€ Set Up Page Types  
β”‚   β”‚   β”œβ”€β”€ Create Custom Content Elements  
β”‚   β”‚   β”œβ”€β”€ Configure the Backend Layout  
β”‚   β”‚   └── Manage Backend User Permissions  
β”‚   β”œβ”€β”€ Multilingual Websites/  
β”‚   β”‚   β”œβ”€β”€ Set Up Multiple Languages  
β”‚   β”œβ”€β”€ Extensions/  
β”‚   β”‚   β”œβ”€β”€ Find and Install Extensions  
β”‚   β”‚   β”œβ”€β”€ Configure Common Extensions  
β”‚   β”‚   β”œβ”€β”€ Customize Extension Templates  
β”‚   β”‚   └── Troubleshoot Extension Issues  
β”œβ”€β”€ Advanced Implementation/  
β”‚   β”œβ”€β”€ Performance Optimization/  
β”‚   β”‚   β”œβ”€β”€ Configure Caching  
β”‚   β”‚   β”œβ”€β”€ Set Up a CDN  
β”‚   └── Deployment and DevOps/  
β”‚       β”œβ”€β”€ Set Up CI/CD Pipelines  
β”‚       β”œβ”€β”€ Implement Git Workflows  
β”‚       β”œβ”€β”€ Containerize with Docker  
β”‚       └── Kubernetes Deployment  
└── Maintenance and Security/  
    β”œβ”€β”€ Regular Maintenance/  
    β”‚   β”œβ”€β”€ Backup and Restore Procedures  
    β”‚   β”œβ”€β”€ Update TYPO3 Core  
    β”‚   β”œβ”€β”€ Update Extensions  
    β”‚   └── Database Maintenance Tasks  
    β”œβ”€β”€ Security/  
    β”‚   β”œβ”€β”€ Implement Security Best Practices  
    β”‚   β”œβ”€β”€ Set Up HTTPS  
    β”‚   β”œβ”€β”€ Manage User Authentication  
    β”‚   └── Security Incident Response  
    β”œβ”€β”€ Monitoring/  
    β”‚   β”œβ”€β”€ Set Up Application Monitoring  
    β”‚   β”œβ”€β”€ Configure Log Management  
    β”‚   β”œβ”€β”€ Implement Alerts  
    β”‚   └── Performance Monitoring  
    └── Troubleshooting/  
        β”œβ”€β”€ Debug Common Issues  
        β”œβ”€β”€ Use the Admin Panel  
        β”œβ”€β”€ Work with Exception Logs  
        └── Get Community Support

How to relate secondary structures to the primary structure

Readers can access any guide without choosing a learning path first. To give them a hint about the guide’s context, each guide should contain a visual guidance about available learning paths.

For example:

This guide is part of the following learning paths:

  • Editor path
  • Integrator path
  • Quick site setup