SlideShare a Scribd company logo
1 of 31
Download to read offline
4 Essential Checklists
to Manage Drupal Projects
Daniel Schiavone
Outline
Why checklists
Pre-development checklist
Buildout checklist
Launch checklist
Post launch checklist
There are two types of mistakes, errors of ignorance (mistakes we make because
we don’t know enough), and errors of ineptitude (mistakes we make because we
don’t use of what we know). No matter how much of an expert you are, a
well-designed checklist can improve outcomes. A checklist is a written guide that
walks you through the key steps of a complex procedure.
❏ Pre-development - Dev Environment
● Drush
● Composer
● Git
● Gulp
● Php.ini (extra credit) – memory_limit and
upload_max_filesize settings
❏ Pre-development - Modules
● Admin Toolbar
● Devel
● Display Suite
● Pathauto
● Redirect (For migrations)
● Reroute_email
● SMTP
Your list may vary...
❏ Pre-development - Settings
● settings.php.local
○ Logging
○ Caching
● development.services.yml
○ Debug
○ Cache
● Configuration management
$config_directories[CONFIG_SYNC_DIRECTORY] =
'sites/default/sync';
❏ Buildout - Users
● Account settings
● picture - (now a field)
● Emails
● Login/Logout destination
(Rules, LoginToboggan,
login_destination)
● Roles & Permissions
❏ Buildout - Authoring
● Text formats (Served up by role and by the order they are
in)
● Plain text (For anonymous e.g. comments)
● Filter HTML (For regular users)
● Full HTML (For power users)
❏ Buildout - Authoring - CKEditor
● Available buttons
● Filters
❏ Buildout - Content Types
● Submission form settings
● Display settings (Doh! default is display author and date)
● Comments
○ Now a field (no longer enabled by default)
○ Disqus Module (turn off the reveal ads)
❏ Buildout - Paths
● Install and enable Pathauto
● Setup default aliases
● The default is content/[node:title] (Nice try but...)
● Usability and SEO (Make it friendly for human beings, the
robots will understand it better)
❏ Buildout - Displays
● Form Displays
○ Body field summary behavior
■ Smart Trim module
○ Assign image styles
○ Media browser settings
● View Displays
○ Add Display Suite Module
❏ Buildout - Views - UI
● Pre configured views (e.g. Front Page, Content, Glossary)
● Do you know there are settings? Like...
● Show SQL query
● Show performance stats
● Always show advanced settings (Why not?)
❏ Buildout - Media
● File System (public/private) – It will matter
● Image styles
○ Configure display sizes here and use them in displays everywhere
(nodes, views, etc.)
○ Media has view modes too now
● While you're at it configure Date and Time formats
❏ Buildout - Notifications
● SMTP module
● Rules
● Reroute Email Module
○ $conf['reroute_email_enable'] = 1;
○ $conf['reroute_email_address'] = “developer@”
○ $conf['reroute_email_enable_message'] = 1;
❏ Pre-launch - Performance
● Cache settings
● Aggregate js and css
● Views caching
❏ Pre-launch - Details
● Login/Reset New Password/Sign up
− Themed?
● Registration
− Check email notification text
● Error Pages
− 403 Error (Access denied)*
● Redirect to Login?
− 404 Error (Page not found)*
− Customize → Chance to be creative and user friendly
❏ Pre-launch - Cleanup
● Remove test data
● Check file security
● Run link checker (e.g. validator.w3.org/checklink,
linkchecker module)
● Content revisions?
● Backups?
❏ Pre-launch - Admin Interface
Site Admin Experience (should have been done in development)
● Redirect to dashboard on login based on role (Rules)
● Buttons to add content (did you theme standard
markup?)
❏ Pre-launch - Cross Browser Testing
● First with Firefox Dev Tools “View responsive layouts”
● Then with BrowserStack, Sauce Labs or Other
● Retina Support (Retina Image Module, svg, Borialis server)
● Mobile and Tablet Testing
(should be part of development)
❏ Pre-launch - SEO
● Schema_Metatag module
● Automatic path configurations
● Simple Sitemap or XML Sitemap
● Other tools
○ SEO Tools
○ Intelligence
❏ Pre-launch - Cleanup
● Check status report and logs
○ Latest release?
○ Fix what's causing log entries / switch to syslog server
○ Lots of modules available for improved logging
● Disable devel modules
Pre-Launch Check
Other Testing Tools
● Notifications
− Litmus – Test and track emails
● Powermapper – Website tools
❏ Launch
● Redirect to www via settings.php
● SSL Certificate + settings.php
● Point DNS (Use TTL setting for faster update)
● Test, test, test
Never on a Friday (don't spoil your weekend)
❏ Launch - settings.php magic
if (!isset($_SERVER['HTTP_X_SSL']) ||
(isset($_SERVER['HTTP_X_SSL']) &&
$_SERVER['HTTP_X_SSL'] != 'ON')) {
header('HTTP/1.0 301 Moved Permanently');
header('Location: https://www.yoursite.com'.
$_SERVER['REQUEST_URI']);
exit();
}
❏ Launch - Almost there
● Optimize performance settings
● Logging and errors
○ Users should not see error display
○ admin/config/development/logging
● Mail delivery
○ Server vs SMTP vs Mandrill / Sendgrid
○ reroute_mail module – Reroute all site mail based on environment for
testing
❏ Post Launch
● Daily backups
● Google Analytics
● Configure Google Webmaster and Bing Webmaster Tools
● Submit to search engines
● SEO Checklist Module
❏ Post Launch - Brag!
● Client
● Will there be a press release (to who)?
● Industry media?
● Agency
● Have you prepared?
● Where?
● Blog
● Social Media
● Newsletter
● DDO Marketplace
References
Pay it forward
Get to the checklist https://tinyurl.com/ydcmk7xp and contribute
Questions
Daniel Schiavone
www.SnakeHill.net
Daniel@SnakeHill.net
@schiavo
@Snake_Hill
DDO: schiavone

More Related Content

Similar to 4 Essential Checklist to Manage Drupal Projects

SOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DBSOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DB
UniFabric
 
Hanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvcHanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvc
denemedeniz
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
Rodrigo Gil
 

Similar to 4 Essential Checklist to Manage Drupal Projects (20)

Drupal performance
Drupal performanceDrupal performance
Drupal performance
 
10 Steps Not To Forget After Installing Drupal
10 Steps Not To Forget After Installing Drupal10 Steps Not To Forget After Installing Drupal
10 Steps Not To Forget After Installing Drupal
 
Google BigQuery 101 & What’s New
Google BigQuery 101 & What’s NewGoogle BigQuery 101 & What’s New
Google BigQuery 101 & What’s New
 
Drools & jBPM Workshop Barcelona 2013
Drools & jBPM Workshop  Barcelona 2013Drools & jBPM Workshop  Barcelona 2013
Drools & jBPM Workshop Barcelona 2013
 
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-AriThinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
 
SOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DBSOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DB
 
Break Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus MerrellBreak Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus Merrell
 
Drupalcon 2021 - Nuxt.js for drupal developers
Drupalcon 2021 - Nuxt.js for drupal developersDrupalcon 2021 - Nuxt.js for drupal developers
Drupalcon 2021 - Nuxt.js for drupal developers
 
SCCM 2007 Introduction - PICC 2012
SCCM 2007 Introduction - PICC 2012SCCM 2007 Introduction - PICC 2012
SCCM 2007 Introduction - PICC 2012
 
Drupal Migration
Drupal MigrationDrupal Migration
Drupal Migration
 
Hanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvcHanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvc
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
Neoito — How modern browsers work
Neoito — How modern browsers workNeoito — How modern browsers work
Neoito — How modern browsers work
 
Best Practices In Moodle Administration
Best Practices In Moodle AdministrationBest Practices In Moodle Administration
Best Practices In Moodle Administration
 
Apache Airflow in Production
Apache Airflow in ProductionApache Airflow in Production
Apache Airflow in Production
 
Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014
 
Scaling Magento
Scaling MagentoScaling Magento
Scaling Magento
 
Moodle Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best Pracitces
 
The Peoper Care and Feeding of a MySQL Server for Busy Linux Admin
The Peoper Care and Feeding of a MySQL Server for Busy Linux AdminThe Peoper Care and Feeding of a MySQL Server for Busy Linux Admin
The Peoper Care and Feeding of a MySQL Server for Busy Linux Admin
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 

More from Snake Hill Web Agency

Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8
Snake Hill Web Agency
 

More from Snake Hill Web Agency (7)

Analyzing the Market for Drupal - Baltimore DrupalCamp 2018
Analyzing the Market for Drupal - Baltimore DrupalCamp 2018Analyzing the Market for Drupal - Baltimore DrupalCamp 2018
Analyzing the Market for Drupal - Baltimore DrupalCamp 2018
 
Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8
 
Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8
 
A Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 MinutesA Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 Minutes
 
Drupal Upgrade Decision Tree
Drupal Upgrade Decision TreeDrupal Upgrade Decision Tree
Drupal Upgrade Decision Tree
 
Designing with Drupal 8
Designing with Drupal 8Designing with Drupal 8
Designing with Drupal 8
 
Drupal 101
Drupal 101Drupal 101
Drupal 101
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

4 Essential Checklist to Manage Drupal Projects

  • 1. 4 Essential Checklists to Manage Drupal Projects Daniel Schiavone
  • 2. Outline Why checklists Pre-development checklist Buildout checklist Launch checklist Post launch checklist
  • 3. There are two types of mistakes, errors of ignorance (mistakes we make because we don’t know enough), and errors of ineptitude (mistakes we make because we don’t use of what we know). No matter how much of an expert you are, a well-designed checklist can improve outcomes. A checklist is a written guide that walks you through the key steps of a complex procedure.
  • 4. ❏ Pre-development - Dev Environment ● Drush ● Composer ● Git ● Gulp ● Php.ini (extra credit) – memory_limit and upload_max_filesize settings
  • 5. ❏ Pre-development - Modules ● Admin Toolbar ● Devel ● Display Suite ● Pathauto ● Redirect (For migrations) ● Reroute_email ● SMTP Your list may vary...
  • 6. ❏ Pre-development - Settings ● settings.php.local ○ Logging ○ Caching ● development.services.yml ○ Debug ○ Cache ● Configuration management $config_directories[CONFIG_SYNC_DIRECTORY] = 'sites/default/sync';
  • 7. ❏ Buildout - Users ● Account settings ● picture - (now a field) ● Emails ● Login/Logout destination (Rules, LoginToboggan, login_destination) ● Roles & Permissions
  • 8. ❏ Buildout - Authoring ● Text formats (Served up by role and by the order they are in) ● Plain text (For anonymous e.g. comments) ● Filter HTML (For regular users) ● Full HTML (For power users)
  • 9. ❏ Buildout - Authoring - CKEditor ● Available buttons ● Filters
  • 10. ❏ Buildout - Content Types ● Submission form settings ● Display settings (Doh! default is display author and date) ● Comments ○ Now a field (no longer enabled by default) ○ Disqus Module (turn off the reveal ads)
  • 11. ❏ Buildout - Paths ● Install and enable Pathauto ● Setup default aliases ● The default is content/[node:title] (Nice try but...) ● Usability and SEO (Make it friendly for human beings, the robots will understand it better)
  • 12. ❏ Buildout - Displays ● Form Displays ○ Body field summary behavior ■ Smart Trim module ○ Assign image styles ○ Media browser settings ● View Displays ○ Add Display Suite Module
  • 13. ❏ Buildout - Views - UI ● Pre configured views (e.g. Front Page, Content, Glossary) ● Do you know there are settings? Like... ● Show SQL query ● Show performance stats ● Always show advanced settings (Why not?)
  • 14. ❏ Buildout - Media ● File System (public/private) – It will matter ● Image styles ○ Configure display sizes here and use them in displays everywhere (nodes, views, etc.) ○ Media has view modes too now ● While you're at it configure Date and Time formats
  • 15. ❏ Buildout - Notifications ● SMTP module ● Rules ● Reroute Email Module ○ $conf['reroute_email_enable'] = 1; ○ $conf['reroute_email_address'] = “developer@” ○ $conf['reroute_email_enable_message'] = 1;
  • 16. ❏ Pre-launch - Performance ● Cache settings ● Aggregate js and css ● Views caching
  • 17. ❏ Pre-launch - Details ● Login/Reset New Password/Sign up − Themed? ● Registration − Check email notification text ● Error Pages − 403 Error (Access denied)* ● Redirect to Login? − 404 Error (Page not found)* − Customize → Chance to be creative and user friendly
  • 18. ❏ Pre-launch - Cleanup ● Remove test data ● Check file security ● Run link checker (e.g. validator.w3.org/checklink, linkchecker module) ● Content revisions? ● Backups?
  • 19. ❏ Pre-launch - Admin Interface Site Admin Experience (should have been done in development) ● Redirect to dashboard on login based on role (Rules) ● Buttons to add content (did you theme standard markup?)
  • 20. ❏ Pre-launch - Cross Browser Testing ● First with Firefox Dev Tools “View responsive layouts” ● Then with BrowserStack, Sauce Labs or Other ● Retina Support (Retina Image Module, svg, Borialis server) ● Mobile and Tablet Testing (should be part of development)
  • 21. ❏ Pre-launch - SEO ● Schema_Metatag module ● Automatic path configurations ● Simple Sitemap or XML Sitemap ● Other tools ○ SEO Tools ○ Intelligence
  • 22. ❏ Pre-launch - Cleanup ● Check status report and logs ○ Latest release? ○ Fix what's causing log entries / switch to syslog server ○ Lots of modules available for improved logging ● Disable devel modules
  • 23. Pre-Launch Check Other Testing Tools ● Notifications − Litmus – Test and track emails ● Powermapper – Website tools
  • 24. ❏ Launch ● Redirect to www via settings.php ● SSL Certificate + settings.php ● Point DNS (Use TTL setting for faster update) ● Test, test, test Never on a Friday (don't spoil your weekend)
  • 25. ❏ Launch - settings.php magic if (!isset($_SERVER['HTTP_X_SSL']) || (isset($_SERVER['HTTP_X_SSL']) && $_SERVER['HTTP_X_SSL'] != 'ON')) { header('HTTP/1.0 301 Moved Permanently'); header('Location: https://www.yoursite.com'. $_SERVER['REQUEST_URI']); exit(); }
  • 26. ❏ Launch - Almost there ● Optimize performance settings ● Logging and errors ○ Users should not see error display ○ admin/config/development/logging ● Mail delivery ○ Server vs SMTP vs Mandrill / Sendgrid ○ reroute_mail module – Reroute all site mail based on environment for testing
  • 27. ❏ Post Launch ● Daily backups ● Google Analytics ● Configure Google Webmaster and Bing Webmaster Tools ● Submit to search engines ● SEO Checklist Module
  • 28. ❏ Post Launch - Brag! ● Client ● Will there be a press release (to who)? ● Industry media? ● Agency ● Have you prepared? ● Where? ● Blog ● Social Media ● Newsletter ● DDO Marketplace
  • 30. Pay it forward Get to the checklist https://tinyurl.com/ydcmk7xp and contribute