SlideShare a Scribd company logo
1 of 13
Putting all your eggs
in one basket
Peter Edwards
Application Developer, University of leeds
“It is the part of a wise man to keep himself to-day
for to-morrow, and not to venture all his eggs in
one basket”
Don Quixote (Part I, Book III, Chapter 9) by Cervantes (P. Motteux, Ed.).
The demise of the UNIX
hosting service
• In December 2016, one of the sites in the University's UNIX
hosting service was hacked
• The site was used to spread malicious code to the other 200+
sites in the service
• When the sites were examined to determine the cause, a large
number were found to be vulnerable
The University of Leeds
WordPress hosting service
• Set up as a 6 month pilot in August 2016 with WP Engine
acting as a hosting provider.
• The purpose of the service was to provide hosting for research
projects, conferences and research groups in a managed
environment
• The service rapidly expanded to include the 90 WordPress
sites which were compromised in UNIX hosting
Migrating sites to WordPress
• Using the WP Engine automated migration tool
• Using WordPress XML import/export tools
• Using the source system to generate a WordPress export
file
• Import content from CSV files or other structured data
source using custom scripts
• Copy and paste
Using WordPress at scale
WordPress multisite
In WordPress core since 2010, version 3.0
• Multiple sites in a single installation
• Control over Theme and Plugin availability
• Low administrative overhead
Domain mapping
In WordPress core since 2016, version 4.5
• Assign domain names to each site on a network
• Results in sites which appear to be independent to the
end user, but are centrally managed
Caching and optimisation
Enabled through plugins and server configuration
• Plugins will save WordPress output to files – using
WordPress like a static site generator
• Servers are configured to check the file based cache rather
than generate content dynamically for each request
Disadvantages…
• Proliferation of independent sites (600+ with 50+ added per
year)
• Sites are uniform and perceived by users as being "boring“
• Requires governance, monitoring and an archiving strategy
Advantages…
• Ability to create sites in a standard supported format quickly
with no coding required
• Sites share a common design, so enhancements such as
Accessibility features can be added to all sites simultaneously
• Ability to implement governance, monitoring and archiving
strategies
Peter Edwards
Application Developer
1.06 IT Fairbairn Site, University of Leeds
0113 34 37959
p.l.edwards@leeds.ac.uk
https://peteredwards.github.io/iwmw2019/

More Related Content

More from IWMW

More from IWMW (20)

Library 2.0
Library 2.0Library 2.0
Library 2.0
 
Social participation in student recruitment
Social participation in student recruitmentSocial participation in student recruitment
Social participation in student recruitment
 
Supporting Institutions in Changing Times: Manifesto
Supporting Institutions in Changing Times: ManifestoSupporting Institutions in Changing Times: Manifesto
Supporting Institutions in Changing Times: Manifesto
 
IWMW 2019 photo scavenger hunt highlights
IWMW 2019 photo scavenger hunt highlightsIWMW 2019 photo scavenger hunt highlights
IWMW 2019 photo scavenger hunt highlights
 
How to Turn a Web Strategy into Web Services
How to Turn a Web Strategy into Web ServicesHow to Turn a Web Strategy into Web Services
How to Turn a Web Strategy into Web Services
 
Static Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource Condition
 
Looking to the Future
Looking to the FutureLooking to the Future
Looking to the Future
 
Looking to the Future
Looking to the FutureLooking to the Future
Looking to the Future
 
Developing Communities of Practice
Developing Communities of PracticeDeveloping Communities of Practice
Developing Communities of Practice
 
How to train your content- so it doesn't slow you down...
How to train your content- so it doesn't slow you down... How to train your content- so it doesn't slow you down...
How to train your content- so it doesn't slow you down...
 
Grassroots & Guerrillas: The Beginnings of a UX Revolution
Grassroots & Guerrillas: The Beginnings of a UX RevolutionGrassroots & Guerrillas: The Beginnings of a UX Revolution
Grassroots & Guerrillas: The Beginnings of a UX Revolution
 
Connecting Your Content: How to Save Time and Improve Content Quality through...
Connecting Your Content: How to Save Time and Improve Content Quality through...Connecting Your Content: How to Save Time and Improve Content Quality through...
Connecting Your Content: How to Save Time and Improve Content Quality through...
 
No, You Don’t Need a Website!
No, You Don’t Need a Website!  No, You Don’t Need a Website!
No, You Don’t Need a Website!
 
Web 101
Web 101Web 101
Web 101
 
Tales of Overcoming Bad Data, Well-Meaning Bosses and Users’ Barefaced Lies
Tales of Overcoming Bad Data, Well-Meaning Bosses and Users’ Barefaced LiesTales of Overcoming Bad Data, Well-Meaning Bosses and Users’ Barefaced Lies
Tales of Overcoming Bad Data, Well-Meaning Bosses and Users’ Barefaced Lies
 
So You Think You Know Accessibility
So You Think You Know AccessibilitySo You Think You Know Accessibility
So You Think You Know Accessibility
 
Happiness for leaders: positive psychology and science of well-being
Happiness for leaders: positive psychology and science of well-beingHappiness for leaders: positive psychology and science of well-being
Happiness for leaders: positive psychology and science of well-being
 
What we Learnt from Rebuilding the University of Derby Website in 10 Months
What we Learnt from Rebuilding the University of Derby Website in 10 Months What we Learnt from Rebuilding the University of Derby Website in 10 Months
What we Learnt from Rebuilding the University of Derby Website in 10 Months
 
Deceptively Simple – Designing a Voice Experience for an Audience that is Sti...
Deceptively Simple – Designing a Voice Experience for an Audience that is Sti...Deceptively Simple – Designing a Voice Experience for an Audience that is Sti...
Deceptively Simple – Designing a Voice Experience for an Audience that is Sti...
 
Your Big Digital Transformation Project Has Been Approved, Now What?
Your Big Digital Transformation Project Has Been Approved, Now What?Your Big Digital Transformation Project Has Been Approved, Now What?
Your Big Digital Transformation Project Has Been Approved, Now What?
 

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
MateoGardella
 

Recently uploaded (20)

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 

Putting All Your Eggs in One Basket

  • 1. Putting all your eggs in one basket Peter Edwards Application Developer, University of leeds
  • 2. “It is the part of a wise man to keep himself to-day for to-morrow, and not to venture all his eggs in one basket” Don Quixote (Part I, Book III, Chapter 9) by Cervantes (P. Motteux, Ed.).
  • 3.
  • 4. The demise of the UNIX hosting service • In December 2016, one of the sites in the University's UNIX hosting service was hacked • The site was used to spread malicious code to the other 200+ sites in the service • When the sites were examined to determine the cause, a large number were found to be vulnerable
  • 5. The University of Leeds WordPress hosting service • Set up as a 6 month pilot in August 2016 with WP Engine acting as a hosting provider. • The purpose of the service was to provide hosting for research projects, conferences and research groups in a managed environment • The service rapidly expanded to include the 90 WordPress sites which were compromised in UNIX hosting
  • 6. Migrating sites to WordPress • Using the WP Engine automated migration tool • Using WordPress XML import/export tools • Using the source system to generate a WordPress export file • Import content from CSV files or other structured data source using custom scripts • Copy and paste
  • 8. WordPress multisite In WordPress core since 2010, version 3.0 • Multiple sites in a single installation • Control over Theme and Plugin availability • Low administrative overhead
  • 9. Domain mapping In WordPress core since 2016, version 4.5 • Assign domain names to each site on a network • Results in sites which appear to be independent to the end user, but are centrally managed
  • 10. Caching and optimisation Enabled through plugins and server configuration • Plugins will save WordPress output to files – using WordPress like a static site generator • Servers are configured to check the file based cache rather than generate content dynamically for each request
  • 11. Disadvantages… • Proliferation of independent sites (600+ with 50+ added per year) • Sites are uniform and perceived by users as being "boring“ • Requires governance, monitoring and an archiving strategy
  • 12. Advantages… • Ability to create sites in a standard supported format quickly with no coding required • Sites share a common design, so enhancements such as Accessibility features can be added to all sites simultaneously • Ability to implement governance, monitoring and archiving strategies
  • 13. Peter Edwards Application Developer 1.06 IT Fairbairn Site, University of Leeds 0113 34 37959 p.l.edwards@leeds.ac.uk https://peteredwards.github.io/iwmw2019/

Editor's Notes

  1. Hi, I've been working at the University of Leeds since 2009 as an Application Developer, first in two of the Faculties at the University, and later as part of a central team. My background is in Libraries and the Arts Sector, and I've been a developer now for over 20 years.
  2. This talk is about the impracticality of diversification when it comes to choosing a content management platform, and the benefits you can gain when you settle on one solution and use it for everything. Although focusing on a single solution isn't such a good idea when you are running a portfolio of investments and you need to spread risk, in this case putting all your eggs in one basket serves to mitigate risk. I spent a good hour looking up this phrase - apparently it is from a "Franco-Cockney" translation which infused the original text with flippancy and facetiousness, and has been described as "worse than worthless" by other translators of the text.
  3. When I first came to the University of Leeds, the CMS landscape was very diverse. The University operated a UNIX web hosting service much like a commercial hosting service, where staff could request web space and do whatever they wished with it once they got it. This resulted in a profusion of different CMS systems, static sites and custom applications. The systems depicted on this slide were all represented there, along with some I couldn't find logos for any more.
  4. In December 2016, all the sites in the UNIX hosting service were compromised and malicious code was inserted into each site. Any files which were writable by the webserver user were targets, and malicious JavaScript and PHP code was inserted into many of the files. Specific systems had their own attack vectors, such as the theme files in WordPress, the site cache in MODx, or the database in drupal, mediawiki and others. All sites needed to be examined for signs of the compromise, and it quickly became apparent that the initial attack vector would have been impossible to determine, as there were so many possibilities to choose from.
  5. Initially, the service consisted of a single WordPress multisite installation containing 160+ sites which had been created in 2011 for the two Faculties in which I had been working. This installation had outgrown its hosting (in a Virtual Machine on campus) and the service needed to be formalised and expanded to include other Faculties. The purpose of the service was to provide hosting for small to medium sized websites for research projects, conferences and research groups in a managed environment. However, half way through the pilot, the service was almost filled to capacity with sites moving from the compromised UNIX hosting service
  6. About half of WordPress sites were moved using an automated tool written by developers at WP Engine, but they had to be cleared of any infected files beforehand. Most of the remaining WordPress sites could be migrated using built-in import/export tools in WordPress. Sites in other systems needed to be migrated to WordPress, so some migrations were carried out using the source system to generate a WordPress import file or CSV/JSON data which could then be imported into WordPress using custom scripts or plugins - this was only carried out for larger sites. The majority were migrated manually by copying and pasting content. Since 2017, a large number of sites have been migrated to WordPress from Faculties when their main site was moved to the corporate CMS (Jadu). In 2018, over 120 sites were created in the service.
  7. The main disadvantage in using WordPress for multiple sites is the frequency this system, and its supporting plugins and themes, are updated. When you reach over 20 sites in separate installations, the need for an automated updating system becomes important. ManageWP is probably the best of these (which remains free of charge) at present, but there are alternatives.
  8. For those of you not familiar with WordPress multisite, it enables you to set up multiple WordPress sites which utilise the same codebase and database. Users, Plugins and Themes are managed at a "Network" level, which makes it easy to control what software is available to users on sites within the Network. We currently use WordPress multisite to host over 600 websites at the University of Leeds. These are spread across a few separate WordPress installations, so sites utilising the University's branded theme are all grouped together in an installation which only has this theme installed and the plugins which are known to work with it. Non-branded sites are placed in a different installation with a single theme (GeneratePress) installed along with the plugins which are known to work with that theme. One installation is used to dump older WordPress sites developed by third parties and sites which require esoteric plugins, in order to separate them from the more simple sites.
  9. Domain mapping allows you to assign different domain names to each of the sites in a multisite Network. All websites in the service at Leeds use their own domain names, and administrators and editors of these sites have the same experience as they would on a standalone installation of WordPress, with the exception that they cannot change the Theme, install Plugins or add users.
  10. WP Engine provides caching and optimisation on their platform, but this can be set up quite easily using caching plugins and a little bit of server configuration. WordPress is not an optimal system for websites, and all pages should ideally be cached as HTML files by an appropriate plugin. WP Engine go a few steps further than this, including loading databases into RAM, which has caused problems for us with the multisite installations.
  11. The disadvantages in using WordPress like this can also be turned around to be advantages (as you will see on the next slide). The main disadvantage is that having a service which aids the proliferation of websites requires governance and monitoring, and contribution from Communications and Marketing to ensure that information is not being unnecessarily duplicated and maintains a high level of quality.
  12. The ability to create sites in a standard design which follows the University brand is something which was sorely needed at the University of Leeds. There are still examples of websites hosted on campus which use the University logo from the 1980s and distinctly mid-1990s designs. Any new sites which utilise the leeds.ac.uk domain are now forced to apply the University branding. The tools WP Engine provide on their platform to update code we produce are very powerful, and I can update the themes and plugins created by the Development team on multiple installations in a matter of minutes. We are hoping to automate this process further using Azure DevOps. As all sites are within the same system, we also have access to data for them such as last updated dates, page and post counts, and the combined size of any uploaded files. We also use google analytics on all sites to monitor traffic and inform archiving strategies.