Over the last week or so I've made some progress towards upgrading this site:
- As I mentioned in a previous post I stood up a new server to look consider Vanilla Drupal 9.0 vs Lightning 9.0, vs Varbase. All three have their advantages but I have decided to stick with Varbase. A lot of the sites I build fit in Varbase’s wheelhouse. The 9.0 branch is far more modular than the 8.0 branch. Since I’ll be installing things with Composer on this site, this should work well for upgrading.
- I’ve given some thought to content types and built out new content types on for the new site. Here are the changes I’m making
- Converting all files (images, audio, docs) to media entities. Media in core wasn’t ready when I built this site now it is.
- Merge the Job Position, Portfolio and Case Study content types. There is a lot of overlapping data between these content types.
- The Notes content type is renamed to Post.
- For now I’ll have 2 landing page content types: One using paragraphs, which I’ll import the current page into, one using layout builder. I’ll migrate the current pages to layout builder after I launch so I can get rid of the dependance on Paragraphs by Drupal 10.
- First I’m working on migration scripts to get data into the system. I’ll setup JSON:API on a copy of this site to export content and use the Migration API. I expect 2 challenges:
- I’ve never had to create media entities from file fields. I’m sure there’s an example on the web someplace, if not I’ll have to do some hacking.
- I’m pretty sure I won’t be able to automate merging the content types I mentioned above. I look at this and figure it’s a half day to do it manually,
- This site that has little logic (a glue module and a module that extracts metadata for links). I’m pretty sure I build those with Drupal 9 in mind, but I’ll give them a once over.
- A combination of theming and site building. I’ll be moving to Bootstrap 4 in the process.
- Static site? I keep looking at Tome. With small changes this should be possible for my site (mostly I need to rethink my use of webforms.