drupal planet

Building a Theme for Drupal 7

After having built out many themes for Drupal 6 (and a couple for Drupal 5), I'm going to start from scratch on a couple designs and build a theme in Drupal 7, which will be released sometime in 2010. I'll take you along my journey in this article.

Please note, this article is a work in progress, and I'll be updating it as I go. Hopefully, within a couple weeks, I'll have the article complete, and a nice new theme to release on Drupal.org (maybe), only for Drupal 7.

To get things kicked off, here are a few articles that have good background information on Drupal 7 theming:

Moved to Drupal. Hello Drupal!

As of today (October 5, 2009), I have moved all the content off the old Lifeisaprayer.com into a new Drupal-based site, in order that I might not have to do so much manual labor in maintaining and updating the site.

This has been a long time coming, as I had the idea to move to a CMS (it was a heat between Drupal (for extensibility) vs. WordPress (for it's ease of use for blogging). But as I didn't know exactly what I wanted this site to become (is it about articles? the blog? photo galleries? what???), I figured Drupal would be the best choice, as I can have a lot more freedom in building out new functionality now. Wordpress is a little limiting if you want to really stretch your site into different directions.

I'm working on the site's theme right now, and probably will be tweaking it over the next few weeks. Please let me know if you have any problems or have suggestions for improvement!

Open Atrium for Drupal - One Word Review

In one word: Awesome.

This Drupal distribution truly displays the beauty and power of Drupal—a dedicated team over at Development Seed spent a lot of time making a great Intranet-in-a-box solution built on top of Drupal, and even though it's a simple set of modules and an installation profile, you'd have to do a little digging to tell if an Open Atrium site even runs on Drupal!

Open Atrium Example Site

I've just been tinkering with it for a local nonprofit I help with, and I see a lot of potential. In less than 20 minutes (from the download of the tgz file), I had two groups, eight users, and a calendar/wiki/blog system running for everyone. It's drop-dead simple! If you're tasked with building an internal communications site, or a full-fledged Intranet, this is probably one of the easiest/best (and most free) solutions out there. Check it out!

Building Out a Full Drupal Site on a Busy Weekend

This weekend I am going to attend the Catholic New Media Celebration. I'll be on two plane flights, I'll be sitting at an airport for a few hours before each flight, and I'll be at a convention all day Saturday. I'm hoping to build out a new site idea I've had lurking in the back of my head for some time: Open Source Catholic.

List of Downloaded Files for Drupal Install

In the past 45 minutes, I've been jumping around Drupal.org downloading all the different modules and tutorials I think I'll need. I've also saved some of my previous work on other Drupal sites in case I need to refer to a code snippet along the way while I don't have Internet access. I'm going to call it a night for now (I need to pack!), but tomorrow, beginning at the airport, I'm going to start working on the site.

Let's Get Through the PHPTemplates!

I just finished rolling a patch for fixing node.tpl.php in Drupal 7 over on the Drupal.org issue queue; hopefully it's ready to be rolled into core, as it's been weeks months since that particular issue was started. Page.tpl.php is already complete. We still have a few more to go, including comment.tpl.php, block.tpl.php and a bunch of little .tpl.php files.

I think Drupal 7 is going to be the best release of Drupal yet, in terms of being able to have a lot of appeal to non-programmers/techies. I set up my first ever full-fledged Wordpress site a few days ago, and it was super-easy to get things going (although also severely limited in what it could do, compared to a base Drupal install with Views and CCK), choose a new theme, change some settings, and hit the ground running.

Using Boost with Drupal - Making a McWebsite

Boost Module for Drupal - Make Your Site a McSiteTo the uninitiated, Boost is a module for Drupal which has the potential to make your Drupal-based website run many times faster than it's currently running. Boost basically converts pages on a Drupal site into static html files, and allows your website to direct anonymous (non-logged-in) users to the cached html pages.

Doing so speeds your site up quite a bit, because instead of your web server having to run some PHP scripts and connect to your website's database, the server can simply send the complete html file, which requires no extra processor cycles or memory to compile. If your website has a lot of anonymous traffic, the potential speedup is very large. Instead of serving hundreds of users per minute, you could serve thousands.

Cron Troubles in Drupal? Here's a Tip

I recently had a problem with cron on one of my Drupal sites, related to an issue I'll be posting about soon (namely, using Drupal's built-in search with more than 4.5 million entries in the search_index table). When I manually tried running cron, I got a "Cron failed" status message. I checked the log, and it said "Attempting to re-run cron while it is already running."

Apparently, something had messed up (probably due to the fact that I was messing with database tables while cron was working on them) with the previous cron job, and Drupal couldn't start a new cron job anymore. So, with the handy help of Google, I found part of a solution to my cron woes in the Drupal.org forums. Here's what I did to prevent this cron error from happening again:

Designing for the 80%

Recently, an article on Accessibility appeared on Planet Drupal which caught my eye, so I clicked on it. When I was taken to the article page on d7ux.org, the banner across the top of the page caught my eye (as it was intended to do!):

Our UX Principles:

  1. Make the most frequent tasks easy and less frequent tasks achievable.
  2. Design for the 80%.
  3. Privilege the content creator.
  4. Make the default settings smart.

I think those four principles, especially numbers one and two, should be the driving force behind any web or product design.