SlideShare una empresa de Scribd logo
1 de 66
The Way
of Doing Things
A STUDY OF OUR PATH USING WORDPRESS
WORDCAMP MONTREAL 2016
DAWSON COLLEGE
@MYDAWSONCOLLEGE
WWW.DAWSONCOLLEGE.QC.CA
JONATHAN PERLMAN
@JPURPLEMAN
WWW.JPURPLEMAN.CA
Jonathan Perlman
• 14 years web developing at Dawson College
• 9 years teaching for Dawson's CTD
• 6 years using WordPress
• 3 WordCamp talks
• Member of WPCampus
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Dawson College at a glance
• 20,000 applications
• 10,000 students
• 1000+ faculty & staff
• 26 programs of 2 or 3 years
• 4 sectors
• Social Science & Business Technologies
• Creative and Applied Arts
• Science, Medical Studies and Engineering
• Continuing Education
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
2001 – 2007
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
The early years
• Academic administration was
responsible for web content
• Web was hosted at Dawson College
• No CMS for main site
• We used Dreamweaver templates
• Users were using SFTP access
• 2,500+ pages on 2 web servers
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Joomla!
• Academic departments were all
designed to be unique
• No consistent branding
• Some departments embraced it
• Added content as they saw fit
• Others left content to rot
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Joomla!
• 65 separate installs
• No consistent version numbers
• No core and plugins updates
• Server security wasn't enforced
• Users had bad passwords
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
What we learned
• Infected weeks prior
• Previous backups were useless
• Needed scanners to find unwanted files
• Sites were exploited for bragging rights
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
2007 – 2013
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Changes with new direction
• Communications was made responsible for
web content
• Institutional content and departmental
content was merged into one site
• A unified 3rd party content management
system was purchased
• Main website was moved off-site
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
The need to switch
• Editing content as wasn't easy
• Wanted every department to update the web
• French characters were hard to display
• Technical support was slow to respond
• Service wasn't reliable
• Support for CMS was dropped
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
7 Month
Migration
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Overall process
• Pull content from 3rd party CMS into a WordPress
site
• Audit and categorize content
• Identify pages to migrate
• Pull content into development WordPress site
• Release with same design
• Reformat in WordPress
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Pull content into temporary site
• List of all pages
• Pulled content by web address
• PHP + Curl + Simple Dom
• http://simplehtmldom.sourceforge.net
• Created posts with wp_insert_post()
• Set meta value with ID of old page
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Audit content
• Keep
• Revise
• Trash
• Wtf?!?
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Looking back
• Content Audit Plugin by Stephanie Leary
• https://wordpress.org/plugins/content-audit
• Community didn't realize we were on a brand
new platform
• Redirect, redirect, redirect – 1900+
• Edit two sites in parallel
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
1 Year Redesign
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Redesign project
• Looked at various higher education sites
• Redesigned from scratch
• Re-envisioned the navigation and site structure
• Used customizer for header images
• Hired for content and training support
• Helped departments rework their content
• Ported content for all the others
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Current Status
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Web sites
• www.dawsoncollege.qc.ca
• Center for Training and Development
• Computer Science
• Human Resources
• Nursing
• Registrar's Office
• Student Fees
• athletics.dawsoncollege.qc.ca
• library.dawsoncollege.qc.ca
• peacewall.dawsoncollege.qc.ca
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
135+
25+
Page views as per Google Analytics
300,000
400,000
500,000
600,000
700,000
800,000
Jun-15 Jul-15 Aug-15 Sep-15 Oct-15 Nov-15 Dec-15 Jan-16 Feb-16 Mar-16 Apr-16 May-16 Jun-16
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Web staff
• Web governance is centralized to IT and
Communications
• Full time
• 1 IT
• Part time
• 1 in IT
• 1 in Communications
• Occasional
• 175+ editors spanning all departments
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
WordPress infrastructure
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Development WWW Everything else
Web server environment
• Virtualized web servers
• 16G of ram
• 4 cores
• Nginx & PHP-FPM
• Security rules block common attacks
• Direct access to files within WordPress core
• xmlrpc.php
• /wp-admin/ & wp-login.php restricted to Dawson College network
• SQL Injection
• Unwanted user-agents
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Database server environment
• Virtualized database servers
• 16G of ram
• 4 cores
• MariaDB
• Every WordPress install has a unique
username and password in wp-config.php
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Backups
• Daily file snapshots
• MySQL Auto Backup
• https://sourceforge.net/projects/automysqlbackup/
• Daily
• Weekly
• Monthly
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
WordPress installs
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
4.5, 52
4.4, 5
4.3, 1
4.2, 3
4.1, 3
WordPress updates
• Auto-update disabled
• Everything is version controlled
• We never push out X.X
• We always wait for X.X.1
• Reasons for waiting
• Stability
• Bug fixes for the major release
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Site Build
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Site environments
• Every website has minimum two copies
• Every developer has their own install
• Example: www.dawsoncollege.qc.ca
• Chris, Elisabeth, Jonathan
• Staging
• Production
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Before site launch
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Development
Production
After site launch
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Development
Production
Tools
• WP-CLI
• WP Awesome Config
• Git
• WP Migrate DB Pro
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
WP-CLI
wp core download
wp core config --dbname="wp" --dbuser="wp" --dbpass="pass"
wp core install 
--url="http://wpcourse.dawsoncollege.qc.ca/" 
--title="WordCamp Montreal Website" 
--admin_user="wordcamp" 
--admin_password="password" 
--admin_email="wc@dawsoncollege.qc.ca"
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
WP Awesome Config
• https://gist.github.com/ashfame/1923821
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Git
• We track
• Core
• Plugins
• Themes
• We don't track
• local-config.php
• dev-config.php
• staging-config.php
• production-config.php
• .DS_STORE
• *.log
• .htaccess
• sitemap.xml
• sitemap.xml.gz
• wc-logs/*
• wp-content/blogs.dir/
• wp-content/cache/
• wp-content/upgrade/
• wp-content/uploads/
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Committing plugins
123438b Adding plugin: WordPress Importer at version 0.6.2
449e092 Updating plugin: Print Friendly and PDF to version 3.4.6
8d2d7e3 Updating plugin: WP Migrate DB Pro Media Files to version 1.4.4
ce0181e Updating plugin: WP Migrate DB Pro to version 1.6
3a37bd6 Updating plugin: Gravity Forms + Custom Post Types to version 3.1.3
91e2560 Updating plugin: jQuery Responsive Select Menu to version 1.5.0
83af679 Updating plugin: Gravity Forms to version 1.9.19
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
git-wp-commit-object()
https://github.com/jpurpleman/WordPress-Stuff/blob/master/.bashrc
WP Migrate DB Pro
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Themes and
Plugins
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Themes
• Underscores
• Canvas by WooCommerce
• Twenty Sixteen
• Twenty Fifteen
• Twenty Fourteen
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Plugins
• Active Directory
Integration
• Advanced Custom
Fields
• CMB2
• Google Analytics by
Monster Insights
• Gravity Forms
• Responsive Menu
• TinyMCE Advanced
• WP Migrate DB Pro
• User Switching
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Multi-site
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Multi-site
www.dawsoncollege.qc.ca 135+
Various departments
Segregated content
Athletics 10 1 site per sport
E-Learning 2 Multi-lingual
Confucius Institute 3 Multi-lingual
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Multi-site
• All multi-sites run one theme each
• Each install is a cohesive site with one goal
• Easy to update core, plugins, theme
• We're not doing domain mapping
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
We use
WordPress for…
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Administrative information
Human Resources
Payroll
Student Fees
IT services
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Program promotion
• Admissions
• Course list
• Faculty list
• Student work
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Conference sites
• TedX • NetBeans Day
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Specialty sites
Athletics Library
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Research grant projects
• Dawson Oral History Project
• Allows students to archive audio interviews and assign
meta-data about the interview
• SALTISE
• Writing in Disciplines
• Allows faculty to communicate and share ideas
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Web-based applications
• Timetable and
Registration Guide
• Admissions Status
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Blogs
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Show and tell!
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Dawson College Dashboard
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Contact blocks with Shortcode UI
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Contact blocks with Shortcode UI
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Contact blocks with Shortcode UI
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Contact blocks with Shortcode UI
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
IT HelpDesk articles
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
IT HelpDesk articles
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Athletics team pages
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Athletics team pages
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Looking Forward
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Looking forward
• Iterative improvements pushed more
frequently
• More web application development on
WordPress
• Connecting sites and sharing data with
REST API
@jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
Thank you!
Questions?
DAWSON COLLEGE
@MYDAWSONCOLLEGE
WWW.DAWSONCOLLEGE.QC.CA
JONATHAN PERLMAN
@JPURPLEMAN
WWW.JPURPLEMAN.CA

Más contenido relacionado

La actualidad más candente

Less is more: Getting Real About Content and Features
Less is more: Getting Real About Content and Features Less is more: Getting Real About Content and Features
Less is more: Getting Real About Content and Features Charlie Morris
 
How to Get Your First Child Theme Off The Ground
How to Get Your First Child Theme Off The GroundHow to Get Your First Child Theme Off The Ground
How to Get Your First Child Theme Off The GroundRhys Wynne
 
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the ScaleJS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the ScaleJSFestUA
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPAGil Fink
 
Tipping the scale - Eyal Eizenberg - Wix
Tipping the scale - Eyal Eizenberg - WixTipping the scale - Eyal Eizenberg - Wix
Tipping the scale - Eyal Eizenberg - WixEyal Eizenberg
 
My Website Can Vote - The Challenges of Maintaining a 20-year-old Website
My Website Can Vote - The Challenges of Maintaining a 20-year-old WebsiteMy Website Can Vote - The Challenges of Maintaining a 20-year-old Website
My Website Can Vote - The Challenges of Maintaining a 20-year-old WebsiteKristine Howard
 
Tipping the Scale - Eyal Eizenberg
Tipping the Scale - Eyal EizenbergTipping the Scale - Eyal Eizenberg
Tipping the Scale - Eyal EizenbergWix Engineering
 
Escalando una PHP App con DB sharding - PHP Conference
Escalando una PHP App con DB sharding - PHP ConferenceEscalando una PHP App con DB sharding - PHP Conference
Escalando una PHP App con DB sharding - PHP ConferenceMatias Paterlini
 
XAML Development with Xamarin - Jesse Liberty | FalafelCON 2014
XAML Development with Xamarin  - Jesse Liberty | FalafelCON 2014XAML Development with Xamarin  - Jesse Liberty | FalafelCON 2014
XAML Development with Xamarin - Jesse Liberty | FalafelCON 2014FalafelSoftware
 
WordPress Theme Performance - WP Vienna meetup 8.6.2016
WordPress Theme Performance - WP Vienna meetup 8.6.2016WordPress Theme Performance - WP Vienna meetup 8.6.2016
WordPress Theme Performance - WP Vienna meetup 8.6.2016jancbeck
 
WordPress 4.7 と 今後の開発ロードマップ
WordPress 4.7 と 今後の開発ロードマップWordPress 4.7 と 今後の開発ロードマップ
WordPress 4.7 と 今後の開発ロードマップNaoko Takano
 
Wordbench鹿児島第7回勉強会
Wordbench鹿児島第7回勉強会Wordbench鹿児島第7回勉強会
Wordbench鹿児島第7回勉強会西村 州平
 
Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)Ontico
 
History of the web as a platform from 1996 to 2017
History of the web as a platform from 1996 to 2017History of the web as a platform from 1996 to 2017
History of the web as a platform from 1996 to 2017Bryan Ollendyke
 
BWPM Apr2012: Intro Slides
BWPM Apr2012: Intro SlidesBWPM Apr2012: Intro Slides
BWPM Apr2012: Intro SlidesBoston WordPress
 
Getting Started Adobe Edge Code CC & Brackets
Getting Started Adobe Edge Code CC & BracketsGetting Started Adobe Edge Code CC & Brackets
Getting Started Adobe Edge Code CC & BracketsTeerasej Jiraphatchandej
 
PDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffreyPDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffreyJohn McCaffrey
 

La actualidad más candente (20)

Less is more: Getting Real About Content and Features
Less is more: Getting Real About Content and Features Less is more: Getting Real About Content and Features
Less is more: Getting Real About Content and Features
 
How to Get Your First Child Theme Off The Ground
How to Get Your First Child Theme Off The GroundHow to Get Your First Child Theme Off The Ground
How to Get Your First Child Theme Off The Ground
 
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the ScaleJS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
 
Tipping the scale - Eyal Eizenberg - Wix
Tipping the scale - Eyal Eizenberg - WixTipping the scale - Eyal Eizenberg - Wix
Tipping the scale - Eyal Eizenberg - Wix
 
My Website Can Vote - The Challenges of Maintaining a 20-year-old Website
My Website Can Vote - The Challenges of Maintaining a 20-year-old WebsiteMy Website Can Vote - The Challenges of Maintaining a 20-year-old Website
My Website Can Vote - The Challenges of Maintaining a 20-year-old Website
 
Tipping the Scale - Eyal Eizenberg
Tipping the Scale - Eyal EizenbergTipping the Scale - Eyal Eizenberg
Tipping the Scale - Eyal Eizenberg
 
Escalando una PHP App con DB sharding - PHP Conference
Escalando una PHP App con DB sharding - PHP ConferenceEscalando una PHP App con DB sharding - PHP Conference
Escalando una PHP App con DB sharding - PHP Conference
 
XAML Development with Xamarin - Jesse Liberty | FalafelCON 2014
XAML Development with Xamarin  - Jesse Liberty | FalafelCON 2014XAML Development with Xamarin  - Jesse Liberty | FalafelCON 2014
XAML Development with Xamarin - Jesse Liberty | FalafelCON 2014
 
WordPress Theme Performance - WP Vienna meetup 8.6.2016
WordPress Theme Performance - WP Vienna meetup 8.6.2016WordPress Theme Performance - WP Vienna meetup 8.6.2016
WordPress Theme Performance - WP Vienna meetup 8.6.2016
 
WordPress 4.7 と 今後の開発ロードマップ
WordPress 4.7 と 今後の開発ロードマップWordPress 4.7 と 今後の開発ロードマップ
WordPress 4.7 と 今後の開発ロードマップ
 
Wordbench鹿児島第7回勉強会
Wordbench鹿児島第7回勉強会Wordbench鹿児島第7回勉強会
Wordbench鹿児島第7回勉強会
 
WP-ShowHide
WP-ShowHideWP-ShowHide
WP-ShowHide
 
Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)
 
History of the web as a platform from 1996 to 2017
History of the web as a platform from 1996 to 2017History of the web as a platform from 1996 to 2017
History of the web as a platform from 1996 to 2017
 
Pwa february 2018
Pwa february 2018Pwa february 2018
Pwa february 2018
 
BWPM Apr2012: Intro Slides
BWPM Apr2012: Intro SlidesBWPM Apr2012: Intro Slides
BWPM Apr2012: Intro Slides
 
Getting Started Adobe Edge Code CC & Brackets
Getting Started Adobe Edge Code CC & BracketsGetting Started Adobe Edge Code CC & Brackets
Getting Started Adobe Edge Code CC & Brackets
 
PDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffreyPDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
 
Alfa Laval Share
Alfa Laval ShareAlfa Laval Share
Alfa Laval Share
 

Similar a The Dawson Way of Doing Things

Web Publishing with WordPress Across the Curriculum - WP Campus16
Web Publishing with WordPress Across the Curriculum - WP Campus16Web Publishing with WordPress Across the Curriculum - WP Campus16
Web Publishing with WordPress Across the Curriculum - WP Campus16Middle Tennessee State University
 
UBC.ca - A Shift in Paradigm #PSEWEB2015
UBC.ca - A Shift in Paradigm #PSEWEB2015UBC.ca - A Shift in Paradigm #PSEWEB2015
UBC.ca - A Shift in Paradigm #PSEWEB2015Adrian Liem
 
My Website Is Old Enough To Vote - Kris Howard
My Website Is Old Enough To Vote - Kris HowardMy Website Is Old Enough To Vote - Kris Howard
My Website Is Old Enough To Vote - Kris HowardWordCamp Sydney
 
Web tech weblamp_infosession_2012-13
Web tech weblamp_infosession_2012-13Web tech weblamp_infosession_2012-13
Web tech weblamp_infosession_2012-13Konrad Roeder
 
UNC CAUSE 2010: Drupal BOF Presentation
UNC CAUSE 2010: Drupal BOF PresentationUNC CAUSE 2010: Drupal BOF Presentation
UNC CAUSE 2010: Drupal BOF PresentationNick Young
 
Woo commerce fundamentals
Woo commerce fundamentalsWoo commerce fundamentals
Woo commerce fundamentalswcto2017
 
Search Driven Solutions
Search Driven SolutionsSearch Driven Solutions
Search Driven SolutionsApril Dunnam
 
My Website is Old Enough to Vote - My Website Can Vote - Building Sites That ...
My Website is Old Enough to Vote - My Website Can Vote - Building Sites That ...My Website is Old Enough to Vote - My Website Can Vote - Building Sites That ...
My Website is Old Enough to Vote - My Website Can Vote - Building Sites That ...Kristine Howard
 
Drupal South 2014 Wellington ANU presentation
Drupal South 2014 Wellington ANU presentationDrupal South 2014 Wellington ANU presentation
Drupal South 2014 Wellington ANU presentationFiona McCaskill
 
Ensuring Successful Office 365 Tenant to Tenant Migration SPS Cambridge 2017...
Ensuring Successful Office 365 Tenant to Tenant Migration  SPS Cambridge 2017...Ensuring Successful Office 365 Tenant to Tenant Migration  SPS Cambridge 2017...
Ensuring Successful Office 365 Tenant to Tenant Migration SPS Cambridge 2017...Chirag Patel
 
BrightEdge Share15 - S302: Beyond the Algorithm – Advanced SEO & Technical Tr...
BrightEdge Share15 - S302: Beyond the Algorithm – Advanced SEO & Technical Tr...BrightEdge Share15 - S302: Beyond the Algorithm – Advanced SEO & Technical Tr...
BrightEdge Share15 - S302: Beyond the Algorithm – Advanced SEO & Technical Tr...BrightEdge Technologies
 
Climbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground UpClimbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground Uphannonhill
 
PSC Case study: SP2013 Public Facing Internet Site - Roadrunner Transportatio...
PSC Case study: SP2013 Public Facing Internet Site - Roadrunner Transportatio...PSC Case study: SP2013 Public Facing Internet Site - Roadrunner Transportatio...
PSC Case study: SP2013 Public Facing Internet Site - Roadrunner Transportatio...Michael Blumenthal (Microsoft MVP)
 
Shaking hands with the developer: How IT Communications can help you build a ...
Shaking hands with the developer: How IT Communications can help you build a ...Shaking hands with the developer: How IT Communications can help you build a ...
Shaking hands with the developer: How IT Communications can help you build a ...Sarah Khan
 
Usability evaluation of the IIT Mandi Website
Usability evaluation of the IIT Mandi WebsiteUsability evaluation of the IIT Mandi Website
Usability evaluation of the IIT Mandi WebsiteAbhra Basak
 
SPS Toronto 2018 - Your first PowerApps in 30 minutes
SPS Toronto 2018 - Your first PowerApps in 30 minutesSPS Toronto 2018 - Your first PowerApps in 30 minutes
SPS Toronto 2018 - Your first PowerApps in 30 minutesNicolas Georgeault
 
Technical SEO--Beyond the Algorithm--2015 BrightEdge Share Digital Marketing ...
Technical SEO--Beyond the Algorithm--2015 BrightEdge Share Digital Marketing ...Technical SEO--Beyond the Algorithm--2015 BrightEdge Share Digital Marketing ...
Technical SEO--Beyond the Algorithm--2015 BrightEdge Share Digital Marketing ...Dawna Olsen
 
Word press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp PresentationWord press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp PresentationAngela Samuels
 

Similar a The Dawson Way of Doing Things (20)

Web Publishing with WordPress Across the Curriculum - WP Campus16
Web Publishing with WordPress Across the Curriculum - WP Campus16Web Publishing with WordPress Across the Curriculum - WP Campus16
Web Publishing with WordPress Across the Curriculum - WP Campus16
 
UBC.ca - A Shift in Paradigm #PSEWEB2015
UBC.ca - A Shift in Paradigm #PSEWEB2015UBC.ca - A Shift in Paradigm #PSEWEB2015
UBC.ca - A Shift in Paradigm #PSEWEB2015
 
My Website Is Old Enough To Vote - Kris Howard
My Website Is Old Enough To Vote - Kris HowardMy Website Is Old Enough To Vote - Kris Howard
My Website Is Old Enough To Vote - Kris Howard
 
NVDNP Annual Meeting in Carson City, NV
NVDNP Annual Meeting in Carson City, NVNVDNP Annual Meeting in Carson City, NV
NVDNP Annual Meeting in Carson City, NV
 
NVDNP Annual Meeting
NVDNP Annual MeetingNVDNP Annual Meeting
NVDNP Annual Meeting
 
Web tech weblamp_infosession_2012-13
Web tech weblamp_infosession_2012-13Web tech weblamp_infosession_2012-13
Web tech weblamp_infosession_2012-13
 
UNC CAUSE 2010: Drupal BOF Presentation
UNC CAUSE 2010: Drupal BOF PresentationUNC CAUSE 2010: Drupal BOF Presentation
UNC CAUSE 2010: Drupal BOF Presentation
 
Woo commerce fundamentals
Woo commerce fundamentalsWoo commerce fundamentals
Woo commerce fundamentals
 
Search Driven Solutions
Search Driven SolutionsSearch Driven Solutions
Search Driven Solutions
 
My Website is Old Enough to Vote - My Website Can Vote - Building Sites That ...
My Website is Old Enough to Vote - My Website Can Vote - Building Sites That ...My Website is Old Enough to Vote - My Website Can Vote - Building Sites That ...
My Website is Old Enough to Vote - My Website Can Vote - Building Sites That ...
 
Drupal South 2014 Wellington ANU presentation
Drupal South 2014 Wellington ANU presentationDrupal South 2014 Wellington ANU presentation
Drupal South 2014 Wellington ANU presentation
 
Ensuring Successful Office 365 Tenant to Tenant Migration SPS Cambridge 2017...
Ensuring Successful Office 365 Tenant to Tenant Migration  SPS Cambridge 2017...Ensuring Successful Office 365 Tenant to Tenant Migration  SPS Cambridge 2017...
Ensuring Successful Office 365 Tenant to Tenant Migration SPS Cambridge 2017...
 
BrightEdge Share15 - S302: Beyond the Algorithm – Advanced SEO & Technical Tr...
BrightEdge Share15 - S302: Beyond the Algorithm – Advanced SEO & Technical Tr...BrightEdge Share15 - S302: Beyond the Algorithm – Advanced SEO & Technical Tr...
BrightEdge Share15 - S302: Beyond the Algorithm – Advanced SEO & Technical Tr...
 
Climbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground UpClimbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground Up
 
PSC Case study: SP2013 Public Facing Internet Site - Roadrunner Transportatio...
PSC Case study: SP2013 Public Facing Internet Site - Roadrunner Transportatio...PSC Case study: SP2013 Public Facing Internet Site - Roadrunner Transportatio...
PSC Case study: SP2013 Public Facing Internet Site - Roadrunner Transportatio...
 
Shaking hands with the developer: How IT Communications can help you build a ...
Shaking hands with the developer: How IT Communications can help you build a ...Shaking hands with the developer: How IT Communications can help you build a ...
Shaking hands with the developer: How IT Communications can help you build a ...
 
Usability evaluation of the IIT Mandi Website
Usability evaluation of the IIT Mandi WebsiteUsability evaluation of the IIT Mandi Website
Usability evaluation of the IIT Mandi Website
 
SPS Toronto 2018 - Your first PowerApps in 30 minutes
SPS Toronto 2018 - Your first PowerApps in 30 minutesSPS Toronto 2018 - Your first PowerApps in 30 minutes
SPS Toronto 2018 - Your first PowerApps in 30 minutes
 
Technical SEO--Beyond the Algorithm--2015 BrightEdge Share Digital Marketing ...
Technical SEO--Beyond the Algorithm--2015 BrightEdge Share Digital Marketing ...Technical SEO--Beyond the Algorithm--2015 BrightEdge Share Digital Marketing ...
Technical SEO--Beyond the Algorithm--2015 BrightEdge Share Digital Marketing ...
 
Word press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp PresentationWord press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp Presentation
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

The Dawson Way of Doing Things

  • 1. The Way of Doing Things A STUDY OF OUR PATH USING WORDPRESS WORDCAMP MONTREAL 2016 DAWSON COLLEGE @MYDAWSONCOLLEGE WWW.DAWSONCOLLEGE.QC.CA JONATHAN PERLMAN @JPURPLEMAN WWW.JPURPLEMAN.CA
  • 2. Jonathan Perlman • 14 years web developing at Dawson College • 9 years teaching for Dawson's CTD • 6 years using WordPress • 3 WordCamp talks • Member of WPCampus @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 3. Dawson College at a glance • 20,000 applications • 10,000 students • 1000+ faculty & staff • 26 programs of 2 or 3 years • 4 sectors • Social Science & Business Technologies • Creative and Applied Arts • Science, Medical Studies and Engineering • Continuing Education @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 4. 2001 – 2007 @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 5. The early years • Academic administration was responsible for web content • Web was hosted at Dawson College • No CMS for main site • We used Dreamweaver templates • Users were using SFTP access • 2,500+ pages on 2 web servers @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 6. Joomla! • Academic departments were all designed to be unique • No consistent branding • Some departments embraced it • Added content as they saw fit • Others left content to rot @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 7. Joomla! • 65 separate installs • No consistent version numbers • No core and plugins updates • Server security wasn't enforced • Users had bad passwords @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 8. @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 9. What we learned • Infected weeks prior • Previous backups were useless • Needed scanners to find unwanted files • Sites were exploited for bragging rights @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 10. 2007 – 2013 @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 11. Changes with new direction • Communications was made responsible for web content • Institutional content and departmental content was merged into one site • A unified 3rd party content management system was purchased • Main website was moved off-site @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 12. The need to switch • Editing content as wasn't easy • Wanted every department to update the web • French characters were hard to display • Technical support was slow to respond • Service wasn't reliable • Support for CMS was dropped @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 13. 7 Month Migration @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 14. Overall process • Pull content from 3rd party CMS into a WordPress site • Audit and categorize content • Identify pages to migrate • Pull content into development WordPress site • Release with same design • Reformat in WordPress @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 15. Pull content into temporary site • List of all pages • Pulled content by web address • PHP + Curl + Simple Dom • http://simplehtmldom.sourceforge.net • Created posts with wp_insert_post() • Set meta value with ID of old page @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 16. Audit content • Keep • Revise • Trash • Wtf?!? @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 17. Looking back • Content Audit Plugin by Stephanie Leary • https://wordpress.org/plugins/content-audit • Community didn't realize we were on a brand new platform • Redirect, redirect, redirect – 1900+ • Edit two sites in parallel @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 18. 1 Year Redesign @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 19. Redesign project • Looked at various higher education sites • Redesigned from scratch • Re-envisioned the navigation and site structure • Used customizer for header images • Hired for content and training support • Helped departments rework their content • Ported content for all the others @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 20. Current Status @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 21. Web sites • www.dawsoncollege.qc.ca • Center for Training and Development • Computer Science • Human Resources • Nursing • Registrar's Office • Student Fees • athletics.dawsoncollege.qc.ca • library.dawsoncollege.qc.ca • peacewall.dawsoncollege.qc.ca @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016 135+ 25+
  • 22. Page views as per Google Analytics 300,000 400,000 500,000 600,000 700,000 800,000 Jun-15 Jul-15 Aug-15 Sep-15 Oct-15 Nov-15 Dec-15 Jan-16 Feb-16 Mar-16 Apr-16 May-16 Jun-16 @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 23. Web staff • Web governance is centralized to IT and Communications • Full time • 1 IT • Part time • 1 in IT • 1 in Communications • Occasional • 175+ editors spanning all departments @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 24. WordPress infrastructure @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016 Development WWW Everything else
  • 25. Web server environment • Virtualized web servers • 16G of ram • 4 cores • Nginx & PHP-FPM • Security rules block common attacks • Direct access to files within WordPress core • xmlrpc.php • /wp-admin/ & wp-login.php restricted to Dawson College network • SQL Injection • Unwanted user-agents @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 26. Database server environment • Virtualized database servers • 16G of ram • 4 cores • MariaDB • Every WordPress install has a unique username and password in wp-config.php @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 27. Backups • Daily file snapshots • MySQL Auto Backup • https://sourceforge.net/projects/automysqlbackup/ • Daily • Weekly • Monthly @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 28. WordPress installs @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016 4.5, 52 4.4, 5 4.3, 1 4.2, 3 4.1, 3
  • 29. WordPress updates • Auto-update disabled • Everything is version controlled • We never push out X.X • We always wait for X.X.1 • Reasons for waiting • Stability • Bug fixes for the major release @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 30. Site Build @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 31. Site environments • Every website has minimum two copies • Every developer has their own install • Example: www.dawsoncollege.qc.ca • Chris, Elisabeth, Jonathan • Staging • Production @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 32. Before site launch @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016 Development Production
  • 33. After site launch @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016 Development Production
  • 34. Tools • WP-CLI • WP Awesome Config • Git • WP Migrate DB Pro @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 35. WP-CLI wp core download wp core config --dbname="wp" --dbuser="wp" --dbpass="pass" wp core install --url="http://wpcourse.dawsoncollege.qc.ca/" --title="WordCamp Montreal Website" --admin_user="wordcamp" --admin_password="password" --admin_email="wc@dawsoncollege.qc.ca" @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 36. WP Awesome Config • https://gist.github.com/ashfame/1923821 @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 37. Git • We track • Core • Plugins • Themes • We don't track • local-config.php • dev-config.php • staging-config.php • production-config.php • .DS_STORE • *.log • .htaccess • sitemap.xml • sitemap.xml.gz • wc-logs/* • wp-content/blogs.dir/ • wp-content/cache/ • wp-content/upgrade/ • wp-content/uploads/ @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 38. Committing plugins 123438b Adding plugin: WordPress Importer at version 0.6.2 449e092 Updating plugin: Print Friendly and PDF to version 3.4.6 8d2d7e3 Updating plugin: WP Migrate DB Pro Media Files to version 1.4.4 ce0181e Updating plugin: WP Migrate DB Pro to version 1.6 3a37bd6 Updating plugin: Gravity Forms + Custom Post Types to version 3.1.3 91e2560 Updating plugin: jQuery Responsive Select Menu to version 1.5.0 83af679 Updating plugin: Gravity Forms to version 1.9.19 @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016 git-wp-commit-object() https://github.com/jpurpleman/WordPress-Stuff/blob/master/.bashrc
  • 39. WP Migrate DB Pro @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 40. Themes and Plugins @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 41. Themes • Underscores • Canvas by WooCommerce • Twenty Sixteen • Twenty Fifteen • Twenty Fourteen @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 42. Plugins • Active Directory Integration • Advanced Custom Fields • CMB2 • Google Analytics by Monster Insights • Gravity Forms • Responsive Menu • TinyMCE Advanced • WP Migrate DB Pro • User Switching @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 43. Multi-site @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 44. Multi-site www.dawsoncollege.qc.ca 135+ Various departments Segregated content Athletics 10 1 site per sport E-Learning 2 Multi-lingual Confucius Institute 3 Multi-lingual @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 45. Multi-site • All multi-sites run one theme each • Each install is a cohesive site with one goal • Easy to update core, plugins, theme • We're not doing domain mapping @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 46. We use WordPress for… @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 47. Administrative information Human Resources Payroll Student Fees IT services @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 48. Program promotion • Admissions • Course list • Faculty list • Student work @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 49. Conference sites • TedX • NetBeans Day @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 50. Specialty sites Athletics Library @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 51. Research grant projects • Dawson Oral History Project • Allows students to archive audio interviews and assign meta-data about the interview • SALTISE • Writing in Disciplines • Allows faculty to communicate and share ideas @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 52. Web-based applications • Timetable and Registration Guide • Admissions Status @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 53. Blogs @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 54. Show and tell! @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 55. Dawson College Dashboard @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 56. Contact blocks with Shortcode UI @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 57. Contact blocks with Shortcode UI @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 58. Contact blocks with Shortcode UI @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 59. Contact blocks with Shortcode UI @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 60. IT HelpDesk articles @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 61. IT HelpDesk articles @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 62. Athletics team pages @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 63. Athletics team pages @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 64. Looking Forward @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016
  • 65. Looking forward • Iterative improvements pushed more frequently • More web application development on WordPress • Connecting sites and sharing data with REST API @jpurpleman | jpurpleman.ca WORDCAMP MONTREAL 2016