SlideShare une entreprise Scribd logo
1  sur  31
Who am I? 
Director of Web CommunicationTechnologies; 
Webmaster for Western Washington 
1980s: programming operating systems for military flight 
simulators; Project Engineer for F/A-18 program 
1990s: Design school at U of O; CAD programming for Energy 
Studies Lab in the Architecture department 
1994: First web design projects when pictures came to web 
2005: Started at Western; 2011: Launched wwu.edu on Drupal. 
Now: Converting College sites to Drupal.
Web History 
1990s – isn’t the web cool – look what I can do! (web 
as we know it is invented) 
2000s – We need to put everything on the web. 
(Major business functions transition to websites) 
2010s – This is too hard. How do we put content 
control back into the hands of non-techical content 
experts? (CMS required in most sites)
Now: types of Web Pain 
User: Can’t find anything (usability due to extent and 
organization of information) 
Owner: can’t keep everything updated (capability / 
maintainability of content) 
Admin: can’ keep it running with new features 
needed frequently (maintainability)
What I’m going to say: A 
CMS is…
Example: find something 
• Easy to find a product when there are a 
dozen or two – how do you do it when there 
are tens of thousands? 
• A multitude of ways: menus, filtering, search, 
related objects, popular items… most of 
these require a database
What Can a CMS do? 
An example: Amazon.com associates buying and browsing history with a user: 
.
CMS: Database Records 
In order to create that page, Amazon might have a database table for 
each user that looks something like this: 
Name of Item Category Status 
Cast-Iron 2-Quart Cooking viewed 
22 Britannia Road Novel Wish list 
Ethernet Cable Electronics bought
Another example of CMS? 
. 
Western’s Academic Calendar 
has Events, each defined with 
FIELDS: 
Calendar Event 
Date: June 11 - 18 
Name: Summer Break 
Type: Term Break
DB gives CMS power 
Static Web has pages 
The page is smallest unit 
you can link to it 
you can link to it again 
the page has no values – 
just text 
CMS has DB fields 
Content is made of fields which 
have a value: 
a number 
a link 
a date 
You can perform operations on 
content with values e.g. List all 
the holidays > TODAY
Editor Usability 
WHAT EDITOR NEEDS 
No Coding Required! 
WYSIWYG (what you see 
is what you get) 
Simplicity – only see what 
can change 
HOW CMS CAN DO IT 
Web Forms for point-click 
Apply CSS to editor OR 
edit in page 
WorkBenchs, permissions, 
etc
So, Define “CMS”? 
A web application that facilitates 
the production and re-use of 
modern web content by 
non-technical content providers.
What does that mean? 
A web application that facilitates the production and re-use of 
modern web content by non-technical content providers. 
• Web application = no download required, edit in browser 
• Production = user interface for all facets of website creation 
• Re-use = there’s a database to hold and classify content 
• Modern = Server-side capability to do the interactive stuff 
• Non-technical = web forms allow point-&-click so no coding
An example? 
Academic calendar on WWU.edu: 
http://www.wwu.edu/academic_calendar 
Look at behind-the-scenes editing screens – user is 
updating the database without coding
What can a CMS do?
Some CMS Products 
Wordpress, blogger, etc 
Drupal, Joomla 
ModX, TextPattern, Concrete5, DotNetNuke 
CascadeServer, SiteCore, CampusSuite
Maintenance Nightmares 
Security: Virus, Spam, Hacking etc – these threats morph and 
proliferate – how do you keep up? 
New Functionality: how to add capability over time without 
breaking existing installations? New Languages? Responsive 
Design? HTML 5? HTML xxx? 
New Designs, Looks, Styles: Can the style be easily updated 
over time? 
Growth: Does it work for 20 users? 20,000? Can I add sites for 
new groups?
Why Drupal: 
Capability – Usability - Maintainability 
Drupal is a stable and mature open 
source product with one of the most 
active communities in the open source 
world. It has a fabulous security team 
and over 15000 modules contributed by 
thousands of developers. Let’s look 
at: 
1. Architecture 
2. Development Process 
3. Security 
4. Community
Drupal: Good Architecture 
Some common problems with poor architecture: 
• Code upgrade breaks previous customizations 
• Code becomes slow, unmanageable as time goes on 
• Can add functionality, but error modes, initialization, translation, 
status reporting have to be re-invented 
• Custom code introduces security problems 
Architecture is destiny. And more so for open source code.
Drupal: Good Architecture 
Based on clear Principles http://drupal.org/principles 
Core and User code (= Drupal “Module”) completely 
separate; Great API http://api.drupal.org/api/drupal/7 
Content and Design (= Drupal “Theme”) completely 
separate 
Next version (D8) will be based on Symfony PHP 
framework
Drupal: Good Process 
GIT Repository for code / documentation issue control 
Translation, documentation, core code, module code, 
theme code, testing, all have processes so anyone can 
contribute in manageable, traceable way 
Testing Framework: SimpleTest
Drupal: Good Security 
QUALITY. Great security team: 40 people currently on 
official team to approve changes but 100s have 
contributed 
OPENESS. Anyone can subscribe to advisories; all sites 
automatically email the admin when a security update is 
available 
Resources: 
http://drupalsecurityreport.org/ 
Security Fixes By Year 
Year Core Contributed 
2013 (YTD) 2 33 
2012 4 174
Drupal: Great Community 
9000 unique people filed issues 
in 12 months 
1800 unique people filed 
patches in 12 months 
Strong central development 
team; 4 people make final 
commits to core 
20000+ published modules by 
users like us!
Drupal Architecture 
Various setup 
possibilities 
allows for many 
sites to be run 
off of same code 
base and either 
same databases 
or separate 
databases.
Why a CMS? Why Drupal?
Why a CMS? Why Drupal?

Contenu connexe

Tendances

Tendances (20)

Introduction to Angular 2.0
Introduction to Angular 2.0Introduction to Angular 2.0
Introduction to Angular 2.0
 
What is front-end development ?
What is front-end development ?What is front-end development ?
What is front-end development ?
 
Backend & Frontend architecture scalability & websockets
Backend & Frontend architecture scalability & websocketsBackend & Frontend architecture scalability & websockets
Backend & Frontend architecture scalability & websockets
 
Developing For The Web
Developing For The WebDeveloping For The Web
Developing For The Web
 
A Work Day Of A Web Developer
A Work Day Of A Web DeveloperA Work Day Of A Web Developer
A Work Day Of A Web Developer
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web Development
 
APIs for mobile
APIs for mobileAPIs for mobile
APIs for mobile
 
Frontend 'vs' Backend Getting the Right Mix
Frontend 'vs' Backend   Getting the Right MixFrontend 'vs' Backend   Getting the Right Mix
Frontend 'vs' Backend Getting the Right Mix
 
Future of web development
Future of web developmentFuture of web development
Future of web development
 
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentationThin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentation
 
Rise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRise and Fall of the Frontend Developer
Rise and Fall of the Frontend Developer
 
Angular webinar - Credo Systemz
Angular webinar - Credo SystemzAngular webinar - Credo Systemz
Angular webinar - Credo Systemz
 
Front end web development
Front end web developmentFront end web development
Front end web development
 
Ionic
IonicIonic
Ionic
 
Creating a Data Driven UI Framework
Creating a Data Driven UI FrameworkCreating a Data Driven UI Framework
Creating a Data Driven UI Framework
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web Development
 
Dreamweaver Application
Dreamweaver ApplicationDreamweaver Application
Dreamweaver Application
 
Web Issues
Web IssuesWeb Issues
Web Issues
 
Single Page Application presentation
Single Page Application presentationSingle Page Application presentation
Single Page Application presentation
 
Top web development tools
Top web development toolsTop web development tools
Top web development tools
 

En vedette

10 Reasons to Choose Drupal
10 Reasons to Choose Drupal10 Reasons to Choose Drupal
10 Reasons to Choose Drupal
Acquia
 
Intro to Commons, Part 1: How to Manage Your Online Community
Intro to Commons, Part 1: How to Manage Your Online CommunityIntro to Commons, Part 1: How to Manage Your Online Community
Intro to Commons, Part 1: How to Manage Your Online Community
Acquia
 
Best Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal WebsiteBest Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal Website
Acquia
 
Drupal for Marketers
Drupal for MarketersDrupal for Marketers
Drupal for Marketers
Acquia
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
Lauren Roth
 
Best Practices for Migrating a Legacy-Based CMS to Drupal
Best Practices for Migrating a Legacy-Based CMS to DrupalBest Practices for Migrating a Legacy-Based CMS to Drupal
Best Practices for Migrating a Legacy-Based CMS to Drupal
Acquia
 

En vedette (14)

Drupal
DrupalDrupal
Drupal
 
Introduction to drupal
Introduction to drupalIntroduction to drupal
Introduction to drupal
 
10 Reasons to Choose Drupal
10 Reasons to Choose Drupal10 Reasons to Choose Drupal
10 Reasons to Choose Drupal
 
Intro to Commons, Part 1: How to Manage Your Online Community
Intro to Commons, Part 1: How to Manage Your Online CommunityIntro to Commons, Part 1: How to Manage Your Online Community
Intro to Commons, Part 1: How to Manage Your Online Community
 
Site building using Drupal 8
Site building using Drupal 8Site building using Drupal 8
Site building using Drupal 8
 
Can we save the open web?
Can we save the open web?Can we save the open web?
Can we save the open web?
 
Drupal & You
Drupal & YouDrupal & You
Drupal & You
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 
Best Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal WebsiteBest Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal Website
 
Why I Hate Drupal
Why I Hate DrupalWhy I Hate Drupal
Why I Hate Drupal
 
Decoupling Drupal 8.x: Drupal’s Web Services Today and Tomorrow
Decoupling Drupal 8.x: Drupal’s Web Services Today and TomorrowDecoupling Drupal 8.x: Drupal’s Web Services Today and Tomorrow
Decoupling Drupal 8.x: Drupal’s Web Services Today and Tomorrow
 
Drupal for Marketers
Drupal for MarketersDrupal for Marketers
Drupal for Marketers
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Best Practices for Migrating a Legacy-Based CMS to Drupal
Best Practices for Migrating a Legacy-Based CMS to DrupalBest Practices for Migrating a Legacy-Based CMS to Drupal
Best Practices for Migrating a Legacy-Based CMS to Drupal
 

Similaire à Why a CMS? Why Drupal?

Mlb drupal bizday_presentation
Mlb drupal bizday_presentationMlb drupal bizday_presentation
Mlb drupal bizday_presentation
erlee72
 
Mobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best PracticesMobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best Practices
Andrew Ferrier
 
Drupal seminar at DDIT Nadiad
Drupal seminar at DDIT NadiadDrupal seminar at DDIT Nadiad
Drupal seminar at DDIT Nadiad
karmraj
 
Online Platforms for ICT Content Development v2.pptx
Online Platforms for ICT Content Development v2.pptxOnline Platforms for ICT Content Development v2.pptx
Online Platforms for ICT Content Development v2.pptx
CliffordBorromeo
 

Similaire à Why a CMS? Why Drupal? (20)

LvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemLvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design System
 
Net training in bhubaneswar
Net training in bhubaneswar Net training in bhubaneswar
Net training in bhubaneswar
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN Stack
 
Website Development Using a Headless CMS - Sean Lamacraft, Distinction
Website Development Using a Headless CMS - Sean Lamacraft, DistinctionWebsite Development Using a Headless CMS - Sean Lamacraft, Distinction
Website Development Using a Headless CMS - Sean Lamacraft, Distinction
 
Over view of Technologies
Over view of TechnologiesOver view of Technologies
Over view of Technologies
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
 
Mlb drupal bizday_presentation
Mlb drupal bizday_presentationMlb drupal bizday_presentation
Mlb drupal bizday_presentation
 
Mobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best PracticesMobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best Practices
 
IWMW 1998: Dataweb: Three Worlds Colide
IWMW 1998: Dataweb: Three Worlds ColideIWMW 1998: Dataweb: Three Worlds Colide
IWMW 1998: Dataweb: Three Worlds Colide
 
Wordpress development 101
Wordpress development 101Wordpress development 101
Wordpress development 101
 
Drupal seminar at DDIT Nadiad
Drupal seminar at DDIT NadiadDrupal seminar at DDIT Nadiad
Drupal seminar at DDIT Nadiad
 
Online Platforms for ICT Content Development v2.pptx
Online Platforms for ICT Content Development v2.pptxOnline Platforms for ICT Content Development v2.pptx
Online Platforms for ICT Content Development v2.pptx
 
Web engineering notes unit 2
Web engineering notes unit 2Web engineering notes unit 2
Web engineering notes unit 2
 
Navigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development FrameworksNavigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development Frameworks
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
 
Food borne human diseases
Food borne human diseasesFood borne human diseases
Food borne human diseases
 
Seminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerSeminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web Programmer
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management Systems
 

Plus de Marie Toler Raney (9)

Combining pages and posts in word press
Combining pages and posts in word pressCombining pages and posts in word press
Combining pages and posts in word press
 
WebTech work 2010-2015
WebTech work 2010-2015WebTech work 2010-2015
WebTech work 2010-2015
 
Why coding is a cool career
Why coding is a cool careerWhy coding is a cool career
Why coding is a cool career
 
Office website
Office websiteOffice website
Office website
 
Atus website
Atus websiteAtus website
Atus website
 
Western web work Jan 25, 2013
Western web work Jan 25, 2013Western web work Jan 25, 2013
Western web work Jan 25, 2013
 
Ask your users
Ask your usersAsk your users
Ask your users
 
Using Drupal at Western Washington University: an Intro
Using Drupal at Western Washington University: an IntroUsing Drupal at Western Washington University: an Intro
Using Drupal at Western Washington University: an Intro
 
Design for college sites
Design for college sitesDesign for college sites
Design for college sites
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Why a CMS? Why Drupal?

  • 1.
  • 2. Who am I? Director of Web CommunicationTechnologies; Webmaster for Western Washington 1980s: programming operating systems for military flight simulators; Project Engineer for F/A-18 program 1990s: Design school at U of O; CAD programming for Energy Studies Lab in the Architecture department 1994: First web design projects when pictures came to web 2005: Started at Western; 2011: Launched wwu.edu on Drupal. Now: Converting College sites to Drupal.
  • 3.
  • 4. Web History 1990s – isn’t the web cool – look what I can do! (web as we know it is invented) 2000s – We need to put everything on the web. (Major business functions transition to websites) 2010s – This is too hard. How do we put content control back into the hands of non-techical content experts? (CMS required in most sites)
  • 5. Now: types of Web Pain User: Can’t find anything (usability due to extent and organization of information) Owner: can’t keep everything updated (capability / maintainability of content) Admin: can’ keep it running with new features needed frequently (maintainability)
  • 6. What I’m going to say: A CMS is…
  • 7.
  • 8. Example: find something • Easy to find a product when there are a dozen or two – how do you do it when there are tens of thousands? • A multitude of ways: menus, filtering, search, related objects, popular items… most of these require a database
  • 9. What Can a CMS do? An example: Amazon.com associates buying and browsing history with a user: .
  • 10. CMS: Database Records In order to create that page, Amazon might have a database table for each user that looks something like this: Name of Item Category Status Cast-Iron 2-Quart Cooking viewed 22 Britannia Road Novel Wish list Ethernet Cable Electronics bought
  • 11. Another example of CMS? . Western’s Academic Calendar has Events, each defined with FIELDS: Calendar Event Date: June 11 - 18 Name: Summer Break Type: Term Break
  • 12. DB gives CMS power Static Web has pages The page is smallest unit you can link to it you can link to it again the page has no values – just text CMS has DB fields Content is made of fields which have a value: a number a link a date You can perform operations on content with values e.g. List all the holidays > TODAY
  • 13.
  • 14. Editor Usability WHAT EDITOR NEEDS No Coding Required! WYSIWYG (what you see is what you get) Simplicity – only see what can change HOW CMS CAN DO IT Web Forms for point-click Apply CSS to editor OR edit in page WorkBenchs, permissions, etc
  • 15. So, Define “CMS”? A web application that facilitates the production and re-use of modern web content by non-technical content providers.
  • 16. What does that mean? A web application that facilitates the production and re-use of modern web content by non-technical content providers. • Web application = no download required, edit in browser • Production = user interface for all facets of website creation • Re-use = there’s a database to hold and classify content • Modern = Server-side capability to do the interactive stuff • Non-technical = web forms allow point-&-click so no coding
  • 17. An example? Academic calendar on WWU.edu: http://www.wwu.edu/academic_calendar Look at behind-the-scenes editing screens – user is updating the database without coding
  • 18. What can a CMS do?
  • 19. Some CMS Products Wordpress, blogger, etc Drupal, Joomla ModX, TextPattern, Concrete5, DotNetNuke CascadeServer, SiteCore, CampusSuite
  • 20.
  • 21. Maintenance Nightmares Security: Virus, Spam, Hacking etc – these threats morph and proliferate – how do you keep up? New Functionality: how to add capability over time without breaking existing installations? New Languages? Responsive Design? HTML 5? HTML xxx? New Designs, Looks, Styles: Can the style be easily updated over time? Growth: Does it work for 20 users? 20,000? Can I add sites for new groups?
  • 22.
  • 23. Why Drupal: Capability – Usability - Maintainability Drupal is a stable and mature open source product with one of the most active communities in the open source world. It has a fabulous security team and over 15000 modules contributed by thousands of developers. Let’s look at: 1. Architecture 2. Development Process 3. Security 4. Community
  • 24. Drupal: Good Architecture Some common problems with poor architecture: • Code upgrade breaks previous customizations • Code becomes slow, unmanageable as time goes on • Can add functionality, but error modes, initialization, translation, status reporting have to be re-invented • Custom code introduces security problems Architecture is destiny. And more so for open source code.
  • 25. Drupal: Good Architecture Based on clear Principles http://drupal.org/principles Core and User code (= Drupal “Module”) completely separate; Great API http://api.drupal.org/api/drupal/7 Content and Design (= Drupal “Theme”) completely separate Next version (D8) will be based on Symfony PHP framework
  • 26. Drupal: Good Process GIT Repository for code / documentation issue control Translation, documentation, core code, module code, theme code, testing, all have processes so anyone can contribute in manageable, traceable way Testing Framework: SimpleTest
  • 27. Drupal: Good Security QUALITY. Great security team: 40 people currently on official team to approve changes but 100s have contributed OPENESS. Anyone can subscribe to advisories; all sites automatically email the admin when a security update is available Resources: http://drupalsecurityreport.org/ Security Fixes By Year Year Core Contributed 2013 (YTD) 2 33 2012 4 174
  • 28. Drupal: Great Community 9000 unique people filed issues in 12 months 1800 unique people filed patches in 12 months Strong central development team; 4 people make final commits to core 20000+ published modules by users like us!
  • 29. Drupal Architecture Various setup possibilities allows for many sites to be run off of same code base and either same databases or separate databases.