Ideas for a Geek Ranch Web Site

In my last article I introduced the idea of the Geek Ranch. The facility will be more than just a place for geeks to write code. We are going to need a web site to promote the facility to the various audiences. All the pieces of that web site are not yet determined but we do have an initial features list.

Here it is:

  • A basic "about the facility" part with sub-parts for each facet of the facility. That means Geek Cottages will be in a different page or section than Eco-Tourism, the conference center or the restaurant.
  • Weather is a selling point. We want to offer current and historical weather information.
  • Let's toss in a web cam or two. While a sunny day with coffee maturing in December isn't news here, it will certainly help someone in Minnesota decide why they would rather be here.
  • A section about the farm. The farm project will be special and we want to help people understand what we are doing. Note that the people that need to understand are not just potential customers—locals need to get the picture as well.
  • A reservation system. This might start out as a form that gets emailed to us but needs to evolve into an on-line system to place reservations and handle credit card processing.
  • Some sort of photo gallery. This is still being thought about but, for example, it would be nice to have photos of each type of plant growing on the property and a description. I mean, some of you probably can't tell your nancite from your jocote.
  • Last but not least, the site need to be at least bi-lingual.

While we could conceivably write this all from scratch, we are smarter than that. We have learned that there are lots of systems available to produce web sites. Concentrating on the look and the content is where we need to focus. That said, here are three possible approaches--each with pluses and minuses. There are, of course, many more.

Karrigell is a Python-based web framework. It is minimalist which means it does less than you might want but, on the other hand, it is very easy to understand. The Sourceforge page will tell you the story.

I used Karrigell to write a radio station controller. I did that project over three years ago. It was easy to implement and while what I built was only a prototype, it did what I needed. As the radio station is designed to be a Linux box with nothing but flash memory, a wireless link and a transmitter all running off a battery and solar panel), minimalist was important. Karrigell is compact, includes its own web server and requires little in the way of a high-performance system to get the job done.

The downside is that Karrigell is not a Content Management System (CMS). While it offers a lot of tools to put together your site, you will find yourself writing Python to get your job done. It is a step up from writing in PHP from scratch but you will still have a lot of work to do if you need to present a lot of dynamic content.

If, however, your site is mostly static with a few "intelligent" pages, Karrigell might be the perfect fit. Static content can be served directly so you only need use its magic when the page has funny stuff to do.

Drupal has been "the answer" for sites that require a CMS for us for years. While it is big it is efficient and modular. There is a module to do most of the things you want and it is easy enough to either embed PHP into a block or article or write a new module if you have something special to do. You can find more on the Drupal site.

There are also many Drupal themes that you can use or modify a bit to make the site look like what you want. With the advent of CSS and the ability in most systems (including Karrigell) to include pieces to make up a page, a pre-packaged theme is a bit less important. If, however, you want to get on with writing content and firm up your presentation later, Drupal is a very good place to start.

The one reservation I have is the multi-language aspects of Drupal. The ability to have the site information--that is, all the stuff Drupal supplies such as menus--appear in a user's choice of languages seems to work great. Handling multi-language content, however, seems to be less than perfect. Specifically, the internationalization module is a bit cumbersome to use and has an array of outstanding bugs. I am hoping that these issues get cleared up in Drupal 6.

Joomla is probably the closest competition to Drupal as far as a CMS. Joomla grew out of Mambo. A great feature for dealing with multiple languages is a module called JoomFish. The name clearly came from combining Joomla and Babelfish. While it is a multi-language module it is not an automatic translator. For a site where you want it to be correct in multiple languages, this is actually a plus.

Joomfish intercepts content reads by the CMS front end. If the user prefers a language different from the site default, Joomfish checks to see if a translation is available in that language. If so, the translated version is delivered. It has a nice management interface that shows you what you have translated, what you haven't and what was translated but is out of date.

If you want to see how this works in "real life", take a look at NicaPlaza.com. It is implemented using Joomla and Joomfish.

The Joomla site tells you a lot more including information on a possible licensing issue. Joomla is licensed under the GPL and there is a debate going on regarding the interpretation of "linking" Joomla with non-GPLed code. The current stance is that starting with version 1.5 (the next major release) this will no longer be allowed. As many Joomla third party addon modules are commercially licensed, this could send Joomla to the bottom of list of choices. Only time will tell.

What will we pick? We don't know yet. The true geek in me wants to pick yet another answer, Django a huge and amazing toolkit that among many other things means I can write just Python and never have to touch SQL again.

For me, Django would be the most fun but it is far from the quickest way to get the site we need up and running. Being a bit more pragmatic than some, I will continue to play with Karrigell, Drupal and Joomla until I am convinced which one will get the results we need with the least effort.

______________________

Phil Hughes

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

You have mentioned There are

vaskos's picture

You have mentioned
There are also many Drupal themes that you can use or modify a bit to make the site look like what you want.

Most of community contributed Drupal themes from http://drupal.org/project/Themes can also be seen on live demo at Drupal Theme Garden

Theme Garden is great

Webmistress's picture

I am a big fan. :) It is very useful when you are getting started with a site, or even for Drupal beginners to get a good idea of what is possible and get inspiration.

Katherine Druckman is webmistress at LinuxJournal.com. You might find her on Twitter or at the Southwest Drupal Summit

geek farm

cthubik's picture

Sounds fun. I hope you don't wind up using whatever framework is being used on this site though, as it's doing something weird with red underlined text in Opera.

Thanks for pointing this out

Webmistress's picture

There were a couple open anchor tags causing the problem. Opera is just a little less forgiving with html errors. It is not a problem with Drupal. Drupal is a pretty great framework for a lot of purposes. I wouldn't say it is always the answer, but it is a good one for us.

Thanks again!

Katherine Druckman is webmistress at LinuxJournal.com. You might find her on Twitter or at the Southwest Drupal Summit

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix