Midwestern Mac, LLC wants to help you solve mac problems, take better pictures, have an amazing website, and improve your image.
 
geerlingguy

Part 4 of a series: Building out a full Drupal site in a weekend.

Well, after having a successful launch day, ironing out a few small bugs in the CSS of the layout, and patting myself on the back, I decided to push the initial release of the 'Airy Blue' theme created for Open Source Catholic out to Drupal's Theme repository. It turns out working with CVS isn't the hell-on-earth I thought it would be, but it's still a heckuva lot to expect from a guy who logs less than an hour a day in a command-line interface!

I applied for a CVS account, then read through the plentitude of CVS documentation for themers on drupal.org, making a few notes here and there. After having my CVS account approved, I finally had some time to fire up Terminal, and go through the process of first 'checking in' to CVS, then uploading my theme directory, and finally 'committing' and 'tagging' it for release on my project page.

>> It's a lot easier to zip up the files and link to them, let me tell 'ya! <<

Anyways, enough about that process (if you ever need help, jump into the #drupal IRC channel and see if webchick's around. If she is, she'll help you in no time!); here's the description of Drupal's newest contrib theme, Airy Blue:

Continue reading...
geerlingguy

Part 3 of a series: Building out a full Drupal site in a weekend.

Now that my feet are firmly on the ground (and hopefully will stay that way for a time), I have a little time to write about the final stages of the Open Source Catholic website development... even though it's tagged as in 'beta.'

Open Source Catholic Screenshot

On the plane flight home, I was mostly finished creating the theme for the site. I hadn't opened it up in IE 6/7/8 yet, but I knew the main three or four bugs that would crop up, and prepared for them. I decided to write some postings (two articles, two blog posts, and a website review) for the website, as it's never a good idea to try to build momentum for a website on which nothing exists!

I wrote the posts, edited them a little, then browsed every page on the site once or twice, fixing little CSS bugs and tweaking the design until it was just-so. I had created the header image in Photoshop, and I worked to make it so it would be easy to change if I needed to—especially when (if ever) the site goes out of beta status.

Next, I did a little (VERY little) performance testing, and made sure things were working well on the backend. I didn't Boost the site (I don't think that'll be necessary... at least not yet), but I did turn on page caching, CSS and JavaScript aggregation, and am working on following the rest of the YSlow rules.

The second-to-last step on this site was to open it in Internet Explorer 7 and 8 (I haven't tested 6 yet) to make sure there were no show-stopping bugs. Luckily, there really weren't; just one column that kept floating right behind the content. I fixed that by floating the 'second' column to the right instead of left, and adjusting its margins accordingly.

The last step I have is to monitor the site's performance and metrics, test from an end-user's perspective, and make sure the 'moderator' role has the right permissions/access to do everything he or she will need to to keep the site in tip-top shape.

I haven't tried the Flag module yet, but I may at some point; seems pretty interesting to me! Also, I'm going to try to submit the theme, "Airy Blue," to Drupal.org's theme repository... wish me luck!

geerlingguy

Part 2 of a series: Building out a full Drupal site in a weekend.

Well, one plane flight down, and a conference to go, I have the main structure of the theme set up (locally; haven't pushed it out to opensourcecatholic.com yet). I decided to go with Zen 2.x's -dev releases, for the simple fact that it's new and the way the Zen project is moving. There are a few rough areas in the documentation, mostly in the 'Readme' file for installing a subtheme, but I got through everything okay.

This theme, I hope, will make its way onto the fine Drupal.org theme repository; getting a CVS account, I'm sure, will be fun ;-)

I started with the very bare layout I had made for the OSC splash page. Then I posted a couple sample blog posts, articles, and other items, and went to town theming all the common HTML elements, positioning the navigation items, and doing some (very) basic testing in IE. Here's a rough idea of how the theme looks at this stage in the game:

Open Source Catholic - Preliminary Design

Now, mind you, this is quite rough; I was focusing on the main layout for most of the plane flight, and I haven't even gotten around to theming all the listings, more blocks, etc.

But hopefully you have a general idea of where I'm going; I decided to use a digg-like navigation look (border-radius ftw!), and went with Warnock Pro for headings (why not? If you don't have that, you'll at least get Georgia!). I'm still not 100% happy with the 'Zen' way of having Navigation all the way at the bottom for a simple site where there are only a few links. I don't think it negatively impacts SEO much if at all, and although it's a good display of the idea of structure separate from form, it might simply not be worth the hassle.

I'm sticking to the KISS principle for this site, and hopefully will have a very clean, modern look to the site (right now I'm titling the them 'Blue Airy'). I'll keep you posted throughout the rest of the weekend, but postings tomorrow will be very sparse indeed, as I'll be at a conference all day!

geerlingguy

Part 1 of a series: Building out a full Drupal site in a weekend.

Before you start building your website, you need to get all the parts of the site together, and have a good plan for what you'll need and how you'll do it. For many organizations, this can be a huge hassle, as you'll have to go through planning meetings, make diagrams, have all kinds of changes, and end up pre-stressed... and that's before you start working on putting the site together!

Luckily, for this website, the requirements are pretty simple: I can do whatever I want. But I can't get started from that point, so I put a few requirements down on paper, then grabbed everything I needed.

Continue reading...
geerlingguy

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.

Right now, there's a splash page. No theme, no Drupal installation—nothing more than a simple welcome message. By Monday, I'm hoping to have a Drupal site with a new theme (which I hope to contribute back to d.o as a zen subtheme) and all the community features I can possibly cram into it. One man, three days; almost no free time to work with. Think it can be done? I think so! Follow me as I begin this fun and crazy journey!

[UPDATES:]

  1. Part 1: Putting the Puzzle Together
  2. Part 2: Theme Development
  3. Part 3: Going Live...
  4. Part 4: [Final] Releasing a Theme on d.o!
geerlingguy

Tethering your iPhoneAlongside today's news that Apple has finally released the iPhone/iPod Touch OS 3.0 to the public (download it by opening iTunes, connecting your iPhone or iPod Touch and clicking the 'Check for Update' button), some websites are noting that it is easy to enable tethering on your iPhone, even if AT&T hasn't officially announced support for this feature.

Tethering is great for small Internet browsing sessions, or when your iPhone just isn't enough to do what you need to do (for instance, adding content to a website, or uploading a large file). But don't Tether too much: First, if a lot of people are tethering, it can slow down the network for everyone else, and second, your iPhone's battery takes a huge hit (even if charging) while you're using it's 3G signal for tethering.

[NOTE: Visual Voicemail may stop working after you follow the steps below. To get it back, see the bottom of this posting, from iPhone Alley.]

Continue reading...
geerlingguy

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.

Make Your Website a McWebsite

A good analogy to think of when speaking of the way a server handles serving a page with Drupal, Joomla, or other CMSes is this: Imagine that you run a fast-food restaurant, and you want to serve as many customers as possible in a short period of time. You could either wait for an order for a double cheeseburger, then when the order comes in, put the parts together, wrap it up, and then hand it to the customer. Or, you could make a bunch of the burgers, wrap them, and have them sitting on a warmer. Then, when a customer orders a double cheeseburger—or ten—your staff can grab them from the shelf and immediately serve your customer.

Instant gratification. It works for McDonalds, and it can work for your website; How many customers have you served? McDonalds has served billions. Your McWebsite could do the same. Boost is basically a large-scale cheeseburger-maker. You want your website to be the McRestaurant server—prepackage everything so you can serve it up quickly and en masse.

Continue reading...
geerlingguy

Something you don't think about every day, but something that could save you enough change to get a Big Gulp every now and then: You can take a few simple steps to drastically reduce the amount of power consumed by your computer. Especially when you're doing many things at the same time with multiple hard drives and the screen turned on at full brightness!

This article is written specifically for the 24" iMac (late 2008), but applies to pretty much any Mac that uses electricity (read: ALL of them). By following the steps in this article, you can save a bit of power, which translates into saving a small amount of change each month. And who wouldn't like a few extra nickels in this economy?

The Discovery

I recently purchased the APC Back-UPS NS 1250, and one of the most amazing features of the UPS is the ability to see how many watts are being actively consumed by a device plugged into it.

I found the results of my testing to be quite interesting. When I had the iMac running with the screen at full brightness, the computer was using the energy equivalence of an old 100 Watt tungsten (i.e. 'energy sucker') light bulb! I don't typically run the screen this bright, though, because the lighting in my computer room is typically subdued. So I turned the brightness down all the way (a comfortable level for my vision), and looked again. This time, the computer was using about 75 Watts. NICE!

iMac Power Chart (in Watts)
(Big bright chart for visual learners).

Continue reading...
geerlingguy

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:

  1. In PHPMyAdmin (you can also do this manually via the command line), delete the following rows from the variable table:
    1. cron_last
    2. cron_semaphore
  2. On your Drupal site, clear all the cache tables (If you have Administration menu installed, you can just click the "Flush all caches" link in the site-wide links menu).

As always, make sure you backup your database before you start deleting rows from it!

Now, cron is running without a problem again. There are some other issues I'm still having with cron, though, mostly related to the indexing of content via the built-in search.module. I'm working on fixing this problem, and right now am testing the use of InnoDB instead of MyISAM tables in MySQL to see if indexing goes any faster. (Thanks dmckenna!).

Designing for the 80%

11 May 2009
geerlingguy

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.

Continue reading...