Drupal And Google

27
Построение сообществ на Построение сообществ на Drupal, интеграция с сервисами Drupal, интеграция с сервисами Google Google Анна Федорук, Клера Анна Федорук, Клера Виленская Виленская Sterno.Ru Sterno.Ru

description

 

Transcript of Drupal And Google

Page 1: Drupal And Google

Построение сообществ на Drupal, Построение сообществ на Drupal, интеграция с сервисами Googleинтеграция с сервисами Google

Анна Федорук, Клера ВиленскаяАнна Федорук, Клера Виленская

Sterno.RuSterno.Ru

Page 2: Drupal And Google

Система hooks в DrupalСистема hooks в Drupal• Мета-hooksМета-hooks

– Регистрация обработчиков страниц Регистрация обработчиков страниц – Регистрация типов контента Регистрация типов контента – Что нужно делать при включении и отключении модуля, что нужно делать Что нужно делать при включении и отключении модуля, что нужно делать

при выполнении cron-а и т.д.при выполнении cron-а и т.д.• Работа с контентомРабота с контентом

– Создание, изменение, удаление нодыСоздание, изменение, удаление ноды– Отображение нодыОтображение ноды– Разделение доступаРазделение доступа– Работа с комментариямиРабота с комментариями

• Работа с пользователямиРабота с пользователями– Регистрация, удаление, изменение данных, аутентификацияРегистрация, удаление, изменение данных, аутентификация– Отображение инфорации о пользователеОтображение инфорации о пользователе

• Работа с формамиРабота с формами– Создание, темизация формСоздание, темизация форм– Внесение изменений в любую формуВнесение изменений в любую форму

Page 3: Drupal And Google

Реализация API для своих Реализация API для своих собственных модулейсобственных модулей

Модуль NРеализация

hook ААргументы Результат

Выполнение скрипта

внутри модуля

Выполнение скрипта

внутри модуля

Вызов hook Amodule_invoke_all()

или module_invoke()

... ...

Page 4: Drupal And Google

Пример 1: Организация Пример 1: Организация премодерируемого конкурсапремодерируемого конкурса

Работа опубликована

Модерация

Стандартный workflow

Собственный процесс модерации

Пользовательотправляет работу

на конкурс (создание ноды

соответствующего типа)

Оценка работы

Собственный принцип построения рейтинга

VotingAPI

Выполнение рутинныхопераций над голосами

Page 5: Drupal And Google

Реализация 1: MMS-конкурс на Реализация 1: MMS-конкурс на photo-biennale.ruphoto-biennale.ru

Page 6: Drupal And Google

Реализация 2: конкурс видео на Реализация 2: конкурс видео на pepsi.rupepsi.ru

Page 7: Drupal And Google

Пример 2: Организация летучих Пример 2: Организация летучих сообществ по тегамсообществ по тегам

Taxonomy

Ноды с тегами

Летучее сообщество

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

Taxonomy + собственные

принципы отбора пользователей

возможность написать пост непосредственно в летучем сообществе, используя hooks работы с контентом

(hook_nodeapi)

+

Page 8: Drupal And Google

Реализация:Реализация:Летучие сообщества на pepsi.ruЛетучие сообщества на pepsi.ru

Page 9: Drupal And Google

Мультиэго — идея сервисаМультиэго — идея сервиса

• Отображение имени эго theme_username()• Страница эго на сайте• Имя эго в почтовых уведомлениях

Эгоист

Эго 1

Клуб 3

Клуб 1

Эго 3

Эго 2

Клуб 2

Page 10: Drupal And Google

АрхитектураАрхитектура

Разделяемые:• Сессии• Пользователи • Форматы ввода• Информация о типах контента• Информация о словарях таксономии• Подключенные модули• Метаинформация о сообществах

Индивидуальные для каждого клуба:• Контент и комментарии• Теги • Избранное• Личные сообщения• Роли и права эго• Настройки клуба• Ленты и круги доверия• Информация об эго (юзерпики,

настройки)

Центральный сайт сервиса• Точка входа• Каталог клубов• Общесервисный контент

Клуб• Своя политика и правила• Свой контент• Свой внешний вид• Изолированное эго

Ресурсы сервиса

Page 11: Drupal And Google

Мультисайтинг в DrupalМультисайтинг в Drupal

Единый кодядра

+ дефолтные

модули

Началообработки

запроса

+

Определениефайла

конфигурации

Соединение с БД ...

/sites/all/sites/default/sites/адрес_сайта

settings.phpиндивидуальныенастройки сайта

modulesиндивидуальныемодули сайта

themesиндивидуальныетемы сайта

Page 12: Drupal And Google

Создание клуба на МультиЭгоСоздание клуба на МультиЭгоПользователь:

Выбор основных параметров

• Название клуба • Поддомен• Имя эго для владельца

Выбор внешнего вида• Выбор темы• Загрузка логотипа• Выбор иконки юзера

Выбор уровня приватности клуба

Drupal:

• Создание необходимых файлов и директорий

• Создание необходимых таблиц в БД

• Устанавливаем настройки по умолчанию: права пользователей, оформление, настройки страниц и т.д.

• Устанавливаем оформление и права пользователей согласно выбору создателя сообщества

Page 13: Drupal And Google

Дополнительный уровень логикиДополнительный уровень логики

Административный интерфейс• Управление модулями

• Управление темами и блоками• Управление правами пользователей

• Другие важные настройки

Интерфейс владельца• Управоение внешним видом• Ограниченное управление правами пользователей• Ограниченное управление блоками• Настройки клуба• Избранное клуба

Интерфейс пользователя (эгоист/эго/аноним)• Посты и комментарии• Личные сообщения• Личное избранное• Круги доверия и ленты

упрощение

и ограничение

Page 14: Drupal And Google

Drupal и сервисы GoogleDrupal и сервисы Google

Page 15: Drupal And Google

Google через API : GDataGoogle через API : GData

Ресурс

Создать Получить Обновить Удалить

Page 16: Drupal And Google

Пример использования Picasa Web Пример использования Picasa Web Albums Data API на silvercam.ruAlbums Data API на silvercam.ru

ФотографииТегиМесто съемки

Комментарии

КомментарииРейтинг альбомовДобавление в друзьяЛента альбомов друзей

Теги

Page 17: Drupal And Google

Пример использования Picasa Web Пример использования Picasa Web Albums Data API на silvercam.ruAlbums Data API на silvercam.ru

Page 18: Drupal And Google

Пример использования Picasa Web Пример использования Picasa Web Albums Data API на silvercam.ruAlbums Data API на silvercam.ru

Page 19: Drupal And Google

Пример использования Picasa Web Пример использования Picasa Web Albums Data API на silvercam.ruAlbums Data API на silvercam.ru

Drupal Picasa

Адрес публичной галереи Picasa

Список публичных альбомов

Выбор альбома и номинации

Сохранение node

Координаты места съемки, список

фотогоафий альбома, теги

Page 20: Drupal And Google

Пример использования Calendar API Пример использования Calendar API и Maps API на photo-biennale.ruи Maps API на photo-biennale.ru

Page 21: Drupal And Google

Пример использования Calendar API Пример использования Calendar API и Maps API на photo-biennale.ruи Maps API на photo-biennale.ru

Альбом Picasa Web Albums

Место Google Maps

Название события, дата, время, ссылка на созданную node

Событие Google Calendar

Создание node «Выставка» на photo-biennale.ru

Page 22: Drupal And Google

Google Apps APIsGoogle Apps APIs– Provisioning API Provisioning API **– Reporting API Reporting API **– Email Migration API Email Migration API **– Single Sign-On Service Single Sign-On Service **– Email Gateway Interface Email Gateway Interface **– Calendar Data APICalendar Data API– Spreadsheets Data APISpreadsheets Data API– Google Gadgets APIGoogle Gadgets API– Google Talk open protocolsGoogle Talk open protocols

* * недоступны в базовом пакете

Page 23: Drupal And Google

Делаем почту на сайте: Делаем почту на сайте: Drupal + Google AppsDrupal + Google Apps

1.1. Зарегистрироваться в Google AppsЗарегистрироваться в Google Apps

2.2. Настроить почту – указать сервера Google в Настроить почту – указать сервера Google в

качестве почтовыхкачестве почтовых

3.3. Установить модуль регистрации пользователей в Установить модуль регистрации пользователей в

Google AppsGoogle Apps

4.4. Настроить систему единого входаНастроить систему единого входа

Page 24: Drupal And Google

Модуль для взаимодействия Модуль для взаимодействия с Google Appsс Google Apps• Действия с пользователями (Hook_user)Действия с пользователями (Hook_user)

Register:Register:

– Создание пользователя в Google AppsСоздание пользователя в Google AppsUpdate:Update:

– Изменение информации о пользователеИзменение информации о пользователеDelete:Delete:

– Удаление пользователяУдаление пользователя

• Страница входа в Google Apps (для SSO)Страница входа в Google Apps (для SSO)– Функция аутентификации и генерация ответа SAMLФункция аутентификации и генерация ответа SAML

Page 25: Drupal And Google

Система единого входаСистема единого входа

Page 26: Drupal And Google

СсылкиСсылки

http://sterno.ru/rit2008http://sterno.ru/rit2008

http://drupal.org/ http://drupal.org/

http://code.google.com/intl/ru/more/http://code.google.com/intl/ru/more/

http://www.google.com/ahttp://www.google.com/a

Page 27: Drupal And Google

Спасибо за внимание!Спасибо за внимание!

Эту презентацию и дополнительные материалы к ней Эту презентацию и дополнительные материалы к ней

вы можете найти на вы можете найти на http://sterno.ru/rit2008http://sterno.ru/rit2008

Анна ФедорукАнна Федорук[email protected]@sterno.ru

Клера ВиленскаяКлера Виленская[email protected]@sterno.ru