FAQ 

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
Copied!

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
Copied!

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
Copied!

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
Copied!

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,
],
Copied!

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' => '.*',
],
Copied!

Q: "Extension not found" A: Run:

composer install
Copied!

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/
Copied!

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.)