drupal-development-checklist icon indicating copy to clipboard operation
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.

Dev Packages (if needed)

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


Themes (base)


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

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