Remaking jasoncoward.com on MODX Revolution

jasoncoward.com is now deployed and maintained with MODX Revolution

I believe the best way to develop a product is to use it yourself, so in that spirit I've redeveloped my personal site using MODX Revolution. I've done this as both a means to test the latest code going into RC2, and because, well, it just sucked before.

Anyway, I just want to describe some of what has gone into this site, as a reference to others using or considering MODX Revolution. And we'll start where I did, with the template.

A Free HTML/CSS Template

So the first thing I did is find myself a decent pre-made (and free) site template. I'm really happy with the one I picked, for it's simplicity and unpretentious elegance. It's called PixelGreen from Styleshout.com, and I like what I've been able to do with it expending only minimal effort.

getResources, getPage, and Wayfinder

Here is a list of all the things implemented on this website using getResources or a combination of getResources with getPage:

  • Homepage — features the five most recent Resources published anywhere under the four main site containers (Journal, Creative, Technology, and About), excluding containers
  • Section Summaries — each main container features the five most recent Resources published as a child of that section, again generated with getResources with section-specific Property Sets
  • Date Containers — in some sections organize Resources by year and month and each level of these date containers applies the section-specific Property Set to getResources via getPage, in order to get all Resources listed in a paged format
  • Notable Quotables — shown randomly on almost every page in the site is done with getResources, using a limit of 1 and a sortby of RAND()
  • Tag Navigation — in the footer is simply a listing of SymLinks pointing to a Resource, each using getPage/getResources with a tag from a pre-defined set to display all of the Resources that have that particular tag
  • Links — in the footer are a simple collection of WebLinks listed via getResources
Introducing Smugly (and yes, getPage again!)

In the Photography section of the site, I considered how I wanted to introduce images to the site. I already struggle to decide if I should post a particular photo on my SmugMug account, my Facebook account, my Flickr account, or just upload it and link to it on my site directly, so I decided to look at integrating the images I manage on SmugMug into my site. After briefly considering just consuming an RSS feed and realizing that the RSS feeds included overriding styles in the markup included, I chose to attempt to work with the SmugMug REST API to access my gallery and image data. I'm glad I did; I truly love how easy REST makes interacting with web services.

I got lucky too, I couldn't believe the name I wanted to use for my SmugMug REST API component was not taken. So in the next few days I will be introducing Smugly, a MODx Revolution service class and set of Snippets for retrieving Album and Image data directly from a SmugMug account. And yes, it will be an Open Source component offering for SmugMug users (or just consumers of SmugMug content I suppose) that might also be interested in the project.

Some highlights of Smugly features in the first release will include:

  • Get a sorted list of SmugMug Albums for a specific SmugMug account
  • Get a sorted list of SmugMug Images for a specific SmugMug Album
  • Get detailed SmugMug data for a specific SmugMug Album
  • Get detailed SmugMug data for a specific SmugMug Image
  • Configurable caching of all REST responses from the SmugMug REST API
RPXNow and Quip Round Out the Site

Last, but certainly not least (in fact this may be the most exciting part of the relaunch), is the fact that you can now login to this site using OpenID or accounts you've already created at Google, Yahoo, Facebook, Twitter, or Windows Live, courtesy of RPXNow. I've done this by extending the modUser class (as rpxUser) and providing some additional fields in the MODx user table to maintain a remote_key and an remote_data an RPXNow provider might send me.

Now you just have to figure out why you'd want to login to my site. I may have more compelling reasons in the future, but for now the best reason is to be able to comment on my postings, via Quip.

I'll be working on and posting a variety of short tutorials, tips and tricks, and other how-to kind of postings on getResources, Smugly, RPXNow, and many other exciting MODx Revolution topics. Stay tuned!