Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Comments

Trevor James hasn't commented recently.

Submissions

top

Drupal 6 Theming Cookbook Review

Trevor James Trevor James writes  |  more than 3 years ago

Trevor James writes "Drupal 6 Theming Cookbook — by Karthik Kumar, published by Packt Publishing, Nov. 2010

Reviewed by Trevor James

Piling up on my tech bookshelf are a bunch of excellent titles on the Drupal content management system. Earl & Lynette Miles Drupal's Building Blocks is the book on how to use the CCK, Views and Panels modules. It's part of Addison Wesley’s Developer's Library and is the definitive guide to the “trifecta” of Drupal modules. There's a lot of theory and concepts explained in granular detail here as well as recipe style tutorials — soak it up. It's an excellent resource.

The second book and the subject of this review is Karthik Kumar’s engaging Drupal 6 Theming Cookbook, recently published by Packt Publishing, the prolific open source publisher. It's a richly detailed hands-on guide to theming Drupal 6 Web sites. I recommend this book for anyone who is beginning their exploration of Drupal front-end theming and theme design. Though the book is focused on Drupal 6, the application and concepts of theming can be applied to Drupal 7. Where Miles’ book is focused on each and every detail of the trifecta modules, Kumar’s book takes a streamlined approach to teaching Drupal theming, using hands-on exercises. This will appeal to those who like to learn-by-doing.

First, a brief explanation of what Drupal is: simply put, Drupal is a popular open source CMS used by thousands of small & large scale businesses, non-profits, education & academic institutions, and federal government agencies. Drupal has seen a rise in popularity and interest lately due to its brand new version release (Drupal 7) and the successful and well attended DrupalCon 2011 Chicago. The Drupal community is already planning the next release, Drupal 8. There’s lots of Drupal going on.

Kumar’s book is geared towards Drupal 6 users who want to learn how Drupal themes are built; Drupal Web site managers and webmasters who want to customize their Drupal themes; and Drupal developers who are looking to bring their front-end development to the next level. Through easy-to-follow “recipe” style tutorials, the book teaches you how to implement basic, intermediate and advanced Drupal theming concepts, solutions and functionality. You learn how to tweak contributed Drupal starter themes as well as how to roll your own custom Drupal themes.

Drupal 6 Theming Cookbook expands the existing documentation on Drupal theming that’s already provided both on drupal.org (Drupal 6 & 7 Theming Guides) and in other recent Drupal publications including Pro Drupal Development and Front End Drupal. Where those titles are exhaustive studies of front and back-end Drupal development, this book focuses purely on front-end theming and presents this in one comprehensive volume of examples and demos. Bear in mind that the book is focused on Drupal 6, however many of the concepts outlined in the book will be similar for Drupal 7 and can easily be applied to the latest Drupal version.

Each section presents sections of clear instructions divided by headers. These model headers flow through the entire book: Getting ready, How to do it, and How it works. Sections present bulleted list of instructions so you can easily follow along step-by-step. Screenshots are clear and the text flows smoothly. The click-able buttons and links in the Drupal administration screens that the author refers to are highlighted in bold to denote an action the reader needs to take.

The book starts out covering the basics of the Drupal theme system and shows us how to manipulate and configure Drupal themes via the internal Drupal site administration screens. Installing themes, uploading logos, favicons, adding slogans, user and administration enabled themes, and block content. New Drupal users will benefit from the overview of the Drupal admin screens and concepts like adding blocks to regions of a theme, and displaying blocks on specific pages of your site. For intermediate users, there are examples of adding PHP code into blocks to allow for specific functionality.

The author continues building up from theming basics. The author explains the anatomy of a Drupal theme explaining what page.tpl and theme.info files are and why they are important for themers. You get practice overriding a core Drupal theme by creating a sub-theme based on the core. This is a great method of introducing theming since you get writing some basic code but can easily leverage much of the theme code in a core Drupal theme such as Garland or Minnelli.

Recipes start showing more theme code and covers essential theming concepts like CSS optimization — this is timely considering that IE browser versions still only support a maximum number of style sheets, so when you theme and implement your CSS in Drupal 6 Web sites you'll need to take this into consideration.

As a bonus you learn how to write a custom Drupal module to hold theme overrides, so you're getting a good foundation and intro to Drupal module development in this book as well. The author shows us how to add a CSS file via the custom module using the drupal_add_css() function. This is a great way to introduce Drupal users to the Drupal API.

The author turns attention to building a custom theme using the Zen contributed theme as your starting point. The Zen theme bills itself as the "ultimate starter theme" for Drupal 6 sites. The author shows us how to configure a custom theme using the Zen starter theme code. Zen is actively maintained and in development for Drupal 6 (by members of Palantir and Lullabot) and there is a development version for Drupal 7. This theme is still a valid and recommended starting point for beginning, intermediate and advanced Drupal themers. Kumar covers using the Zen theme as a starter theme to build our own custom theme; adding background images via CSS; Adding conditional style sheets for IE; how to remove base theme configuration settings from the theme-settings.php file.

Chapter 4 starts getting into more intermediate and advanced level theming by showing us how to create custom template files. In this chapter you learn how to use and implement page.tpl.php; customize node types using template files, for example creating a node-story.tpl; overriding a specific node; using the Devel and Theme Developer modules; and overriding themes using Theme Developer module.

There are many details in here including using the theme developer module to view all template variables and candidate template names available to you. Specific recipes include:
  • Overriding the Drupal user name with the user's real name either using custom code or via a the contributed module RealName.
  • Changing the core site maintenance theme and override maintenance template so your site maintenance page uses your custom theme instead of the drupal default

The author covers best practices for development and debugging. The author shows us a large list of theming tips and tricks including:

  • Using Firebug & Web Developer Extension
  • Searching for Drupal functions via the Drupal API
  • Executing PHP code with Devel module
  • Adding debugging code in a custom module including dpm and dsm
  • Editing CSS and HTML and validating CSS using Web Developer extension

The second half of the book (Chapters 6-12) covers advanced theming. Recipes include:

  • Adding variables to node templates
  • Adding preprocess function to remove search box and feed icons on the front page of the site
  • Adding a preprocess function to template.php that hides all the theme regions; page title and the submission info on the front page of the site
  • Using functions like format_interval to format the date and time on the site

The author shows how to use javascript with themes; and gives us recipes on manipulating the Drupal navigation system.

Since Drupal is largely built with forms and displays forms widely throughout it’s administration screens, the recipes devoted to form design and theming are a wealth of info for themers. The author scopes out:

  • The form API and how to use it
  • Altering forms; locating form ID and using hook_form_alter()
  • Modifying the default body element in node forms
  • Disabling the javascript resizing of the body text box and using hook_form_alter to add specific # of rows and columns for the box
  • Enabling and configuring the WYSIWYG module
  • Reordering fields and form elements — for example moving the tag categories and the menu items below the body text area
  • Overriding the node form Save and Preview buttons with an image icon vs. the default Drupal submit button.

The book covers CCK module related functionality. There's lots of information on image handling; the ImageCache module and integrating Lightbox modal windows here.

Detailed recipes on theming the trifecta modules are included, specifically dealing with Views theming and creating custom View template files and overriding the table style plugin using templates. The Views module is presented in detail — how to configure Views and display output using various Views plugin styles. Anyone using the Views module for the first time will get a lot out of these later sections.

The book concludes with a look at theming the trifecta modules, covering Panels module theming and overrides in depth.

With these concluding chapters on the CCK, Views and Panels modules, Kumar's book provides a perfect twin to the Miles' Building Blocks title. Both will help to teach Drupal theming and module configuration to a new generation of Drupal users, themers and developers.

You can purchase your very own copy of Drupal 6 Theming Cookbook via Packt Publishing here. Packt donates a % of book sales to the Drupal Association.

About the reviewer: Trevor James is a Drupal developer & themer based in Middletown, MD, USA. He has authored two books on Drupal. There’s much more about Trevor’s work here: http://variantcube.com/"

top

Drupal 6 Theming Cookbook Review

Trevor James Trevor James writes  |  more than 3 years ago

Trevor James writes "Piling up on my tech bookshelf are a bunch of excellent titles on the Drupal content management system. Earl & Lynette Miles Drupal's Building Blocks is the book on how to use the CCK, Views and Panels modules. It's part of Addison Wesley’s Developer's Library and is the definitive guide to the “trifecta” of Drupal modules. There's a lot of theory and concepts explained in granular detail here as well as recipe style tutorials — soak it up. It's an excellent resource.

The second book and the subject of this review is Karthik Kumar’s engaging Drupal 6 Theming Cookbook, recently published by Packt Publishing, the prolific open source publisher. It's a richly detailed hands-on guide to theming Drupal 6 Web sites. I recommend this book for anyone who is beginning their exploration of Drupal front-end theming and theme design. Though the book is focused on Drupal 6, the application and concepts of theming can be applied to Drupal 7. Where Miles’ book is focused on each and every detail of the trifecta modules, Kumar’s book takes a streamlined approach to teaching Drupal theming, using hands-on exercises. This will appeal to those who like to learn-by-doing.

First, a brief explanation of what Drupal is: simply put, Drupal is a popular open source CMS used by thousands of small & large scale businesses, non-profits, education & academic institutions, and federal government agencies. Drupal has seen a rise in popularity and interest lately due to its brand new version release (Drupal 7) and the successful and well attended DrupalCon 2011 Chicago. The Drupal community is already planning the next release, Drupal 8. There’s lots of Drupal going on.

Kumar’s book is geared towards Drupal 6 users who want to learn how Drupal themes are built; Drupal Web site managers and webmasters who want to customize their Drupal themes; and Drupal developers who are looking to bring their front-end development to the next level. Through easy-to-follow “recipe” style tutorials, the book teaches you how to implement basic, intermediate and advanced Drupal theming concepts, solutions and functionality. You learn how to tweak contributed Drupal starter themes as well as how to roll your own custom Drupal themes.

Drupal 6 Theming Cookbook expands the existing documentation on Drupal theming that’s already provided both on drupal.org (Drupal 6 & 7 Theming Guides) and in other recent Drupal publications including Pro Drupal Development and Front End Drupal. Where those titles are exhaustive studies of front and back-end Drupal development, this book focuses purely on front-end theming and presents this in one comprehensive volume of examples and demos. Bear in mind that the book is focused on Drupal 6, however many of the concepts outlined in the book will be similar for Drupal 7 and can easily be applied to the latest Drupal version.

Each section presents sections of clear instructions divided by headers. These model headers flow through the entire book: Getting ready, How to do it, and How it works. Sections present bulleted list of instructions so you can easily follow along step-by-step. Screenshots are clear and the text flows smoothly. The click-able buttons and links in the Drupal administration screens that the author refers to are highlighted in bold to denote an action the reader needs to take. Here’s a brief outline of the chapters and content:

Chapter 1 covers the basics of the Drupal theme system and shows us how to manipulate and configure Drupal themes via the internal Drupal site administration screens. Installing themes, uploading logos, favicons, adding slogans, user and administration enabled themes, and block content. New Drupal users will benefit from the overview of the Drupal admin screens and concepts like adding blocks to regions of a theme, and displaying blocks on specific pages of your site. For intermediate users, there are examples of adding PHP code into blocks to allow for specific functionality.

Chapter 2 continues building on the basics you learned in chapter 1. The author explains the anatomy of a Drupal theme explaining what page.tpl and theme.info files are and why they are important for themers. You get practice overriding a core Drupal theme by creating a sub-theme based on the core. This is a great method of introducing theming since you get writing some basic code but can easily leverage much of the theme code in a core Drupal theme such as Garland or Minnelli.

This chapter starts showing more theme code and covers essential theming concepts like CSS optimization — this is timely considering that IE browser versions still only support a maximum number of style sheets, so when you theme and implement your CSS in Drupal 6 Web sites you'll need to take this into consideration.

Chapter 2 also shows you how to write a custom Drupal module to hold theme overrides, so you're getting a good foundation and intro to Drupal module development in this book as well. The author shows us how to add a CSS file via the custom module using the drupal_add_css() function. This is a great way to introduce Drupal users to the Drupal API. Chapter 2 contains a lot of info and will keep you busy learning the ropes of Drupal theming.

Chapter 3 shows you how to build out a custom theme using the Zen contributed theme as your starting point. The Zen theme bills itself as the "ultimate starter theme" for Drupal 6 sites. The author shows us how to configure a custom theme using the Zen starter theme code. Zen is actively maintained and in development for Drupal 6 (by members of Palantir and Lullabot) and there is a development version for Drupal 7. This theme is still a valid and recommended starting point for beginning, intermediate and advanced Drupal themers. Kumar covers using the Zen theme as a starter theme to build our own custom theme; adding background images via CSS; Adding conditional style sheets for IE; how to remove base theme configuration settings from the theme-settings.php file.

One note here — modifying Zen's theme settings recipe did not work successfully at the end of chapter 3 pointing to a potential issue with the code or example in this section.

Chapter 4 starts getting into more intermediate and advanced level theming by showing us how to create custom template files. In this chapter you learn how to use and implement page.tpl.php; customize node types using template files, for example creating a node-story.tpl; overriding a specific node; using the Devel and Theme Developer modules; and overriding themes using Theme Developer module.

There are many details in here including using the theme developer module to view all template variables and candidate template names available to you. Specific recipes include:
  • Overriding the Drupal user name with the user's real name either using custom code or via a the contributed module RealName.
  • Changing the core site maintenance theme and override maintenance template so your site maintenance page uses your custom theme instead of the drupal default

Chapter 5 covers best practices for development and debugging. The author shows us a large list of theming tips and tricks including:

  • Using Firebug & Web Developer Extension
  • Searching for Drupal functions via the Drupal API
  • Executing PHP code with Devel module
  • Adding debugging code in a custom module including dpm and dsm
  • Editing CSS and HTML and validating CSS using Web Developer extension

Chapter 6 covers advanced theming. The chapter includes recipes for:

  • Adding variables to node templates
  • Adding preprocess function to remove search box and feed icons on the front page of the site
  • Adding a preprocess function to template.php that hides all the theme regions; page title and the submission info on the front page of the site
  • Using functions like format_interval to format the date and time on the site

I spied some minor mistakes in this chapter including: on pages 146-147 in chapter 6 — the preprocess_node function should go in the template.php file. Then you just print your disclaimer variable in the node.tpl.

Chapter 7 covers using javascript with themes; and chapter 8 gives us recipes on how to manipulate and theme the Drupal navigation system.

Since Drupal is largely built with forms and displays forms widely throughout it’s administration screens, Chapter 9 on Form Design is a wealth of info for themers. The chapter scopes out:

  • The form API and how to use it
  • Altering forms; locating form ID and using hook_form_alter()
  • Modifying the default body element in node forms
  • Disabling the javascript resizing of the body text box and using hook_form_alter to add specific # of rows and columns for the box
  • Enabling and configuring the WYSIWYG module
  • Reordering fields and form elements — for example moving the tag categories and the menu items below the body text area
  • Overriding the node form Save and Preview buttons with an image icon vs. the default Drupal submit button.

Chapter 10 shows you how to theme CCK module related functionality. There's lots of information on image handling; the ImageCache module and integrating Lightbox modal windows here.

Chapter 11 continues with detailed recipes on theming the trifecta modules, this time dealing with Views theming and creating custom View template files, specifically overriding the table style plugin using templates.

The Views module is presented here in detail — how to configure Views and display output using various Views plugin styles. Anyone using the Views module for the first time will get a lot out of this chapter.

Chapter 12 concludes a look at theming the trifecta modules, covering Panels module theming and overrides in depth.

With these concluding chapters on the CCK, Views and Panels modules, Kumar's book provides a perfect twin to the Miles' Building Blocks title. Both will help to teach Drupal theming and module configuration to a new generation of Drupal users, themers and developers.

You can purchase your very own copy of Drupal 6 Theming Cookbook via Packt Publishing here. Packt donates a % of book sales to the Drupal Association.

About the reviewer: Trevor James is a Drupal developer & themer based in Middletown, MD, USA. He has authored two books on Drupal. There’s much more about Trevor’s work here: http://variantcube.com/"

top

Drupal 7

Trevor James Trevor James writes  |  more than 4 years ago

Trevor James (1816862) writes "Drupal 7 Author: David Mercer Publisher: Packt Publishing Reviewed by Trevor James, Oct. 18, 2010: Drupal 7 is currently at beta 1 stage with 11 critical issues remaining to be fixed before an official release version. The question arises whether we should all be writing about Drupal 7 now and so soon, when it's still in its beta phase. I argue we should be writing about it. It can only help introduce new users to the Drupal application and the Drupal community and get new people involved to help test Drupal 7. This will ultimately help improve the software for its official release and on. This helps to build the Drupal community of users and developers. It helps spread the word to everyone about this flexible and robust content management system. We want Drupal to be used. So this is one way of getting it out there and in the public sphere. Some nuances: most developers and Drupal users adhere to the rule that if you plan to run Drupal 7 as a production site and on a production server right now you need to be aware that there may still be bugs in core Drupal 7 that will cause issues on your site. But this doesn't mean you can't use Drupal 7. You can certainly download the beta 1 release and install it on your development or localhost server and use it. And you can improve it by using it now. Which brings me to David Mercer's new book Drupal 7 (Packt Publishing, Sept. 2010). This is the second edition of Mercer's popular Drupal 6 book, and here Mercer has had an early opportunity to update his text for Drupal 7. It's a good and important book to help promote Drupal 7 and spread the word about the Drupal project and the Drupal community to both experienced and new users. Mercer knows Drupal — remember that he's already proven himself with the Drupal (back to version 4.x and 5.x) and Drupal 6 titles previously published by Packt. The original edition of Drupal was published in 2006 so Mercer has been devoted to this subject for over 4 years. The Drupal 7 title is good for Drupal beginners and novices who are just starting out with Drupal but it also has a wealth of information and resources for more intermediate and advanced Drupal users and developers. It gives you the full run down of Drupal core as well as details of many advanced Drupal topics including an entire chapter on the Views module. The book starts with a solid introduction to the Drupal 7 framework and community and shows detailed install instructions using the XAMPP installer. Mercer highlights the new installation profile functionality that ships with Drupal 7 (both a standard and minimal install profile) and even gives you tips on troubleshooting your install if something goes awry. Chapter 2 outlines the details of Drupal architecture and structure including installing modules, enabling blocks and setting up menus. The highlight in this chapter are two new features in Drupal 7 that allow you to install contributed modules directly from their FTP URL/path on drupal.org; or by uploading the tar.gz archive directly via the Drupal administration interface. For anyone maintaining Drupal sites this will should be a well received enhancement. Chapter 3 covers Drupal 7 site configuration and reporting mechanisms including setting up actions and triggers; creating shortcuts; managing the file system; configuring site performance; setting up site RSS feeds; and viewing site reports. One highlight in this chapter is the new shortcut functionality that allows you as a Drupal site admin to create sets of shortcut links for your fellow content editors and site admins. Another new feature in Drupal 7 is the ability to upload your attached files (images, PDF, doc, etc) to private folders on your site. In Drupal 6 you could restrict access to all uploaded files but not to specific files by content type (without having to install contributed modules to extend this functionality). In Drupal 7 you now have the ability to restrict access at the file field level per content type. So specific files attached via a content type can be uploaded to a private folder. Chapter 4 explores Drupal 7 access control with a detailed walk-through of Drupal roles, permissions and user access. Mercer also includes a tutorial on using the OpenID Web service to provide single sign-on login functionality for your Drupal site. Chapter 5 looks at setting up content workflows on your Drupal 7 site and describes all the Drupal core content types (Article, Basic page, Blog entry, Book page, Forum topic and Poll). Mercer covers content related modules including Aggregator and Book so anyone interested in setting up Web service based aggregated feeds; and multi-layer paginated content will get a lot out of this chapter. Chapter 6 deals with advanced content outlining the process of creating your own custom content types and adding custom fields; and integrating taxonomy with your content types. Chapter 7 looks at integrating multimedia with your Drupal 7 site including images, and other types of embedded media. Drupal 7 now ships with the Image field in core so all you have to do is add an Image field to your content type. The image field now supports rotation and desaturate effects so besides scaling an image you can now rotate your images by a specific number of degrees. Mercer includes an entire chapter on integrating the Views module with Drupal 7. The Views section even goes into detail on setting up advanced Views using arguments and relationships and shows you how to theme your Views. This is a real bonus for an introductory level book on Drupal. Anyone using the Views module even with Drupal 6 will benefit from reading this chapter. Chapter 9 deals with Drupal theming both from the theme layer and the CSS perspectives. There is a lot of detailed information on theming using the Zen starter theme so anyone using Zen will learn some best practice theming solutions from this chapter. Chapter 10 introduces methods of integrating and using the Panels module with Drupal 7 as well as discussions of advanced theming techniques. In general the title covers the Drupal 7 interface in much detail and points out the many new features of Drupal 7's administrative interface including the overlay admin screens; the simplified and re-named core content types including Article and Basic Page; the built-in CCK module (now part of core Drupal); the enhanced ability to install modules directly via the admin interface; and a look at the new core Drupal themes. Mercer covers best practices for deploying Drupal sites from staging locations to a production server; backup processes, and even a discussion of SEO best practice. The book even comes with quiz questions and exercises provided via the author's Web site. So you can use this title as a model for teaching Drupal 7 (and I would argue even Drupal 6) to new users. Short story — the book is loaded with good information and practical hands-on exercises. Here's the main reason I'll recommend purchasing this book or at least knowing about it. Those 11 critical issues in Drupal 7 need to be tested, reproduced and fixed before we can use D7 on a production site and feel comfortable about with it's stability and security. We as users and developers need to help with this testing process. We can help to fix those issues by testing and reporting our findings back to drupal.org. This book will help us to do that by showing us how to install D7 and get rolling with it. For that I'm thankful it's been released now as opposed to 3 months from now. This is a good manual for us to use to test and bugfix this next great version of Drupal. You know it's also just a great book and manual on using Drupal period — even the 6.x version of Drupal. You'll learn a ton about the Drupal framework from this title regardless of the version you're currently using to power your Web site. Finally, the benefits of releasing this title now is that it will encourage both the Drupal community project and other Drupal authors to write more detailed documentation and instruction on how to use and develop with Drupal 7. We can raise Drupal 7 to a higher level by supporting its release with excellent documentation, tutorials and books. Let's get Drupaling and help the drupal.org community now. To download Drupal 7 go here: http://drupal.org/drupal-7.0-beta1 -Trevor James is a Drupal developer based in Maryland, USA. He can be reached at: http://variantcube.com/."
top

Drupal 7

Trevor James Trevor James writes  |  more than 4 years ago

Trevor James (1816862) writes "Reviewed and pointed out by Trevor James:

I'll start with 2 statements: Drupal has come a long way. Drupal needs our help (in a good way).

The 1.0 version of Drupal was released back in 2001. Drupal 6.19 is the current stable release. Drupal 7 is in the Alpha release stage and currently has 15 critical issues remaining. This means that we won't see a beta release of Drupal 7 until those critical issues are resolved and there's one full release candidate version that exhibits no new critical bugs. So now is the opportunity to get involved with the Drupal community, download the latest alpha release of Drupal 7 and test it out to help fix the bugs and get it released officially. Even if you know nothing about Drupal or use another open source or enterprise content management system — you can try out Drupal now and help test it.

For those who want some more history and trivia about the Drupal project, you can view a timeline of the entire Drupal release history here: http://drupal.org/files/issues/Drupal%20Release%20Timeline.png. It's good to look back at this timeline and see how much progress we've made with this framework since 2001. And the community continues to grow — online tutorials about Drupal are prolific; DrupalCon was held in San Francisco this year and will be in Chicago in 2011. There are countless numbers of local Drupal meetups and mini-conferences in many locations of our globe. The White House uses Drupal and it's becoming a popular content management system used in health care, education, government, non-profit and corporate environments.

On the subject of Drupal books and manuals: there are a huge amount of books on Drupal, as evidenced by all the recent reviews on Slashdot, Drupal.org, Amazon and elsewhere. The Drupal.org site has an entire page devoted to books on Drupal: http://drupal.org/books. A notice about the Mercer title and hot off the presses this week the Drupal home page was graced with an announcement about another Packt title on the Panels module (Drupal 6 Panels Cookbook).

Drupal 7 is already being written about even though it's still in its alpha stage. The question arises whether we should all be writing about Drupal 7 now and so soon, when it's still in its infancy and in alpha phase. I argue we should be writing about it. It can only help turn new users onto the Drupal application and community and get new people involved to help test Drupal 7 out and ultimately to improve the software for beta release and on. This helps to build the Drupal community of users and developers. It helps spread the word to everyone about this flexible and robust content management system. We want Drupal to be used. So this is one way of getting it out there and in the public sphere.

Some nuances: most developers and Drupal users adhere to the rule that if you plan to run Drupal 7 as a production site and on a production server right now you need to be aware that there may still be bugs in core Drupal 7 that will cause issues on your site. This is correct. Since we're only in alpha stage, yes it is buggy and can present issues when you run it. But this doesn't mean you can't use Drupal 7. You can certainly download the alpha release and install it on your development or localhost server and use it. And you can improve it by using it now.

Which brings me to David Mercer's new book Drupal 7. Mercer is the author of Packt's popular Drupal 6 book and has had an early opportunity here to update his text for Drupal 7. It's a good and important book to help promote Drupal 7 and spread the word about the Drupal project and the Drupal community to both experienced and new users. Mercer knows Drupal — remember that he's already proven himself with the Drupal (back to version 4.x and 5.x) and Drupal 6 titles previously published by Packt. Drupal was published in 2006 so Mercer has been devoted to this subject for 4 years. The Drupal 7 title is good for anyone who is just starting out with Drupal — all beginners and Drupal novices out there — this is a good title for you. It gives you the full run down of Drupal core as well as details of many advanced Drupal topics including an entire chapter on the Views module. The Views section even goes into detail on how to theme your Views. So any user or developer just starting out with the Views module will certainly want to read chapter 8.

There is a chapter dealing with advanced content where Mercer outlines the process of creating your own custom content types and adding custom fields; and integrating taxonomy with your content types.

The title covers the Drupal 7 interface in much detail and points out the many new features of Drupal 7's administrative interface including the overlay admin screens; the simplified and re-named core content types including Article and Basic Page; the built-in CCK module (now part of core Drupal); the enhanced ability to install modules directly via the admin interface; and a look at the new core Drupal themes. Mercer covers best practices for deploying Drupal sites from staging locations to a production server; backup processes, and even a discussion of SEO best practice. The book even comes with quiz questions and exercises provided via the author's Web site. So you can use this title as a model for teaching Drupal 7 (and I would argue even Drupal 6) to new users. Short story — the book is loaded with good information and practical hands-on exercises.

Here's the main reason I'll recommend purchasing this book or at least knowing about it. Those 15 critical issues in Drupal 7 need to be tested, reproduced and fixed before we can use D7 on a production site and feel comfortable about with it's stability and security. We as users and developers need to help with this testing process. We can help to fix those issues by testing and reporting our findings back to drupal.org. This book will help us to do that by showing us how to install D7 and get rolling with it. For that I'm thankful it's been released now as opposed to 3 months from now. This is a good manual for us to use to test and fix this next great version of Drupal.

You know it's also just a great book and manual on using Drupal period — even the 6.x version of Drupal. You'll learn a ton about the Drupal framework from this title regardless of the version you're currently using to power your Web site.

Finally, the benefits of releasing this title now is that it will encourage both the Drupal community project and other Drupal authors to write more detailed documentation and instruction on how to use and develop with Drupal 7. We can raise Drupal 7 to a higher level by supporting its release with excellent documentation, tutorials and books.

Let's get Drupaling and help the drupal.org community now. To download Drupal 7 go here: http://drupal.org/drupal-7.0-alpha7

-Trevor James is a Drupal developer based in Maryland, USA. He can be reached at: http://variantcube.com/."
top

Drupal 7

Trevor James Trevor James writes  |  more than 3 years ago

Trevor James (1816862) writes "Drupal 7
Author: David Mercer
Publisher: Packt Publishing

Reviewed and pointed out by Trevor James:

I'll start with 2 statements: Drupal has come a long way. Drupal needs our help.

The 1.0 version of Drupal was released back in 2001. Drupal 6.19 is the current stable release. Drupal 7 is at Alpha release stage and currently has 21 critical issues. This means that we won't see a beta release of Drupal 7 until those critical issues are resolved and there's one full release candidate version that shows no new bugs.

For those who want some more history and trivia, you can view a timeline of the entire Drupal release history here: http://drupal.org/files/issues/Drupal%20Release%20Timeline.png

There are a huge amount of books on Drupal (as evidenced by all the reviews on Slashdot recently, Drupal.org, Amazon and elsewhere. The Drupal.org site has an entire page devoted to Drupal related books: http://drupal.org/books. Drupal 7 is already being written about even though it's still in its alpha stage. Most developers and Drupal users adhere to the rule that if you plan to run Drupal 7 as a production site and on a production server now you need to be aware that there may still be bugs in core Drupal 7 that will cause issues on your site. But this doesn't mean you can't use Drupal 7. You can certainly download the alpha release and install it on your development or localhost server and use it.

Which brings me to David Mercer's new book Drupal 7. Mercer is the author of Packt's Drupal 6 book and has had an early chance here to update his text for Drupal 7. The Drupal 7 version is good for anyone who is just starting out with Drupal — any beginners and Drupal novices out there — this is a good title for you. It gives you the full run down of Drupal core as well as details of many advanced Drupal topics including an entire chapter on the Views module.

Here's the main reason I'll recommend purchasing this book or at least for knowing about it. Those 21 critical issues with Drupal 7 need to be tested, reproduced and fixed before we can use D7 on a production site and feel like it's stable and secure. We need to help with this testing process. We can help to fix those issues by testing and reporting our findings back to drupal.org. This book will help us to do that by showing us how to install D7 and get rolling with it. For that I'm thankful it's been released now as opposed to 3 months from now. This is a good manual for us to use to test and fix this next great version of Drupal.

Let's get Drupaling and help the drupal.org community. To download Drupal 7 go here: http://drupal.org/drupal-7.0-alpha7

-Trevor James is a Drupal developer based in Maryland, USA. He can be reached at: http://variantcube.com/."
top

Drupal 6 Content Administration

Trevor James Trevor James writes  |  more than 4 years ago

Trevor James (1816862) writes "Finally, here's a Drupal book specifically for Drupal content editors and site managers, those folks responsible for posting new content and editing existing content on a Drupal site. While many of the Packt series of Drupal books focuses on code, development and are written for Drupal developers, this title is for anyone who is dealing with management of Drupal based content and any individuals or teams responsible for the management of Drupal sites on a daily and hourly basis. This book is also perfect for introductory Drupal classes and I will not hesitate to use it in my Drupal 101 classes in the near future.

In Chapter 1, the author gives a concise and streamlined introduction to the Drupal CMS and the elements of a Drupal Web site from both the frontend and backend perspectives. I liked seeing the detailed explanations of a Drupal powered front end layout — explaining the differences between the site header, navigation areas, and content areas. I'd recommend this first chapter to anyone who is just starting to use Drupal and wants a basic introduction to the Drupal framework. It's hard to emphasize how important it is to understand the basic intro level concepts and functionality of the Drupal CMS and its all here in this intro section. To any of my intro Drupal users I would hand this chapter out and ask them to read it.

Chapter 2 moves into a detailed discussion of Drupal-based content and asks the simple question (but important one), what is content? In Drupal we know that content includes nodes and node types, node IDs (nid), comments, Blocks, and Views. The author defines the core node types including Story and Page. Note here to Drupal 7 users ... the story type is renamed "Article" and the Page type is "Basic Page" in the new D7 release. I also love the fact that Green defines what the Drupal front page or home page is and what that home page contains. I am asked this question all the time by new Drupal users — how do I post content to my home page and how do I customize the home page. Read the definition on p. 19 of this book.

At this point I'd encourage those readers who are using the book to go ahead and start creating content on their Drupal site following the author's instructions. It's a great book of examples of tutorials to follow along with hands-on. The author gets you creating story content and editing it quickly. He also spends a good deal of time discussing integrating a WYSIWYG text editor to your content node form so you can use the text editor buttons to format content.

Chapter 3 continues the content discussion by showing you a bunch of enhancements you can do to your posted content. The author aptly calls these "seasonings". This includes creating teasers, creating links to other node content using the text editor, uploading images using the text editors and manually via the Drupal node editor, linking your images, embedding audio content, and linking to downloadable files such as PDFs. My only concern here is that the author shows you how to link to PDF files via the text editor but there's actually simpler methods of doing this in Drupal using Drupal's default file attachments module (part of core). This is the preferred method since it easily opens up the attached file to be used in other areas of your site via the Views module for instance. I always encourage Drupal users to add attached files using the core Drupal file attachments since I think it's simpler and more streamlined and it's the "Drupal" way of attaching files. I would add this method first and then show the text editor option second.

The author shows us how to upload and embed video content using SWF Tools module. I would have spent a bit more time in this chapter showing the user more details about uploading Flash based content using a combination of the Flash node and the SWF tools modules and integrating various player options in SWF Tools such as the Flowplayer utility. But again these are technicalities. The information the author presents is great and detailed. It's a good starting point for more beginning Drupal users.

Chapter 4 moves into more advanced content editing topics. The author shows you how to use HTML and CSS to create table based layouts (without using table code) in your text editor and in a Drupal node. So for everyone who needs an introduction to CSS this is a great place to start. The author spends time showing us how to add the CSS files so they are recognized by our Drupal theme — this is going to be a bit more advanced for the new Drupal user but its good stuff to learn. He even shows us how to create a CSS file from scratch and how to build the table layout without using table code. Sticking to CSS is going to give you cleaner code and work better with Drupal so it's great that he emphasizes this here. For dealing with more table based code Green shows us some tricks to injecting this code using PHP. Again this is more advanced but good tips and tricks for those involved with code. He also shows us how revisions and workflow work in our Drupal site.

Chapter 5 deals with how to use tagging, tag clouds and how to re-name our URLs with human friendly path aliases using Drupal's core Path module. This will help our site become more searchable, browser and user friendly. Tagging is the focus here and he gives a nice walkthrough of Drupal's taxonomy system. Anyone interested in setting up tagging on their Drupal site should read this chapter. Chapter 6 moves into using Blocks, Views and setting up Blogs on your site. This chapter is the one to read if you're managing blocks and Views and want a good introduction to the Views module. Packt has published books specifically on using Drupal Views but I would start here first if you're just using Views for the first time.

The section on blogging is good too. Often I hear folks report that Drupal is only a fancy blogging tool or blogging application. This book actually shows that Drupal is a full scale and robust CMS and that blogging is only one miniscule part of the entire framework. If you're just going to be blogging on your site Drupal may actually be overkill. The author shows this by spending a smaller amount of time showing you how to set up your Drupal site for blogs, but of course it also shows you that Drupal does blogs too and you can easily use a Drupal site to just blog. I would argue that this is a great book to look at the overall impact of Drupal on building Web sites and how we can leverage it to build powerful, rich and robust content management driven sites. We can add a blog if we want to but it's not just a blogging-based piece of software.

Chapter 7 deals with setting up users, roles and permissions on your site. It's good to leave this chapter towards the end of the book since Drupal permissions can be a bit tricky and time consuming to set up. We moved through a bunch of fun material earlier in the book and now we have a chapter on permissions. I like the attention the author placed on how to organize this section into the overall book's theme and layout. Chapter 8 shows you some tricks for dealing with issues like pasting Word content into a Drupal node; and using the Blog API module to work on blog posts in remote software and then post those blog entries to your Drupal site via a Web service. A nice touch here to add a small section on using Web services to post content. Finally the Appendix shows you how to install Drupal.

This is definitely one of the best books I've read on Drupal from an introductory standpoint. It's up there with O'Reilly's Using Drupal book and I would recommend it to anyone who is installing Drupal for the first time. I'll use it in my introductory Drupal classes for sure. It will be nice to see this book revised for Drupal 7 soon. Excellent work again from J. Ayen Green.

Title: Drupal 7 Content Administration Author: J. Ayen Green Publisher: Packt Publication Date: 2009 Pages: 179

You can buy J. Ayen Green's book Drupal 6 Content Administration here: https://www.packtpub.com/drupal-6-content-administration/book"
top

Plone 3 Multimedia

Trevor James Trevor James writes  |  more than 4 years ago

Trevor James (1816862) writes "Gross' excellent book is focused on adding multimedia including images, audio and video files to a Web site built using the Plone 3 CMS. Overall this book has a nice balance and mix of text, screenshots and code. I recommend the book for Plone power users including Plone developers and users who want to enhance and expand their core Plone multimedia arsenal. You'll get more out of this book if you already have a Plone site running but want to add more multimedia based capabilities to it.

Chapter 1 gives us an intro to the Plone, CMS and multimedia universe with concise definitions of terms such as CMS, Zope architecture, Buildout, and multimedia and tells us why we should be using the Plone CMS to host and store multimedia content. Chapter 1 concludes with a look at the Plone4Artists project which extends the core Plone CMS to add multimedia rich features for musicians and artists who need powerful Web sites for their audio and image based content. Plone4Artists adds modules for handling images, audio, video, events and calendars, and tags.

Chapter 2 gets things started by using the Plone 3 CMS to post image content. The author reviews how we can leverage the Plone core Image type to post image files. While reading Chapter 2 I followed along with my own Plone 3 local install so I could work on the tutorials and recipes hands-on as the author presented them. I started out by adding some images to my Plone site and followed the author's instructions on transforming and resizing the image. Gross gives code-based recipes for restricting image dimensions and file size to a specific user. He also shows us how to access images using code in our page templates, via a Python code method, and how to add images to custom content types using code. There's a lot of code and detailed analysis provided just in the first 25 pages of the book and you really get your money's worth just from this chapter on image manipulation. This chapter will interest developers and users of Plone who want to dive into the code and find out how images are being manipulated behind the scenes.

Gross moves on to show us how to organize our images into views which are essentially folders that contain images. The folders provide thumbnails of our images and are clickable to larger scales. We learn how to post a page and then use the Plone Kupu text editor to browse for an image from our folders and upload that image to our page. Gross points out that you can search for images by keyword (and by using wildcards) within the Kupu editor — a powerful feature if you have a ton of images. Then he tells us how to customize various elements of Kupu functionality using code, including tweaking CSS. Gross shows us how to take the tweaks we've made and make them easily persistent across our site's functionality by creating a boilerplate. There's a lot of code in this section of chapter 2 and developers will get a lot of expert tips and examples here.

Having an interest in Web services and how to get image content from Picasa and Flickr into Plone and other CMS-driven sites I was pleased to see Gross show us how to enhance our images using the p4a.ploneimage product; and how to build galleries of our images using the collective.plonetruegallery product. Gross installs the product, configures it and then accesses Flickr and Picasa data. He concludes the chapter looking at another gallery product called slideshowfolder. Gross shows that there are lots of methods for enhancing your Plone site using images and displaying the images as rich interactive galleries.

Chapter 3 covers adding audio content to your site in the same exhaustive detail as the image chapter. I like the discussion of how to choose the best audio format for your Web site. Gross shows us how to enhance our audio player widgets on the Plone site using the p4a.ploneaudio product. There's a lot of detail provided on setting up metadata for our audio libraries and collections. Building custom audio players and using the Flowplayer, a commonly used Flash-based player on open source driven CMS sites. Gross even shows us differences between embedding audio content using HTML 5 vs. HTML 4 and he concludes the chapter building a player using HTML 5. Another exhaustively detailed chapter.

Chapter 4 gives us tutorials on adding video content, including streaming and embedding videos on your Plone site. Gross gives us a tour of the p4a.plonevideo product and the embed version of the product which allows us to embed externally hosted videos (from YouTube, Yahoo! video, and blib.tv). Flowplayer for videos is also presented. The chapter follows the same outline and format as the audio chapter.

Chapter 5 covers adding Flash content to your Plone site and a lot of background discussion on Flash and how best to embed Flash using the Kupu text editor in Plone. Various Plone based Flash products are discussed. Gross also discusses using Silverlight and adding Silverlight content to a Plone site. This is a great topic to be included in this title. Being a Drupal developer I'm hoping that there is more discussion soon in print titles on how to integrate Silverlight content with Drupal sites. So it's nice to see this topic in a Plone book.

Chapter 6 and 7 deal with general content organization concepts and best practices, and syndication opportunities for your Plone site. Gross gives examples of using Dublin core metadata; and managing content using Plone based categories and keywords. Setting up glossaries of content, tagging content and integrating GoogleMaps is also discussed. RSS and Atom are given detailed attention as well here. These chapters should interest any Plone user or developer since it deals with more general Plone concepts and not just focusing on multimedia.

Chapter 8 looks at more advanced upload strategies. Gross spends time showing us how to create bulk uploads on our site using products such as collective.uploadify. Muliuploads is a huge plus and benefit for using Plone as your CMS and this chapter will interest anyone who wants to get large amounts of images into their Web site. Following on this topic Gross tells us how best to store our files and content in chapter 9. Again this topic will be of great interest to site managers and administrators who are in charge of keeping tabs on where content is being hosted and stored. System and server administrators may find some enlightenment in this chapter for dealing with hosting large amounts of CMS-driven multimedia content. Finally chapter 10 covers performance issues including server optimization and site caching mechanisms.

The Appendixes contain a wealth of information for developers including explanations of multimedia formats and licenses. I appreciated Gross' definitions of various codecs and the differences between various lossless codecs and comparisons with lossy codecs. Just the detail on the MPEG-1 Audio Layer 3 and Ogg Vorbis is encyclopedic and I'd most likely look here first before going to another resouces like Wikipedia. There's a ton of good information on licensing and the differences between Creative Commons Attribution licenses, Attribution Share Alike, No Derivatives, Non-commercial and more.

Appendix B contains details and explanation of syndication formats including RSS, RSS 2.0 and Atom. Example XML files for both Atom and RSS 2.0 feeds are given. MediaRSS is also explained in great detail. Finally Appendix C gives links to a large amount of resources and tutorials on how to use Plone for multimedia and links to various segments of the Plone support community including IRC chat.

Overall I'm pleased with this title. It's another great open source and CMS based resource from Packt Publishing and Tom Gross has added required reading to the expanding library of titles on Plone. If you're a Plone user or developer geared towards working with a lot of multimedia content this book belongs in your collection."
top

Book Reviews: Drupal 6 Attachment Views

Trevor James Trevor James writes  |  more than 4 years ago

Trevor James (1816862) writes "Radha Iyer, Marketing Research Executive at Packt publishing recommended that I submit my recent review of Drupal 6 Attachment Views to Slashdot. Here's the review. I look forward to discussing with you and seeing if it's worthy of publication on the Slashdot Web site. Thanks in advance. -Trevor

Review:

Green's book is without a doubt the definitive practical guide to using the Views 2.x module in Drupal 6, and to create complex and dynamic page, block and attachment-based views for your Drupal site. One big plus to this book's structure is that Green uses a real "live" production Web site project as a guide (he states early on that he was working on the site build for the client while writing the book and that the client approved of using the site build as the book's main example) — all of the chapters and subsequent tutorials are focused on building a site for a company that specializes in hiring out contractors and subcontractors. It's nice to see real-world examples being used in a computer tutorial book especially one focused on Drupal and Drupal Views. The data Green is accessing is real data and this helps to engage the reader and show the multitude of real situations that a developer will get themselves involved with when developing Drupal Views.

Green introduces us to Drupal 6.x Views in Chapter 1 by creating a page View. Green points out how a Views panel relates directly to the SQL statements being run on the backend by Drupal, something I have not seen done in any online tutorial or book — he maps out the panel View and shows, for example, that the Sort Criteria in your Views interface matches your SQL "ORDER BY" statements. A nice touch.

Green also shows us how to Analyze the views we create to test their configuration before previewing the View. This is another trick I was not aware of (and I use Views heavily in the work I do) so I'll emphasize here that the book covers the Views interface exhaustively. Every detail of the interface and building page and attachment Views is covered. Green tackles building Views using Arguments in both Chapters 1-2 and does it in a method that demystifies Arguments and makes them much easier to understand.

The book shows methods of leveraging the Views interface to preview your View data and content without having to leave the Views screen — in chapter 2 Green shows us how to test our attachment View by previewing the Arguments we've added directly in the Views live preview area.

Another nice surprise in this title is that the author covers many other Drupal components besides Views. In chapter 2 Green dives right into Drupal theming showing us how to create template files for our Views and add PHP and CSS to tweak and manipulate our Views display output. So right here you're not just getting a book on using Views but also some basic instruction on how to build theme template files and add code to the tpl files.

In Chapter 3 Green moves into a detailed tutorial on creating a module. First he shows us the core Drupal Contact form (Contact module) and we build a simple contact form. Next he explains that we can extend this simple contact form by building a custom module to add custom fields to our form — for example adding fields to collect address information and also tweaking the labels for the core Contact form. Green explains in detail how to build a module and how to use Drupal's form_alter hook to "alter" our Contact form. It's the best description and explanation of the form_alter hook I've read. Again Green gives us much more here than simple Views building — he shows us how to build a module in Drupal. Finally bringing Views back into the discussion we learn how to glue all of the parts we have — the contact form, custom contact fields from our module, a CAPTCHA field, and an embedded Gmap using the embed_gmap module — into a View and then display this view on our site to show multiple Drupal components on one page. We end up building a dynamic Contact Us Web page that contains a map, contact information and a Contact form. Amazing stuff.

For the first 3 chapters alone I recommend this book to anyone just starting to use the Drupal Views module, any Drupal developer who is interested in theming Views, and any Drupal user who is just starting to build their own custom modules. The book covers so much terrain in the first 3 chapters it's a definite must have on anyone's Drupal bookshelf.

Chapters 4-8 of Green's Drupal 6 Attachment Views contains the brunt of discussion and tutorials on building Views to support various content output. These chapters will give developers a good amount of practice building Views since Green emphasized rebuilding a View for the practice vs. simply exporting and importing your View code. I agree with this method. It might be easier to export and import your code but you'll start to understand the inner workings of View arguments and relationships if you build them from scratch each time you need to configure one.

In chapter 4 Green shows us how to override View settings so your attachment View does not conflict with your page or block View. Green also points out here that we can configure Views for multiple audiences and target the View to specific roles such as anonymous users or logged in site admins. In this chapter we create a management role-based View for our admin users to access.

In chapter 5 Green shows us how to create complex Views using attachments to display Bio content of our company's employees. He returns to a discussion of theming showing us how to theme the output of our View, this time focusing on theming content to surround and display next to an image. View relationships are introduced in this chapter so that we can filter specific jobs to specific project managers who are in charge of the job — this is based on using a node reference field in our content type. Again a nice description and tutorial on how to use CCK fields in our View output.

I'll stress here that the entire book (but mostly in these Views intensive chapters) contains a nice balance of screenshots and descriptive text. The screens are important as it's always nice to have the visual aid to accompany the tutorial bullet points and instructional material. In chapter 6 we create another complex 3-view composite display similar to the one built in chapter 5. Again Green stresses practice makes perfect when it comes to using and building Views in Drupal.

Chapter 7 contains a interesting take on how to enhance and theme a simple "About Us" Web page. I liked the use of Views in this chapter to make a basic Drupal page more dynamic and interactive. Green's expertise is apparent in this chapter as he takes something so basic and static and turns it on its head (and takes it completely out of the box) to show you how you can engage static content better by building it using the Views module. This chapter is a gem in the book and one that clients should read — it will give clients ideas about how to take static content and make it vital content on their site. About Us pages do not need to be boring.

Chapter 8 focuses on building simple administrative control panel using Views. Again Green challenges us as Drupal developers to step out of the box and build useful and custom management tools for our clients.

Chapter 9 shows us how to build role specific menus outside of Views using the Drupal menu and block system. Green diversifies here and begins the excellent discussion in these last two chapters of Drupal's administrative functionality outside of the Views module which has up to this point been the focus of the book. Green gives a tutorial on how to create a "peek-a-boo" login block. What's that you ask? Read this chapter to get the full rundown — it's functionality that will impress your client — using Javascript and an API. Good stuff here. Finally a discussion of adding a new theme region to your Drupal theme (always good to know how to do) and a final look at the Views module, creating a current Jobs/News block.

Chapter 10 wraps this excellent title up by showing us some of Drupal's core functionality that always ends up on the "punch list" in our projects — stuff like:

        * Setting the admin theme
        * Enabling clean URLs
        * Error reporting
        * File system
        * Input formats
        * Logging
        * Performance
        * ... and more

Read Chapter 10 for sure and then show it to your lead admin/project manager on the client side since it's a great cheat sheet for administering Drupal.

Green had published an opus here on Drupal Views and Drupal 6.x in general. I'll enjoy working through this book in more detail and practicing his Views attachment problems in my own work. Buy it now and practice building Views!

You can purchase J.Ayen Green's Drupal 6 Attachment Views at Packt's Web site.

Or through your local bookseller, or Amazon.com.

Reviewed by: Trevor James, Drupal developer | http://variantcube.com/"

Journals

Trevor James has no journal entries.

Slashdot Login

Need an Account?

Forgot your password?