sergey cherebedov. node.js+drupal

Post on 27-Jul-2015

80 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Drupal + NodeJSЧеребедов Сергей cherebedov.s@i20.biz

Что такое NodeJS ?

nodejs.org

Зачем нужно в Drupal ?

Как работает ?

Clie

nt

A

pach

e D

rupa

l

N

odeJ

S

Клиент отправляет запрос в Drupal

Drupal возвращает HTML с JS и токеном

Клиент отправляет запрос в NodeJS на авторизацию

NodeJS отправляет запрос на проверку токена в Drupal

Drupal отправляетсоответствующий канал для пользователя

NodeJS уведомляет клиента о успешной авторизации

Последующий обмен данными без Drupal

Socket.io vs Ajax

Ajax

Long polling

WebSockets

Request Response

Client Server

Request ResponseWait

NodeJS

drupal.org/project/nodejs

Особенности установки

npm install express --savenpm install request --savenpm install socket.io --save

"engines": { "node": "0.10.x"},"dependencies": { "express": "^4.11.2", "request": "2.36", "socket.io": "^1.3.3"}

Channels

● Обычные каналы ○ Подписаться/отписаться

● Каналы пользователей○ имя: nodejs_user_$UID

● Другие каналы○ nodejs_notify

Hello world !

$message = (object) array( 'channel' => 'mymodule', 'data' => array( 'mymessage' => 'The Actual Message', ),);

nodejs_enqueue_message($message);Drupal.Nodejs.callbacks.mymodule = { callback: function(message) { if(message.channel == 'mymodule') { console.log(message.data.mymessage); } }};

NodeJS Watchdog

Views NodeJS

drupal.org/project/views_nodejs

Views NodeJS

Rules action with NodeJS

Rules action with NodeJS

Private messages NodeJS

drupal.org/project/privatemsg_nodejs

Private messages NodeJS

Drupal Async

www.drupal.org/project/async_drupal

➔ NodeJS➔ Views NodeJS➔ Private Message NodeJS➔ Rules action with NodeJS

top related