FAQ
On this page:
Frequently Asked Questions and troubleshooting guide for TYPO3.org development.
Getting Started
Q: How do I get access to the TYPO3.org repositories? A: You need a TYPO3.org account that corresponds to your GitLab username. Manage your account at my.typo3.org. If you can't access GitLab, log in to https://typo3.org/ once to sync your account with LDAP.
Q: Do I need special permissions for all projects? A: No, most projects only require standard GitLab access. However, extensions.typo3.org (TER) requires a signed NDA due to GDPR compliance (user data protection).
Q: Which branch should I work on?
A: For all projects, work in feature branches created from:
- develop branch for website projects
- master branch for extensions
Q: How do I contact the T3O team? A: Contact Thomas Löffler (@spoonerweb) in TYPO3 Slack or use the #typo3-org channel.
DDEV Environment
Q: DDEV start fails with npm processes error
A: Remove the node_modules folder and clear npm cache:
rm -rf vendor/t3o/t3olayout/Build/node_modules
ddev exec npm cache clear --force
Q: How do I update my local database? A: Use the sync command, but be careful as it replaces your entire database:
ddev sync-database
Warning
This command will replace your existing database with the latest dump. Any local changes will be lost.
Q: Can I access the backend after database sync?
A: Yes, a backend user is automatically created:
- Username: admin
- Password: password
Q: How do I compile frontend assets? A: Use the build command:
ddev build-frontend
Q: Where can I access Mailpit for testing emails? A: Mailpit is available at: https://[your-project].ddev.site:8026
Authentication & Access
Q: Why can't I login with my LDAP user in the frontend? A: LDAP login is disabled in local development due to data protection issues. Create a local frontend user instead through the backend.
Q: My GitLab authentication fails
A: Check your auth.json file configuration:
1. Ensure the file exists (copy from auth.json.example)
2. Verify both http-basic and gitlab-api sections are configured
3. Check that username/password and username/token match your GitLab account
4. Verify the personal access token is not expired
Q: What's the difference between http-basic and gitlab-api in auth.json?
A: Both sections serve different purposes:
- http-basic: Username/password for basic Git operations (clone, pull, push)
- gitlab-api: Username/token for API access (database downloads, CI/CD artifacts)
Q: How do I get a GitLab token?
A: Go to GitLab → User Settings → Access Tokens → Create a token with read_repository and read_api permissions.
Database & Content
Q: Where do I get the database dump?
A: Database dumps are available via GitLab CI/CD artifacts:
- typo3.org: https://git.typo3.org/api/v4/projects/5/jobs/artifacts/develop/download?job=Get%20dump%20for%20local%20environment
- Other projects: URLs will be provided later
Q: Why are images not loading? A: This is normal. The filefill extension loads assets on-demand from production servers. Images will appear when requested. Check your filefill configuration if images consistently fail to load.
Q: How does filefill work? A: When a file is requested that doesn't exist locally, filefill: 1. Checks configured production domains 2. Downloads the file from production 3. Serves it locally for future requests
Q: My local changes to content are lost after database sync
A: This is expected behavior. The ddev sync-database command replaces your entire database with the production dump. Make content changes in the backend after sync, or work on template/code changes instead.
Extensions & Development
Q: How do I install additional extensions? A: Use Composer:
composer require typo3/cms-extension-name
Q: Where are the frontend templates?
A: Templates are in the t3olayout extension:
- t3olayout extension: vendor/t3o/t3olayout/
- Project-specific extensions: extensions/ directory
- Vendor extensions: vendor/ directory
Q: How do I debug TYPO3 issues?
A: Enable debug mode in your additional.php:
'SYS' => [
'displayErrors' => 1,
'devIPmask' => '*',
'exceptionalErrors' => E_ALL,
],
Q: Frontend assets are not building
A: Try these steps:
1. Check Node.js version: ddev exec node --version (should be 14.x) or node --version for manual setup
2. Clear npm cache: ddev exec npm cache clear --force
3. Remove node_modules: rm -rf vendor/t3o/t3olayout/Build/node_modules
4. Rebuild: ddev build-frontend
Q: Wrong Node.js version error A: Frontend assets require Node.js 14: - DDEV: Node.js 14 is included automatically - Manual setup: Install Node.js 14 from https://nodejs.org/
Project-Specific Issues
Q: Solr is not working for extensions.typo3.org A: For DDEV environments: 1. Solr should start automatically 2. Check Solr admin at port 8983 3. Verify Solr core configuration in TYPO3 backend
Q: How do I access the TER (extensions.typo3.org) project? A: You need: 1. Standard GitLab access 2. Signed NDA due to GDPR compliance 3. Contact project maintainers for the NDA process
Q: What if I need help with a specific project? A: Each project has its own documentation: - typo3.org - extensions.typo3.org - voting.typo3.org - my.typo3.org
Performance & Optimization
Q: My local environment is slow A: Try these optimizations: 1. Allocate more memory to Docker 2. Use Docker Desktop's filesystem optimization 3. Disable unnecessary services 4. Check database query performance
Q: How do I optimize images? A: Use appropriate formats: - WebP for modern browsers - Optimize file sizes before upload - Use responsive images when possible
Q: Database operations are slow A: Check: 1. Database indexes 2. Query optimization 3. Available memory 4. Disk space
Common Error Messages
Q: "Could not connect to database"
A: Check your database configuration in additional.php:
- Verify hostname, username, password
- Ensure database exists
- Check database server is running
Q: "Trusted hosts pattern mismatch"
A: Add this to your additional.php:
'SYS' => [
'trustedHostsPattern' => '.*',
],
Q: "Extension not found" A: Run:
composer install
Q: "Permission denied" errors A: Check file permissions:
# For DDEV
ddev exec chown -R www-data:www-data /var/www/html/
# For manual setup
chown -R www-data:www-data html/
Development Workflow
Q: How do I create a merge request? A: Follow the Workflow: 1. Create issue or find existing one 2. Create branch from GitLab interface 3. Work locally on the branch 4. Push changes and create merge request
Q: What coding standards should I follow? A: Follow TYPO3 Core coding standards: - PSR-12 for PHP - TYPO3 CGL (Coding Guidelines) - Use meaningful commit messages - Write tests for new functionality
Q: How do I test my changes? A: Test locally: 1. Verify functionality works 2. Check responsive design 3. Test in different browsers 4. Ensure no PHP errors or warnings
Still Need Help?
Resources - TYPO3 Slack: #typo3-org channel - TYPO3 Documentation: https://docs.typo3.org/ - DDEV Documentation: https://ddev.readthedocs.io/
Contacts - Thomas Löffler (@spoonerweb): General T3O questions - Project maintainers: Check individual project repositories - Community: TYPO3 Slack channels
Reporting Issues - Use project-specific issue trackers - Provide detailed error messages - Include steps to reproduce - Mention your environment (DDEV/manual, OS, etc.)