Goodbye Drupal; Hello WordPress

I’ve owned domains for a long time now.  My first domain net-marks.com comes from a time when there was only one domain registrar, and the yearly cost for a domain was more than three times what it is now.  For almost as long as I’ve had a site where software that I’ve written was readily available. In the pre-CMS days, I used to do all pages by hand, because that’s all we had – and we liked it.  Later, on a suggestion from Cheryl, I started using FrontPage – also known as “the land of an insane amount of garbage tags in your code“.

And then a friend introduced me to Drupal – he suggested we use it as the backbone for our City of Heroes supergroup website.  For those that don’t know, Drupal is a CMS that is both amazingly powerful and amazingly complex – sometimes too much for its own good.  So I set about learning Drupal, and getting our site up and running under it.  It went pretty well, and for the few years that we were active it served us well.

At the same time I also converted the content for my old FrontPage software site to Drupal.  Thus embracing it as much as possible.  The idea was that the more I used it the more I learned.  And what I learned is that as great as Drupal is, it is also not without it’s fair share of problems.  Most of these extend from it’s tendency towards complexity.

For one, it’s extremely difficult to update the core software.  Or more to the point to update all your content tied up in Drupal to the latest version of Drupal.  I always found this to be a chore.  It was definitely a one step forward, two steps back ordeal.  Sometimes you had to completely abandon an update, restore what you had, and walk away.  It always took several days to do.  But I toughed through it all.  Over time, I discovered and figured out how to do multi-site Drupal, thus moving to a single codebase install.

Drupal: 2; WordPress: 0

Over the years, the supergroup faded and I got a bit frustrated with MMO gaming (long story, though many know it – you need only look for the gamer tag Circeus).  As such I’ve not coded for games in a bit now.  I want the areas of my expertise to be elsewhere now (note: I do still game).

More recently, Cheryl decided she wanted a blog.  We discussed it, and concluded that WordPress would best suit her needs. So we made a folder for her at our site, and I installed WordPress into it, and she was off and running in her space.

Drupal: 2; WordPress: 1

Not long after, some friends and relatives decided they wanted websites.  I’ve already got hosting, and can host unlimited domains,  I offered that if they purchased domains I’d host the domains for them.  They registered their sites, and I installed WordPress for them.  And they too are off running in their own spaces.

Drupal: 2; WordPress: 3

At this point I discovered WordPress-Mu (a.k.a. Multi-Site WordPress). This allows for a single code-base for multiple blogs across multiple domains.  This makes everything incredibly easy; one source for themes and plugins, and one codebase.  This is exactly what I needed to move forward.

And that brings me to the present.  I’ve finally started my own WordPress blog here at perlmutter.me, and while it’s still in its infancy, to me it feels right.  It’s much easier to get through, find what I need to manage, upgrade, etc.  It’s in PHP I know PHP.  It relies heavily on CSS I’m learning CSS.  It’s hooked based, so I can easily extend and write my own themes.  Upgrading is not a chore.  I’ve been through a few versions now, and each has been on the order of minutes, not days.  In general, I’m happier using WordPress, and my Drupal sites have stagnated.

Drupal: 2; WordPress: 4

So here I am.  I have two basically dead Drupal sites, and 4 WordPress blogs, where do I go from there?  I’ve come to a decision.  Over time, I plan to phase out my use of Drupal.  It’s served me well enough, but I’m not in sync with it anymore.  As with gaming, I’m elsewhere now.  The goal will be:

Drupal: 0; WordPress: 6

But for now, for transition, it’s:

Drupal: 2; WordPress: 6

The transition, etc. and my plans surrounding it will be discussed in my next post.  In there I’ll talk about what it takes to host Drupal and WordPress side-by-side and how to do it.  I’ll talk about moving hosting providers.  Backing up and restoring both Drupal and WordPress.  And relocating Drupal sites to new homes.  And some simple things you can do to make two WordPress Blogs seem like one.  I hope you’ll come back to read about it.

Movie Review: Disney’s The Princess and the Frog

[xrr rating=3.75/5]

This past Sunday I went with my wife Cheryl to go see Disney‘s new animated feature The Princess and the Frog.  To be honest, I wasn’t sure what to expect.  While I had seen the trailers for the movie, I really tried to stay mostly spoiler free.  After all, this was a big event for Disney as it marks a return to traditional 2D animation after a 5 year hiatus from it in favor of a more modern computer animated approach.  Personally I’m not one who’s particularly for one style of animation over the other, as I feel they both have a place in this world.  I’m also far more story oriented anyway.

For the most part I’ll try to keep this review spoiler free as I realize that with the holidays and the recent “Snurricane of ’09” that many might not have seen it yet.  For me, if it hadn’t have been for the WDW Today Podcast ’09 Reunion on the movie’s opening weekend, I probably would have seen it a week earlier than I did.

The movie is set in the early pre-Depression era 20th century, and begins right around the time when Woodrow Wilson first became President of the United States.  There is one shot to establish this time period early on in the movie as we see a headline declaring that Wilson was elected President.  And from that moment I was immediately hooked.  From the previews I had just naturally assumed it was going to be set in modern times, and was happy to find it was not.  I don’t think the story would have otherwise worked.

Cinematically there were some very clever things done with the animation, and, to me, two of them stood out.  The first was the consideration made by the artists in providing a sort of depth of field focus to the frames as they were presented to us.  The characters and elements that were the focus of the “shot” were always in focus, and those things around, in front, and behind it were not.  It lent an air of almost realism to the movie.  This is in stark contrast to the crisp, clean large scale computer animated scenes mixed in with the traditional animation of Beauty and the Beast.

The second was the use of a second style of animation that we saw during Tiana’s “Almost There” number.  Granted this has been done in a number of other Disney films, including Hercules (one of my favorites).  But this time there is a moment toward the end of the movie where they bring the style back, but only partially as it is mixed with the animation style of the rest of the movie.  It is a clever play, and it works well to cement that moment.

This takes me to want to discuss one more aspect of the movie that won me over:  the music.  When Louis (Michael-Leon Wooley), a singing and Jazz playing alligator who reminds one of his namesake Louis Armstrong, starts belting ot the song “When We’re Human” I was immediately flooded with the sorts of warm and happy feelings I get from my all time favorite Disney animated movie song “I Wan’na Be Like You” from The Jungle Book.

Now with that said, not all things with this film are perfect to me.  For example, I feel that much of the story lacks the impact that so many of the great Disney animated features have.  The story is highly telegraphed throughout, and it has no great surprises, save one which would be a spoiler to speak specifically about.  You could tell that Disney was playing it safe.

But this story redeems all that with one simple number, “Dig a Little Deeper” sung by Mama Odie (Jenifer Lewis).  This moment in the film isn’t just one of the most visually stunning and fun moments.  It’s also the entire message of the movie summed up in one great song, and that message is this:

Life isn’t about what you want, it’s about what you need and appreciating what you have.

And if every kid who sees this movie walked away with that message they and the world would be better for it.

So many are likely wondering then if this movie is kid friendly, and I’ll say this.  It does have what could be construed as scary moments and some very poignant ones also.  But they are things that are no more scary than Hercules battling a Hydra, Ursula, or Jafar turning into a giant snake.  And they are no more poignant than what happens to Bambi’s mother, or Simba’s father.  So if you think your kids can grok though those things, then they can absolutely handle everything Doctor Facilier (a.k.a. “The Shadow Man“) can throw at them.

One last thing is this, before I saw this movie I never would have thought that the most touching, and heartstrings pulling moments of any movie would involve a lovesick Cajun firefly named Ray.  Thank you Jim Cummings for that.

Integrating Twitter and WordPress

I’ve known about WordPress for a long time, and this is the first time I’m really playing with it in order to integrate a blog into my online presence. Like many these days, I have a Twitter account, so I made this my first target for integration.  There were four primary goals here:

  1. Make it so that when I post a blog entry have it automatically posted to Twitter.
  2. Show my recent tweets.
  3. Show my favorite tweets.
  4. Show the photos I’ve tied to my Twitter account using Twitpic.

Continue reading “Integrating Twitter and WordPress”

Blogs A’Movin’

So part of what’s going on here is that my “grand plan”TM included moving from a few single site installs of WordPress to instead using WordPress MU.  This step is now officially complete.  It’s not that I’m hosting a lot of blogs here, but rather that I’m more the sort who prefers “one stop shopping” – especially for maintenance.  If there’s too many steps to a thing I’ll avoid doing it.

Moving a WordPress blog isn’t rocket science, but there are some considerations to be made.  And I recommend 3 precursor steps to any WP blog move:

  1. Use FTP to back up your WP Install.  This way you’ll pick up themes, plugins, and media that have been uploaded.
  2. Use something like phpMyAdmin to do an export of your Blog’s database.
  3. Use the WordPress “Export” function to export your blog data to an XML file.

Then assuming the old site is still active, and once you have the new site set up, you can just use the WordPress “Import” function to read everything back in.  When the old site is active all media will be copied into the new install.   I highly recommend that you install any themes and plugins that were in use before you do the “Import” – it’ll make life easier.

Now, what if you’re moving a domain along with the blog?

Well that is a sticky situation because the old site will not be available for the import – which means media will not be available for the import process.  This leaves you with two choices:

  1. Suck it up.  The old media is in your FTP backup.  So do the import, ignore all the errors because the media was not found, and then manually add the media back.  If you have no media – this is always the right choice.
  2. Stage the blog at an intermediary first.  Before shutting down the old site, import it into a temporary blog.  Shut down the old domain site, and then move the temporary blog (Export & Import) to it’s final resting place.

Last night, I was moving two blogs (one belonging to a friend, and the other belonging to a relative) along with their domains.  Because they were small and under-utilized, I went the suck it up route – there were only 3 media files to be found between the two blogs.

Minor Changes

Didn’t have time to do much here today, so I kept it small and focused.

  • Changed tweet image name from twitter_16.png to tweet.png
  • Realized I was missing the RSS feed link for the blog, so I created a new icon pair (for the social icons), and added it in.  This is a bit involved for a lot of reasons based on how web pages function and render in conjunction with CSS.  I’ll write up a how to on this soonish.
  • Shrunk the logo image slightly to make some room.  The logo image comes courtesy of Twitlogo.
  • Moved boiler plate (aka header) items to use absolute positioning – makes some things cleaner.
  • Removed some extra markup and CSS that really wasn’t needed as a result of the absolute positioning.

Recent Tweets CSS Makeover

Played a bit with styles for the Recent Tweets widget from Twitter Tools.  I just wanted to give it some pizazz.  To do this I made the Tweets it shows look/behave somewhat like they do on on the Twitter home page.  First you’ll notice that I replaced the bullets with a smaller version of the social media icon I used (see the top right of the blog).  Then I placed a very grey one pixel line above list item in the widget.  And finally I set each Tweet so that when the mouse hovers over it it gets a darker grey background.

The CSS code looks like this:

/* Twitter Tools */
.aktt_tweets ul li { font-size: 85%; list-style-image: url(tweet.png); border-width: 0; border-top: 1px solid #EEEEEE; }
.aktt_tweets ul li:hover { background-color: #F7F7F7; }
.aktt_tweets .aktt_more_updates { list-style-image: none; list-style-type: none; font-size: 75%; font-weight: bold; font-variant: small-caps; }
.aktt_tweets .aktt_more_updates:hover { background-color: transparent; }

Edit: Forgot to mention how the syntax highlighting block above works.  This is done using the WP-Syntax plugin which uses GeSHi style syntax highlighting.  Basically it involves specifying a language in your <pre> block. For example the block above is using <pre lang=”css”>.

Blog Tweets… Yeah Yeah

Well, I bailed on Su.pr fairly quickly.  It simply would not work, and I don’t have a high degree of tolerance for things that are not well documented.  Don’t get me wrong I have no beef with StumbleUpon – they are a great site.  I just think the Su.pr service requires better documentation.  That’s all.

That had be head to the plugin directory at the WordPress site.  Didn’t take long to find something that seems like it will do the job for me: Twitter Tools.

While the plugin can do cross polination (meaning Tweets go to the Blog, and Blog posts go to Twitter), for my needs I really only want a one way trail.  The way I have things now my Tweets already go to Facebook (again see social links on the top right of the blog).  This means that when the plugin posts to Twitter, I’ll also get that reflected on Facebook.  For me that works.

It also has some other features: Daily and Weeky Digests.  I’ve went with Weekly.  I simply don’t feel that I’m a prolific enough Tweeter to need a Daily Digest, but that a Weekly one makes sense.  I’ve set it to post at 6pm every Friday night when Shabbat starts.  This works for me because normally I don’t Tweet or post on Facebook during Shabbat since this marks the end of my week.

The final feature I turned on is the visible one with the widget on the right hand side.  It needs some CSS work still, but it’s ok for now.  I have it showing my last 3 tweets.  I’m not entirely clear how often this updates – I’ll have to keep an eye out.

Plugging in the new Blog

So here it is, my new fangled blog. It’s WordPress – mostly for simplicty / ease of use.  Oh sure I’ve played with more complex CMS/blogging software before like Drupal – but I hadn’t really played much with WordPress before, and wanted to give it a shot.  So far me like.

As I set up my blog, I’m deciding which WordPress plugins to use or not use.  Taking it slow, don’t want to overwhelm.  Right now the main goal is to connect this blog with the rest of my online persona (see top right of the blog).

My first choice was Sociable in order to allow people who visit to reference anything they find here of interest with their social media accounts (Twitter, Facebook, etc.).  The interface for the settings for this plugin is great, you just pick which icons you want to show, and where in your blog you want to show them (pages, posts, etc.), and they show up.  You can change their order with ease.  You can theme it with CSS which is fantastic – it visually has a lot of fat in the CSS by default, very easy to trim down.  The creators of this plugin did a fantastic job with customization.  Worst icon choice: Print – not sure why it doesn’t use the browser’s print function.

I’ve also giving Su.pr a shot too.  Not choosing the toolbar as I feel that’s a little invasive, but I also understand and respect the reasons for why it exists.  In theory this post should get shot to both Twitter and Facebook.  It might show up on Facebook twice.  If it does I’ll fix that tomorrow, and sorry for any confusion.

Edit: Looks like the Su.pr thing didn’t work.  Will try to sort it out tomorrow.