Sametime に顔写真を出すため LDAP に顔写真画像を登録する

Sametime という名のチャットツールがあります。IBM のコラボレーション製品であんまり使われてるところは見ないですけれども、Notes クライアントに Sametime クライアントが組み込まれてるので Notes を使っている現場ではそこそこ知られているのかもしれません。

この Sametime にはほかのチャットツールと同じように顔写真を表示する領域があるのですが、顔写真の登録方法については Sametime 側では面倒見てくれなくて LDAP のツールに任せるという全投げ方式を取っています。

IBM Domino LDAP ディレクトリのビジネスカードの写真の設定

 

IBM Domino LDAP ディレクトリ内にユーザーの写真を保管し、UserInfo でそれらを取得できるようにすることができます。IBM Domino LDAPJPEG 写真フィールドを追加するには、サードパーティ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)