Clearance The workings of one David Paul Ellenwood Tue, 06 Mar 2018 23:19:33 +0000 en-US hourly 1 One Journey Ends & Another Begins Tue, 21 Jun 2011 16:21:20 +0000 There are a few moments in my life that are seared into memory with a jumble of mixed emotion.  Today is one of those days.  After months of prayerful consideration, this morning I announced my resignation from Sleeping Giant Studios, LLC.  June 30th will be my last day of full-time employment.

The past six years have been an amazing time of learning, growing and working toward better websites and better web applications for our many fantastic clients. We’ve learned so much together and we’ve built many amazing things together.  I’m confident that Sleeping Giant will continue to provide the absolute best quality and service for many years to come. It just isn’t in their character to do otherwise.

My season at Sleeping Giant has also been a time of growing intimacy and community with a group of guys—and their families—that I’ll never forget.  Everyone at Sleeping Giant has become family to Erica and me.  We will miss you all dearly. I’m most thankful for the opportunity I had to work for “the world’s best boss.”  I’ve said before and I’ll say it again, if I were ever to have employees working for me I hope I could run my shop half as well as Jon Hage has run his.  Thank you, Jon, for being incredible.

With the sadness of leaving comes the excitement of starting something new.  I’m pleased to announce that I’m going out on my own as a freelance web craftsman.  I’ll be focusing my services toward front end design and development, WordPress consulting and a bit of server administration here and there.  Of course, there are countless details to square away during this transition.  Keep watching this space for more news about the new venture.  I’m sure it will be interesting to say the least.


]]> 1
WordPress Development Using A Shared Database Wed, 26 Jan 2011 05:04:03 +0000 Over at Sleeping Giant Studios, we have a number of developers all working on the same WordPress (WP) projects and using SVN (via Beanstalk) for source control.  As such, each developer’s workstation has a checked-out copy of the project codebase.  (And WordPress itself is in a subdirectory of the project as an SVN:External, but that’s another post for another time.)

We’re also using a shared development database meaning that everyone develops against the same database (and data) while maintaining separate working copies of the project codebase.  (We do this to reduce the amount of system administration we have to do on each workstation and also to ease content-entry sharing.) Working this way presents some problems because WP is designed to run against a single URL which gets stored in the database as a few different wp_options.

The workaround for this is actually pretty simple.  We define all of the URL options that WordPress needs as PHP constants in wp-config.php skipping whatever is stored in the DB.  Using the examples on the wp-config.php Codex page, we can even set these constants dynamically using PHP $_SERVER[] globals so we never have to hard code them to a specific URL.  For a default installation of WP in the root folder of a site we define a set of PHP constants in wp-config.php like so:

/** Sanitize SERVER_NAME, just in case **/
$server_name = htmlentities( $_SERVER['SERVER_NAME'] );

/** Custom WordPress core location **/
define('WP_SITEURL', 'http://' . $server_name);

/** Custom home location **/
define('WP_HOME', 'http://' . $server_name);

/** Custom wp-content location settings **/
define('WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/wp-content');
define('WP_CONTENT_URL', 'http://' . $server_name . '/wp-content');
define('WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/wp-content/plugins');
define('WP_PLUGIN_URL', 'http://' . $server_name . '/wp-content/plugins');
define('PLUGINDIR', $_SERVER['DOCUMENT_ROOT'] . '/wp-content/plugins');

This allows each developer’s working copy to run using their workstation’s URL regardless of the values set in the database.

As with everything in life, there are a few issues with running this way.  Here’s a few we’ve noticed:

  • A rare plugin might not work this way.  Frankly, incompatible plugins are few & far between and we choose to avoid them because not using WP’s plugin best practices is foolish.
  • Posts (or pages or anything in the wp_posts table) added by each developer end up with GUID’s set to their workstation’s URL in the wp_posts table.  There are a couple other places this might creep up (in wp_options and some plugins’ custom tables for example).  This hasn’t caused any problems for us.  We tend to do a full search and replace for URL’s in the DB before going to staging or live deployments anyway.  This just means running the search and replace script against several URLs instead of just one.  We use’s SearchReplaceDB.php script to accomplish this.  It finds and replaces serialized and non-serialized strings throughout the entire DB.

In the future, I’ll planning to write up how we setup each project as an SVN repository using SVN:Externals to manage the WordPress core codebase and all the WordPress hosted plugins.

]]> 9
And Mathews v4.5 went live Wed, 11 Nov 2009 02:22:31 +0000 Mv45

We launched a refreshed version of last week.  While the majority of the site remained the same, we updated the site homepage to a more “open” concept and added a few new features to the site.  Most notably, Mathews now has a powerful new video gallery where they can host and server their own video content without relying on us to upload and “post” the videos for them.

CLEARANCE Turns 10! Fri, 16 Oct 2009 03:04:55 +0000 Sometime during the month of October, 1999 I published the first version of CLEARANCE.  I had published a couple of free websites before that (GeoCities, anyone?), but during my first semester of college, I managed to get a visual together and a few bits of content written and posted to a static, barely CSS-ified website I entitled CLEARANCE.  I’ve been online at this address with that title ever since.

Looks like I’m due for a redesign.  Only two versions in ten years?  Ouch.

Danen Kane’s new site is up! Fri, 31 Jul 2009 15:02:05 +0000 Launched a new website last night.  Dane Kane is an independent recording artist who I’ve known personally for quite a few years.  His old website hadn’t really been updated much in all the years I’ve known him.  I was blessed to be able to rebuild the site for him in anticipation of his new EP release, Awakening, which comes out tomorrow (August 1).

DanenKane.comI had a blast working with Danen to develop the site visuals.  We spent a long time (read: more than a year) going back and forth with concepts.  The dark blue/black background and contrasted bright foreground colors are directly related to his new EP and current place in life as Danen is in a process of “coming to life,” or coming from a dark past and celebrating a new beginning.

The site is WordPress based (of course it is! What else is there?) and features a few great plug-ins that I’ve come to rely on heavily.  Gigs Calendar, Dragon Design Form Mailer and Google XML Sitemaps are a few of my favorites.  A new one I’m working with is called WordPress Navigation List Plugin NAVT which is an excellent little custom-site-navigation tool.

All in all, we’ve still got a lot more to do on the site.  The Music section still needs a lot of work as we add track samples to listen to, song lyrics, and direct-purchase options so that Danen can sell directly to his fan base instead of having to rely on third-party vendors.  We also have a “Media” section in the works where Danen will be able to post photos, audio and video from any number of sources.  Commenting and trackbacks still need to be enabled and Danen would like to put together a private Public Relations section where he can post content for radio stations, and music industry folks.

In any case, y’all should head over there and take a peak at the new site.  I’d love to hear a comment if you like or dislike what you see.

]]> 1
The End of an Era Tue, 27 Jan 2009 16:58:43 +0000 Over the past several weeks I’ve noticed that my trusty Dell TrueMobile 1184 wireless router would unintentionally drop wireless connections and was incapable of more than about 5MB/s of throughput.  Then yesterday, it started dropping my wired Ethernet connection.  Okay, I guess it’s time to retire the old girl and finally upgrade to that newfangled 802.11-G spec.   Keep in mind this router came out in in October of 2002 and has happily served my home networking these past 6+ years.  It will be hard to see her go, just thinking of all the places we’ve been together, networks we’ve encountered and files she’s served.  In honor of her passing, I decided to post a photo and consider this her memorial.  Rest In Peace my friend.  You will be missed.

Dell TrueMobile 1184 Wireless Router

Orange Computer Solutions Logo Sun, 25 Jan 2009 07:23:48 +0000 ]]> Orange Comp Solutions Logo

Mathews Inc. Website Sun, 25 Jan 2009 07:20:58 +0000 ]]> Mathews Inc Website

LAXCRU Website Sun, 25 Jan 2009 07:19:14 +0000 ]]> LAXCRU Website

Body Genie Website Sun, 25 Jan 2009 07:17:12 +0000 ]]> Body Genie Website