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
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Designing Electronics with Linux
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- New Products
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Validate an E-Mail Address with PHP, the Right Way
- Build a Skype Server for Your Home Phone System
- Tech Tip: Really Simple HTTP Server with Python
- Why Python?
- A Topic for Discussion - Open Source Feature-Richness?
- Not free anymore
3 hours 31 min ago - Great
7 hours 18 min ago - Reply to comment | Linux Journal
7 hours 26 min ago - Understanding the Linux Kernel
9 hours 41 min ago - General
12 hours 10 min ago - Kernel Problem
22 hours 13 min ago - BASH script to log IPs on public web server
1 day 2 hours ago - DynDNS
1 day 6 hours ago - Reply to comment | Linux Journal
1 day 6 hours ago - All the articles you talked
1 day 9 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?



Comments
You have mentioned There are
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
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
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
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