Last week we launched our most recent project for Northpointe Church, so I figured I’d share some before and after shots and explain some of the cool things we did.
This project was a blast to work on, Paul (our contact at Northpointe) was/is really awesome and easy to work with, and the project went very smoothly (aside from having to wait a good 2 1/2 weeks to get control of the domain name). Going into the project Paul laid out some basic requirements for the site:
clean-minimal-ish look & feel
straight forward navigation
event calendar
blogs for each of the pastors
simple content management
ability to stream and archive sermons
Before:
After:
The site is running on Wordpress and is stuffed full of our custom plugins (you can see our custom backend in the screenshot above). Some of our other plugins that we added or wrote specifically for this project:
Event calendar * (allows for simple output wigitized calendars)
Homepage manager * (for easy management of various elements on the homepage)
Site navigation controls (Page Order, Page Visibility)
Flash player injection * (uses shortcode API and SWFobject to insert and render flash videos and audio w/o the need to paste in html)
Ajax contact forms *
Custom backend skin *
Custom Admin Manager *
* This plugin was written entirely or in large majority by us
Working on a client site this week I wanted to change the way that Wordpress inserts media into posts. Right now if you were to upload a flash movie (FLV) and click the “Insert into post” button, Wordpress injects the title of the file linking to the file you just uploaded (ex - <a href="http://yoursite.com/wp-content/uploads/movie.flv">The Title</a>).
Searching around the source code of Wordpress I came across the filter media_send_to_editor in /wp-admin/includes/media.php on line 291 (there is also image_send_to_editor on line 63 for those who are interested). Now that I found the filter I just needed to write a basic plugin to modify the output.
<?php
/*
Plugin Name: EWM Modified Media Insert
Description: Modifies the default method for injecting media into posts
Author: Element Web Media
Version: 1.0
Author URI: http://www.elementwebmedia.com/
*/
class ewmInsertMedia {
//class constructor
function ewmInsertMedia () {
add_filter('media_send_to_editor', array($this, modifyMediaInsert) , 10, 3);
}
//function that does the modifying
function modifyMediaInsert($html, $send_id, $attachment) {
$output = '[flash '.$attachment['url'].']';
return $output;
}
}
//instantiate the class
$ewmIM = new ewmInsertMedia();
?>
There are a total of 5 values that are available in the $attachment array:
url
menu_order
post_title*
post_excerpt*
post_content*
* It says “post_” but the values are not that of the actual post but the info of the file. I’m not sure why they chose those particular terms to describe the values, it just makes it confusing imho.I remember now that Wordpress stores media entry data in the wp_posts table. That’s why it’s post_title, post_excerpt, etc.
Going beyond
The shortcode API is awesome, if you haven’t messed around with it yet I urge you to take a look at the documentaion. This discovery has inspired me to start working on my own flash plugin, one that’s seamlessly implemented and without all the extra bloat (unnecessary header requests, etc). Maybe I’ll post it here when I’m done, we’ll see :).
Sometime at the end of the year we can expect to see the next point version update for Wordpress (2.7). Those familiar with Wordpress know that with version 2.5 the blogging engine received a major, much needed, overhaul to the backend and a plethora of new features, so if you’re not expecting much out of 2.7 you’re in for a surprise. This update looks to add just as many features, if not more than 2.5, along with a restructuring of the backend layout, most notably the move from a horizontal-top navigation bar to an accordion style vertical-left nav.
This change and many of the other visual elements are being made to favor widescreen monitors. I’m glad they finally realized that the top style nav didn’t lend itself well to being extensible, with each plugin usually adding at least one nav link. Anyone who uses more than a few plugins knows what I’m talking about.
Add/Edit Post page (The Write-panel)
The write-panel received it’s fair share of “improvements”. Fans of the old school drag and drop elements will be happy to know that they’ve made a return. You can now drag and drop any of the element boxes between the right hand column and the column under the content box. They’ve gone a step further and added the ability to hide element boxes that you don’t want to see. Though, my thought is that these settings should be available through the settings menu rather than on the write-panel.
Plugin Repository
The change I’m most excited about is the ability to search the Wordpress plugin repository, select and install plugins, all from the backend of Wordpress! It’s all automated and very slick, no more having to download plugins, unzip them and then upload them manually. The only thing lacking about this addition is that the search flat out sucks. You’ll know this if you’ve ever tried to look for any plugins from http://wordpress.org/extend/plugins/, you get too many irrelevant plugins and typically the one you are looking for is buried at least a couple pages in.
Other notable additions
ability to make posts “sticky”
inline editing of posts from the front end
comments XMLRPC API
automated Wordpress updates
new HTTP request API (looking forward to that one)
“Inbox” (this feature is not complete so I’m not sure exactly what it is going to be officially, however I’m guessing they are adding in some sort of built-in contact form… which would make a whole lot of sense)
QuickPress - a widget on the dashboard for quickly creating a post. (Honestly, kind of pointless, who doesn’t have time to click a link to get to the post page (there are 2 links on the page already)
media buttons consolidated to single “Add Media” button, this may only be for development and will probably go back to the 4 original buttons)
Not ready for primetime
Right now 2.7 isn’t ready for use on a production blog, some of the features are broken or completely disabled. However, if you want to get your hands dirty and try out the software you can get the latest nightly build here (scroll to the bottom and click the “Zip Archive” link). Have fun.
On the path to claiming your own piece of hyperspace real estate, purchasing a domain name is a good place to start. If you want to learn what a domain name is and get some tips for buying one, keep reading, but if your itching to blow some money click here to skip to the spendin’ part.
Examples
www.ebay.com
www.google.com
www.justingable.com
Purpose
In the simplest explanation possible; a domain name represents a specific place (directory) somewhere in the vast network of computer servers, what we web professionals like to call the “internet”, with an easily memorable name. If we didn’t have them we’d have to remember web addresses such as http://74.125.19.147/ if we ever wanted to visit Google.
Dot Whatever
Those little letters that appear at the end of a domain after the “.” (com, net, org) are called Top-Level Domains (TLD). Each one has it’s own reason for existance; the 3 most common are:
com: (Commercial) officially intended to designate commercial entities
org: (Organization) mostly associated with churches, charities and other non-profits
net: (Network) intended to be used only for the computers of network providers
Of course anyone can buy a domain name with either of these extensions, and these “rules” I listed are generally not followed. When buying your own domain, however, get a .com if at all possible, it’s the one that most people will assume is your TLD when entering in your address.
What’s in a name?
it must contain 3 to 63 characters
it can contain the letters a-z as well as numbers 0-9
it can contain a hyphen (-) but it cannot start or end with one
it cannot contain spaces or any other special characters
Where to buy
There are many places that will sell you domain names, some will try and entice you with $1 domains or even free… DO NOT FALL FOR THIS! Usually they want you to sign up for their hosting service before they “give you” the domain name of your choice. But wait there’s more! That domain you were just “given”, you don’t own it, the people you bought it through do. So, when you go to change hosts for whatever reason, they will most likely not give you the domain name back.
It is best to buy through a 3rd party and there are two that I recommend, GoDaddy (you know, the ones that run all the ads during the Super Bowl with the skanky women) and NetworkSolutions. Both offer nice controls to manage all your domain names and have excellent customer service. GoDaddy is who I use and they’re the ones I’m going to walk you through buying your own domain name.
Hopefully I’ve helped clear the air around getting your own domain name. However, if there is something you feel I left out or something I went over needs some more elaboration, leave me a comment.
In the next tutorial I’m going to show you how to purchase your own hosting and setup your domain name to point to your shiny new server space.