Okay – WebME…
Before I introduce the first bits of code for WebME, I want to try explain what it is, and why it is different to, say, Joomla, Mambo or PHPNuke.
As I explained in the Webworks blog, WebME grew up as a tool designed to do some very very common tasks on small websites.
This CMS was built for about 250 separate websites. Each of those sites wanted a simple task – create pages, and edit those pages. There are other tricks such as Forms and Online Stores, etc, but we’ll get to them. The core task for this CMS is to create a page, and allow editing of that page.
The larger, more well-known CMSes, on the other hand, are built to be modular, extensible platforms. It’s difficult to define a single “purpose” to those platforms. For WebME, it’s simple – “manage some webpages”. For the others… I don’t know; they’re too large to define simply.
It’s tricky to decide where to start with this release. I can’t just release the whole damned thing, as that would be overwhelming, and probably a bad idea, security-wise. Instead, I’m going to release a piece at a time.
Today’s piece will provide the bare minimum – you will be able to download WebME, and install it. That’s it. Nothing else. No admin area, and no editing of pages. In fact, not even any pages. You at the back, have patience!
For today, I’ve written the basics of the installer. You can download it from Google, via SVN (subversion). WebME won’t be available via zipped package until I’ve released enough of it to be useful for the average web developer.
Today’s download really is the bare minimum – it creates a config.php file, but nothing else. Tomorrow I’ll show how upgrades work in WebME, and will show the admin area.
Despite the apparent nothingness of today’s release, I hope people will download and try it out. Each day will produce a few new ideas.
Today’s idea is how to create an installer. Most (all?) projects start off any page by loading the config. If that config does not exist, then either the system is not installed, or there’s something wrong. We use that idea to allow a freshly downloaded copy of WebME to bring the browser straight into the installation script.
It’s a simple and obvious idea, but useful. Tomorrow’s idea will show how to handle upgrades in a “continuous integration” way (…ish). In particular, tomorrow’s trick is useful for handling database evolution.