Структура календаря с резервированием

Я пытаюсь найти структуру данных для календаря, которая должна предлагать ту же функциональность, что и календарь Google (хочу создать структуру в своей собственной базе данных sql)..

Он должен предлагать одноразовый, многократный, день открытия, дату от даты до, события и так далее... Но немного сложно найти правильную структуру - вы знаете, где я могу найти шаблон или что-то еще, что мне помогает?

Благодарю вас!

ИЗМЕНИТЬ:

Хм... Я не нашел ни одного рельсового плагина или чего-то, что соответствовало бы моим пожеланиям...

Я хочу создать сайт социальной сети, где пользователи могут создавать встречи для занятий в свободное время... и поэтому мне нужна структура календаря...

Существуют ли какие-либо плагины для рельсов или что-то в этом роде?


person BvuRVKyUVlViVIc7    schedule 03.06.2009    source источник


Ответы (3)


Вы можете ознакомиться с документацией GData API Календаря Google. чтобы получить некоторые идеи. Однако я настоятельно советую вам не быть слишком амбициозными. Календарь — это очень сложно. Часовые пояса, несколько участников, повторения (и исключения из них), взаимодействие с другими календарными системами и т. д. — все это болезненно.

Чем больше вы сможете себя ограничивать, тем легче будет ваша жизнь. Например, я предлагаю вам попытаться сделать ваше рекуррентное представление довольно простым - с минимальной детализацией дней, а не часов/секунд и т. д., и, возможно, запретить такие понятия, как "каждый понедельник, среду и пятницу".

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

person Jon Skeet    schedule 03.06.2009

Существует стандарт, который используют многие календарные системы для обмена данными между собой.

http://en.wikipedia.org/wiki/ICalendar

Это немного тяжело и может быть больше, чем вы ищете. Хотя это может помочь.

person Brad Bruce    schedule 03.06.2009

Оцените новый гем под названием RiCal (http://rubyforge.org/projects/rical/) . Я еще ничего не создавал с его помощью, но он выглядит многообещающе как способ манипулирования информацией о событиях в Ruby.

person Matt Gillooly    schedule 05.06.2009