Working in HarmonyOptimize development and content workflows
Agenda
• Your team
• Working in Harmony
• Development tools
• Development workflow
• Deployment
• Content workflow
Who’s On Your Team
Dev Content
PM AM QA
Working Together
• No one works alone
• Development Workflow/Best Practices
• Content Workflow
Local Dev Environment
Local Dev Environment
• MAMP/XAMPP
• Local Server
• Vagrant
• Docker
Dev
MAMP/XAMPP
• Installs a web server on your machine
• Relies on OS
• May conflict with apps already installed
Dev
Vagrant
• Creates virtual machine
• Automated install
• Quick and simple to setup
• All devs working with the same system
Dev
Docker
• Uses containers
• Many containers on one VM
• Automated install
Dev
Developer Tools
Dev Starting Point
• The same tools/plugins
• The same environment
• The same workflow
Dev
Plugins
• Dev/Debug tools
• Environment Indicators
• Demo Content Creator
• User Switching
Dev
Local Dev Tools
• Git-flow
• WP-CLI
• Scheduled local backup
• Copy production content to local
Dev
Automation
• When tasks become repetitive
• SASS Compiling
• Minification
Dev
Task Automation
SASS Compile Minify ReloadCSS
Front end developer automation workflow
Dev
Code Management
• Central repository for code
• Branching workflow
Dev
Git Branches
Dev
Stage Feature Master
Git-Flow
Dev
DevelopFeature Release Master Hotfix
Dependency Management
Dev
Plugin
Theme
Plugin
WP Core
Dependency Management
• Composer
• Keep versions in sync for team
• Manage plugin, themes
Dev
WordPress Packagist
• Mirror of WordPress Plugins, Themes and Core
• Composer repository
• Not all plugins/themes available on wpackigist
Development Workflow
Why Use Tiers?
•Do not work on live production environment
• Schedule releases, features, bug fixes
• Limit access
•Code changes won’t interfere with content staging
Tiers for development
.local
.dev
.stage
.prod
.qa
.testDev
production
local
stage
Production Tier
Dev
Staging Tier
Dev
Development Tier
Dev
Deployment
Central Repo
• Manage code for a group of developers
• Set access control
• Merge pull requests
• Push to multiple servers
Dev
Deployment
Origin Production
Staging
Dev
Deployment
Dev
Content Workflow
Tiers for content creators
• qa
• staging
• production
Content
production
local
stage
How Can I Stage Content?
• Export/import via WordPress core functionality
• Raw database export
• Database management plugins
Content
Content Staging Systems
• Content Deployment Plugins/Systems
• Backup Plugins
• Platform/Host Based Solutions
Content
Content Staging Plugin
• Batch Deploy Content
• Preflight Check
• Push custom posts, media
Content
Content Wishlist
• History/Audit Trail
• Two way sync/merging changes for conflict resolution
• Multi tier deploy
• push to staging, QA
• pull new content to dev
Content
Content Best Practices
• No content changes on production!
• Use staging for review, approval process
• Push content live when ready
Content