BUSY NOGGINDIGITAL(1) Project Manager / Creative Director / SiteIntegrator / Frontend Developer(1) PHP Developer(2) Designer / Frontend Dev / Site IntegratorThe Small Team• Wide range of TYPO3 experience, ranging from<1 year to 10 years• Semi-virtual team, separated by 8,000 miles
BUSY NOGGINDIGITALKickstarting a SiteDownload TYPO3 SourceCopy/PasteBuildYour Own CMS!Create a Base Package
BUSY NOGGINDIGITALCreate A Base PackageTYPO3 SourceExtensions Extension Conﬁg Extension TemplatesDefault Site Conﬁg Wireframe TemplateBackend PermissionsWhat steps do you perform as part of every site build?
BUSY NOGGINDIGITALCreate A Base PackageTYPO3 SourceExtensions Extension Conﬁg Extension TemplatesDefault Site Conﬁg Wireframe TemplateBackend PermissionsCustom ExtensionsCustom TemplateSite ConﬁgurationMake Use of Inheritance for Individual Sites
BUSY NOGGINDIGITALVersion ControlI think the hosting companydoes backupsLet’s put the content in Git!Everything is a submodule!Code & Conﬁguration in GitContent outside Git
BUSY NOGGINDIGITAL• ... 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 submoduleVersion ControlWhy should I version control a site?
BUSY NOGGINDIGITAL• Any content generated in production- Database- Static ﬁles in ﬁleadmin- Static ﬁles in uploads- Anything in typo3temp- Temp ﬁles and logs in typo3conf- Autogenerated RealURL conﬁguration- Server-speciﬁc conﬁguration (ie. localconf.site.php)Version ControlWhat should I leave out of version control?
BUSY NOGGINDIGITALLocal DevelopmentEveryone just starts fromthe same placeVirtual machine per siteMAMP +Version Control
BUSY NOGGINDIGITAL• 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 accessibleLocal DevelopmentBasic Setup
BUSY NOGGINDIGITAL• Checkout Git repository• Set up in MAMP• Sync database and content via Syncing Secret Sauce(stay tuned until the end of the presentation)Local DevelopmentUsage
BUSY NOGGINDIGITALDeploymentFTP or Edit on ProductionDevOps for Entire ServerDeploy Site to Multiple Targets
BUSY NOGGINDIGITAL• 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:rollbackDeploymentCapistrano Basics
BUSY NOGGINDIGITAL• Vagrant for sites with needs outside LAMP stack• Deﬁne normal site building stages and deliverables produced• Checklists for guiding a site build through common tasks• Documentation for deployment, version control, etcNext StepsIt’s too big right now, but where are we headed?