Sametime という名のチャットツールがあります。IBM のコラボレーション製品であんまり使われてるところは見ないですけれども、Notes クライアントに Sametime クライアントが組み込まれてるので Notes を使っている現場ではそこそこ知られているのかもしれません。
この Sametime にはほかのチャットツールと同じように顔写真を表示する領域があるのですが、顔写真の登録方法については Sametime 側では面倒見てくれなくて LDAP のツールに任せるという全投げ方式を取っています。
IBM Domino LDAP ディレクトリのビジネスカードの写真の設定
IBM Domino LDAP ディレクトリ内にユーザーの写真を保管し、UserInfo でそれらを取得できるようにすることができます。IBM Domino LDAP に JPEG 写真フィールドを追加するには、サードパーティの LDAP 管理ツールが必要です。LDAP V3 準拠の大部分のツールが使用できます。
具体的にどうすればいいのか、だれでもできそうな手順で写真を登録してみましょう。ここでは openladp を使います。
■環境の確認と openldap の準備
顔写真のJPEGファイルを準備しましょう。サイズは10KB程度で。たとえば /tmp/facephoto.jpg
とします。
LDAPサーバのアドレスを確認しておきましょう。たとえば 192.168.0.1
とします。
対象のユーザ名を確認しましょう。たとえば cn=username/o=organization
とします。
openladp クライアントをインストールしましょう。 RHEL/CentOS なら以下です。
# yum install openldap-clients
■写真画像登録用 LDIF ファイル準備
openldap のクライアントに含まれる更新用ツール ldapmodify で写真画像を LDAP に登録します。ldapmodify に与えるファイルを用意しましょう。
たとえばファイル名は filename01.ldif
としましょう。テキストファイルです。
中身はこんな感じです。
dn: cn=username,o=organization
changetype: modify
add: jpegphoto;binary
jpegphoto;binary:< file:///tmp/facephoto.jpg
dn: のところで、対象のユーザ名を決めます。jpegphoto;binary: のところで、実際のJPEGファイルを指定します。
複数人一気に設定したければ、このヒトカタマリを空行で区切って1ファイル内にどんどん追記します。
■写真登録
ldapmodify コマンドで登録します。
# ldapmodify -x -h 192.168.0.1 -D "cn=adminuser,o=organization" -W -f filename01.ldif
オプション -h で対象のLDAPを指定します。 -D がログインユーザ名だと思っていただいてだいたい間違いないです。LDAPの管理権があるユーザ名を指定します。そして -f で前段で作成したファイル名を指定します。
これで JPEG 画像ファイルがバイナリデータのままLDAPに格納されます。
そうすると、Sametime に顔写真が出るようになります。やったね。
しかしこの方法ですと、各種サーバのアドレスを知ってたりいろんなコマンドを扱えたりなどと、ユーザによってはやりにくいですね。
今度は各個人が自分でどうにかできる方法を考えたいと思います。
WEBのインタフェースで各個人の権限で更新できるといいですね→Sametime に顔写真を出すため LDAP に顔写真を登録(php)