Working in harmony

39
Working in Harmony Optimize development and content workows

Transcript of Working in harmony

Page 1: Working in harmony

Working in HarmonyOptimize development and content workflows

Page 2: Working in harmony

Agenda

• Your team

• Working in Harmony

• Development tools

• Development workflow

• Deployment

• Content workflow

Page 3: Working in harmony

Who’s On Your Team

Dev Content

PM AM QA

Page 4: Working in harmony

Working Together

• No one works alone

• Development Workflow/Best Practices

• Content Workflow

Page 5: Working in harmony

Local Dev Environment

Page 6: Working in harmony

Local Dev Environment

• MAMP/XAMPP

• Local Server

• Vagrant

• Docker

Dev

Page 7: Working in harmony

MAMP/XAMPP

• Installs a web server on your machine

• Relies on OS

• May conflict with apps already installed

Dev

Page 8: Working in harmony

Vagrant

• Creates virtual machine

• Automated install

• Quick and simple to setup

• All devs working with the same system

Dev

Page 9: Working in harmony

Docker

• Uses containers

• Many containers on one VM

• Automated install

Dev

Page 10: Working in harmony

Developer Tools

Page 11: Working in harmony

Dev Starting Point

• The same tools/plugins

• The same environment

• The same workflow

Dev

Page 12: Working in harmony

Plugins

• Dev/Debug tools

• Environment Indicators

• Demo Content Creator

• User Switching

Dev

Page 13: Working in harmony

Local Dev Tools

• Git-flow

• WP-CLI

• Scheduled local backup

• Copy production content to local

Dev

Page 14: Working in harmony

Automation

• When tasks become repetitive

• SASS Compiling

• Minification

Dev

Page 15: Working in harmony

Task Automation

SASS Compile Minify ReloadCSS

Front end developer automation workflow

Dev

Page 16: Working in harmony

Code Management

• Central repository for code

• Branching workflow

Dev

Page 17: Working in harmony

Git Branches

Dev

Stage Feature Master

Page 18: Working in harmony

Git-Flow

Dev

DevelopFeature Release Master Hotfix

Page 19: Working in harmony

Dependency Management

Dev

Plugin

Theme

Plugin

WP Core

Page 20: Working in harmony

Dependency Management

• Composer

• Keep versions in sync for team

• Manage plugin, themes

Dev

Page 21: Working in harmony

WordPress Packagist

• Mirror of WordPress Plugins, Themes and Core

• Composer repository

• Not all plugins/themes available on wpackigist

Page 22: Working in harmony

Development Workflow

Page 23: Working in harmony

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

Page 24: Working in harmony

Tiers for development

.local

.dev

.stage

.prod

.qa

.testDev

production

local

stage

Page 25: Working in harmony

Production Tier

Dev

Page 26: Working in harmony

Staging Tier

Dev

Page 27: Working in harmony

Development Tier

Dev

Page 28: Working in harmony

Deployment

Page 29: Working in harmony

Central Repo

• Manage code for a group of developers

• Set access control

• Merge pull requests

• Push to multiple servers

Dev

Page 30: Working in harmony

Deployment

Origin Production

Staging

Dev

Page 31: Working in harmony

Deployment

Dev

Page 32: Working in harmony

Content Workflow

Page 33: Working in harmony

Tiers for content creators

• qa

• staging

• production

Content

production

local

stage

Page 34: Working in harmony

How Can I Stage Content?

• Export/import via WordPress core functionality

• Raw database export

• Database management plugins

Content

Page 35: Working in harmony

Content Staging Systems

• Content Deployment Plugins/Systems

• Backup Plugins

• Platform/Host Based Solutions

Content

Page 36: Working in harmony

Content Staging Plugin

• Batch Deploy Content

• Preflight Check

• Push custom posts, media

Content

Page 37: Working in harmony

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

Page 38: Working in harmony

Content Best Practices

• No content changes on production!

• Use staging for review, approval process

• Push content live when ready

Content

Page 39: Working in harmony

Questions

[email protected]

@spicecadet

www.edmundturbin.com

Content