drupal-development-checklist
                                
                                 drupal-development-checklist copied to clipboard
                                
                                    drupal-development-checklist copied to clipboard
                            
                            
                            
                        DEPRECATED. Go to github.com/theodorosploumis/notes
Drupal 9.x Project Development Checklist
A checklist of common tools, settings, modules etc to check for a Drupal 9.x web project
Want to use a Docker image for development? Head to https://github.com/theodorosploumis/gitpod-drupal-workspace!
How to use this? I usually copy this checklist to a Github issue so I won't forget anything. Most of the times I delete items from the list so this is the full list.
Server type
- [ ] Ubuntu LTS, stable (eg 20.04)
Server setup
Prefer to install all software globally.
- [ ] php8 (see required php extensions for drupal 9.x)
- [ ] mysql
- [ ] apache2
- [ ] git
- [ ] patch
- [ ] drush-launcher
- [ ] composer
- [ ] openssh-server
- [ ] nodejs/npm (if needed)
Dev Packages (if needed)
- [ ] sass-lang.com
SaaS
- [ ] Create Github/Bitbucket/Gitlab repository
- [ ] Create Project Management project (eg TeamWork)
- [ ] Create a Trello board (if using Trello)
- [ ] Setup Slack
- [ ] Setup CI (eg Travis)
Modules
- [ ] admin_toolbar
- [ ] ctools
- [ ] pathauto
- [ ] pathologic
- [ ] redirect
- [ ] token
- [ ] google_analytics
- [ ] simple_sitemap
- [ ] backup_migrate
- [ ] config_update
- [ ] config_devel
- [ ] devel
- [ ] features
- [ ] masquerade
- [ ] stage_file_proxy
Themes (base)
- [ ] omega
- [ ] bootstrap
- [ ] zurb_foundation
- [ ] kashmir
- [ ] neato
- [ ] basic
- [ ] xtheme
- [ ] gesso
- [ ] radix
- [ ] cog
- [ ] bear_skin
- [ ] classy (core theme)
- [ ] adminimal_theme
Drupal Settings
- [ ] Enable dev mode
- [ ] Enable php error_log
- [ ] Enable apache2 error_log
- [ ] Copy ssh keys
Site Architecture
- [ ] Content types
- [ ] Vocabularies
- [ ] Entity Fields
- [ ] Blocks
- [ ] Menus and menu links
- [ ] View modes
- [ ] User Roles
- [ ] Views
- [ ] Text editor filters
- [ ] Text editor widgets/plugins
- [ ] Image styles
- [ ] REST pages
- [ ] Site functionality (eg search, mailchimp etc)
- [ ] New things to try (eg a new tool)
Testing
- [ ] User Scenarios/Stories
- [ ] Test UI functionality (behat)
- [ ] Test user permissions (PhpUnit)
- [ ] Test user input (behat)
- [ ] Test browsers (browserstack etc)
- [ ] Test devices (mobile, tablet, desktop)
- [ ] W3C WAI level 1 accessibility validation
- [ ] Google Mobile Friendly test
- [ ] Google PageSpeed test
- [ ] Pingdom Website Speed Test
- [ ] Yellow Lab Tools
Development tasks
- [ ] Create Project folder
- [ ] Create drush aliases
- [ ] git-flow init
- [ ] drupal console chain commands
- [ ] Setup cron jobs
- [ ] Set xdebug
- [ ] IDE setup (eg Phpstorm)
- [ ] Create teamocil file
- [ ] Create bash aliases
After development tasks
- [ ] Disable modules: *_ui, dblog, devel, admin_menu, simplytest, kint.
- [ ] Enable Caches
- [ ] Enable syslog module
- [ ] Provide customer credentials
- [ ] Maintenance aggreement
- [ ] Submit to SE (eg Google), use xmlsitemap
- [ ] Submit to Google Analytics
- [ ] Submit to Google Webmaster tools
- [ ] Submit to Showcase sites
- [ ] Publish on my personal site (work)
- [ ] Publish any Open source project that can be useful