【问题标题】:Recoding a Podcast Website - What should I use?重新编码播客网站 - 我应该使用什么?
【发布时间】:2010-12-17 12:21:50
【问题描述】:

好的,这就是交易。我和一些朋友正在做播客(现在已经超过 4 年了),并且在 4 月我们重新启动了该网站,其中包括一个新的后端。由于那时我只有 2 周的时间让一切正常工作,所以我决定从头开始创建一些东西,以便一切都完全符合我们的需求。整个东西是用 Python 基于 mod_python 编写的。

目前我没有太多工作要做,所以我考虑重构代码(因为您在 2 周内编写的代码并不是您能想象的最干净的代码),我想到了我可以建立基础的想法它在 CMS 上。

我确实花了一些时间来编写整个模型的模型,但这里是:

全部

  • 创建者
  • 创建于
  • 编辑者
  • 编辑于

用户

  • 用户名
  • 密码
  • 实名
  • 管理员(真/假)
  • 版主(真/假)
  • 个人资料可见(真/假)
  • 个人资料图片
  • 个人资料文本

标签(belongs_to_many :posts)

  • 姓名

帖子(has_many :files, :cmets, :tags)

  • 标题
  • Feed 标题
  • 剧集数
  • 类型(播客/新闻)
  • 日期
  • 图片
  • 评论(打开/关闭/隐藏)
  • 状态(公共/自动/隐藏)
  • 文字
  • 文件
  • 标签

文件(belongs_to_many :posts)

  • 文件
  • 尺寸
  • 持续时间(这需要用于确定 mp3/mp4/m4v 文件长度的库)

评论(belongs_to :posts)

  • 发布
  • 用户(如果由播客发布,我们可以突出显示评论等)
  • 日期
  • 隐藏(真/假)
  • 姓名
  • 电子邮件
  • IP
  • 文字

页面

  • 标题
  • 文字

好吧,上面的东西很简单,只有获取 mp3 等的持续时间可能会有些麻烦。

现在最大的问题来了,我们的下载跟踪。

这需要名为 Year_Month 的自定义表,格式如下:
- 行:fileID all、itunes、feed、other 等。

每次下载时,我们都会根据需要创建新的表和行。 获取信息并将其转换为图表的部分非常复杂。

正在选择...

所以我看了一下 Drupal、Django 和 Ruby on Rails。 Drupal 是 PHP ......好吧,我对 PHP 没有任何问题,这里的主要问题是如何实现 mp3 的持续时间检查。

Django 是 Python,因为我也是用 python 编写当前站点的,所以很多问题都消失了。

Ruby on Rails 似乎非常适合 kickstart 开发(我喜欢 Railscasts),不幸的是,尝试使用 Aptana RadRails 开发 Demo 以 200 行堆栈跟踪失败。因为在我停在那里之前我没有对 Ruby 做任何事情。

我希望你们中的一些人可以在这里帮助我选择,因为你们可能已经有过我没有的 Drupal/Django/Ruby on Rails 经验,而且我真的很讨厌在经历之后重新开始项目进行到一半,只是因为有一些小东西不能用 XYZ 技术实现。

【问题讨论】:

  • 好。必需 - 至少 15 个字符

标签: ruby-on-rails django drupal refactoring web


【解决方案1】:

Drupal 很复杂,不是很容易学会使用的。它的好处是,你可以免费获得很多东西。您使用模块、设置等进行大量构建,而不是编写自己的东西。在这种情况下,使用 CCKviewsffpc 等模块,您无需做太多工作就可以生成播客。唯一的事情就是定制它,如果你不知道 drupal 是如何工作的,那是相当困难的。几周前,我实际上做了一个播客网站,它需要比你描述的更多的功能,并且有一个风格化的 alpha 版本,一周内一切就绪。因此,使用 Drupal 可以非常强大,但只有在您知道如何操作之后。

另一方面,django 可能更容易控制。与 Drupal 相比,您在代码中做的更多,但是当您习惯这样做时,这应该不是问题。似乎您对站点的分解和所需的内容更符合 Django 的思维方式,而不是 Drupal 的方式。 Drupal 使用对象的方式与 Django 不同,它对 OO 编程的使用也有很大不同,因为它不经常使用对象。

在我看来,对你来说使用 Django 会很重要,但是如果我现在应该在 Django 和 Drupal 之间进行选择,这两种我都用于不同的项目,Drupal 会是我的选择,因为大部分需要的东西已经做好了,所以只需要设置一些东西。

免责声明,我没有与 RoR 合作过,所以不知道会怎样,但据我所知,它在很多方面都非常像 Django。

【讨论】:

  • 如果您决定使用 Drupal,Drupal 的 getid3() 模块将帮助查找附加 MP3 的持续时间:drupal.org/project/getid3
【解决方案2】:

Geoffrey Grosenbach 的 Ruby on Rails Podcast 站点是开源的。这至少会给你一个很好的起点。

【讨论】:

    【解决方案3】:

    选择 RoR。简化。在我看来,RadRails 太过分了。使用文本伴侣。它有大量有用的键盘快捷键,可以简化和加速开发。

    【讨论】:

    • TextMate 需要 Mac.. 我现在被 WindowsVista 卡住了 :( 直接修改下载表的数据库怎么样,在 RoR 中这有多容易?
    【解决方案4】:

    查看您的规格,我认为您所说的火箭科学并不是需要您在项目进行到一半后重新开始。 RoR 和 Django 都是经过现场测试的框架,可以让你做你想做的事情,这归结为你对它们的熟悉程度。由于您有 Python 经验,我认为 Django“可能”是要走的路。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多