...

Sametime チャットログ日本語対応手引き( i5/OS 版)

by user

on
Category: Documents
57

views

Report

Comments

Transcript

Sametime チャットログ日本語対応手引き( i5/OS 版)
®
IBM Software Group
Software Service
Lotusphere Comes to You 2011
IBM ソフトウェア アクセラレイテッド・バリュー・プログラム 活動事例紹介
- チャットログを日本語で残したい!-
Sametime ® チャットログ日本語対応手引き(i5/OS ®版)
日本アイ・ビー・エム 株式会社
ソフトウェア アクセラレイテッド・バリュー・プログラム
山脇 猛愛
IBM Software Group Software Service
特記事項
ƒ 本資料の記載内容は、できる限り正確を期すよう努めてはおりますが、いかなる明
示または暗黙の保証も責任も負いかねます。
ƒ 本資料の情報は、使用先の責任において使用されるべきものであることを、あらかじ
めご了承ください。
ƒ 掲載情報は不定期に変更されることもあります。他のメディア等に無断で転載する
事はご遠慮ください。
ƒ 当資料をコピー等で複製することは、執筆者の承諾なしではできません。
ƒ また、当資料に記載された製品名または会社名はそれぞれの各社の商標または登
録商標です。
IBM、IBMロゴ、i5/OS,Lotus、Lotus Notes、Lotus Domino 、Sametime、WebSphereは、International Business Machines Corporationの米国および
その他の国における商標。
Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標。
-2All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
はじめに
Lotus ® Sametimeサーバー上でチャットログを有効化する方法については、いくつかの公開情報(資料P18
をご覧ください)があります。しかしながら、用意されているモジュールはサポート対象外であるため、お客様の
責任において導入を検討いただく必要がございます。
これらの方法は日本語チャットのログ記録が未対応のため、例えば日本語のログが空白でロギングされること
がわかっています。
本資料では、これらの制限がある中、AVPサポートにおいてi5/OSでチャットロギングの日本語化対応を実施
した事例を元に、その手順について纏めています。
Dominoのシステム環境は以下の通りです
i5/OS V5R4
Lotus Notes /Domino 8.5.2
Lotus Sametime 8.5.1
本対応では Lotus Sametime Software Developer Kit (以降SDK)を使用します。SDKは以下のリンクから
入手可能です。
Lotus Sametime Software Developer Kit
•
http://www.ibm.com/developerworks/lotus/downloads/toolkits.html?S_TACT=105AG
X13&S_CMP=LSDL#sametime
-3All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
1. Sametime.ini の更新と Chatlogging.iniの作成
Lotus Sametime 8.5 では、一部の black box ライブラリ名は sametime.ini ファイルにて設定します。
これは [ST_BB_NAMES] によって制御されており、チャットロギング black box を制御しているパラメータは
ST_CHAT_LOGです。Lotus Sametime 8.5 Community サーバーのプログラムディレクトリ直下にある
sametime.ini ファイルを編集します。
[ST_BB_NAMES] セクションにて ST_CHAT_LOG をチャットロギングファイルを示す値を設定します
ST_CHAT_LOGGING=file
StChatLoggingFile.srvpgm をチャットロギング black box として指定する場合、sametime.ini ファイルに以下の設定を追
加します
ST_CHAT_LOG=File
例:STCHATLOGGING851.SRVPGMにて作成した場合 (手順8.で作成したリンク先の名前)
[ST_BB_NAMES]
ST_CHAT_LOG=851
sametime.ini と同じディレクトリに chatlogging.ini ファイルを作成します。バージョンアップの場合、sametime.ini における
チャットロギング設定を chatlogging.ini に移動します。移動対象のセクションは以下のとおりです。
[ChatLogging]
CL_CHAT_START_DISCLAIMER=Disclamer message.
CL_CHAT_START_DISCLAIMER_RICH_TEXT=<span style="color:#ff0000;
font-size:11pt;font-family:Tahoma;"><b><i>Rich Text Disclaimer message.</i></b></span>
-4All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
2. ログファイルの作成
デフォルトでは、Lotus Sametime はチャットログファイルを Sametime サーバーデータディレクトリの「CLData」
サブディレクトリに保管しようとします。このサブディレクトリを手動で作成しないと、ログファイルは生成されませ
ん。
BB_CL_LIBRARY_PATH パラメータを用いて、チャットログファイルの保存先をデフォルトのパスから変更したい
場合、chatlogging.ini 内の [Library] セクションに設定をします。
なお、バージョンアップの場合は、sametime.ini 内の [Library] セクションを chatlogging.ini ファイルに移動し
ます。
[Library] BB_CL_LIBRARY_PATH=<full_path_name_of_new_directory>
例:
chatlogging.ini
[Library]
BB_CL_LIBRARY_PATH=/TV150S03/ChatLog
コマンドにて
mkdir '/TV150S03/ChatLog'
CHGOWN OBJ('/TV150S03/ChatLog') NEWOWN(QNOTES)
-5All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
3. C++ Runtime モジュールの準備
SDKに記載されている手順は以下の通りです。
以下のURLからモジュールをダウンロードします。
http://www-03.ibm.com/servers/enable/site/asciirt/devkit.html
ダウンロード後、以下のコマンドを実行します。
RSTLIB SAVLIB(QADRT) DEV(*SAVF) SAVF(my_lib/QADRTDEV)
CALL PGM(QADRT/QADRTSETUP)
※上記サイトにC++ Runtimeモジュールが存在していません。(2010年12月現在 URLリンク切れ)
※同様のモジュールは OPTION 13にて代替されています。
Information about Products 5799AAS and 5799AJC
http://www-01.ibm.com/support/docview.wss?uid=nas1452de278d53c1042862574190063873d
※本事例においては、現在リンク切れのサイトからモジュールを入手していたため、そのモジュールを使用する
ことで対応しています。OPTION13による代替が可能かどうかについては確認しておりません。
-6All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
4. コンパイル用ソースの準備(1)
Sametime Sametime Software Developer Kit より、以下のファイルをサーバーへコピーする。
server¥dda¥samples¥chatlogging¥ChatResource.cpp
server¥dda¥samples¥chatlogging¥ChatResource.h
server¥dda¥samples¥chatlogging¥ChatSessionTable.cpp
server¥dda¥samples¥chatlogging¥ChatSessionTable.h
server¥dda¥samples¥chatlogging¥stDdaClApi.cpp
server¥dda¥samples¥nonwin32¥utilities.cpp
server¥dda¥samples¥nonwin32¥utilities.h
server¥dda¥samples¥nonwin32¥debug.h
server¥dda¥samples¥nonwin32¥winprofile.cpp
server¥dda¥inc¥chatlogging¥stDdaClApi.h
server¥dda¥inc¥chatlogging¥stDdaClCodes.h
server¥dda¥templates¥authtoken¥stAuthTokenDummyApi.cpp
server¥dda¥inc¥authtoken¥stAuthTokenApi.h
server¥dda¥inc¥common¥stDdaApiDefs.h
server¥dda¥inc¥common¥nonwin32¥windows.h
server¥dda¥inc¥common¥StThreadSafe.h
-7All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
4. コンパイル用ソースの準備(2)
以下のファイルも必要となりますが、SDKには同梱されておりません。(2010年12月現在)
こちらのファイルについては、SDK内に収録されている、「Directory and Database Access Toolkit
Developer's Guide」 のPDFよりソースコードをコピーしてファイルとして、サーバーへコピーします。
Disclaimer.h
Image.h
ParseDataMsg.h
RichTextMgr.h
Disclaimer.cpp
Image.cpp
ParseDtMsg.cpp
RichTxtMgr.cpp
※例として、コピー先を/STTOOLKITとします。
-8All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
5. 日本語対応するための修正(1)
以下のcppファイルを修正します。
- winprofile.cppファイルを編集
#include "windows.h"
#include "pthread.h"
#include <string>
#include <map>
// define for how to open files in text mode...
#if defined(OS400) ¦¦ defined(OS390)
// (Note that for OS/400, binary mode is needed
so //that characters are not translated
// from ASCII to EBCDIC)
#define READ_TEXT_MODE "rb"
#define APPEND_PLUS_TEXT_MODE "a+b"
#define WRITE_TEXT_MODE "wb"
// 以下太字部分をコメントアウトします。
// tolower is commented out
//
#undef tolower
//
#define tolower
__tolower_a
#undef toupper
#define toupper
__toupper_a
// atoi is commented out
//
#undef atoi
//
#define atoi
__atoi_a
#else
Ctrl-Z
// The "t" in fopen is not ANSI - it means to translate
// to end of file
#define READ_TEXT_MODE "rt"
#define APPEND_PLUS_TEXT_MODE "a+t"
#define WRITE_TEXT_MODE "w"
#endif
//以下を追加します。
#define tolower(a) __tolower_a(a)
QADRT_INLINE int __tolower_a(int ch) { return qadrt_tolower[ch];}
QADRT_EXTERN char * getcwd_a(char *, size_t);
#if defined(qadrt_use_inline) ¦¦ defined(qadrt_use_getcwd_inline)
QADRT_INLINE char *__ptr128 getcwd(char *__ptr128 a, size_t b)
{ /* @03C */
return getcwd_a(a,b);
}
#else
#ifdef getcwd
# undef getcwd
#endif
#define getcwd(a,b) getcwd_a(a,b)
#endif
-9All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
5. 日本語対応するための修正(2)
以下のcppファイルを修正します。
- ChatResource.cppファイルの太字部分を変更
// *****************************************************************
// DESCRIPTION: ChatResource::getCurTime
// *****************************************************************
const char* ChatResource::getCurTime(void)
{
static char buf[30];
time_t t = time(0); // DAM - for some reason "t" is never updated when declared
static
// strftime(buf, 30,"%d/%b/%y, %H:%M:%S",localtime(&t));
strftime(buf, 30,"%d/%m/%y, %H:%M:%S",localtime(&t));
return buf;
} // end ChatResource::getCurTime
- 10 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
6. チャットログ用ライブラリの作成
チャットログ用ライブラリを作成します。
CRTLIB CHATAPI851
※ 例として、SRVPGMの名前を「CHATAPI851」としています。
- 11 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
7. ライブラリの作成(1)
手順4. でコピーしたソースよりSRVPGMを作成します。
以下例では、手順4. よりコピーしてきたソースおよびヘッダは/STTOOLKITに格納した例としています。
CRTCPPMOD MODULE(CHATAPI851/CHATRSC) SRCSTMF('/STTOOLKIT/CHATRESOURCE.CPP')
DBGVIEW(*SOURCE) DEFINE('QSRCSTMF' '_UNIX' 'OS400' 'QADRT_USE_CTYPE_INLINE' 'V5R4M0_COMPILER'
'UNIX_TOOLKIT_COMPILE') TERASPACE(*YES) STGMDL(*INHERIT) INCDIR('/STTOOLKIT'
'/qibm/proddata/qadrt/include') TGTCCSID(819)
CRTCPPMOD MODULE(CHATAPI851/CHATSESTBL) SRCSTMF('/STTOOLKIT/CHATSESSIONTABLE.CPP')
DBGVIEW(*SOURCE) DEFINE('QSRCSTMF' '_UNIX' 'OS400' 'qadrt_use_ctype_inline' 'V5R4_COMPILER'
'UNIX_TOOLKIT_COMPILE') TERASPACE(*YES) STGMDL(*INHERIT) INCDIR('/STTOOLKIT'
'/qibm/proddata/qadrt/include') TGTCCSID(819)
CRTCPPMOD MODULE(CHATAPI851/UTILITIES) SRCSTMF('/STTOOLKIT/UTILITIES.CPP') DBGVIEW(*SOURCE)
DEFINE('QSRCSTMF' '_UNIX' 'OS400' 'QADRT_USE_CTYPE_INLINE' 'V5R4M0_COMPILER' 'UNIX_TOOLKIT_COMPILE')
TERASPACE(*YES) STGMDL(*INHERIT) INCDIR('/STTOOLKIT' '/QIBM/PRODDATA/QADRT/INCLUDE')
TGTCCSID(819)
CRTCPPMOD MODULE(CHATAPI851/STDDACLAPI) SRCSTMF('/STTOOLKIT/STDDACLAPI.CPP')
DBGVIEW(*SOURCE) DEFINE('QSRCSTMF' '_UNIX' 'OS400' 'qadrt_use_ctype_inline' 'V5R4M0_COMPILER'
'UNIX_TOOLKIT_COMPILE') TERASPACE(*YES) STGMDL(*INHERIT) INCDIR('/STTOOLKIT'
'/qibm/proddata/qadrt/include') TGTCCSID(819)
CRTCPPMOD MODULE(CHATAPI851/WINPROFILE) SRCSTMF('/STTOOLKIT/WINPROFILE.CPP')
DBGVIEW(*SOURCE) DEFINE('QSRCSTMF' '_UNIX' 'OS400' 'qadrt_use_ctype_inline' 'V5R4M0_COMPILER'
'UNIX_TOOLKIT_COMPILE') TERASPACE(*YES) STGMDL(*INHERIT) INCDIR('//STTOOLKIT'
'/qibm/proddata/qadrt/include') TGTCCSID(819)
- 12 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
7. ライブラリの作成(2)
(前ページから続き)
CRTCPPMOD MODULE(CHATAPI851/DISCLAIMER) SRCSTMF('/STTOOLKIT/disclaimer.cpp') DBGVIEW(*SOURCE)
DEFINE('QSRCSTMF' '_UNIX' 'OS400' 'qadrt_use_ctype_inline' 'V5R4_COMPILER' 'UNIX_TOOLKIT_COMPILE')
TERASPACE(*YES) STGMDL(*INHERIT) INCDIR('/STTOOLKIT' '/qibm/proddata/qadrt/include') TGTCCSID(819)
CRTCPPMOD MODULE(CHATAPI851/IMAGE) SRCSTMF('/STTOOLKIT/image.cpp') DBGVIEW(*SOURCE)
DEFINE('QSRCSTMF' '_UNIX' 'OS400' 'qadrt_use_ctype_inline' 'V5R4_COMPILER' 'UNIX_TOOLKIT_COMPILE')
TERASPACE(*YES) STGMDL(*INHERIT) INCDIR('/STTOOLKIT' '/qibm/proddata/qadrt/include') TGTCCSID(819)
CRTCPPMOD MODULE(CHATAPI851/PARSEDTMSG) SRCSTMF('/STTOOLKIT/parsedtmsg.cpp')
DBGVIEW(*SOURCE) DEFINE('QSRCSTMF' '_UNIX' 'OS400' 'qadrt_use_ctype_inline' 'V5R4_COMPILER'
'UNIX_TOOLKIT_COMPILE') TERASPACE(*YES) STGMDL(*INHERIT) INCDIR('/STTOOLKIT'
'/qibm/proddata/qadrt/include') TGTCCSID(819)
CRTCPPMOD MODULE(CHATAPI851/RICHTXTMGR) SRCSTMF('/STTOOLKIT/richtxtmgr.cpp') DBGVIEW(*SOURCE)
DEFINE('QSRCSTMF' '_UNIX' 'OS400' 'qadrt_use_ctype_inline' 'V5R4_COMPILER' 'UNIX_TOOLKIT_COMPILE')
TERASPACE(*YES) STGMDL(*INHERIT) INCDIR('//STTOOLKIT' '/qibm/proddata/qadrt/include') TGTCCSID(819)
CRTSRVPGM SRVPGM(CHATAPI851/STCHATLOG) MODULE(CHATAPI851/CHATRSC CHATAPI851/CHATSESTBL
CHATAPI851/UTILITIES CHATAPI851/STDDACLAPI CHATAPI851/WINPROFILE CHATAPI851/DISCLAIMER
CHATAPI851/IMAGE CHATAPI851/PARSEDTMSG CHATAPI851/RICHTXTMGR) BNDSRVPGM(QADRTTS
QSAMETIME/STTS) EXPORT(*ALL) OPTION(*DUPVAR *DUPPROC)
- 13 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
8. リンクの作成
手順7. で作成したSRVPGMをSametimeサーバーが配置されている場所にリンクを作成します。
リンク先の名前は、必ず“STCHATLOGGINGxxx”とします。
(例ではxxxを851としています。こちらはユニーク名可)
ADDLNK OBJ('/qsys.lib/CHATAPI851.lib/STCHATLOG.SRVPGM')
NEWLNK('/qibm/userdata/lotus/notes/STCHATLOGGING851.SRVPGM')
権限を変更します。
CHGAUT OBJ('/QIBM/Userdata/lotus/notes/STCHATLOGGING851.SRVPGM') USER(QNOTES)
DTAAUT(*RWX) OBJAUT(*ALL)
- 14 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
9. stconfig.nsf データベースの更新(1)
stconfig.nsf データベースを更新する方法は 2 つあります。どちらの方法を利用するかは
Lotus Sametime 8.5 Community サーバーの環境に依存します。
Lotus Sametime System Console サーバーが利用されている環境では、
変更には System Console サーバーを利用する必要があります。
Sametime System Console サーバーを利用する方法:
Lotus Sametime System Console サーバーを利用して Lotus Sametime 8.5 Community サーバーを
インストールした場合、以下を実行します。
1.
2.
3.
4.
5.
6.
Sametime System Console サーバーの ISC (管理コンソール) にログインします。
[Sametime System Console] - [Sametime サーバー] - [Sametime Community Server] を選択します。
Sametime Community サーバーのリストから、変更の対象となるサーバーのディプロイメント名をクリックします。
コミュニティサービスタブをクリックします。
[サービス機能] セクションの [チャットログを使用可能に設定] にて、以下のいずれかを選択します。
• 常時
• 使用可能な場合
[OK] をクリックし、設定変更を反映するために Lotus Sametime Community サーバーを再起動します。
- 15 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
9. stconfig.nsf データベースの更新(2)
Lotus Notes クライアントを利用する方法:
Lotus Sametime System Console サーバーを利用せずに Lotus Sametime 8.5 Community サーバーを
インストールした場合、以下を実行します。
1.
以下の文書を参照して Lotus Sametime サーバーを停止します。
•
•
2.
3.
4.
5.
「(参考)Lotus Domino サーバーを停止せずに Lotus Sametime サーバーを停止する方法」(Technote #731668)
http://www-06.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/731668
Lotus Notes クライアントを使用して、Lotus Sametime の基盤となっている Lotus Domino サーバー上の Sametime
Configuration Database (stconfig.nsf) を開きます。
CommunityServices 文書をダブルクリックして開きます。
開かれた文書を編集モードにするために、ダブルクリックします。
“Chat Logging Flag” の設定値として、以下のいずれかのチャットロギングモードを選択します。
• Strict
• Relax
※注意 “strict” を選択した場合、何らかの理由でチャットロギングができなくなった場合、チャットもできなくなります。
6.
“Capture Service Type” パラメータを更新します。
• “Chat Logging Flag” を “strict” に設定した場合、“0x1000” に設定します。つまり「Capture Service Type
= 0x1000」とします。
• “Chat Logging Flag” を “relax” に設定した場合、「Capture Service Type = 0」にします。
※注意: CommunityServices 文書内で “Chat Logging Flag” が “strict” に設定され、“Capture Service Type” が “0x1000” に
設定されている場合に、何らかの理由によりチャットロギングサービスが使用できなくなると、チャットを試みたユーザーは “Chat
services unavailable” を受け取ります。これは strict 設定が適用されているためであり、設計意図に沿った動作です。
7.
CommunityServices 文書を保存して閉じた後に、設定変更を有効にするためにサーバーを再起動します。
- 16 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
10. 動作確認
Sametimeサーバーを起動してチャットログを確認します。
チャットログの日本語はUTF-8で出力されています。
- 17 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
IBM Software Group Software Service
参考情報:
(参考)Lotus Sametime サーバー上でチャットロギングを有効にする方法
•
http://www-06.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/731722
「(参考)Lotus Sametime 8.5 でチャットロギングを有効にする方法」(Technote #734120)
•
http://www.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/734120
「Lotus Sametime 8.5 でチャットロギングモジュールを指定する方法」(Technote #734058)
•
http://www.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/734058
Lotus Sametime Software Developer Kit(SDK)
•
http://www.ibm.com/developerworks/lotus/downloads/toolkits.html?S_TACT=105AGX13&S_CMP=LSD
L#sametime
Lotus Sametime documentation
•
https://www.ibm.com/developerworks/lotus/documentation/sametime/
Lotus Sametime サーバーを 8.5.1 にアップグレード後、Lotus Notes 7.x / 8.x Basic 版の IM からログイ
ンできな
•
http://www-06.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/734225
- 18 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず
Fly UP