Обратите внимание, что новости можно получать по RSS.
X
-

События, Информационные технологии, LiveJournal cr_it - архив

8 сентября 2009, 03:39 (5336 дней назад, №8775)Организация Chaos Constructions'2009: Использование Google сервисов
В продолжение цикла заметок об организации компьютерного фестиваля Chaos Constructions, расскажу об использовании Google сервисов на CC'2009. В этом году мы решили отказаться от моего движка, на котором в прошлые годы поддерживался сайт, публичная и организационная часть форума, график фестиваля, задачи для организаторов, бюджет, регистрация конкурсных работ и генерация плейлистов для их показа (правильность этого решения - вопрос отдельный и непростой). Все, что касается конкурсных работ и показа было заменено на PartyMeister, о котором я уже упоминал ранее. Здесь я бы хотел рассказать о том, как решались остальные перечисленные задачи. Конечно, полная замена была невозможна, в связи с нашей спецификой - у меня все было интегрировано в единую систему, что давало ряд преимуществ. После рассмотрения различных сервисов, по моей и 'a инициативе остановились на Google. Причин несколько:
  • Надёжность (во-первых, благодаря технологии, во-вторых, поскольку Google не допустит длительного простоя сервисов, даже если что-то всё же упадёт)
  • Наибольшее количество разнообразных сервисов, иногда интегрированных друг с другом
  • API почти для всех сервисов
  • Значительная часть организаторов уже знакома хотя бы с некоторыми сервисами
  • Распространённость и, как следствие, наличие ряда решений и библиотек, описаний проблем и способов их решений
Задач было две: 1) подготовка, организация и проведение фестиваля 2) функционирование и обновление официального сайта.

ПОДГОТОВКА, ОРГАНИЗАЦИЯ И ПРОВЕДЕНИЕ ФЕСТИВАЛЯ

Сразу хотелось бы упомянуть про общие недостатки Google сервисов, чтобы не возвращаться к этому каждый раз:
  • Неинтуитивный, непонятный интерфейс, причём разный и несогласованный в разных сервисах. В качестве яркого примера - мне так и не удалось довести до всех организаторов мысль, что все расшаренные им документы доступны на http://docs.google.com Из многих мест туда просто не попасть никак, кроме как переходом по прямому URL. А там, где ссылки есть, они называются по-разному. Подчеркну, что это вызывает трудности как у IT'шников, которые у нас составляют большинство, так и для тех, кто с IT почти не связан (такие тоже есть). На фоне того, что людей вообще очень сложно приучить использовать новую для них технологию - это становится большой проблемой.
  • Долго неустраняемые ошибки и недоработки в сервисе или в его API (многократно и давно упоминаемые людьми в их группах поддержки). Пример - недоступность в Google Calendar публичного (без авторизации) feed'a в случае, если privacy для событий установлено в public либо private.
  • При пропадании сети вся работа полностью останавливается (Google Gears, предназначенная для offline работы, на мой взгляд, пока неработоспособна).
Заменой организационной части форума стали Google Groups, в которую были приглашены около 40 человек организаторов и помощников. Несмотря на уже упомянутые странности в интерфейсе (типичная ситуация - люди постоянно нажимали "New Post", когда пытались ответить в текущую тему - в результате создавалась новая), в целом, для обсуждения организационных вопросов сервис вполне адекватен. Удачно, на мой взгляд, сделаны уведомления о новых сообщениях, управление правами пользователей группы, возможность публиковать на главной странице группы ссылки на документы и файлы. Поскольку в Google пока нет средств управления проектами, их роль играли Google Docs и Spreadsheets. В общей сложности, было создано около 43 документов (25 docs + 18 spreadsheets), часть расшарена всем организаторам, часть - взависимости от зоны ответственности. Сильно не хватало более детализированной системы уведомлений и разделения прав доступа (на отдельные колонки в таблицах). Последнее, впрочем, было решено - через создание промежуточной таблицы и использования =IMPORT. В Spreadsheets не хватало возможности вставки изображений в ячейки, отсутствует вывод на печать (вместо этого просто генерится PDF). Очень удобны уведомления об изменениях (только в Google Spreadsheets), просмотр истории изменений документа. Среди документов, которые нами часто использовались, можно выделить:

В Google Spreadsheets:

  • Бюджет
  • Список организаторов и помощников
  • Список экспонатов выставки (с экспортом данных на сайт)
  • Оборудование (все организаторы перечисляют что им требуется и что они могут предоставить, с указанием своего nick'a)
Полезными оказались Google Forms. Каждый год, за неделю до начала фестиваля, я выясняю, кто из организаторов в какое время свободен. Т.е. проводится что-то вроде опроса, для каждого из пяти дней подготовки и проведения, с делением "утро-день-вечер-ночь" (с пятницы по понедельник подготовка и фестиваль идут непрерывно, без перерывов на ночь). Была создана форма и все получили ссылку на неё. Результаты ответов автоматически появились в отдельной таблице (кстати, на днях в Google Forms появилась новая функция - теперь id заполняющего фиксируется автоматически).
  • Завоз/Развоз
Этот документ представлял собой список оборудования, людей, адресов и промежутков времени для организации завоза и вывоза оборудования в дни подготовки и проведения фестиваля. Хотя не удалось полностью осуществить эту идею (человеческий фактор), о ней стоит упомянуть хотя бы в контексте Google Widgets. В таблицу Google Spreadsheets был вставлен виджет, который анализировал адреса (geodecoding), перечисленные в указанной ему колонке и по ним показывал на Google Map метки. Т.е. можно было наглядно видеть все точки и, таким образом, представлять какой маршрут для машин будет наиболее оптимальным.

В Google Docs:

  • Оргструктура (распределение организаторов по направлениям, с отметкой кто является координатором и кто из трех основных организаторов направление курирует)
  • План зала (примерная расстановка экранов, проекторов, электрощитов, столов)
В обоих документах использовались рисунки (Drawing). Все довольно удобно, кроме единственного существенного ограничения - нельзя делать рисунки более определенного (небольшого) размера. Грубо говоря - не больше, чем влезает на экран. Отдельно следует сказать об использовании Google документов на самом фестивале. Поскольку на фестивале события развиваются с огромной скоростью и разбираться/объяснять что-либо времени нет, любые неудобства сразу превращаются в огромную проблему и отнимают драгоценное время. В результате, документы использовались только для двух вещей - подготовки инфодеском списков зарегистрированных на конкурсы и победителей (тех конкурсов, которые проводились на самом фестивале), а также для распределения призов по каждому из конкурсов. Момент, когда на один час пропал Интернет, был весьма неприятным - мне пришлось с 3G модемом усаживаться на сквозняке рядом с грузовым выходом и ловить сигнал (павильон металлический). Хотя, этот вопрос больше к админской части - отсутствие backup'ного линка для оргзоны.

ФУНКЦИОНИРОВАНИЕ И ОБНОВЛЕНИЕ ОФИЦИАЛЬНОГО САЙТА

Вторым вопросом который пришлось решать после отказа от старого движка - как и на чем будет работать сайт. Как я уже упоминал, в качестве CMS использовался Partymeister с прикрученным к нему в качестве форуме PHPbb. Однако, средства работы с контентом в PM настолько примитивны, что без серьезных переделок он не отвечал даже самым минимальным нашим требованиям. А хотелось следующего: удобная публикация новостей с картинками, публикация фотографий, публикация видео. Отражающие реальную ситуацию (т.е. не статичные) разделы "ГРАФИК" и "ВЫСТАВКА". Поскольку реализовывать это все в чужом, не самом прямом, движке - занятие долгое и совершенно бесперспективное, было решено воспользоваться сторонними сервисами, а на нашем сайте лишь собирать с них информацию и показывать её.

Раздел "ГРАФИК"

Поскольку мы остановились на Google сервисах, очевидным решением стал Google Calendar. Все расписание фестиваля было внесено и менялось в специально созданном для фестиваля календаре, расшаренном на запись основным организаторам. В связи с особенностями API, private/public атрибутом пользоваться было неудобно, вместо него использовался "show me as" (available - публичное, busy - скрытое). Наиболее простым оказалось получать данные в формате iCal (для этого для данного календаря в Settings можно получить ссылку на feed, без всяких сложностей с авторизацией). Со стороны нашего сайта был написан скрипт, который, запускаясь каждые 5 минут по крону, разбирал этот ical и выполнял следующие действия:
  • Создаёт HTML файл публичного графика, который вставлялся include'ом в раздел "ГРАФИК"
  • Создаёт XML файл для модуля jsgantt , чтобы организаторы могли посмотреть график в виде диаграммы Ганта (тут надо сделать оговорку, что нормального бесплатного модуля отображения Ганта на js нет - у большинства минимальной единицей считается в лучшем случае час, в то время как у нас это должна быть минута или хотя бы 15 минут. JSGantt это умеет, но довольно криво).
  • Помещает данные в mysql таблицу, из которой Partymeister берет расписания для отображения на большом экране.

Раздел "ВЫСТАВКА"

Здесь требовалось показывать ориентировочный список экспонатов выставки. Для этого из документа Google Spreadsheets через API брался feed по одной из колонок таблицы, полученный XML разбирался и выводился в виде HTML на странице сайта.

ГЛАВНАЯ СТРАНИЦА САЙТА

Для обеспечения работы пресс-центра (thanks to и kirill) - публикации и показа новостей, фотографий, видео были использованы соответственно: Blogspot, Picasa, Youtube и Twitter (да, я в курсе, что он не Google'a, но тем не менее :) В случае с Blogspot и Picasa, ленты новостей забирались скриптом по крону (как RSS feed, каждые 5 минут), форматировались в простой HTML и включались в страницу сайта. В принципе, была реализована возможность забирать RSS сразу из нескольких блогов с публикацией в виде одной ленты, но на практике это не использовалась. Отмечу, что если получение RSS с Blogspot'a проблем не вызывало, то с Твиттером достаточно регулярно возникали одиночные ошибки. Для Picasa и Youtube, здесь были использованы готовые js/ajax решения - PWI и VideoBar Что касается выкладывания видеозаписей семинаров то, к сожалению, Youtube не позволяет закачивать продолжительные ролики, а Google Video слишком странный, для практического использования, сервис (в этот раз я там вообще не нашёл ссылки для закачки, а в прошлый она была, но закачать ничего не удавалось). В итоге, я остановился на video.yandex.ru В конечном счётё, при минимальных усилиях была организована достаточно удобная и эффективная схема для освещения происходящего на фестивале, причем любой при желании мог подписаться на feed'ы непосредственно на самих сервисах. Удобно, что в случае взлома сайта, можно было бы оперативно вывесить простую HTML страницу со ссылками на перечисленные источники информации.
Опубликовано: Пётр Соболев

Случайная заметка

9041 день назад, 02:3918 июля 1999 Не дождался пока фильм The Matrix пойдет в кино, посмотрел на кассете.. Коротко поделюсь впечатлениями (кто еще собирается смотреть - не читайте :). Смотреть интересно, хотя сценарий не на 5. Общая идея: действие происходит в будущем, где все живут не на самом деле. Компьютер(ы) имитируют для людей реальность, в то время как в ...далее

Избранное

2540 дней назад, 01:575 мая 2017 Часть 1: От четырёх до восьми Я люблю читать воспоминания людей, заставших первые шаги вычислительной техники в их стране. В них всегда есть какая-то романтика, причём какого она рода — сильно зависит от того, с каких компьютеров люди начали. Обычно это определяется обстоятельствами — местом работы, учёбы, а иногда и вовсе — ...далее

2052 дня назад, 20:305 сентября 2018 "Finally, we come to the instruction we've all been waiting for – SEX!" / из статьи про микропроцессор CDP1802 / В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой ...далее