Перекодирование веб-сайта подкаста - что я должен использовать? - PullRequest
2 голосов
/ 17 ноября 2009

Хорошо, вот сделка. Я и некоторые друзья делаем подкаст (уже более 4-х лет), и в апреле мы повторно запустили сайт, который включал новый Backend. Поскольку у меня было всего 2 недели, чтобы все заработало, я решил создать что-то с нуля, чтобы все соответствовало нашим потребностям. Все это было написано на Python на основе mod_python.

В настоящее время у меня не так уж много работы, поэтому я подумал о рефакторинге кода (поскольку код, который вы пишете за 2 недели, не самый чистый, как вы можете себе представить), я пришел к мысли, что могу основать это на CMS.

Мне понадобилось несколько минут, чтобы написать модель для всего этого, но вот она:

Все

  • Создать по
  • Создать в
  • Под редакцией
  • Отредактировано в

Пользователи

  • Usermame
  • Пароль
  • REALNAME
  • Администратор (True / False)
  • Модератор (True / False)
  • Профиль виден (True / False)
  • Картинка профиля
  • Текст профиля

Теги (принадлежат_ человеку_ постам)

  • Имя

Сообщений (has_many: файлы,: комментарии,: теги)

  • Название
  • Заголовок канала
  • EpisodeNumber
  • Тип (Podcast / Новости)
  • Дата
  • Изображение
  • Комментарии (Open / Closed / Hidden)
  • State (Public / Авто / Hidden)
  • Текст
  • Files
  • Метки

Файлы (принадлежащие_мани: сообщения)

  • Файл
  • Размер
  • Продолжительность (Для определения длины файлов mp3 / mp4 / m4v необходимы библиотеки)

Комментарии (принадлежат_ сообщениям)

  • Сообщение
  • Пользователь (если размещен подкастером, поэтому мы можем выделить комментарий и т. Д.)
  • Дата
  • Hidden (True / False)
  • Имя * * 1092
  • E-mail
  • IP
  • Текст

Страницы

  • Название
  • Текст

Хорошо, все вышеперечисленное довольно просто, только получение продолжительности mp3 и т. Д. Может быть как-то хлопотно.

Теперь самая большая проблема - отслеживание загрузок.

Для этого нужны пользовательские таблицы с именем Year_Month в следующем формате:
- строки с: fileID all, itunes, feed, прочее и т. д.

При каждой загрузке мы создаем новые таблицы и строки по мере необходимости. Часть получения информации и ее преобразования в диаграммы довольно сложна.

Выбор ...

Итак, я взглянул на Drupal, Django и Ruby on Rails. Drupal - это PHP ... ну, у меня нет проблем с PHP, главный вопрос здесь - как реализовать проверку продолжительности для mp3.

Django - это Python, так как я тоже писал текущий сайт на python, многие вопросы отпали.

Ruby on Rails, кажется, очень хорош для кикстарт-разработки (я люблю Railscasts), к сожалению, попытка разработать Demo с Aptana RadRails эпически провалилась до трассы стека в 200 строк. Так как я ничего не делал с Руби, прежде чем я остановился там.

Я надеюсь, что некоторые из вас, люди, могут помочь мне с выбором здесь, так как вы, возможно, уже имеете опыт работы с Drupal / Django / Ruby on Rails, которого у меня нет, и я действительно ненавижу его начинать заново после того, как я на полпути, хотя проект, только потому, что есть небольшая вещь, которая не может быть реализована с помощью технологии XYZ.

Ответы [ 4 ]

2 голосов
/ 17 ноября 2009

Drupal сложен и не тот, который вы легко научитесь использовать. Самое замечательное в этом то, что вы получаете много бесплатно. Вы много строите с модулями, настройками и тому подобным, вместо того, чтобы кодировать свои собственные вещи. В этом случае с такими модулями, как CCK , views , ffpc , вы сможете создавать подкасты без особой работы. Единственное, что нужно настроить - это довольно сложно, если вы не знаете, как работает drupal. Несколько недель назад я на самом деле создал сайт подкастинга, который нуждался в большем количестве функций, чем вы описали, и имел стильную альфа-версию со всем готовым в течение недели. Поэтому использование Drupal может быть невероятно мощным, но только если вы знаете, как это сделать.

С другой стороны, вам легче управлять django. Вы делаете намного больше в коде, по сравнению с Drupal, но когда вам это удобно, это не должно быть проблемой. Также кажется, что ваш отказ от сайта и то, что требуется, больше подходит для мышления Django, чем для Drupal. Drupal не использует объекты так же, как Django, и его использование в ОО-программировании также сильно отличается, поскольку он не использует объекты так часто.

Мне кажется, что для вас будет очень полезно использовать Django, но если бы я выбрал прямо сейчас между Django и Drupal, оба из которых я использую для разных проектов, Drupal был бы мой выбор, так как большая часть того, что нужно, уже сделана, поэтому все, что нужно, это настроить несколько вещей.

Отказ от ответственности, я не работал с RoR, поэтому не знаю, как это будет, но из того, что я слышал, это во многом похоже на Django.

0 голосов
/ 17 ноября 2009

Глядя на ваши характеристики, я не думаю, что вы говорите о ракетостроении, которое потребовало бы, чтобы вы начали все сначала, пройдя половину своего проекта. И RoR, и Django - это испытанные в полевых условиях фреймворки, которые позволят вам делать то, что вы хотите достичь, и это сводит вас к знакомству с ними. Так как у вас есть опыт работы с Python, я думаю, что Django "может" и вам помочь.

0 голосов
/ 17 ноября 2009

Перейти с RoR. Упростить. По моему мнению, RadRails является излишним. Используйте TextMate. Он имеет множество полезных сочетаний клавиш, которые упрощают и ускоряют разработку.

...