极客牧场网站的想法

作者:Phil Hughes

在我的上一篇文章中,我介绍了极客牧场的想法。这个设施不仅仅是供极客编写代码的地方。我们需要一个网站来向不同的受众宣传这个设施。该网站的所有组成部分尚未确定,但我们确实有一个初步的功能列表。

以下是列表

  • 一个基本的“关于设施”部分,其中包含设施各个方面的子部分。这意味着极客小屋将与生态旅游、会议中心或餐厅位于不同的页面或部分。
  • 天气是一个卖点。我们希望提供当前和历史天气信息。
  • 让我们加入一两个网络摄像头。虽然十二月阳光明媚,咖啡成熟并不是什么新闻,但这肯定会帮助明尼苏达州的人们决定他们为什么更愿意来这里。
  • 一个关于农场的部分。农场项目将是特别的,我们希望帮助人们了解我们正在做什么。请注意,需要理解的人不仅仅是潜在客户,当地人也需要了解情况。
  • 一个预订系统。这可能最初是一个通过电子邮件发送给我们的表格,但需要发展成为一个在线系统,用于下订单和处理信用卡付款。
  • 某种照片库。这仍在考虑中,但例如,拥有在农场上生长的每种植物的照片和描述会很好。我的意思是,你们中的一些人可能分不清你们的黄果和红酸浆。
  • 最后但并非最不重要的一点是,该网站至少需要是双语的。

虽然我们可以想象从头开始编写所有内容,但我们比那更聪明。我们已经了解到,有很多系统可用于制作网站。专注于外观和内容是我们需要关注的地方。话虽如此,以下是三种可能的方法——每种方法都有优点和缺点。当然,还有更多。

Karrigell 是一个基于 Python 的 Web 框架。它是极简主义的,这意味着它提供的功能可能少于您想要的,但另一方面,它非常容易理解。Sourceforge 页面将告诉您相关信息。

我使用 Karrigell 编写了一个电台控制器。我是在三年前完成那个项目的。它很容易实现,虽然我构建的只是一个原型,但它满足了我的需求。由于电台被设计成一个只有闪存、无线链路和一个发射器的 Linux 盒子(所有这些都由电池和太阳能电池板供电),因此极简主义非常重要。Karrigell 很紧凑,包含自己的 Web 服务器,并且对高性能系统的要求不高即可完成工作。

缺点是 Karrigell 不是内容管理系统 (CMS)。虽然它提供了许多工具来构建您的网站,但您会发现自己需要编写 Python 代码才能完成工作。这比从头开始用 PHP 编写代码更进一步,但如果您需要呈现大量动态内容,您仍然有很多工作要做。

但是,如果您的网站主要是静态的,只有少数“智能”页面,那么 Karrigell 可能是完美的选择。静态内容可以直接提供,因此您只需要在页面有有趣的内容要处理时才需要使用它的魔力。

多年来,Drupal 一直是我们需要 CMS 的网站的“答案”。虽然它很大,但它高效且模块化。有一个模块可以完成您想要的大部分事情,并且可以很容易地将 PHP 嵌入到块或文章中,或者如果您有特殊的事情要做,也可以编写一个新模块。您可以在 Drupal 网站上找到更多信息。

还有许多 Drupal 主题可供您使用,或者稍作修改以使网站看起来像您想要的样子。随着 CSS 的出现以及大多数系统(包括 Karrigell)中包含用于组成页面的片段的能力,预先打包的主题变得不那么重要。但是,如果您想继续编写内容并在稍后确定演示文稿,那么 Drupal 是一个非常好的起点。

我唯一保留意见的是 Drupal 的多语言方面。网站信息(即 Drupal 提供的所有内容,例如菜单)以用户选择的语言显示的能力似乎运行良好。但是,处理多语言内容似乎不太完美。具体来说,国际化模块使用起来有点麻烦,并且存在一系列未解决的错误。我希望这些问题能在 Drupal 6 中得到解决。

就 CMS 而言,Joomla 可能是 Drupal 最接近的竞争对手。Joomla 源于 Mambo。JoomFish 是一个用于处理多种语言的强大功能模块。这个名字显然来自 Joomla 和 Babelfish 的组合。虽然它是一个多语言模块,但它不是一个自动翻译器。对于您希望以多种语言进行正确翻译的网站,这实际上是一个优点。

Joomfish 拦截 CMS 前端的内容读取。如果用户首选的语言与网站默认语言不同,Joomfish 会检查是否有该语言的翻译版本可用。如果有,则提供翻译版本。它有一个不错的管理界面,可以显示您已翻译的内容、尚未翻译的内容以及已翻译但已过期的内容。

如果您想了解它在“现实生活”中是如何运作的,请查看 NicaPlaza.com。它是使用 Joomla 和 Joomfish 实现的。

Joomla 网站告诉您更多信息,包括有关可能的许可问题的信息。Joomla 在 GPL 下获得许可,并且正在就“链接” Joomla 与非 GPL 代码的解释进行辩论。目前的立场是,从 1.5 版(下一个主要版本)开始,将不再允许这样做。由于许多 Joomla 第三方插件模块都是商业许可的,这可能会将 Joomla 放到选择列表的底部。只有时间会证明一切。

我们会选择哪个?我们还不知道。我内心真正的极客想要选择另一个答案,Django,这是一个庞大而令人惊叹的工具包,在众多其他功能中,这意味着我只需编写 Python 代码,而永远不必再次接触 SQL。

对我来说,Django 将是最有趣的,但它远非最快的方式来建立和运行我们需要的网站。我比某些人更务实一些,我将继续使用 Karrigell、Drupal 和 Joomla,直到我确信哪一个能以最少的努力获得我们需要的结果。

加载 Disqus 评论