Running Weblogs with Slash
||Author: Chromatic, Brian Aker, David Krieger|
List Price: $34.95
Our Price: Click to see the latest and low price
Publisher: O'Reilly & Associates (January, 2002)
Sales Rank: 159,851
Average Customer Rating: 4.5 out of 5
Customer ReviewsRating: 4 out of 5
interesting, but not really a blogging book
"Slashdot" is one of the busiest sites on the internet. Part newspaper, part bulletin board, part personal journal - just a casual mention on Slashdot has been enough to bring major web sites to their knees. Slashdot has lead the way in the high-traffic mass-participation web, and the software is free to download. This book is about the ideas, challenges and designs which keep Slashdot working. Although the slash software is written in Perl, you don't need to read Perl; there's hardly any source code in the book.
When I first saw this book, I thought it would be dull. Who wants to read documentation for a bunch of Perl scripts? As it turns out, the book is mostly case study and installation/configuration guide. Although obviously aimed at people considering using the open-source "slash" engine for their own sites, reading about how the Slashdot administrators evolved their software to cope with such astonishingly high traffic is quite inspirational. There is a lot of solid wisdom for anyone involved in maintaining web applications on the internet.
If you are designing or improving a public collaborative web application and want to be able to scale to massive traffic, this book is an important addition to your bookshelf. If you are curious about the growth and internals of Slashdot, it's worth a read. If you want a theoretical discussion, code listings, or product comparisons, look elsewhere.
Rating: 4 out of 5
I would have loved a 'type these commands to install' type thing in the book. Even with the book's help it took me a while to install.
Rating: 5 out of 5
Good, In-Depth Guide to Slash
Slash is the software that runs sites like Slashdot and use.perl. It's all written in Perl using the Template Toolkit with MySQL at the back end. Despite it being based on a number of my favourite technologies, I'd never really the time to get to know how it worked. Reviewing this book finally gave me the excuse to spend a few hours looking at it. I decided the best way to "test" the book would to be to try and set up and configure a Slash web site whilst reading the book.
The book starts by giving an overview of Slashdot - the site that the Slash code grew out of. This is followed by an overview of how a Slash site looks to the user and a brief look at the architecture of Slash. All very interesting, but it didn't get me any closer to setting up my Slash site.
That started in chapter 2, which is a guide to installing Slash. During this chapter I became aware that the book (or, at least, this part of it) wasn't really aimed at me. By this I mean that the chapter assumed that the reader knows less than I do about installing Perl modules, setting up MySQL databases and configuring Apache. I was fast coming to the conclusion the the book's target audience was people who wanted to run a weblog using Slash, but didn't really know very much about Apache, MySQL or Perl. This made reading this chapter very quick and in an hour or so I had a basic Slash site up and running.
The next five chapters look at the nuts and bolts of running a Slash site. They describes the processes of setting up authors, editing and updating stories, reviewing and approving submissions, dealing with comments and managing topics and sections. Again, I read all of this pretty quickly as the chapters were going over in some detail processes that I was finding pretty easy to work out from the layout of the Slash administration pages. One section stood out. In the middle of chapter 6 there is a discussion on how Perls's regular expressions can be used to filter comments. I found myself wondering how easily my assumed target audience would deal with this material.
Chapter 8 changes direction completely. This chapter discusses ways to manage the community that builds up around a successful Slash site. It was almost completely non-technical but, building on their ideas of what has made Slashdot so successful the authors present some interesting ideas on the nature of web communities. To me, this chapter alone justifies reading the book.
In chapter 9 we're back with customising your site, with sections on setting up Slashboxes (little areas of content that go down the side of a Slash site), exhanging headlines with other sites using XML and managing user polls. Again there's not much comlpex technical content in this chapter.
In the last two chapters we suddenly get very technical, looking at advanced site customisation and administration issues. In particular, when the advanced customisation chapter looks at plugins, it gives an example of how to write a plugin and this may well all be a bit confusing for the target audience I discussed earlier. This is aimed at someone who knows what they are doing when it comes to Perl and MySQL.
The five appendices act as a reference to the Slash codebase. They contain much in depth information about the database tables and the API exposed by the various Slash modules. Appendix C contains a useful introduction to the Template Toolkit, which Slash uses to create all of the actual HTML pages. There's a lot of information in this pages and they take up about a third of the book.
I suspect I've come across a little more negative that I intended in this review. I do think it's a very useful book and should be read by anyone running (or thinking of running) a site using Slash. My only problem is that is seems to be two half books joined together. The second half seems to be aimed at a far more technically literate audience than the first half.
But the bottom line is that I got my Slash site up and running and I know a lot more than I did about how to configure and administer it - so the book does what I wanted it to.
· Essential Blogging
· Content Syndication with RSS
· Learning Perl Objects, References & Modules
· Design for Community: The Art of Connecting Real People in Virtual Places
· mod_perl Developer's Cookbook