WordPress MU 2.8: Book Review
The people at Packt Publishing asked me if I’d care to read and review a new book from them. It’s called WordPress MU 2.8 Beginner’s Guide. As WordPress is something we use ourselves (this blog is WordPress) and with our customers I was more than happy to take a look.
If you didn’t know, WordPress MU is the “Multi User” version of the very popular free and open source blogging software. MU allows you build a site where users can create and run their own individual blogs themselves. One of the best known examples is probably the WordPress.com site itself which serves tens of millions of hits on millions of blogs each day.
That’s a little background, now on with the book review itself.
Firstly, I was a bit confused by the title: “Beginner’s” and “WordPress MU” aren’t two words I would normally associate together. After all, a multi-user blogging farm capable of hosting literally millions of blogs doesn’t strike me as something a beginner would be doing. You can’t however judge a book by it’s cover as they say…
At approximately 250 pages the book is a reasonable size unlike some of those 1000+ page tomes that are too heavy to carry and won’t stay open due to the effects of gravity.
The book has a clearly stated objective:
This book will take you through the setup of a WordPress MU-powered blogging network, using a real, working blog network as an example, so that you can follow the creation process step-by-step. Your blogging network will be complete with professional features such as friends lists, status feeds, groups, forums, photo galleries, and more, to build your own WordPress.com – a place where users can quickly come and create a blog for themselves.
The book is written by Lesley A. Harrison:
Lesley Harrison has more than ten years of experience working in the world of IT. She has served as a web developer for various local organizations, a systems administrator for a multinational IT outsourcing company, and later a database administrator for a British utility company. Today, Lesley runs her own video gaming site, Myth-Games.com, and works as a freelance web developer. She works with clients all over the world to develop Joomla! and WordPress/WordPress MU web sites.
When I first thumbed through it I was a bit put-off by the style and layout – it felt like it might be one of those “books for stupid people”. Each short piece is wrapped in the same set of three headings:
- A Title,
- the main content called “Time for action“,
- and a short review headed “What just happened?“.
After a couple of these you also get:
- a “Pop Quiz” with some fairly simple questions,
- and something entitled “Have a go hero” that gives the reader some guidance to exploring the subject further.
In one way, I’m somewhat confused by this book; the styling and layout feels, to me at least, rather condescending and childish, and yet the actual breadth and depth of content is really very good. You can get a feel for the style in this short excerpt from chapter 7.
Over 12 chapters the author leads the reader from a brief overview of WordPress MU itself and some discussion about the choices you will need to make with regards to hosting etc. through installation of the basic system, installing and customising themes, user management, security, adding features through plugins and extensions, getting money from your site, and finishes off with some optimisation and troubleshooting advice.
There is a huge amount of information in this book. The shear quantity of extensions selected, described, setup and configured makes this well worth the money, just for the time it would take to find them yourself. Lesley uses a fictitious site for Vampire Slayers as the theme and builds a highly functional and comprehensive WordPress MU installation that delivers not just a blog network but also tightly integrated forums and social networking features. It’s obvious she knows her stuff and there are some real nuggets in the book that I wasn’t familiar with myself. There are plenty of screenshots showing what needs clicking and configuring and lots of code snippets where the editing of various WordPress php files is required.
As well as the breadth of information, it’s surprising just how much detail there is in between the covers of WordPress MU 2.8 Beginner’s Guide too. I wouldn’t think of a “Beginner’s” book covering things like Apache’s mod_rewrite and writing your own rewrite rules in .htaccess for example. On the flip-side there were one or two items that felt like they had finished half way, leaving the reader to go and do their own research. So again I question the title and styling of the book against the kind of reader I would expect that would want to buy and use it.
It’s a quick book to read, and is fast-paced which I like. There is minimal waffle or superfluous language – something I’ve noticed with other Packt books in the past too. Perhaps this is part of their editorial design? It certainly helps if it is “by design”. I’ve other technology books that are a real chore to read, requiring the reader to fish the information out of a vast sea of irrelevant language. You can easily read the whole book through in a few hours. It then becomes a great reference device (another benefit of succinctness) when you start to build your MU blog network.
To summarise then, I thought this book has great content, lots of information, good detail in most places and does what it set out to do with regards to the quote at the top of the page. In other ways I found the book a paradox; I thought the layout and style was too infantile for the subject matter and I think the title really doesn’t do the book justice. The saving grace is that these shortcomings don’t really get in the way of the content.
Had I picked up this book and thumbed through it in a bookshop I’m not sure I’d have bought it. By dropping the “Beginner’s Guide” from the cover and making the style a little more adult I probably would have. Of course in this case, Packt sent the book to me so I didn’t have to make that choice and my “job” was to read it and comment. It’s a good book. I enjoyed it, and it has really good content, but I’m not sure it’s being targeted at the right potential buyer. In this case, don’t be put off by the cover.
[Please Note: If you use the links from here to Packt's website and decide to buy any book from their site, we will get a small commission that we can use towards the upkeep of our servers etc.]
The Open Sourcerer on WordPress
I’m quite chuffed!
If you recall I changed the look of this site last week after building my first WordPress theme.
A passer by called Kirrus suggested I submit it to the WordPress Theme Directory. Which I thought was a cracking idea and one that hadn’t even crossed my mind. I sent it in, a few days later I got an email suggesting I made a couple of minor alterations:
- Add a Feed Autodiscovery to the header (good idea and something I wasn’t actually familiar with)
- Add some “default” widgets to the sidebar so on a blank WP instance you get to see some widgets in the sidebar.
So I did that this morning and submitted version 1.2. Only a few hours later I got a mail saying it had been accepted and is now in the WordPress Theme Directory!
Yippee!!!
I guess, I should ask that if you use the Theme Directory at all, it would be great if you could vote but that’s your choice.
The Open Sourcerer Gets A New Theme
I’ve been meaning to do this for some time now. It is time for a small face-lift.
I spend quite a bit of my time doing work for clients on Joomla! including building clean templates from a graphic designer’s images. But I haven’t needed to build a template (theme) for WordPress before which felt like I’d been missing out on or something.
So, here is my first – from scratch – WordPress theme. I’ve called it “Open Sourcerer”. I hope you like it and it works in your browser; please do tell me if it doesn’t although any IE6 users will have to put up with a fixed width layout because I really can’t be arsed to hack around that oh-so-crappy browser when I’m not being paid. Another great “feature” of IE 6 & 7 from my tests is that apparently Microshit are unable to make the text cursor (I-beam) adapt to the environment it finds itself in, so consequently it is very hard to see it against this dark brown background colour. Honestly, is it really so bloody hard to get right? Firefox seems to manage it fine, as does Midori, a “lightweight” Webkit based browser. So if you are reading this with IE and wonder where your cursor has gone, go and get a proper browser for pete’s sake. Anyway, enough of trying to pander to bad commercial software.
This theme is a flexible-width layout from 800-1200px wide which should be fine for most users. The sidebar with the widgets is fixed at 215px currently. If there are any WordPress gurus out there I’d appreciate any feedback on what’s missing or important from this theme. Comparing “Open Sourcerer” to the Default theme there are quite a few other php files in there which I saw no need for. Perhaps overriding the defaults is only necessary if you have a specific kind of layout?
After reading a bit and getting nowhere regarding how to create a WordPress theme from scratch, I came across this gem of a how-to. It’s concise, clear, straightforward and simple. That suited me fine and got me started; thank you Sam Parkinson for sharing your knowledge with us.
I really like dark backgrounds for blogs. The inspiration for this one started by stumbling across this Dark Smoke theme quite by accident and then thinking about the colours of the “New Wave” and “Dust” themes for Gnome that are supplied in Ubuntu 9.04 (Jaunty Jackalope). Here is my desktop using the Dust theme (yes I know I shouldn’t have all those files lying around!).
So, what you see here is a fairly simple 2 column theme, that is flexible in width between 800 and 1200px. The lovely dark brown [almost black] background colour is the same as used in the Dark Smoke theme mentioned above. The other browns are simply lighter shades of the same I achieved in Gcolor2 by just shifting the brightness value. The red is The Open Learning Centre‘s logo colour (#D40000) and the main text colour is taken straight from the Gnome windows and panels in a default Ubuntu desktop using the Dust theme. As for typefaces, if you have the free and open Liberation fonts installed, which I strongly recommend, that will be the font-type rendered. Alternatives are (in order) Arial, Helvetica, sans-serif;
The graphic at the top is a section cut from one of the fantastic Hubble telescope images that are freely available. This one in fact.
One aspect of template creation and maintenance I am very keen on is the separation of stylesheets by function. In the main style.css file in my theme, you won’t find much actual styling other than some global resets. What you will see however is this:
/* Make it easy to alter stuff... */
@import url("css/layout.css");
@import url("css/header.css");
@import url("css/menu.css");
@import url("css/content.css");
@import url("css/sidebar.css");
@import url("css/footer.css");
@import url("css/wordpress.css");
@import url("css/tweeks.css");
Hopefully the names of the stylesheets are enough to identify what styling they contain. To my mind this makes it so much easier to navigate when you want to make a change as opposed to trawling through one very long and usually randomly ordered stylesheet.
You can download the theme from here and can modify, hack and/or edit as you wish. It is released under the GPLv3 License.
Update: I made a few small changes to the theme in the vain hope that it may be acceptable for the WordPress.org Theme Directory. Thanks Kirrus for making the suggestion. It was a good idea and made me test my theme more thoroughly too!
Update 2: It worked. This theme has been accepted and is now being hosted on the Theme Directory. I wrote a short piece about that here.
The Open Sourcerer now on Twitter
After much time and little thought, I have accepted the apparently inevitable and signed up to Twitter. I have now started tweeting – I think.
As everyone else seems to say:
Follow me on Twitter
Once I get some time I will find a plugin for WordPress (any good recommendations anyone?) so you can see what me and my followers are up to in the minutiae of our daily endeavours.
I found Gwibber to be very useful, but it has stopped working for the last few days I think because of this bug. Hopefully it will start working again after an update or two…
Number 10: The same thing twice?
I’m not quite sure I fully grasp what is going on with this (some would say I never do) but maybe it might be of interest to other readers and hopefully someone will come along and explain a bit more.
I was looking about on-line the other day just following my (rather large) nose around the ‘Anthony Baggett’s theme being used by Number 10 Downing Street’ story. And I came across something I don’t really understand. Perhaps others might be able to shed some light on what might be going on here?
Let’s start with the background: Number 10′s Website, is using a look and feel derived from an original theme by Anthony called NetWorker. The way we know this is by the header that was left in the main stylesheet and almost every other file from Anthony’s original package being left in tact on the server.
During my wanderings around the internet I came upon this page: https://secure.mysociety.org/cvstrac/chngview?cn=12360 which shows a list of files that have been updated or changed in some way on a developer’s version control system called CVS. The owner of this system is a group called MySociety.org.
According to their website, MySociety are a non-profit charity and who look to have built some pretty interesting sites; many around freedom of information and enabling better access to Government. They were responsible for creating the Petitions System for Number 10 which looks to have been written as a custom application using at least Perl and PHP.
Here is a screenshot of the page showing the date of the commit (04/08/2008) and the name of the committer (matthew) and a quite long list of files that have been added, removed or altered as part of this commit.
For those who are not familiar, this kind of tool is used by developers to manage software projects. You can literally see each change made to your project, by time and by developer so when something gets fixed (or gets subsequently broken again) you can go back in time and recover your project to the same state prior to a particular commit.
I would like to draw your attention toward the bottom of the page in the screenshot. There you can see a few stylesheet files being removed and two new ones being added. One line in particular caught my attention:
“mysociety/pet/web/no10_css/style.css added-> 1.1“
If you click on the revision number (1.1 in this case) to view the contents of the file1 you will see that the it has the same header as that of the main Number 10 Downing Street file.
I used the Meld comparison tool as I did before to compare it with Anthony’s original2, and this is another derivative work of Anthony’s original style.css file. And I compared this one with the stylesheet used for the main Number 10 website3 they are very, very similar indeed.
If you visit the Prime Minister’s petition site note the similar look and feel to the main 10 Downing Street pages. Now take a look at the stylesheet for this site: http://petitions.number10.gov.uk/no10_css/style.css.
This looks to me like two separate websites, developed by two different companies, but both using the same derived work. Anyone care to elucidate?
1. My Society’s stylesheet
2. Anthony’s original stylesheet
3. No. 10′s heavily modified stylesheet
Timber! (More on Number 10′s website)
Here is the output of a Linux command called tree on the original contents of the theme that NMM claim to only have used the stylesheet from1.
~/Desktop/dev_area/networker-10$ tree -phDC
.
|-- [-rw-r--r-- 24K Jun 21 2007] How To Post Images In This Theme.doc
|-- [-rw-r--r-- 1.0K Jul 11 2007] archive.php
|-- [-rw-r--r-- 397 Aug 17 2007] archives.php
|-- [-rw-r--r-- 4.0K Jul 8 2007] comments.php
|-- [-rw-r--r-- 147 Jul 11 2007] footer.php
|-- [-rw-r--r-- 80 Jun 5 2007] functions.php
|-- [-rw-r--r-- 1.7K Jul 12 2007] header.php
|-- [-rw-r--r-- 267 Jul 12 2007] ie6.css
|-- [drwxr-xr-x 232 Aug 17 2007] images
| |-- [-rw-r--r-- 88K Jul 12 2007] Thumbs.db
| |-- [-rw-r--r-- 2.0K Jul 12 2007] ad_space.gif
| |-- [-rw-r--r-- 217 Jun 18 2007] bullet.gif
| |-- [-rw-r--r-- 398 Jun 22 2007] nav_hover.gif
| |-- [-rw-r--r-- 1.3K Jun 6 2007] sub_rss.gif
| `-- [-rw-r--r-- 4.3K Jul 12 2007] wp.gif
|-- [-rw-r--r-- 1.1K Jul 9 2007] index.php
|-- [-rw-r--r-- 18K Jun 13 2007] license.rtf
|-- [-rw-r--r-- 700 Jul 11 2007] page.php
|-- [-rw-r--r-- 60K Jun 13 2007] screenshot.png
|-- [-rw-r--r-- 946 May 10 2007] search.php
|-- [-rw-r--r-- 257 May 10 2007] searchform.php
|-- [-rw-r--r-- 2.5K Jul 12 2007] sidebar.php
|-- [-rw-r--r-- 1.3K Jul 11 2007] single.php
|-- [-rw-r--r-- 2.4K Feb 2 2007] sitemap.php
`-- [-rw-r--r-- 9.6K Jul 12 2007] style.css
I thought I would try to find out just how much of Anthony’s theme is still there. Not being much of a hacker myself, all I have done is simply added each of the file names above to a URL that points to the location of the theme directory in the Firefox navigation bar. So the whole URL in the bar looks like this: http://www.number10.gov.uk/wp-content/themes/networker-10/filename-to-look-for.
If you try and open a non-existent file, you get a “404″ not found message as one would expect. Anything else means the file is present. The way php works however makes it very hard to tell what the contents of the .php files are.
Guess what? There is an awful lot of Anthony’s content still on Number 10′s website. Here’s what I found when comparing the response I got from Number 10 to the original files in the theme package:
How To Post Images In This Theme.doc:
Files are identical and there is a really interesting comment at the bottom of this file that is just so ironic: “to give credit where credit is due, I borrowed this idea from Chris Pearson who is the author of the Cutline theme.“archive.php:
File exists and returns a blank page.archives.php:
File isn’t present, returns 404.comments.php:
File present and returns exactly the same response text as is written in the original file: “Please do not load this page directly. Thanks!”footer.php:
File present and returns a blank page.functions.php:
File present and returns a blank page.header.php:
File present, returns a blank page.ie6.css:
File present, has been modified greatly and Anthony’s header has been removed! But it does contain an identical first line of css styling:#content, #sidebar { overflow: hidden; }. Note the spacing and line breaks etc- /images
Thumbs.db:
Files are identical.ad_space.gif:
Files are identical.bullet.gif:
Files are identical.nav_hover.gif:
Files are identical.sub_rss.gif:
Files are identical.wp.gif:
Files are identical.
index.php:
File present, and returns a blank page.license.rtf:
File is present and the files are identical. Yet, the copyright notice of the site states “Crown Copyright! so which applies here?page.php:
File present and returns a blank page.screenshot.png:
This one is really funny… files are identical.search.php:
Not present, returns 404.searchform.php:
Not present, returns 404.sidebar.php:
File present and returns “Newsletter. Sign up to our newsletter to keep updated with the latest information from Number 10, Click here to subscribe”. The HTML source retains comments from the original.single.php:
File present and returns blank page.sitemap.php:
File present and returns XHTML header information the same as in the original.style.css:
File present, as we know already.
So, out of 24 files in the original theme package, only three files have been removed. If you look here in the comments from my post of yesterday, you can read what Dave Smith of NMM said:
1. The only file that was drawn upon from Ant’s theme was the css file.
Now clearly some of the files above will be pre-requisites for any WordPress theme (like index.php for example) but 21 out of 24?.
I’m sure I can smell something quite smelly around here.













