drupal+flash=druplash cms

74
Валерий Макаров [email protected] www.druplash.org

Upload: flashday

Post on 18-Nov-2014

4.587 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Drupal+Flash=Druplash CMS

Валерий Макаров[email protected]

www.druplash.org

Page 2: Drupal+Flash=Druplash CMS

DRUPAL + FLASH = DRUPLASH

Создание СMS для Flash сайтов на основе Drupal

Page 3: Drupal+Flash=Druplash CMS

ПОЧЕМУ НЕ FLASH?

У большинства студии, только 5% проектов выполнены полностью на �ash

Большинство пользователей и заказчиков показывают �ash-сайты, как пример удачных и красивых решений

Page 4: Drupal+Flash=Druplash CMS

ПОЛЬЗОВАТЕЛЯМ НРАВЯТСЯАНИМИРОВАННЫЕ,КРАСИВЫЕ FLASH САЙТЫ

Page 5: Drupal+Flash=Druplash CMS

ЗАКАЗЧИКАМ ТОЖЕ НРАВЯТСЯFLASH САЙТЫ, НО ОНИ БОЯТСЯТИПИЧНЫХ ПРОБЛЕМ С FLASHСАЙТАМИ:

Page 6: Drupal+Flash=Druplash CMS

ЗАКАЗЧИКАМ ТОЖЕ НРАВЯТСЯFLASH САЙТЫ, НО ОНИ БОЯТСЯТИПИЧНЫХ ПРОБЛЕМ С FLASHСАЙТАМИ:

Нет CMSНет SEOНет ссылок на внутренние страницы ( deeplinking, bookmarking, browser history)

Совместимость с версией �ashplayer(version detection)

Page 7: Drupal+Flash=Druplash CMS

Druplash в идеале должен стать open-source проектом, который решает эти проблемы. В итоге это должна быть сборка Drupal со всеми настроенными модулями и примеры-исходники �ash, реализующие типичные задачи сайта.

ПОЧЕМУ DRUPLASH?

Page 8: Drupal+Flash=Druplash CMS

ЧЕМ DRUPLASH ОТЛИЧАЕТСЯОТ ДРУГИХ FLASH CMS?

Бесплатный opensource проект

Drupal - одна из лучших opensource CMS ( лучшая в 2009 opensource CMS по версии pakt-

pub ) с огромным количеством модулей

Все необходимые для удобного взаимодействия с Flash модули Drupal уже написаны ( SWFaddress, AMFPHP и другие )

Page 9: Drupal+Flash=Druplash CMS

ЧЕМ DRUPLASH ОТЛИЧАЕТСЯОТ ДРУГИХ FLASH CMS?

Поддержка SWFobject( грамотное внедрение �ash )

Поддержка SWFaddress( deeplinking, browser history )

SWFaddress SEO(альтернативный HTML контент)

Поддержка AMF (бинарный формат передачи данных)

(продолжение)

Page 10: Drupal+Flash=Druplash CMS

ЧЕМ DRUPLASH ОТЛИЧАЕТСЯОТ ДРУГИХ FLASH CMS?

Drupal удобен для получения HTML версии сайта (альтернативный HTML контент)

Реализация за счет Drupal логики, работы с изображениями и.т.п.

Безопасность (поддержка сессий, API key)

(продолжение)

Page 11: Drupal+Flash=Druplash CMS

ЧТО ИЗ СЕБЯ ПРЕДСТАВЛЯЕТDRUPLASH?

SWFobjectSWFaddressAMFPHPServices

DRUPAL 6FLASH AS3

Page 12: Drupal+Flash=Druplash CMS

клиентская часть серверная часть

ActionScript Message Format

FLASH AMFPHP

ActionScript AMF PHP

DRUPAL

SERVICESmodule

<function>getHello</function>

( Services node.get )

drupal.call( "node.get",nodeResponse, sessionId, nid );

Page 13: Drupal+Flash=Druplash CMS

клиентская часть серверная часть

ActionScript Message Format

FLASH AMFPHP

ActionScript AMF PHP

DRUPAL

SERVICESmodule

<function>getHello</function>

“Hello World!”

( Services node.get )

серверная часть

drupal.call( "node.get",nodeResponse, sessionId, nid );

Page 14: Drupal+Flash=Druplash CMS

серверная часть

Поддержка SWFobject( грамотное внедрение �ash )

Поддержка SWFaddress( deeplinking, browser history )

SWFaddress SEO(альтернативный HTML контент)

Поддержка AMF (бинарный формат передачи данных)

AMF - ADOBE ACTIONSCRIPT MESSAGE FORMAT - бинарный формат передачи данных, позволяющий удаленно запускать (PHP) функции и возвращать результат в виде обьектов ActionScript.(за счет того, что формат бинарный мы получаем некоторое ускорение по сравнению с XML)

AMF3 - opensource формат.

AMF - ADOBE ACTIONSCRIPTMESSAGE FORMAT

Page 15: Drupal+Flash=Druplash CMS

Drupal удобен для получения HTML версии сайта (альтернативный HTML контент)

Реализация за счет Drupal логики, работы с изображениями и.т.п.

Безопасность (поддержка сессий, API key)

AMFPHP

AMFPHP - opensource библиотека

Существует так же AMFPHP.module модуль Drupal

Page 16: Drupal+Flash=Druplash CMS

МОДУЛЬ SERVICES

Модуль SERVICES позволяет DRUPAL работать с “внешним” API

Через сервисы FLASH получает доступ к данным из DRUPAL

DRUPAL 6FLASH AS3

node.getnode.saveviews.get

другие сервисысамописные сервисы

Page 17: Drupal+Flash=Druplash CMS

ПОДКЛЮЧЕНИЕ К DRUPALИСПОЛЬЗУЕМ КЛАСС NetConnection

FLASH

Page 18: Drupal+Flash=Druplash CMS

ПОДКЛЮЧЕНИЕ К DRUPAL// Путь до модуля AMFPHPvar baseURL:String = "http://localhost/drupal6";var gateway:String = baseURL + "/services/amfphp";

// Определяем тип соединения с Drupalvar drupal:NetConnection = new NetConnection();drupal.objectEncoding = ObjectEncoding.AMF3;

// Устанавливаем соединениеdrupal.connect( gateway );

Page 19: Drupal+Flash=Druplash CMS

ПОДКЛЮЧЕНИЕ К DRUPAL// Определяем получателя для ответа от Drupalvar responder:Responder = new Responder( onCon-nect, onError);

// Подключение к Drupaldrupal.call("system.connect", responder);

// При успешном соединенииfunction onConnect( result:Object ){ trace("Соединение прошло успешно!!!");}

(продолжение)

Page 20: Drupal+Flash=Druplash CMS

ПОДКЛЮЧЕНИЕ К DRUPAL// Обработчик ошибокfunction onError( error:Object ){ for each (var item in error) { trace(item); }}

(продолжение) (продолжение)

Page 21: Drupal+Flash=Druplash CMS

Нода ( Node ) - аналог страницы в терминалогии Drupal

ЗАГРУЗКА НОДЫ ИЗ DRUPALВО FLASH

FLASH

Page 22: Drupal+Flash=Druplash CMS

ЗАГРУЗКА НОДЫ ВО FLASH// Подключение к Drupaldrupal.call("system.connect", responder);

// Загрузка нодыfunction loadNode( nid:Number ) { // Определяем получателя для ответа от Drupal var nodeResponse:Responder = new Responder( onNodeLoad, onError); // Вызов node.get для получения ноды drupal.call( "node.get", nodeResponse, sessionId, nid ); }

Page 23: Drupal+Flash=Druplash CMS

ЗАГРУЗКА НОДЫ ВО FLASH// Если Drupal успешно вернул нодуfunction onNodeLoad( node:Object ){// Выводим поле Title из Ноды trace( node.title );}

(продолжение)

Page 24: Drupal+Flash=Druplash CMS

(продолжение)

ПРИМЕРЫ САЙТОВНА DRUPLASH

Page 25: Drupal+Flash=Druplash CMS

www.davematthewsband.com

Page 26: Drupal+Flash=Druplash CMS

www.davematthewsband.com

Page 27: Drupal+Flash=Druplash CMS

www.davematthewsband.com

Page 28: Drupal+Flash=Druplash CMS

www.davematthewsband.com

Page 29: Drupal+Flash=Druplash CMS

www.hellonasty.beastieboys.com

Page 30: Drupal+Flash=Druplash CMS

http://stevenmerrilltenor.com/

Page 31: Drupal+Flash=Druplash CMS

OPENSOURCE DRUPLASHВАРИАНТЫ РЕАЛИЗАЦИИ

Page 32: Drupal+Flash=Druplash CMS

ВАРИАНТЫ РЕАЛИЗАЦИИ

www.adobe.com/devnet/�ash/articles/drupal_�ash.html

Page 33: Drupal+Flash=Druplash CMS

www.adobe.com/devnet/�ash/articles/drupal_�ash.html www.richardleggett.co.uk

Page 34: Drupal+Flash=Druplash CMS

www.tmtdigital.com

Page 35: Drupal+Flash=Druplash CMS

FLASH WITHDRUPAL

Travis Tidwell

www.tmtdigital.com

Page 36: Drupal+Flash=Druplash CMS

Глава 1. Введение. Что можно с Flash и Drupal?

Глава 2. Создание приложения “Hello World” во Flash. Асинхронное программирование, вывод контента из Drupal во Flash с помощью модуля Ser-vices Module.

Глава 3. Flash и CCK. Как добавить собсвенные типы контента во Flash-приложения, используя популярный модуль Content Construction Kit (CCK). Пример приложения: Recipe Flash, для сайта с рецентами.

Глава 4. Картинки Drupal во Flash. Как модуль Im-ageCache для генерации изображений нужного размера.

Page 37: Drupal+Flash=Druplash CMS

Глава 5. Аудио Drupal во Flash. Как использовать модуль Drupal'а Audio для вывода аудио-контента во Flash-проигрыватель.

Глава 6. Видео Drupal во Flash. Как расширить проигрыватель, чтобы играть не тлько музыку, но и видео из CMS Drupal.

Глава 7. Гибридный метод, часть 1. Комбинирование Flash и HTML с помощью JavaS-cript.

Глава 8. Гибридный метод, часть 2. Создание сообщающихся Flash-компонентов.

Глава 9. Flash и модуль Views. Создание медиа-плейера, чей контент строится в Drupal-модуле Views.

Page 38: Drupal+Flash=Druplash CMS

Глава 10. Управление пользователями Drupal во Flash. Как применить его к приложению Flash, создав флэш-виджет User Login.

Глава 11. Управление контентом Drupal из Flash.

Глава 12. Как сделать голосовалку во Flash. Суммируем все изученные уроки и создаем механизм пятизвездочной голосовалки во Flash. Изучаем, как создать свой сервис Voting Service и новый виджет на Flash, совместимый с существующим Drupal-модулем FiveStar.

Page 39: Drupal+Flash=Druplash CMS

Лучшее решениеSisu and Mstudiohttp://�tc.sisutastic.com/

Page 40: Drupal+Flash=Druplash CMS

http://�tc.sisutastic.com/

Page 41: Drupal+Flash=Druplash CMS

http://�tc.sisutastic.com/demo

Page 42: Drupal+Flash=Druplash CMS

http://�tc.sisutastic.com/demo

Page 43: Drupal+Flash=Druplash CMS

РЕАЛИЗАЦИЯ НА DRUPALТИП КОНТЕНТА PRESENTER

Page 44: Drupal+Flash=Druplash CMS
Page 45: Drupal+Flash=Druplash CMS
Page 46: Drupal+Flash=Druplash CMS
Page 47: Drupal+Flash=Druplash CMS

РЕАЛИЗАЦИЯ НА DRUPALКОММЕНТАРИИ

Page 48: Drupal+Flash=Druplash CMS
Page 49: Drupal+Flash=Druplash CMS
Page 50: Drupal+Flash=Druplash CMS

СЕРВИСЫ DRUPAL

Page 51: Drupal+Flash=Druplash CMS
Page 52: Drupal+Flash=Druplash CMS
Page 53: Drupal+Flash=Druplash CMS

ПРИМЕР СЕРВИСАnode.get

Page 54: Drupal+Flash=Druplash CMS
Page 55: Drupal+Flash=Druplash CMS
Page 56: Drupal+Flash=Druplash CMS
Page 57: Drupal+Flash=Druplash CMS

БЕЗОПАСТНОСТЬkey и id сесии

Page 58: Drupal+Flash=Druplash CMS
Page 59: Drupal+Flash=Druplash CMS
Page 60: Drupal+Flash=Druplash CMS

ЧТО НУЖНО ДЛЯ СОЗДАНИЯСАЙТА НА DRUPLASH?

SWFobjectSWFaddressAMFPHPServices

DRUPAL 6FLASH AS3

Page 61: Drupal+Flash=Druplash CMS

www.code.google.com/p/swfobject/

Page 62: Drupal+Flash=Druplash CMS

www.asual.com/swfaddress/samples/�ash/#/portfolio/3/

JSswfaddress

www.example.com/portfolio/3/ HTML

SWFwww.example.com/#/portfolio/3/

Page 63: Drupal+Flash=Druplash CMS

www.drupal.org/project/swfaddress

Page 64: Drupal+Flash=Druplash CMS

www.drupal.org/project/swfaddress

Page 65: Drupal+Flash=Druplash CMS

http://www.amfphp.org

Page 66: Drupal+Flash=Druplash CMS
Page 67: Drupal+Flash=Druplash CMS
Page 68: Drupal+Flash=Druplash CMS
Page 69: Drupal+Flash=Druplash CMS

www.drupal.org/project/amfphp

Page 70: Drupal+Flash=Druplash CMS

DRUPAL 6FLASH AS3

www.drupal.org/project/services

Page 71: Drupal+Flash=Druplash CMS

ДРУГИЕ МОДУЛИ DRUPAL(Автоматически присваевает путь URL для новой ноды, согласно установленному правилу(К примеру /news/itemN для новостных страниц)

Используется Path auto

Позволяет создавать собственные типы контента (content creation kit).

Path auto:

Token:

CCK:

Page 72: Drupal+Flash=Druplash CMS

(продолжение)ДРУГИЕ МОДУЛИ DRUPALПозволяет создавать списки документов (представления, view), отфильтрованные по любому сложному алгоритму. На выходе модуль возвращает массив данных, который выводится в шаблоне, соответствующем выбранному администратором типу отображения (display) данных. Каждое представление может быть отображено в виде таблицы, маркированного списка, решетки (grid) и т. п.

Views:

Page 73: Drupal+Flash=Druplash CMS

(продолжение)ДРУГИЕ МОДУЛИ DRUPALПозволяет устанавливать иерархические связи (parent/child) между нодами, необходим для карты сайта.

NodeHierarchy:

...а так же огромное количество других модулей

Позволяет автоматически изменять изображения, создавать превьюшки и т.п.

ImageCache:

Page 74: Drupal+Flash=Druplash CMS

WWW.DRUPLASH.ORGopensource project

www.high-light.ru