Site Development Process for Small TeamsBUSY NOGGIN DIGITALserious websites for those who mean business
What We Learned fromGoldilocks and the Three BearsBUSY NOGGIN DIGITALserious websites for those who mean business
BUSY NOGGINDIGITAL
BUSY NOGGINDIGITAL(1) Project Manager / Creative Director / SiteIntegrator / Frontend Developer(1) PHP Developer(2) Design...
BUSY NOGGINDIGITALWhy do we need a process?
BUSY NOGGINDIGITALKickstarting a Site
BUSY NOGGINDIGITALKickstarting a SiteDownload TYPO3 SourceCopy/PasteBuildYour Own CMS!Create a Base Package
BUSY NOGGINDIGITALCreate A Base PackageTYPO3 SourceExtensions Extension Config Extension TemplatesDefault Site Config Wirefr...
BUSY NOGGINDIGITALCreate A Base PackageTYPO3 SourceExtensions Extension Config Extension TemplatesDefault Site Config Wirefr...
BUSY NOGGINDIGITALCreate A Base PackageConsistent, modular structure for extensions, skins, etctt_newsConfigurationTypoScr...
BUSY NOGGINDIGITAL
BUSY NOGGINDIGITAL
BUSY NOGGINDIGITAL
BUSY NOGGINDIGITALVersion Control
BUSY NOGGINDIGITALVersion ControlI think the hosting companydoes backupsLet’s put the content in Git!Everything is a submo...
BUSY NOGGINDIGITAL• ... for the same reasons you would version control an extension• Change tracking and rollback• Keep co...
BUSY NOGGINDIGITAL• Any content generated in production- Database- Static files in fileadmin- Static files in uploads- Anythi...
BUSY NOGGINDIGITALLocal Development
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 br...
BUSY NOGGINDIGITAL• Checkout Git repository• Set up in MAMP• Sync database and content via Syncing Secret Sauce(stay tuned...
BUSY NOGGINDIGITALDeployment
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 (te...
BUSY NOGGINDIGITALDeploymentCapistrano Deployment Structuremy_sitecurrent -> releases/20130530161342releases20130530161342...
BUSY NOGGINDIGITALDeploymentTYPO3-flavored Capistranomy_sitecurrent -> releases/20130530161342releases201305301613422013040...
BUSY NOGGINDIGITAL• Capistrano tasks for TYPO3 CLI Interface• Trigger Solr re-index• Clear Cache• Update Database• EXT:cor...
BUSY NOGGINDIGITALDeploymentSee also: TYPO3 Surf(one room over)
BUSY NOGGINDIGITALStaging & Testing
BUSY NOGGINDIGITALStaging & Testing“Works on my machine”Content StagingContinuous IntegrationInternal Test Server
BUSY NOGGINDIGITALStaging & Testing
BUSY NOGGINDIGITALStaging & Testing
BUSY NOGGINDIGITALSyncing Secret Sauce
BUSY NOGGINDIGITAL
BUSY NOGGINDIGITAL> cap sync:files> cap sync:database> cap production sync:files> cap production sync:database
BUSY NOGGINDIGITALNext Steps
BUSY NOGGINDIGITAL• Vagrant for sites with needs outside LAMP stack• Define normal site building stages and deliverables pr...
BUSY NOGGINDIGITALTools of the Trade
BUSY NOGGINDIGITALTools of The Trade
BUSY NOGGINDIGITAL
BUSY NOGGINDIGITALQuestions?
BUSY NOGGINDIGITALjeff@busynoggin.com@jsegars
BUSY NOGGIN DIGITALserious websites for those who mean business
Upcoming SlideShare
Loading in …5
×

Site Development Processes for Small Teams

1,048 views

Published on

Published in: Technology

Site Development Processes for Small Teams

  1. 1. Site Development Process for Small TeamsBUSY NOGGIN DIGITALserious websites for those who mean business
  2. 2. What We Learned fromGoldilocks and the Three BearsBUSY NOGGIN DIGITALserious websites for those who mean business
  3. 3. BUSY NOGGINDIGITAL
  4. 4. 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
  5. 5. BUSY NOGGINDIGITALWhy do we need a process?
  6. 6. BUSY NOGGINDIGITALKickstarting a Site
  7. 7. BUSY NOGGINDIGITALKickstarting a SiteDownload TYPO3 SourceCopy/PasteBuildYour Own CMS!Create a Base Package
  8. 8. BUSY NOGGINDIGITALCreate A Base PackageTYPO3 SourceExtensions Extension Config Extension TemplatesDefault Site Config Wireframe TemplateBackend PermissionsWhat steps do you perform as part of every site build?
  9. 9. BUSY NOGGINDIGITALCreate A Base PackageTYPO3 SourceExtensions Extension Config Extension TemplatesDefault Site Config Wireframe TemplateBackend PermissionsCustom ExtensionsCustom TemplateSite ConfigurationMake Use of Inheritance for Individual Sites
  10. 10. BUSY NOGGINDIGITALCreate A Base PackageConsistent, modular structure for extensions, skins, etctt_newsConfigurationTypoScriptResourcesPrivateSASSTemplatesPublicImagesJavaScriptStyleSheetsmy_skinConfigurationTypoScriptResourcesPrivateSASSTemplatesPublicImagesJavaScriptStyleSheets
  11. 11. BUSY NOGGINDIGITAL
  12. 12. BUSY NOGGINDIGITAL
  13. 13. BUSY NOGGINDIGITAL
  14. 14. BUSY NOGGINDIGITALVersion Control
  15. 15. BUSY NOGGINDIGITALVersion ControlI think the hosting companydoes backupsLet’s put the content in Git!Everything is a submodule!Code & Configuration in GitContent outside Git
  16. 16. 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?
  17. 17. BUSY NOGGINDIGITAL• 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 ControlWhat should I leave out of version control?
  18. 18. BUSY NOGGINDIGITALLocal Development
  19. 19. BUSY NOGGINDIGITALLocal DevelopmentEveryone just starts fromthe same placeVirtual machine per siteMAMP +Version Control
  20. 20. 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
  21. 21. 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
  22. 22. BUSY NOGGINDIGITALDeployment
  23. 23. BUSY NOGGINDIGITALDeploymentFTP or Edit on ProductionDevOps for Entire ServerDeploy Site to Multiple Targets
  24. 24. 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
  25. 25. BUSY NOGGINDIGITALDeploymentCapistrano Deployment Structuremy_sitecurrent -> releases/20130530161342releases20130530161342configsitetypo3_src20130406124812configsitetypo3_srcsharedcached-copy
  26. 26. BUSY NOGGINDIGITALDeploymentTYPO3-flavored Capistranomy_sitecurrent -> releases/20130530161342releases2013053016134220130406124812sharedcached-copyconfiglocalconf.site.phpsitefileadmintypo3tempuploads
  27. 27. BUSY NOGGINDIGITAL• Capistrano tasks for TYPO3 CLI Interface• Trigger Solr re-index• Clear Cache• Update Database• EXT:coreapiDeploymentTYPO3-flavored Capistrano
  28. 28. BUSY NOGGINDIGITALDeploymentSee also: TYPO3 Surf(one room over)
  29. 29. BUSY NOGGINDIGITALStaging & Testing
  30. 30. BUSY NOGGINDIGITALStaging & Testing“Works on my machine”Content StagingContinuous IntegrationInternal Test Server
  31. 31. BUSY NOGGINDIGITALStaging & Testing
  32. 32. BUSY NOGGINDIGITALStaging & Testing
  33. 33. BUSY NOGGINDIGITALSyncing Secret Sauce
  34. 34. BUSY NOGGINDIGITAL
  35. 35. BUSY NOGGINDIGITAL> cap sync:files> cap sync:database> cap production sync:files> cap production sync:database
  36. 36. BUSY NOGGINDIGITALNext Steps
  37. 37. BUSY NOGGINDIGITAL• 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, etcNext StepsIt’s too big right now, but where are we headed?
  38. 38. BUSY NOGGINDIGITALTools of the Trade
  39. 39. BUSY NOGGINDIGITALTools of The Trade
  40. 40. BUSY NOGGINDIGITAL
  41. 41. BUSY NOGGINDIGITALQuestions?
  42. 42. BUSY NOGGINDIGITALjeff@busynoggin.com@jsegars
  43. 43. BUSY NOGGIN DIGITALserious websites for those who mean business

×