ブログ

通知センターへ外部からの通知を出したい(OpenPNE3.8.x)

『技術サポートでは、どのような対応をしているか』
皆様に具体的に知っていただきたく、実際の対応例をご紹介致します。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
【問い合わせ内容】

外部のプログラムからOpenPNEのデータベースにアクセスし、
必要なデータを登録することでOpenPNEの通知センターに
メッセージを表示させたいのですが、どのテーブルにどんなデータを登録すればいいか
教えていただけないでしょうか?
また、テーブルへの登録以外に必要なことがあれば、それも教えて頂けると助かります。

[*詳細内容をヒアリング]

今回想定している仕様としましては、
決まった時間にOpenPNEの特定のメンバに対してメッセージを送ることを想定しており、
その送り先としてOpenPNEの通知センターを考えています。

OpenPNE上での操作をきっかけにメッセージを送るのであればOpenPNE内で実装できるのですが、
特定の時間を起因としてメッセージを送ることになるため、通知センターに
メッセージを送るためのプログラムを作成し、それを決まった時間に
呼び出すようなことを考えています。

通知センターにメッセージを送るといっても、member_configテーブルのデータを
操作する程度かと思っていたので、どんなデータを追加・変更すればいいのか教えていただければ、
何とかなると考えていたのですが、そんな単純な話でもなかったりするのでしょうか?

(プラン120、OpenPNE 3.8.xご利用中のお客様)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 

※member_configテーブルのデータ操作について、以下の通りご説明しました。

[対処方法]

通知センターへのメッセージの送信は、member_configテーブルのデータ操作で可能です。

以下にデータについて、説明を記載いたします。

通知1件に対する設定項目は以下の通りです。
ーーーーーーーーーーーーーーーーーーーーーーー
id → タイムスタンプ(microtime())
body → 通知メッセージ
member_id_from → 通知を発したメンバーのID
created_at → タイムスタンプ(time())
unread → 未読フラグ
category → カテゴリ(‘link’:フレンドリンク、’other’:その他)
url → URL (通知本文をクリックしたときのリンク先)
icon_url → アイコンURL (通知本文の左に表示されるアイコンのURL)
ーーーーーーーーーーーーーーーーーーーーーーー

member_configテーブルのnameが、「notification_center」のvalueに通知メッセージを格納しますが、
複数の通知メッセージを一つのカラムに格納するように設計されていますのでご注意ください。

なお、通知がop_notification_limitに設定された件数または20件を超えた場合は、
通知メッセージ格納時に古いものから削除を行う仕様になっております。
表示の際も、op_notification_limitに設定された件数または20件までの表示となります。

なお、 op_notification_limitの設定は、config/OpenPNE.yml 内に、
notification_limit: 10 (op_ は付けない) を追記し、キャッシュをクリアすることで変更可能です。

詳細な実装は、lib/util/opNotificationCenter.class.php を参照してください。

 

本問い合わせは、以上でご納得・問題解決となりました。
皆様からのお問い合わせに、迅速に対応できますよう、社員一丸となって対応しております。

 

=========================================
■公式SNS
https://sns.openpne.jp/
OpenPNEユーザーの皆さんが気軽にコミュニケーションができるQ&Aサイトです。
どなたでも無料で利用できます。(facebook、google、twitter の各アカウントでログインが可能です。)

■技術サポートサービス
http://support.pne.jp/
OpenPNE開発元の手嶋屋が提供しているサービスです。
有料になりますがこちらにお申し込みいただきますと弊社のOpenPNE開発エンジニアがOpenPNEの様々なトラブルについて、調査・サポートさせていただきます。
今後とも、OpenPNE 技術サポートサービスをよろしくお願いいたします。