$30 off During Our Annual Pro Sale. View Details »

Notes と Connections Cloud を連携してみた

Notes と Connections Cloud を連携してみた

IBM Connections Cloud に開設したコミュニティーへの投稿を増やしたい管理者から相談があり、投稿などのアクションに応じたインセンティブを与えるため、ユーザーのアクションを取得してサマリーを表示する仕組みをNotesで作った事例です。

2016年12月16日開催の「テクてくLotus技術者夜会」で使用したスライドです。

Haruyuki Nakano

September 17, 2022
Tweet

More Decks by Haruyuki Nakano

Other Decks in Technology

Transcript

  1. Notes と IBM Connections Cloud を 連携してみた 2016年12月16日 中野晴幸 @harunakano

    ノーツってヤッぁ..二児の父の苦悩つ
  2. コミュニティー管理者は悩んでいた どうすれば皆がコミュニティーへ投稿する? インセンティブを与えれば? 投稿状況を調べたら相当な手間がかかってしまった…

  3. 投稿の状況を調べる方法は? ➢コミュニティーへの投稿をもれなく見る ➢ジャーナル(ログ) ➢IBM Connections API

  4. ジャーナル(ログ) 膨大。コミュニティー管理者が投稿の状況を調べる手間は変わらない 欲しい部分を我々(Connections Cloud 管理者)がジャーナルから抽出する手間は避けたい 今日の投稿が明日の午後まで調べられない

  5. 投稿の状況を調べる方法は? ➢コミュニティーへの投稿をもれなく見る ➢ジャーナル(ログ) ➢IBM Connections API

  6. IBM Connection API ✓欲しい情報(リソース)を示す「URI」にパラメータをくっつけると、URLのできあがり ✓URLを投げるとテキストが返ってくる ✓ブラウザの拡張機能(RESTクライアント)を使って試せる

  7. 投稿の状況を調べる方法は? ➢コミュニティーへの投稿をもれなく見る ➢ジャーナル(ログ) ➢IBM Connections API

  8. URLはこんな感じ https://apps.ap.collabserv.com/communities/service/atom/community/forum/topics?communityUuid=[コミュニティーのID] コミュニティーからフォーラム・トピックのリストを取るURI パラメータに コミュニティーのID 参考: Connections Cloud API documentation

    アジア・パシフィック の Connections Cloud
  9. URLを投げる url = “https://apps.ap.collabserv.com/uri?param=...” Set xhr = CreateObject("Microsoft.XMLHTTP") Call xhr.Open("GET",

    url, False) Call xhr.Send() response = xhr.responseText ※LotusScriptです
  10. 返ってくるテキスト(XML) <entry> <title type=“text”>トピックのタイトル</title> <link href= "https://apps.ap.collabserv.com/forums/atom/recommendation/entries?postUuid=[topic-id]" rel="recommendations" type="application/atom+xml" snx:recommendation="2"/>

    <category term="ThreadRecommendationCount" scheme="http://www.ibm.com/xmlns/prod/sn/flags" label="4"/> <published>2016-12-15T02:24:30.601Z</published> <author> <name>HOGEHOGE TARO</name> <snx:userid>000000000</snx:userid> </author> <link href= "https://apps.ap.collabserv.com/forums/atom/replies?topicUuid=[topic-id]" rel="replies" type="application/atom+xml" thr:count="5"/> </entry> ※内容の一部です
  11. テキスト(XML)の内容 <entry> <title type=“text”>トピックのタイトル</title> <link href= "https://apps.ap.collabserv.com/forums/atom/recommendation/entries?postUuid=[topic-id]" rel="recommendations" type="application/atom+xml" snx:recommendation="2"/>

    <category term="ThreadRecommendationCount" scheme="http://www.ibm.com/xmlns/prod/sn/flags" label="4"/> <published>2016-12-15T02:24:30.601Z</published> <author> <name>HOGEHOGE TARO</name> <snx:userid>000000000</snx:userid> </author> <link href= "https://apps.ap.collabserv.com/forums/atom/replies?topicUuid=[topic-id]" rel="replies" type="application/atom+xml" thr:count="5"/> </entry> ※内容の一部です トピックに「いいね!」は2件 トピックのタイトル このスレッド全体に「いいね!」は4件 投稿日時 投稿者ID 返信は4件
  12. XMLを “XmlNodeReader” で解析 参考: nsftools ※LotusScriptです

  13. “XmlNodeReader” 使用例 参考: nsftools Dim reader As New XmlNodeReader Call

    reader.ReadText( response ) arr = reader.getNodeReaders("feed.entry") Forall nr In arr v = nr.get("title") End Forall <feed> <entry> <title>タイトルA</title> </entry> <entry> <title>タイトルB</title> </entry> <entry> <title>タイトルC</title> </entry> </feed> XML LotusScript 例)投稿のタイトルを取り出す
  14. 連携の概要 Notesアプリ Connections Cloud コミュニティー 投稿状況収集 マイル変換 次の投稿に対応 ➢ ファイル

    ➢ フォーラム ➢ ブログ
  15. マイルについて コミュニティーへの投稿をマイルに換算 アクション マイル 投稿する 100 返信する 10 「いいね」する 1

    「いいね」される 2 1回の投稿(アクション)あたりのマイル(フォーラム):
  16. Notes アプリ

  17. 表示内容 ユーザー(Notes アカウント)の Common Name マイル数 マイル数上位 10名のリスト 投稿サマリーへのリンク ランク

    Connections Cloud へのリンク
  18. まだ改良の余地が… ➢毎回すべての投稿を取ってくる ➢ 前回からの「更新分だけ」取ってくる、そんなパラメータが欲しい ➢いいね!した日時が取れない ➢ 月間ランキングを作れない ➢ 「いいね!」した日付は毎日処理すれば良いが、時刻がわからない ➢

    SRへ改善を要望した ➢処理を自動化しづらい ➢ アカウント・パスワードの期限切れへの対応 ➢処理時間が長い ➢ 1リクエストあたりのレスポンスに含まれる投稿の数を増やし、リクエスト数を減らしたい ➢ 9桁の投稿者IDから Notes アカウントへの変換が必要 などなど…