4. BUSY NOGGIN
DIGITAL
(1) Project Manager / Creative Director / Site
Integrator / Frontend Developer
(1) PHP Developer
(2) Designer / Frontend Dev / Site Integrator
The Small Team
• Wide range of TYPO3 experience, ranging from
<1 year to 10 years
• Semi-virtual team, separated by 8,000 miles
8. BUSY NOGGIN
DIGITAL
Create A Base Package
TYPO3 Source
Extensions Extension Config Extension Templates
Default Site Config Wireframe Template
Backend Permissions
What steps do you perform as part of every site build?
9. BUSY NOGGIN
DIGITAL
Create A Base Package
TYPO3 Source
Extensions Extension Config Extension Templates
Default Site Config Wireframe Template
Backend Permissions
Custom Extensions
Custom TemplateSite Configuration
Make Use of Inheritance for Individual Sites
10. BUSY NOGGIN
DIGITAL
Create A Base Package
Consistent, modular structure for extensions, skins, etc
tt_news
Configuration
TypoScript
Resources
Private
SASS
Templates
Public
Images
JavaScript
StyleSheets
my_skin
Configuration
TypoScript
Resources
Private
SASS
Templates
Public
Images
JavaScript
StyleSheets
15. BUSY NOGGIN
DIGITAL
Version Control
I think the hosting company
does backups
Let’s put the content in Git!
Everything is a submodule!
Code & Configuration in Git
Content outside Git
16. BUSY NOGGIN
DIGITAL
• ... for the same reasons you would version control an extension
• Change tracking and rollback
• Keep code in sync with other team members
• Easy TYPO3 upgrades by updating submodule
Version Control
Why should I version control a site?
17. BUSY NOGGIN
DIGITAL
• Any content generated in production
- Database
- Static files in fileadmin
- Static files in uploads
- Anything in typo3temp
- Temp files and logs in typo3conf
- Autogenerated RealURL configuration
- Server-specific configuration (ie. localconf.site.php)
Version Control
What should I leave out of version control?
20. BUSY NOGGIN
DIGITAL
• Most projects are basic LAMP stack
• Run (L/M/W)AMP locally for simplicity
• Develop inside a feature branch or general development branch
• Tower and SourceTree make GIT more approachable
• MAMP Pro makes Apache & Virtual Hosts more accessible
Local Development
Basic Setup
21. BUSY NOGGIN
DIGITAL
• Checkout Git repository
• Set up in MAMP
• Sync database and content via Syncing Secret Sauce
(stay tuned until the end of the presentation)
Local Development
Usage
24. BUSY NOGGIN
DIGITAL
• Remote multi-server automation tool
• Run commands locally, execute them on the server
• Multi-stage (testing, production) and Muti-role (web, db)
• Common Tasks
- cap [stage] deploy:setup
- cap [stage] deploy:pending
- cap [stage] deploy
- cap [stage] deploy:rollback
Deployment
Capistrano Basics
37. BUSY NOGGIN
DIGITAL
• Vagrant for sites with needs outside LAMP stack
• Define normal site building stages and deliverables produced
• Checklists for guiding a site build through common tasks
• Documentation for deployment, version control, etc
Next Steps
It’s too big right now, but where are we headed?