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.
- Ubuntu LTS, stable (eg 20.04)
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)
- Create Github/Bitbucket/Gitlab repository
- Create Project Management project (eg TeamWork)
- Create a Trello board (if using Trello)
- Setup Slack
- Setup CI (eg Travis)
- omega
- bootstrap
- zurb_foundation
- kashmir
- neato
- basic
- xtheme
- gesso
- radix
- cog
- bear_skin
- classy (core theme)
- Enable dev mode
- Enable php error_log
- Enable apache2 error_log
- Copy ssh keys
- 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)
- 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
- 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
- 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