At work, I’ve been charged with Becoming At Least Pretty Good at Plone. Plone is a CMS (written in Python) that we use quite a bit at Stratacomm— it’s our go-to solution for any site that needs a Real CMS.
Plone is also big. There are a lot of moving parts, and I’ve had a hard time really coming to grips with the whole thing, which is becoming a problem.
I never got around to actually trying it, but I’ve long thought that Linux From Scratch was a brilliant idea— putting together a Linux distribution on piece at a time has to be the best way of understanding how all the parts fit together.
The way I imagine a “Plone from Scratch” working, is each chapter introduces one or more of the packages that makes up the Plone “stack”, steps you through a buildout recipe that installs as little as possible to make that piece work, and an (increasingly complete) project making use of the just-introduced packages.
The first chapter would probably get you right up to the point where you can respond to HTTP requests, and later chapters would add things like ZODB, content types, browser views, and caching, and turning the example project into an installable Product.