Showing posts with label drupal. Show all posts
Showing posts with label drupal. Show all posts
Monday, June 8, 2009
Front End Drupal: Designing, Theming, Scripting
Authors: Konstantin Käfer and Emma Hogbin
Format: Paperback, 456 pages
Publisher: Prentice Hall PTR; 1st edition (April 15, 2009)
ISBN-10: 0137136692
ISBN-13: 978-0137136698
The Käfer and Hogbin book isn't just a "how to use Drupal" book. There are a number of books that introduce Drupal in general (I put in the link just in case you need to know what Drupal is), including Using Drupal (O'Reilly) which I previously reviewed. According to this book's back cover blurb, "Drupal is now the world's number one content management system...As Web Designers and developers adopt Drupal, they need ways to quickly customize the visuals and interactivity with their sites." Is Front End Drupal then a book with just a focus on designing and managing themes, or is there more "under the hood"? Let's find out.
As always, my first question for a book is "who is it written for?" The back cover invokes "web designers and developers", which presupposes a certain skill set. The authors have backgrounds in both web development and Drupal, so that should also be a clue. That said, I didn't find a section in the front matter of the book saying "this is the book's audience" or similar text. The context of the book will have to do, but who the book is created for should become fairly obvious early on.
The first page of the Forward states the basic problem and thus, the reason this book was written. Apparently, Drupal sites "out-of-the-box" are "ugly". Further, Dries Buytaert (Drupal founder and project lead) says "...creating a Drupal theme isn't always easy. It's a crosscutting experience that requires a lot of diverse skills and utilizes expertise in XHTML, CSS, JavaScript, and PHP..." That should be enough to define the target reader of this book, at least as far as what you have to know to utilize this text. Chapter 10 is an introduction to jQuery, further narrowing the focus, at least as far as JavaScript libraries are concerned.
Chapter 1 starts out with a lesson on how basic web design integrates with Drupal. No, it's not an XHTML/CSS primer. You are supposed to know that stuff already to be able to utilize this book, but the authors do suggest here that you access those skills when mapping out the design of your future Drupal site. They do include resources such as Zen Garden and W3Schools.com's CSS Tutorial for those who might need to brush up in that area, so it's not like you have to be a total guru. I found this interesting because, as I moved through the book, I found that being a guru helps a lot, but more on that in a minute.
Theming tools and strategies are added onto this "gentle introduction" and the more formal introduction to Drupal begins, including JavaScript, PHP, and the Drupal API. The mechanics of creating a Drupal theme are presented as early as Chapter 3, including more online tutorials and code examples in the book. This is where your coding experience starts to be needed. A basic understanding of at least XHTML, CSS, and PHP is required from here on in. I say "at least", because the book will not hold your hand as far as learning these technologies is concerned and even then, I don't think just "basic" skills are quite sufficient. The way the topics are presented doesn't seem to be quite "even" and I really think a lot of prior web design/development, and even some prior Drupal experience helps in having a good reader experience.
In fact, if this book was my introduction to Drupal and I had no other experience with this platform or with other Drupal books, (even if I was well versed in the underlying technologies), I can see myself getting lost somewhere in the first third of this text's pages. If I was expecting a "total newbie's" book, I'd probably write a review slamming the authors for getting me in too far over my head. Do not, repeat, do not use this book if you have no experience with Drupal at all. Even more, do not use this book if you have little or no experience in web development. This book is best used by people who are (despite the resources presented in Chapter 1) well versed in how to design websites. If you work in a content management firm, you are probably ideally positioned to use Front End Drupal.
The book's Appendix describes how to install Drupal, if you don't know, briefly discusses LAMP/XAMPP, and provides equal time for Windows, Linux, and Mac OS X as OS platforms. A "value added" piece is the book's support website which has the sample code included in the book available for download. There's also an errata page for the first printing of this book, so you can check if any issues or errors you come across have already been dealt with. Contact the authors if you come across something new. I'd suggest downloading and configuring Drupal up front and learning basic Drupal from a book like O'Reilly's Using Drupal before digging into Käfer and Hogbin's Front End Drupal. Save yourself the aggravation (or the temptation of writing a "negative" review on this book) of trying to follow along with this book if you don't have a Drupal background already. Those of you who do know Drupal and know web development, have fun.
Labels:
drupal,
javascript,
jQuery,
open source,
PHP,
web design,
web developmment
Wednesday, March 11, 2009
Review: Using Drupal
Authors: Angela Byron, Addison Berry, et al
Format: Paperback, 492 pages
Publisher: O'Reilly Media, Inc.; 1st edition (December 16, 2008)
ISBN-10: 0596515804
ISBN-13: 978-0596515805
To quote Wikipedia, "Drupal is a free and open source modular framework and Content Management System (CMS) written in the programming language PHP. It is used as a "back end" system for many different types of websites, ranging from small personal blogs to large corporate and political sites". According to the back cover of this book, "Newcomers will find a thorough introduction to the framework, while experienced Drupal developers will learn best practices..." Cool. A "something for everybody" book. That's one reason why I included a basic definition of Drupal at the beginning of this review. Apparently, you don't have to be particularly familiar with Drupal to find a use for the Byron, Berry, Haug, Eaton, Walker, and Robbins ("whew") book.
This is confirmed on the first page of the Preface in part, by the statement, "If your lead developer can't seem to shut up about this weird 'Drupal' thing, and you want to figure out what on earth she's (to compensate for decades or centuries of using only men as examples in technical books, all modern technical books now feature only women) talking about, this book is for you". The first chapter is an overview of Drupal and the first section is called "What is Drupal", so it's pretty plain that you don't have to be an expert, although later sections are supposed to be written for Drupal gurus.
Assumptions, assumptions. While it's ill advised for people to make assumptions (though we do all the time), books must make them relative to their audience. In this case, some of the assumptions are that you have access to a server running PHP, a web server (Apache is recommended by the authors), and a database (MySQL is recommended by the authors). LAMP would be the logical choice for me, but WAMP is available for Windows users, and Mac users can access MAMP. That makes it pretty darn easy to get your server up and running fast and ready for Drupal. The unspoken assumption is that you know what all those things are and how to use them, at least marginally. If not, you might want to spend some time learning the basic technologies involved before tackling this book. Oh, it wouldn't hurt to learn more about Content Management Systems (CMS) if you have no idea what those are. Like I said, this book is accessible to the beginner, but you should at least understand what a CMS is and why you'd need one.
Chapter 1 gives the reader the basic rundown on what Drupal is, what it's good for, and how it works. A general, high level explanation to get the uninitiated up to speed. Experienced Drupal people can easily avoid this and the next few chapters, but the rest of you should pay attention. For those of you who are impatient (like me) and want to get your hands dirty fast, Chapter 2 presents "Drupal Jumpstart" which lets you build a small website using Drupal. Some books, at this point, back off and return the reader to a conceptual tour of the topic, reintroducing the audience to hands on tasks only during the later chapters. Fortunately, this book isn't one of them. All of the successive chapters teach the reader how to develop a particular type of web site functionality (job board, wiki, photo gallery, and so on) and, at the same time, each chapter deepens the reader's understanding of Drupal modules and features.
There are only 11 chapters in the book but they're packed with valuable information. Each chapter presents its particular emphasis on a site type, and the content is relatively easily adapted for commercial use (which I assume...there's that word again...you'll want to do). The Preface contains a brief section on how to download and set up Drupal on your server, but the appendix section has a much more detailed description. You might want to have a look at the back of the book before doing anything else if you are completely new to Drupal. If you've already gotten one or more Drupal environments up and running, you can skip around chapters and focus on the topics that interest you.
The book is quite good for newbies, but make sure you access the online errata. The book's been out for about three months now and early readers have pointed out some minor issues with the content and the code version used. As far as more advanced readers are concerned, I'd say that "intermediate" would be the highest level of Drupal user that would really be "wowed" by "Using Drupal". That's hardly a slam and I find the book to be quite good for readers wanting to learn to use Drupal or wanting to get more out of it. That said, it's not a "one stop shopping center" for all things Drupal and the truly high end developer may only find limited value between the text's covers. The other audience that will benefit are those developers who've been working with another platform such as Django and are looking to either branch out or change to Drupal. Whether you are a CMS/Drupal neophyte or are searching for a way to enhance your understanding of Drupal, you should have a blast using this book.
A final word. How does Drupal stack up to Django? It's sort of like having your favorite Linux distro or preferring one JavaScript library over another (Dojo, jQuery, and such). I use Django on a more or less daily basis so familiarity breeds preference in my case, but don't let that stop you from trying Drupal or from buying this book. There's more than one road to building web applications.
Update: 2009/03/12 From the Oops Department There actually isn't a comparison according to Sander Marechal who made the relevant comment below. Mea Culpa or in English, "my bad".
Update: For a brief description of one developer's experience with Drupal and Django, read The Blog of Curtis Chambers.
Subscribe to:
Posts (Atom)