Liferay Portal 6.1 では、複数のリポジトリを [ドキュメントとメディア] ポートレットにマウントする機能が導入されました (以前は [ドキュメント ライブラリ] ポートレットと呼ばれていました)。 サードパーティのリポジトリをマウントするために使用するプロトコルの1つがCMIS 1.0です。 このナレッジベースの記事では、Liferayにリポジトリを追加する方法と、それによって何ができるのかを紹介します。
決議
証明書
ほとんどの構成は、かなり単純明快です。 まず最初に知っておきたいのは、資格情報です。 CMISリポジトリにログインするためには、基本的にLiferayで使用した資格情報をCMISに渡す必要があります。 そのため、Liferayがセッションにパスワードを保存できるように、portal-ext.propertiesを設定しておく必要があります。
session.store.password=true
次に、Liferayにログインする手段がリポジトリと同じであることを確認する必要があります。 ほとんどの場合、これは同じスクリーン名が必要ということになります。 ということで、portal-ext.propertiesで設定しています。
company.security.auth.type=screenName
これは、コントロール・パネルの Portal Settings > 認証で構成することもできます。 もちろん、これは何を意味するかというと、例えば Nuxeo にログインするときに、"joeblogs" と "secretpassword" を使ってログインすると、同じ資格情報を使って Liferay にもログインしなければならないということです。 大抵の人はどうせLDAPとか持ってるだろうから、これでいいんじゃない? 同じ資格情報がないと、プリンシパル例外が発生し、ユーザーは「なぜ自分のデータが見れないのか」と不満を持つことになります。
リポジトリの実装
さて、サーバーを起動し、管理者としてログインします。 ドキュメントとメディアのコントロールパネルでは、「追加」メニューの下にリポジトリを追加するための選択が表示されます。 これを選択すると、フォルダを追加しているようなフォームが表示されます。 リポジトリの種類を選択します。 ほとんどの方がCMIS AtomPubを使うと思いますが、CMIS WebServicesも提供しています。 CMIS の場合は repositoryId を除いてすべてのエントリが必要です。 リポジトリIDを入力しない場合は、与えられたパラメータを使って最初のリポジトリを探して、それを設定します -- 多くのシステムは1つしか持っていません。
サポートされているリポジトリ
Liferayは以下のリポジトリに接続することができます。 (EE)とマークされたリポジトリはLiferay Enterprise Edition専用で、動作させるにはフックのデプロイが必要なことに注意してください。
- アルフレスコのリポジトリ
- ドキュメントリポジトリ(EE)
- ヌクセオリポジトリ
- SharePoint リポジトリ(EE)
追加情報
複数のリポジトリを一度にテストする場合は、Liferayポータルでリポジトリごとに新しいユーザーを作成するのではなく、リポジトリごとにユーザーテストテストを作成します。 この方法では、Liferayポータルのテスト・テスト・テストとしてサインインするだけで、すべてのリポジトリを一度にテストすることができます。