Перейти к основному содержимому

Календарь на PHP, MySQL и ajax

· 2 мин. чтения

Для корпоративных сайтов зачастую нужен календарь. И ладно бы что-бы он просто показывал дни недели, так зачастую вносится понятие События (Event), а ввиду обширного потенциала этого понятия можно говорить об Event Management System. Поскольку деловым людям свойственно планирование, то такая система должна быть удобной, мобильной и расширяемой. За удобство отвачает ajax, за мобильность - само наличие интернета, а за расширяемость - программист и проектировщик.

А ведь событие ещё может иметь и..

  • повторяемость (с определённым периодом , до бесконечности/определённого числа повторений/конкретной даты )

  • местоположение (для точного - google maps, для неточного - просто текст)

  • привязку к временной зоне

  • неопределённое время или длительность (идёт в todo список?)

  • принадлежать группам или типам событий (деловые встречи, личные встречи, культурные мероприятия)

  • доступ к просмотру для других пользователей (sharing, оповещение)

  • систему оповещения по email/sms/desktop widget


Публичные сервисы

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

Opensource-продукты

Когда дело касается своего сайта, то выбор значительно уже:

  • PlansCalendar на php/mysql, без ajax и видов по дням/неделям

  • phpiCalendar внешне обманчив - работает на файловой системе с .ics файлами

  • monket хоть и на ajax, но скуден

  • thyme платен и по сути чуть лучше чем PlansCalendar

  • jquery fullcalendar - оболочка без серверной части

  • jquery wdcalendar

  • myCalendar

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

На будущее разработчикам - на забудьте что календарь должен быть интегрируем, экспортируем в outlook, ical микроформат , удобен и расширяем.