?

Log in

No account? Create an account

Previous Entry | Next Entry

В продолжение цикла заметок об организации компьютерного фестиваля Chaos Constructions, расскажу об использовании Google сервисов на CC'2009.

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

Конечно, полная замена была невозможна, в связи с нашей спецификой - у меня все было интегрировано в единую систему, что давало ряд преимуществ. После рассмотрения различных сервисов, по моей и oldayn '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 srpspb и 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 страницу со ссылками на перечисленные источники информации.

Tags:

Comments

( 17 comments — Leave a comment )
_dyn
Sep. 8th, 2009 09:41 am (UTC)
Чем в итоге видео воспроизводили?
старыми средствами или таки бубс настроили?
cr_it
Sep. 8th, 2009 10:03 am (UTC)
partymesiter+boobs
_dyn
Sep. 8th, 2009 10:05 am (UTC)
ну там Зум просто жаловался, что бубс очень ограниченный спискок медиа файлов воспроизводить умеет.
cr_it
Sep. 8th, 2009 10:24 am (UTC)
Форматов. Да - так и есть. Старыми средствами никак не получилось бы, раз мы отказались от моего старого движка. Т.е. на party фарш назад уже не провернешь - не успеть.
sssurikov
Sep. 8th, 2009 07:18 pm (UTC)
и в результате моя демка по JavaFX

http://jfxstudio.wordpress.com/2009/08/25/demo-for-chaos-constructions-2009/

до показа так и не дошла.
cr_it
Sep. 8th, 2009 08:28 pm (UTC)
Сожалею, но я не контролирую всё. Бардака хватало.
Тем не менее, помню отчетливо, что эта работа была опубликована в открытом доступе до начала фестиваля. Т.е. по правилам она не может участвовать в конкурсе. Цитата:
-------
По большинству конкурсов работы должны быть созданы именно для нашего фестиваля и не публиковаться ранее. Если ваш случай противоречит этому утверждению - обязательно свяжитесь с нами.
-------
http://party.cc.org.ru/compos_general.php
sssurikov
Sep. 11th, 2009 04:25 am (UTC)
да я всё понимаю, просто она была выложена на моём собственном сайте после того как выяснилось что отправить её вам не получается, толь сервер перегружен был толь ещё что, не принималось и всё. И почта до вас не доходила т.к. у вас стоит антиспам фильтр на мыло с gmail, пришлось с других ящиков слать. И в самой демке явно написано что она для сс9 а не куда-то ещё.
cr_it
Sep. 11th, 2009 04:23 pm (UTC)
Наша вина безусловно есть, я не спорю.
Хотя, что касается антиспама - дело в том, что скажем у меня ящик не на gmail (т.к. я знаю все его приколы, типа молчаливого прибивания EXE'шников). У меня тоже фильтры есть, впрочем. Так что, видимо, email с которого ты писал - в каких-то blacklist'ах основательно прижился.
amavlyanov
Sep. 10th, 2009 03:38 am (UTC)
пытаюсь её запустить в java web start но что-то не получается никак...
sssurikov
Sep. 10th, 2009 04:21 am (UTC)
по правилам конкурса должно работать локально без инета. Поэтому только батник.
superelectronic
Sep. 9th, 2009 05:50 am (UTC)
Пользуюсь гугл сервисами года 3 уже.
melfar
Sep. 9th, 2009 12:21 pm (UTC)
test
По-моему, самое слабое место — необходимость бесперебойного доступа к интернету.

Кстати, ютуб последнее время стал раздражать тем, что удаляет ролики "за несоблюдение" непонятно каких правил, а также "недоступностью роликов в вашей стране".
amavlyanov
Sep. 10th, 2009 03:39 am (UTC)
Re: test
есть tos - нельзя выкладывать копирайченный материал. поэтому удаляют по требованию правообладателей.

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


а "недоступно в стране" - это кино и телекомпании договариваются с youtube что вот например в англии будут доступны такие-то ролики. например программы bbc.
cr_it
Sep. 10th, 2009 11:22 am (UTC)
Re: test
Не могу согласиться, что это слабое место. Эта проблема может быть полностью решена (для оргзоны) сочетанием нормального Интернета и backup'a через 3G (и Google Gears если она будет доведена до вменяемого состояния). Зато преимуществ масса и их ничем не заменишь в случае отказа от онлайна.
Что касается youtube, пока лично я не замечал каких-либо проблем. Основное что их волнует - озвучка роликов известной музыкой и коммерческий контент (видеоклипы и т.п.)
melfar
Sep. 10th, 2009 11:29 am (UTC)
Re: test
Я натыкался множество раз за последнее время, вот тут, например: http://www.pouet.net/prod.php?which=53638
ссылка на ютуб пишет "Это видео было удалено из-за нарушения условий использования."
cr_it
Sep. 10th, 2009 11:45 am (UTC)
Re: test
Да, странно. Подозреваю, что дело в музыке.
aggressor_tpa
Sep. 25th, 2009 05:29 am (UTC)
Re: test
Нет. Дело в том как создавалось/обрабатывалось видео. Например, видео снятое на фотоаппарат/видеокамеру Sony после загрузки на You Tube будет помечено как принадлежащее Sony Entertainment, за счёт соотв.сигнатуры в хэдере. Если на это не отреагировать письмом - видео спустя некоторое время удалят. Если отреагировать - обещают что придётся доказывать в т.ч. возможно в суде свой копирайт и дальше никаких телодвижений не предпринимают, видео висит.
( 17 comments — Leave a comment )