Migrating my Drupal7 site into Wagtail

March 30, 2020

So, after much time (mainly due to lack of free time), I have now migrated my Drupal 7 site into Wagtail.

Now, I feel an important thing to say up front is that this isn't me moving away from Drupal, I intend to work with Drupal for years to come. This said, I have had a hankering for Python a lot in the last few years, and whilst I have done the odd fun script or played in Flask, I wanted something that could open doors to new projects in my day-to-day job. This then led me to Wagtail (and also Django), as it is on the rise, and is apparently quick to setup a new site, especially compared to a Drupal site (which is also my impression so far too).

My intention is to push my personal training when I can (which may only be an hour or two a month) so I can learn, and progress my learnings in Python/Wagtail/Django. This being my first stepping stone, and hopefully a place I can try new methods of coding (such as utility files, performance tweaks, deployment processes etc.)

Now, you may notice the site isn't perfect as it is, this is mostly around the theme (such as accessibility and device support). The theme was a free theme taken off the shelf, and I did not have the time to custom theme the site whilst getting my tutorial live ASAP, and so used this to quickly get the site themed. This also helped understand how easy/complex theming a site would be if working with a seperate html5/css developer.

Useful learnings and tools

  • Comms and Repos
    • Slack Channel - This is the best place to go for help, the community was very friendly, and proactive whenever I had issues.
    • Awesome Wagtail - A git repo listing some of the best addons for Wagtail
  • Tools
    • Django Debug Toolbar - A very handy tool if you are not used to Django, as gives some debug info such as query information
    • Visual Studio Code - I found this tool ideal for debugging Django, and it also has capabilities such as breakpoints (similar to xDebug in PHP)
    • venv - Virtual environment tool I am using
    • pip - a package manager for Python
  • Tutorials/Books

(potential) Future articles

I hope to write several articles on my Wagtail learning over the coming months, if you are interested, some topics I am thinking of covering are:

  • Some basics I had to learn (eg. Python/Django/Wagtail)
  • Migrating from Drupal (json) into Wagtail
  • Applying a theme to a Wagtail site
  • Duplicating core Drupal functionality (eg. Views, pagers)
  • Deploying to Dreamhost (my host)
  • API setup and usage
  • Utility functions
  • Marketing suggestions (eg. when is this preferable to something like Drupal or Wordpress)

This is a lot, and I may not write about all of them. My intention is not to teach the basics in these articles, just some interesting stuff. If you are after learning, the tutorials I referenced above my be a good place to start.

If you have anything you might like me to also share, please do feel free to message me via twitter.