SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante 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
 

Semelhante 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

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
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
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Último (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
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
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

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