The static dynamic
CMS nerds (like me) often talk about dynamic (database-driven) sites and static (file-driven) sites. I don’t think this is a useful distinction!
When I was using Textpattern, a database-driven CMS, I made use of a plugin that cached every request as a static file. Effectively every single page was served from the cache. Was it still a dynamic site at that point? Or was it a static site with automatic builds? I'd say it was both.
This site right here is a Fossil repo. To put it on a web server all I need to do is upload two files: a SQLite file and the fossil
executable. Is it a dynamic site that happens to be served from a single static file? Or is it a static site with a web UI? I’d say it’s both.
You might say every static site is just a dynamic site that uses the filesystem and build tooling as its database. You might say every dynamic site is just a static site with a really complicated file format (the database at-rest).
Better distinctions
I’ve outlined a different — not better — distinction in Approaches to publishing. That distinction might also not be very useful, because it’s more about motive than method, and motives don’t generalize very well.
When figuring out the tech stack for a particular publishing job, I’m usually thinking about Friction in publishing.