Sergey Cherebedov. Node.js+Drupal
-
Upload
drupalsib -
Category
Technology
-
view
87 -
download
0
Transcript of Sergey Cherebedov. Node.js+Drupal
Drupal + NodeJSЧеребедов Сергей [email protected]
Что такое 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