This document describes the complete workflow from ticket creation to deployment for TYPO3.org projects.
Prerequisites
GitLab Account
Before you can contribute, you need a GitLab account that corresponds to your TYPO3.org username.
You can manage your TYPO3.org account at my.typo3.org.
Access Requirements
- For most projects: TYPO3.org account with GitLab access
- For extensions.typo3.org (TER): Additional signed NDA required due to GDPR (user data protection)
If you don't have access to GitLab, the reason might be that your username is not present in the LDAP environment.
To solve this, log in to https://typo3.org/ once.
User Roles & Permissions
- Contributors: Can create feature branches, push commits, and create merge requests
- Maintainers: Can merge into develop and main branches, review and approve merge requests
Important
Only users with Maintainer status can merge into develop and main branches.
All other contributors must create merge requests for review.
Detailed coding standards will be added in future updates.
Merge Request Workflow (Maintainers)
Review Assignment: Maintainers review and assign merge requests to themselves
Code Review: Review the code changes carefully
Local Testing: Test the code locally on your development environment
Approval Process:
If everything is okay: Approve and merge into develop
If improvements are needed: Request changes and assign back to author
Ensure all tests pass and code quality standards are met
Merge to Develop: Maintainer merges approved feature into develop branch
Release Process: When ready for production, maintainer merges develop into main
Note for Contributors: You cannot merge your own requests. A maintainer must review and merge all contributions.
Deployment Process
After successful merge to the main branch:
Staging: Changes are automatically deployed to staging environment
Production: Production deployment follows the project's release schedule
Monitoring: Monitor for any issues after deployment
Branch Strategy & Permissions
Protected Branches
- ``main``: Production branch - Maintainers only
- ``develop``: Development branch - Maintainers only
- ``master``: For extensions - Maintainers only (legacy naming)
Contributor Branches
- Feature branches: feature/issue-number-description - Contributors can create and push
- Hotfix branches: hotfix/description - For critical fixes
DDEV provides a Docker-based development environment with automated setup and database synchronization for TYPO3.org projects.
Prerequisites
Required Software
- Docker: Download Docker
- DDEV: Installation Guide
- Node.js 14: Required for frontend asset building (automatically available in DDEV)
Access Requirements
- GitLab account corresponding to your TYPO3.org username
- For TER project: Signed NDA required due to GDPR compliance
Installation
Clone Repository
Clone your desired project repository:
# Example for typo3.org
git clone https://git.typo3.org/services/t3o-sites/typo3.org/typo3.org.git
cd typo3.org
# Example for extensions.typo3.org
git clone https://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter.git
cd ter
Required fields:
- http-basic: Basic authentication for Git operations
- gitlab-api: API access for database synchronization
- project-id: Project ID for database dumps (varies by project)
Start Environment
Start the DDEV environment:
ddev start
Copied!
Sync the database (this will download and import the latest database):
ddev sync-database
Copied!
Warning
This command will replace your existing database with the latest dump from GitLab.
Any local changes will be lost.
Downloads the latest database dump from GitLab CI/CD artifacts
Drops the existing local database
Imports the fresh database
Creates a backend user automatically (admin/password)
Can be used during development to reset to a clean state
Database Source URLs:
Database dump URLs are project-specific and configured in the gitlab-api section of auth.json. Each project has its own database artifacts from GitLab CI/CD.
Creating Additional Backend Users
If you need to create additional backend users, use:
DDEV includes automatic filefill configuration that loads assets from production servers.
The configuration is located in additional.ddev.php and is automatically configured for each project.
Filefill Configuration
Each project includes specific filefill configuration for loading assets from production servers. The configuration varies by project and is included in the project's additional.ddev.php file.
Frontend Development
CSS and JavaScript Assets
To work on frontend assets (uses Node.js 14 automatically):
ddev build-frontend
Copied!
This command compiles all CSS and JavaScript files needed for the frontend.
Node.js Version in DDEV
DDEV containers include Node.js 14 by default. You can verify this:
ddev exec node --version
Copied!
Mail Testing
All emails are sent to Mailpit during development:
This guide covers setting up a local development environment without DDEV for TYPO3.org projects.
Prerequisites
Web Server Requirements
- PHP 8.1 or higher
- MariaDB or MySQL database
- Web server (Apache/Nginx)
- Node.js 14 (for frontend asset building)
- All TYPO3 12.4 LTS requirements
Optional for TER Project
- Solr Server 6.6 (for extensions.typo3.org search functionality)
Access Requirements
- GitLab account corresponding to your TYPO3.org username
- For TER project: Signed NDA required due to GDPR compliance
Installation
Clone Repository
Clone your desired project repository:
# For typo3.org
git clone https://git.typo3.org/services/t3o-sites/typo3.org/typo3.org.git
cd typo3.org
Copied!
Create a virtual host pointing to the html subdirectory
Required fields:
- http-basic: Basic authentication for Git operations
- gitlab-api: API access for database synchronization and CI/CD artifacts
- project-id: Project ID for database dumps (5 = typo3.org)
unzip database.zip
mysql -u your-user -p your-database < DB.sql
Copied!
Database URLs for Projects:
- 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
This configuration allows the filefill extension to load assets from production servers when they're not available locally.
Project-specific configurations:
- typo3.org: Configuration shown above
- Other projects: Configurations will be provided later
Composer Setup
Install PHP dependencies:
composer install
Copied!
Frontend Assets
CSS and JavaScript Setup
Verify Node.js version (must be Node.js 14):
node --version
Copied!
Install npm dependencies:
npm install --prefix=vendor/t3o/t3olayout/Build/
Copied!
Build assets:
npm run build --prefix=vendor/t3o/t3olayout/Build/
Copied!
Note
If you prefer not to build assets locally, the latest compiled files are included in the database dump download.
Backend Access
Creating a Backend User
Create a backend administrator user using the TYPO3 CLI command:
Run the backend user creation command:
php vendor/bin/typo3 backend:createadmin
Copied!
Follow the interactive prompts to set:
Username (e.g., admin)
Password (choose a secure password)
Email address
Login to the backend at https://your-local-site.local/typo3/ with your created credentials
Database Import Details
The database import includes:
Complete page tree and content
Backend user: admin / password
All necessary TYPO3 configuration
Extension settings
File Assets
Thanks to the filefill extension by Nicole Cordes, you don't need to download the complete fileadmin directory. Assets are loaded on-demand from production servers.
How it works:
- When a file is requested that doesn't exist locally
- Filefill checks the configured domains
- Downloads the file from production
- Serves it locally for future requests
Solr Setup (TER Only)
For extensions.typo3.org, you need a Solr server:
Install Solr 6.6 locally
Configure Solr connection in TYPO3 backend
Index the extension data
Note
Detailed Solr configuration will be provided later.
Troubleshooting
Common Issues
Composer authentication fails
Check your auth.json file and GitLab token permissions.
Database import fails
Verify your database credentials and ensure the database exists.
Files not loading
Check filefill configuration and internet connectivity to production servers.
Cannot create backend user
Use the TYPO3 CLI command: php vendor/bin/typo3 backend:createadmin
Extensions
- t3olayout: Common layout extension for all projects
- filefill: Asset loading from production (by Nicole Cordes)
- Project-specific extensions as needed
Development Workflow
- GitLab-based development
- Feature branches from develop branch
- Merge requests for code review
- CI/CD pipelines for testing and deployment
Database Synchronization
Each project provides database dumps via GitLab CI/CD artifacts:
Available Databases
- typo3.org: https://git.typo3.org/api/v4/projects/133/jobs/artifacts/develop/download?job=Get%20dump%20for%20local%20environment
- Other projects: URLs will be provided later
DDEV Integration
All projects support the ddev sync-database command for automated database synchronization.
Access Requirements
Standard Access
- TYPO3.org account
- GitLab access (username must match TYPO3.org username)
- Account management via my.typo3.org
Special Access Requirements
- extensions.typo3.org: Signed NDA required due to GDPR compliance (user data protection)
If you can't access GitLab, log in to https://typo3.org/ once to sync your account with LDAP.
Filefill Configuration
Each project has specific filefill configuration for asset loading:
typo3.org serves as the main community hub providing:
Core Features
- Community news and announcements
- Event listings and management
- Security bulletins and advisories
- TYPO3 certification information
- Download section for TYPO3 releases
- Community member profiles
Target Audience
- TYPO3 developers and integrators
- Agency owners and decision makers
- Community members and contributors
- New users discovering TYPO3
Key Extensions
- t3olayout: Common layout and styling
- filefill: Asset loading from production
- news: News and announcement system
- events2: Event management
- solr: Search functionality (optional)
Local Development Setup
DDEV Setup (Recommended)
Clone the repository:
git clone https://git.typo3.org/services/t3o-sites/typo3.org/typo3.org.git
cd typo3.org
Copied!
Configure authentication:
cp auth.json.example auth.json
# Edit auth.json with your GitLab credentials
Frontend Development
- Build assets: ddev build-frontend (DDEV) or npm run build --prefix=vendor/t3o/t3olayout/Build/
- CSS/SCSS files located in vendor/t3o/t3olayout/Build/
- JavaScript files in the same directory structure
Content Management
- News articles: Use the news extension
- Events: Use the events2 extension
- Pages: Standard TYPO3 page management
Testing
- Test all changes locally before creating merge requests
- Verify responsive design on different screen sizes
- Check cross-browser compatibility
- Test performance impact of changes
Common Development Tasks
Adding News Articles
- Backend → Web → List → News folder
- Create new news record
- Set publication date and author
- Add categories and tags as needed
Managing Events
- Backend → Web → List → Events folder
- Create new event record
- Set location, date, and time
- Configure registration if applicable
Updating Content
- Most content can be edited directly in the backend
- Static content may require template changes
- Images should be optimized for web use
Special Considerations
Asset Management
- Use filefill for production assets
- Optimize images before upload
- Use appropriate file formats (WebP when possible)
Performance
- Enable caching in production
- Monitor database query performance
- Optimize images and assets
Security
- Keep TYPO3 core and extensions updated
- Follow TYPO3 security best practices
- Monitor security bulletins
Known Issues & Solutions
Common Problems
- Asset loading issues → Check filefill configuration
- Database connection errors → Verify credentials in additional.php
- Frontend build failures → Clear npm cache and rebuild
Performance Issues
- Slow page loads → Check database queries and caching
- Large images → Optimize and use appropriate formats
- Memory issues → Increase PHP memory limit if needed
⚠️ Special Access Requirements
- Signed NDA required due to GDPR compliance (user data protection)
- Standard GitLab access not sufficient
- Contact project maintainers for NDA process
Project Description
The TYPO3 Extension Repository provides:
Core Features
- Extension registration and management
- Extension key management (register, transfer, remove)
- Extension uploads and version management
- Extension browsing and search functionality
- Extension documentation integration
- User ratings and reviews
- Download statistics and analytics
Target Audience
- Extension developers
- TYPO3 integrators searching for extensions
- Community members exploring available extensions
- Extension maintainers managing their extensions
Key Extensions
- t3olayout: Common layout and styling
- filefill: Asset loading from production
- solr: Search functionality (required)
- ter: Extension repository functionality
⚠️ Solr Requirement
This project requires Apache Solr for search functionality. Additional configuration is needed beyond the standard setup.
Local Development Setup
DDEV Setup (Recommended)
Access Check: Ensure you have signed the NDA and have been granted access
Clone the repository:
git clone https://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter.git
cd ter
Copied!
Configure authentication:
cp auth.json.example auth.json
# Edit auth.json with your GitLab credentials
Copied!
Start environment:
ddev start
ddev sync-database
Copied!
Solr Setup: The built-in Solr server starts automatically
- Solr Admin: https://extensions.typo3.org.ddev.site:8983
- No additional configuration needed for basic development
Solr Features
- Full-text search in extensions
- Faceted search by categories, TYPO3 version, etc.
- Search suggestions and autocomplete
- Advanced search filters
Development Guidelines
Extension Data Management
- Extensions are imported from external sources
- Local changes may be overwritten during imports
- Focus on frontend/backend functionality rather than data
Frontend Development
- Build assets: ddev build-frontend (DDEV)
- Special attention to search interface
- Responsive design for mobile browsing
- Performance optimization for large datasets
Search Functionality
- Test search with various queries
- Verify faceted search filters
- Check search result relevance
- Test autocomplete functionality
Backend Development
- Extension management interfaces
- User management for extension developers
- Analytics and reporting features
- Import/export functionality
Common Development Tasks
Working with Extensions
- Extension data is imported, not manually created
- Focus on display and search functionality
- Test with various extension types and sizes
Search Development
- Modify search templates and logic
- Update Solr configuration if needed
- Test search performance with large datasets
- Implement new search features
User Management
- Extension developer accounts
- Permission management
- User registration and verification
Special Considerations
Data Protection (GDPR)
- User data handling requires special care
- Privacy policy compliance
- Data retention policies
- User consent management
Performance
- Large dataset handling
- Search performance optimization
- Caching strategies for extension data
- Database query optimization
Security
- User authentication and authorization
- Extension upload security
- Input validation and sanitization
- Rate limiting for API endpoints
Import Processes
- Extension data imports from external sources
- Automated synchronization processes
- Data validation and cleanup
- Error handling for import failures
Known Issues & Solutions
Common Problems
- Solr connection issues → Check Solr server status and configuration
- Search not working → Verify Solr indexing and core configuration
- Import failures → Check data sources and import scripts
- Performance issues → Optimize database queries and caching
Development Specific
- Large dataset handling → Use pagination and lazy loading
- Search relevance → Tune Solr configuration and boost factors
- Memory issues → Increase PHP memory limit for large operations
Getting Help
⚠️ Access Issues
- Contact project maintainers for NDA process
- Ensure your GitLab account matches TYPO3.org username
Technical Support
- Project-specific issues: Repository issue tracker
- Solr questions: TYPO3 Slack #typo3-solr
- General questions: TYPO3 Slack #typo3-org
Access Requirements
- Standard GitLab access
- TYPO3.org account required
Project Description
The TYPO3 Community Voting Platform provides:
Core Features
- Community voting on important decisions
- Ballot creation and management
- Voting process administration
- Results display and analysis
- User authentication and verification
- Voting history and archives
Target Audience
- TYPO3 community members
- TYPO3 Association members
- Community decision makers
- Voting administrators
Follow the Manual Setup guide with these project-specific details:
Database dump: URL will be provided later
Filefill configuration: Will be provided later
Development Guidelines
Voting System Development
- Secure voting mechanisms
- Anonymous voting options
- Audit trail maintenance
- Result calculation accuracy
Frontend Development
- Build assets: ddev build-frontend (DDEV)
- User-friendly voting interfaces
- Clear result visualization
- Mobile-responsive design
Backend Development
- Ballot creation and management
- User verification systems
- Vote counting and validation
- Administrative interfaces
Security Considerations
- Vote integrity protection
- User authentication security
- Prevention of multiple voting
- Data privacy compliance
Common Development Tasks
Ballot Management
- Create new voting ballots
- Configure voting options
- Set voting periods and deadlines
- Manage voter eligibility
Voting Process
- User registration and verification
- Voting interface development
- Progress tracking and notifications
- Result calculation and display
Administration
- User management and permissions
- Voting statistics and analytics
- Archive management
- Security monitoring
User Experience
- Clear voting instructions
- Intuitive interface design
- Accessibility compliance
- Mobile device support
Performance
- Handle high concurrent voting loads
- Efficient result calculations
- Optimized database queries
- Caching for result displays
Compliance
- Data protection regulations
- Voting process transparency
- Record retention policies
- User consent management
Known Issues & Solutions
Common Problems
- Authentication issues → Check TYPO3.org account integration
- Voting period errors → Verify timezone configurations
- Result calculation errors → Check vote counting algorithms
- Performance during high load → Optimize database and caching
Development Specific
- Testing voting scenarios → Use development/staging data
- Database synchronization → Follow standard sync procedures
- Asset loading → Verify filefill configuration
Getting Help
Project Support
- Repository issues: Use project issue tracker (when available)
- General questions: TYPO3 Slack #typo3-org
- Development support: Contact project maintainers
Technical Resources
- TYPO3 documentation: https://docs.typo3.org/
- Security best practices: TYPO3 security guidelines
- Voting system design: Community governance documentation
Contacts
- Project maintainers: To be identified
- TYPO3 Association: For voting process questions
Development Status
Note
This project is in setup phase. Repository URL, database dump location, and
filefill configuration will be provided once available.
What's Available
- Project concept and requirements
- Technical specifications
- Development guidelines
Access Requirements
- Standard GitLab access
- TYPO3.org account required
Project Description
my.typo3.org serves as the central user management platform providing:
Core Features
- User registration for new TYPO3.org users
- Profile management and editing
- Basic user data management (name, email, contact information)
- Community feature integration
- Account settings and preferences
- GitLab account synchronization
User Data Management
- First and last name
- Email address management
- Contact information
- Community profile settings
- Privacy preferences
Target Audience
- All TYPO3 community members
- New users registering for TYPO3.org
- Existing users managing their profiles
- Community administrators
Key Extensions
- t3olayout: Common layout and styling
- filefill: Asset loading from production
- Custom user management extensions
- LDAP integration for authentication
Special Requirements
- LDAP connectivity for user authentication
- Integration with GitLab for account synchronization
Local Development Setup
DDEV Setup (Recommended)
Clone the repository:
git clone [repository-url-to-be-provided]
cd my.typo3.org
Copied!
Configure authentication:
cp auth.json.example auth.json
# Edit auth.json with your GitLab credentials
Follow the Manual Setup guide with these project-specific details:
Database dump: URL will be provided later
Filefill configuration: Will be provided later
Development Guidelines
User Management Development
- Secure user data handling
- GDPR compliance for personal data
- User authentication and authorization
- Account verification processes
Frontend Development
- Build assets: ddev build-frontend (DDEV)
- User-friendly profile interfaces
- Responsive design for all devices
- Accessibility compliance
Backend Development
- User administration interfaces
- Data export and import functionality
- Account synchronization systems
- User activity logging
Security Considerations
- Personal data protection
- Secure authentication mechanisms
- Data encryption for sensitive information
- Privacy compliance (GDPR)
Common Development Tasks
User Profile Management
- Profile creation and editing forms
- Data validation and sanitization
- Image upload and management
- Privacy settings configuration
Account Administration
- User account creation and verification
- Bulk user management operations
- Account status management
- User data export/import
Integration Development
- GitLab account synchronization
- LDAP authentication integration
- Third-party service connections
- API development for external access
Special Considerations
Data Protection (GDPR)
- Personal data handling compliance
- User consent management
- Data retention policies
- Right to be forgotten implementation
Performance
- Efficient user data queries
- Caching for user profiles
- Optimized authentication processes
- Database indexing for user searches
Integration Requirements
- LDAP server connectivity
- GitLab API integration
- Email service integration
- External authentication providers
Known Issues & Solutions
Common Problems
- LDAP connection issues → Check LDAP server configuration
- GitLab sync failures → Verify API credentials and permissions
- Email delivery problems → Check email service configuration
- Authentication loops → Clear cookies and check session handling
Development Specific
- User data privacy → Implement proper data handling procedures
- Database synchronization → Follow user data protection guidelines
- Local LDAP testing → Use development LDAP server or mock services
Getting Help
Project Support
- Repository issues: Use project issue tracker (when available)
- User management questions: TYPO3 Slack #typo3-org
- LDAP/Authentication: Contact system administrators
Planned Features
- Community member directory
- Group and team management
- Event participation tracking
- Contribution history display
- Community badges and achievements
Integration Points
- TYPO3.org main site integration
- Extension repository user linking
- Voting platform authentication
- Community forum connections
Next Steps
Repository Access: Wait for repository URL to be provided
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:
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!
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
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:
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: 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:
# 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
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.)
Reference to the headline
Copy and freely share the link
This link target has no permanent anchor assigned.The link below can be used, but is prone to change if the page gets moved.