English 中文(简体)
Recoding a Podcast Website - What should I use?
原标题:

OK here is the deal. Me and some buddies are doing a Podcast(for over 4 year now) and in April we relaunched the site, that included a new Backend. Since I only had 2 weeks back then for getting everything to work, I decided to create something from scratch so everything fitted precisely our needs. The whole thing was written in Python based on mod_python.

At the moment I don t have much to do so I thought about refactoring the code(since code you write in 2 weeks isn t the cleanest one as you can imagine), I came to the idea that I could base it on a CMS.

It did take me some minutes to write up the model for the whole thing but here it is:

All

  • Create by
  • Create at
  • Edited by
  • Edited at

Users

  • Usermame
  • Password
  • Realname
  • Administrator(True/False)
  • Moderator(True/False)
  • Profile visible(True/False)
  • Profile picture
  • Profile text

Tags(belongs_to_many :posts)

  • Name

Posts(has_many :files, :comments, :tags)

  • Title
  • Feed Title
  • EpisodeNumber
  • Type(Podcast/News)
  • Date
  • Image
  • Comments(Open/Closed/Hidden)
  • State(Public/Auto/Hidden)
  • Text
  • Files
  • Tags

Files(belongs_to_many :posts)

  • File
  • Size
  • Duration(This needs libraries for determening the length of mp3/mp4/m4v files)

Comments(belongs_to :posts)

  • Post
  • User(If posted by a podcaster, so we can highlight the comment etc.)
  • Date
  • Hidden(True/False)
  • Name
  • Email
  • IP
  • Text

Pages

  • Title
  • Text

OK the stuff above is pretty simple, only the getting the duration of the mp3s etc. could be somehow troublesome.

Now comes the bigest problem, our download tracking.

This needs custom tables named Year_Month with the following format:
- rows with: fileID all, itunes, feed, other etc.

On every download we create new tables and rows as necessary. The part of getting the information back out and converting it into charts is quite complex.

Choosing...

So I took a look at Drupal, Django and Ruby on Rails. Drupal is PHP... well I have no problem with PHP the main question here is how to implement duration check for mp3s.

Django is Python since I wrote the current site in python too, many questions fall away.

Ruby on Rails seems pretty good for kickstart development (I love the Railscasts), unfortunately, trying to develop a Demo with Aptana RadRails failed epically to a 200 line stack trace. Since I didn t do anything with Ruby before I stopped there.

I hope that some of you people can help me with the choice here, since you may already have experience with Drupal/Django/Ruby on Rails that I don t have, and I really hate it to having start over after being half way though a project, only because there is some little thing that can t be implemented with technology XYZ.

问题回答

Drupal is complicated and not something you easily learn to use. The thing about it, which is very nice, is that you get a lot for free. You do a lot of building with modules, settings and such, instead of coding your own stuff. In this case, with modules such as CCK, views, ffpc you would be able to generate podcasts without much work. The only thing is customizing it, is quite hard, if you don t know how drupal works. A few weeks ago, I actually made a podcasting site which needed more features than you describe and had a styled alpha version with everything ready within a week. So using Drupal can be incredibly powerful, but only once you know how to do it.

On the other hand, django is probably a bit easier for you to control. You do a lot more in the code, compared to Drupal, but when you are comfortable doing this, it shouldn t be a problem. It also seems that your break down of the site and what s required fits the Django way of thinking a lot more than the Drupal way. Drupal doesn t use objects the same way Django do and it s use of OO programming is a lot different too, since it doesn t use objects that often.

It seems to me, that for you it will be a lot to use Django, but if I should choose right now between Django and Drupal, both of which I use for different projects, Drupal would be my choice, since most of what s needed is already made, so all that s needed is setting up a few things.

Disclaimer, I haven t worked with RoR, so don t know how that would be, but from what I ve heard, it s a lot like Django in many aspects.

The Ruby on Rails Podcast site by Geoffrey Grosenbach is open source. That would at least give you a good starting point.

Go with RoR. Simplify. In my opinion, RadRails is overkill. Use TextMate. It has a ton of helpful keyboard shortcuts that simplify and speed up development.

Looking at your specs, I don t think you are talking about rocket science that would require you start over after being half way through your project. Both RoR and Django are field tested frameworks that will enable you to do what you want to accomplish, and that makes it boil down to your familiarity with them. As you have Python experience, I think Django "might" be the way to go.





相关问题
rails collection_select vs. select

collection_select and select Rails helpers: Which one should I use? I can t see a difference in both ways. Both helpers take a collection and generates options tags inside a select tag. Is there a ...

SSL slowness in EC2

We ve deployed our rails app to EC2. In our setup, we have two proxies on small instances behind round-robin DNS. These run nginx load balancers for a dynamically growing and shrinking farm of web ...

Auth-code with A-Za-z0-9 to use in an URL parameter

As part of a web application I need an auth-code to pass as a URL parameter. I am currently using (in Rails) : Digest::SHA1.hexdigest((object_id + rand(255)).to_s) Which provides long strings like : ...

RubyCAS-Client question: Rails

I ve installed RubyCAS-Client version 2.1.0 as a plugin within a rails app. It s working, but I d like to remove the ?ticket= in the url. Is this possible?

activerecord has_many :through find with one sql call

I have a these 3 models: class User < ActiveRecord::Base has_many :permissions, :dependent => :destroy has_many :roles, :through => :permissions end class Permission < ActiveRecord::...

Ordering a hash to xml: Rails

I m building an xml document from a hash. The xml attributes need to be in order. How can this be accomplished? hash.to_xml

Text Editor for Ruby-on-Rails

guys which text editor is good for Rubyonrails? i m using Windows and i was using E-Texteditor but its not free n its expired now can anyone plese tell me any free texteditor? n which one is best an ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签