CMS管理画面でコメント機能を実装するの続きです。今回は、Novius OSの管理画面で入力したコメントをチャットワークに送信してみます。
Novius OSの管理画面でコメントをすると、メール通知することができます。メールで受け取れればOKという人もいるでしょうし、メールで通知を受け取るよりも、グループウェアに通知した方が効率が良い、という人もいるでしょう。
なので、コメント内容をチャットワークに送信してみます。
チャットワークやNovius OSの設定方法はNovius OSを題材に、FuelPHPでチャットワークAPIを使ってみよう #PHP #FuelPHP(CodeIQ Magazine)をごらんください。
この記事と同じように、FuelPHPのイベント機能を使ったカスタマイズします。
Novius OSの管理コメントでは、ounziw_pagecomment::after_comment
というイベントトリガーが用意されているので、ここにイベントを追加すればOKですね。具体的には下記のようなコードを書き、bootstrap.phpに記述します。
/** * Copyright (c) 2014 Fumito MIZUNO * License: MIT * http://opensource.org/licenses/mit-license.php */ Event::register('ounziw_pagecomment::after_comment', 'comment_to_chatwork'); function comment_to_chatwork($data) { $message = $data['page_title'] . $data['comm_author'] . $data['comm_content']; $response = chatworkpost($message); } function chatworkpost($message) { Package::load('chatwork'); $chatwork_roomnum = '17949259'; return Chatwork::post("/rooms/$chatwork_roomnum/messages", array('body' => $message)); }
こうするだけで、Novius OSとチャットワークの連携ができます。カスタマイズのためのコードを見てもらうと分かると思いますが、FuelPHPのイベント機能やパッケージ機能を活用しています。これには様々なメリットがあります。
もちろん、FuelPHPの機能を使っているため汎用性が高い、というのもありますが、それだけではありません。Novius OS特有のものが少なく教育コストがかからない、FuelPHPを知っているエンジニアであればNovius OSをカスタマイズできるためエンジニアを確保するのが楽、等のメリットがあります。Novius OSがFuelPHPという汎用フレームワークベースのCMSだからですね。