Making a Tourism Site in Drupal (and the Lessons to Learn)

Wed, 08/19/2009 - 13:15 -- Erik Olson

When the Olympic Peninsula Tourism Commission came to Freelock Computing to convert their static HTML site into a newly designed, Drupal-driven CMS, I'm not going to lie, a few drops of drool fell from my mouth. We tend to label ourselves a little outdoorsy and most of us love to travel, so the opportunity to design and build a website in our neck of the woods that we could not only explore new methods such as Geo-mapping but also actually use as normal visitors was exciting. And having a staff that knew where they were going made that process that much easier.

Freelock turned to McKinnon Design to create a fresh design to build on their current image and capture the uniqueness that is the Olympic Peninsula. Due to the complexity of features and layouts, we worked hand in hand with Peter to design each aspect, tossing ideas off of each other and throwing out options to see what stuck. The result was a simple design that enhanced the user experience without overwhelming the visitor. That ensured that a visitor would have their interests perked without feeling overwhelmed. We were able to use Imagecache and Views Slideshow to get a few of the eye-candy pieces on the site, including the glowing thumbnails and rounded corners on the homepage.

Then came the development ideas.

We wanted a site that was organized, clean and tied together by location. We flirted with the idea of using the infant Geo Module as opposed to the mature Location Module, but quickly abandoned that avenue when we offered help in developing the module and the response was send money. So we went with Location and its multiple pages of bugs, seriously, pages, but in the end it proved to be a good choice. We tackled a couple of feature requests within the module, including a proximity filter for the Views 2 module which allowed us to display the nodes within a set amount of miles from the current node being displayed. You can see an example of this use in the blocks on the right of this page. We were also able to use some of the existing Google Maps Modules to display the location of various nodes based on their taxonomy.

The second major idea for the site was to create a travel itinerary creation tool. Users are able to add content such as hotels or wine tastings into their backpack, then save and share the itinerary with others. We used the Flag Module as the base, and then created a custom module that allowed flagged nodes to be set as a Node Reference in a new content type called Itinerary. The result was a shopping cart style node selection tool that could be saved and referenced in the future.

Lastly, we experimented quite a bit with Views 2, really pushing it to its limit. We were able to master much of what Views 2 has to offer in terms of creating relationships, filters and fields. We created a couple of custom modules to help us filter nodes using Location tables, but complicated it even further by using relationships. We used it as the power behind the slideshow and as a calendar. We also use it to manage much of the content in the site admin area.

The complexity of the site really allowed us to get our hands dirty with Views, CCK, and Location and we learned some valuable lessons about the limits of each.

Takeaways:

  • Location CCK - You had better understand what its limits are before using this. We felt it was closest to the "Drupal way" when we started, but definitely ran into roadblocks later on when trying to use this module with Node Import, Views, and Google Maps.
  • Flag Module - What a find for us, nice little module with a lot of flexibility
  • Imagecache - We pushed the envelope with Imagecache on this one, with backgrounds on scaled images, rounded corners, changing JPGs to PNGs and back to JPGs. The module is a bit finicky, but if you can pull through, its a workhorse.
  • Stay away from modules that create content types, examples are Location (using the default Location functionality as opposed to Location CCK), Event (don't get me started), and the 100 Image gallery managers out there. You can do most everything within the CCK/Views realm and the site, and what you cannot do within those you should be able to with a little code.

If you would like more information on any of the items we have talked about or would like to see how Freelock can help with your own project, feel free to contact us!

Good luck and good travels!

Industry: 

Comments

I was looking for solutions to one of the projects I am currently working on which is all about ordering parts to send through to multiple suppliers depending on the part.

I almost started creating my own module to handle the functionality the flag module does. Didn't even know it existed. So thank you for your blog and inspiration. all I need to do now is have the ability to add a quantity to the "back pack" which I think requires some coding.

Nice site too - works great.

Submitted by Erik Olson on

Flag is a pretty versatile module, and with a tiny bit of code it becomes pretty amazing pretty quick.

Submitted by Ethan (not verified) on

The website looks pretty awesome, I believe they also had their drooling after seeing it. I'm currently working to create a site of my own with a program, but so far, no luck, I suspect missing [url=http://file-extension.paretologic.com/index.php]file extensions[/url], although I couldn't figure out which one, yet. I sure hope to get to the part where I can choose a design like McKinnon.

Add new comment

  1. What a pleasure to work with Freelock in launching our family website for the West Seattle community. John and Jill were vital to our success. We quickly saw that Drupal could handle our scope of requirements and thrilled to find that many of our wish list features were doable with such a capable staff. Communication and support are out of this world impressive with the Freelock team and set the standard for the industry. On time and in budget. Freelock is the clear choice.

    Jackie Clough, Owner
    West Seattle Family Zone

Need More Freelock

       

About Freelock

We are located in Pioneer Square, in downtown Seattle. 83 Columbia Street #401 Seattle, WA 98104  USA [P] 206.577.0540 Contact Us/Directions | Site Map Get Updates ©1995-2014 Freelock Computing