Friday, November 22, 2013

Liferay Documents and Mediaポートレットの紹介

こんにちは、かわべです。寒くなってきましたね。電車に乗ったり人の多い場所に行ったりする機会がめっきり減ったので、この冬は風邪を引かずに越せるのではないかとちょっと期待しています。ひとりぐらしの風邪はつらいのです!

ブログを書くのも数回目になったので、導入部分もちゃんと書いてみました。さて、本日の記事ではLiferayのドキュメントとメディアポートレットについて紹介します。

はじめに

 

Liferayでは「ドキュメントとメディア」というポートレットを通じてリポジトリを利用することができます。ここでいうリポジトリとは、ローカル環境に保存するようにオンラインのファイルサーバにファイルを保存する機能です。ファイルサーバと同様に、フォルダを作成して階層的な管理ができます。ファイルはドキュメントに限らず、音楽、画像、動画などといったメディアファイルでもOKです。デフォルトの設定ではLiferayが稼働するサーバがリポジトリとなりますが、CMISに準拠した外部のリポジトリを連携させ利用することもできます。

リポジトリに保存するファイルには、社内やチームのルールに合わせて管理しやすくするための仕組みとして「タイプ」と「メタデータ」を設定することができます。Webコンテンツの説明時に出てきた「カテゴリ」と「タグ」も設定可能です。

詳細はポートレットを使った作業を通して見ていきましょう。ドキュメントとメディア管理のポートレット、表示のポートレットを順番に紹介していきます。
前回と同じくLiferay CE6.2を使用し、特に記述がない限りSite Ownerのロールを備えたユーザで作業をやっていきます。

「ドキュメントとメディア」ポートレット


これはドキュメントリポジトリへファイルを追加したり、ファイルを編集したりするための管理ポートレットです。上部のドックバーからアクセスする管理画面に表示されるものと同じで、管理画面へのショートカットとして機能します。
 
こちらのポートレットは1ページに1つしか追加できず、同一サイト内ならば別のページに追加しても表示される内容は同じです。Sample Companyサイトのページに追加したところが以下です。

ファイルの追加

リポジトリにはまだ何もないので、ファイルを追加するところからやってみます。「追加」をクリックすると、追加可能なファイルのタイプが表示されます。


 
タイプとは、ファイルに設定したいメタデータを集合的に管理するための概念です。今回はContractを選択して、契約書を追加してみます。アップロードするファイルを選択し、
メタデータを設定します。



"Effective Date", "Contract Type"などの契約書を管理するためのメタデータが設定可能となっています。

保存をクリックすると、リポジトリにファイルが保存されました。この時点でファイルは別のユーザからもアクセスできるようになります(もちろん権限次第ですが)。


ドキュメントに対するアクション

では続いて、リポジトリ内のファイルに対してどのような操作が可能かを見ていきます。一覧表示の状態でファイル右側に表示される▼をクリックすると、そのユーザが可能な操作が表示されます。



今はSite Ownerなので何でもできます。だいたい名前の通りですが、少しだけ説明を。

  • 「編集」とはファイル自身(ここまでの例だと契約書として保存したWordファイルの中身)を編集するわけではなく、ファイルのメタデータを編集します。例えばタイトルやタイプを変更したり、どのファイルを指し示すかも変更できます(別のファイルをアップロードします)。
  • 「チェックアウト」をすると、自分がファイルを編集している間に他のユーザが編集できなくなります。編集後、保存とチェックインをすると変更が反映され、バージョンが自動的に更新されます。
チェックアウトすると鍵マークが表示されます。



Contractのメタデータのひとつ、"Status"を更新して、保存とチェックインをしてみると、



こんなふうにバージョンが更新されます。
  • 「チェックアウトのキャンセル」をすると、ファイルのバージョン更新は行われず、再度他ユーザも編集可能となります。 

ドキュメントタイプとメタデータセットの管理


権限をもつユーザならばタイプ(ドキュメントタイプ)を作成することもできます。タイプを適切に作成すれば、一貫性のあるファイル管理が容易になります。
例として「職務経歴書」というタイプを作成し、メタデータを関連付けてみます。

タイプの作成は「管理」から行います。



「ドキュメントタイプ」を選び、「追加」をクリックすると、新規ドキュメントタイプの追加画面へ遷移します。名称、説明、メタデータを定義します。



  • 「メインメタデータフィールド」で作成するのは「職務経歴書」というタイプに固有のメタデータです。
  • 「追加メタデータフィールド」は他のタイプと共通メタデータを使用したい場合に設定します(今回は設定しません)。

タイプを作成すると、新規追加や表示フィルタリングの選択肢としてそのタイプが表示されます。



すでに作成済のファイルを「編集」すればタイプを変更し、そのタイプに必要なメタデータを設定できます。いったん「通常のドキュメント」として追加したファイルのタイプを今作成した「職務経歴書」へと変更してみると、こんな風に編集できます。




職務経歴書にこんなメタデータが必要なのかというところは置いておいてください・・・例なので!

「ドキュメントとメディアディスプレイ」ポートレット


もう1つのポートレットの紹介へ移ります。といってもこちらはごく簡潔に。「ドキュメントとメディアディスプレイ」ポートレットは、リポジトリ内部のファイルを表示させるために使用するポートレットです。このポートレットは1ページ内に複数配置できます。配置後は、こんな設定が可能です。



リポジトリ内のどのフォルダをルートとするかを選択して、そのフォルダ内のファイル、サブフォルダを表示させます。検索バー、アクションなどを表示させるかどうか選択できます。



こんな感じに表示できます。

プレビュー機能


両方のポートレットに共通する機能として、ファイルのプレビュー機能があります。PDFファイルの場合、特別な設定をする必要はありません。PDFファイルを保存すると、自動的にプレビューが表示されます。



PDFファイル以外もプレビューしたい場合は、少し設定をしてアプリケーション(ImageMagick, OpenOfficeなど)とLiferayを連携する必要があります。これはAdministratorとして、
コントロールパネル→編集→サーバ管理→外部サービスから設定することができます。


おわりに

 

ドキュメントとメディアポートレットについて、少しでもイメージを持っていただけたら幸いです。次のLiferayの記事では6.2の新機能を紹介しようと思います。引き続きよろしくお願いします。

Wednesday, November 13, 2013

Liferay Webコンテンツ表示ポートレットの紹介

こんにちは。かわべです。
今回はLiferayのポートレット群の中でも使用頻度の高い、Webコンテンツ表示ポートレットについて紹介します。紹介にあたって使用するのはLiferay CE6.2です。何気なく進めていきますが、こちらは2013年11月にリリースされたLiferay CEの最新バージョンです。6.1と比較すると全体のUIが刷新されていることがわかります。もちろん変更されたのは外観だけでなく、新たに追加された機能もあるので、EEがリリースされたらそのあたりの話もしていきたいと思います。

はじめに


WebコンテンツというのはLiferayが管理するHTMLページのようなものです。Liferayには多様な機能がありますが、まず中心的な機能としてコンテンツの管理があります。だからこそWebコンテンツの扱いは直感的に可能になっています。Webコンテンツの作成、それを表示するためのポートレットの配置、どちらもHTMLの知識がなくても、簡単な操作のみで意図した画面を作成することができます。
Webコンテンツ表示ポートレットを利用すれば、1ページ内に複数のWebコンテンツを好きなレイアウトで表示させることができます。編集や権限設定はページ単位ではなくポートレットごとに行うため、Liferayを利用せずに作成するページよりも細かく、かつ簡単に設定できます。もちろん、Webコンテンツにはテキストだけでなく画像や動画なども含めて取り扱うことができます。

それでは、Webコンテンツ表示ポートレットを利用して、サイトページにWebコンテンツを表示させてみましょう。

なお、今回は以下の手順はすべてSite Ownerのロールを割り当てたユーザで行っています。(権限については記事の後ろの方で少し触れています)

Webコンテンツ表示ポートレットの追加

 

まずは、Webコンテンツを表示させたいページに移動します。そこで画面左に表示される「+」をクリックします(こちらはCE 6.2から追加されたボタンです)。左側に表示される「追加」画面から「アプリケーション」を選択すると、現在のページに追加可能なポートレットの一覧が表示されます。


「Webコンテンツの表示」ポートレットは「コンテンツ管理」ポートレット群の中にあります。

ポートレット名の先頭に表示されるアイコンによって、単一ページに複数追加することが可能か否かが判別できます。「Webコンテンツの表示」は複数追加可能なポートレットです。ポートレットの横にある「追加」をクリック、もしくはポートレット名をページへとドラッグすれば、ポートレットの追加は完了です。


 
ポートレットには「このポートレットに表示するWebコンテンツを選択するか新しくWebコンテンツを追加してください。」という文言が表示されています。

「表示させるWebコンテンツの選択」をクリックすると、既存のWebコンテンツから表示させるものを選択できます。「追加」をクリックすると、Webコンテンツを新規追加するための画面へと遷移します。

今回は「追加」をクリックし、このポートレットに表示するWebコンテンツを新規追加します。

Webコンテンツの追加

 

Webコンテンツの作成には、効率よく目的に沿ったものを作成するために「ストラクチャ」と「テンプレート」という仕組みが用意されていますが、今回は「デフォルトのストラクチャ・テンプレートなし」でいきます。

Webコンテンツはブラウザエディタから作成するため、HTMLの知識がなくても問題ありません。



手元でいい感じの写真を探したところ、先日社員旅行で訪れた北海道の写真が発見されたので、これを使いながらコンテンツを作成してみます。写真のアップロードなども画面から簡単にできます。ブログの記事を書くのと同じですね。

知識のある人向けにはHTMLタグを直接操作できるモードも備わっているので、複雑な作りにすることもできます。



後のコンテンツ管理のため、コンテンツに「カテゴリ」「タグ」を設定することもできます。
  • カテゴリは、管理者が事前に作成した項目から選択します。カテゴリが作成されていない場合は設定できません。
  • タグは、既存タグの選択だけでなく、コンテンツの作成者自身も追加することができます。
下の画像では、カテゴリに「イベント」、タグに「2013」「写真」を設定しています。




スケジュールでは「公開開始日時」「公開終了日時」「レビュー日時」を指定することで、Webコンテンツの表示期間を設定できます。指定日にのみ公開したい、という要望も簡単に叶えられます。




コンテンツを作成し、諸々の設定を終えたところで「公開」をクリックすると、



Webコンテンツを作成し、表示させることができました!ブラウザエディタの操作だけで完了です。

同じ手順を繰り返せば、Webコンテンツ表示ポートレットを複数並べることもできます(ポートレットを横に並べたい、いや縦に並べたい、というようなページレイアウトはページ設定で変更可能です)。



左側に表示される目のマークをクリックすると、マークがオレンジ色になり、編集権限のないユーザとしての表示確認モードになります(上の画面)。

再度目のマークをクリックすると下のように緑色に戻り、編集・設定モードとなります。



このモードではWebコンテンツを編集(更新)することや、ポートレット内に表示されるWebコンテンツを変更することができます。

Webコンテンツの追加(他の方法)

 

Webコンテンツの追加画面へは、別の場所から遷移することもできます。
上部の「システム管理→サイト管理→コンテンツ」でも遷移可能です。




ページ左側の「+」をクリックすると表示される追加画面からの「新規追加→Webコンテンツ」でも追加画面へ遷移します。この場合、現在いるページにWebコンテンツ表示ポートレットが自動的に追加され、その中に作成したWebコンテンツが表示されるところまで行われます。




権限(ロール)について

 

今回はSite Ownerのロールですべての作業を行いましたが、Liferayでは細やかな権限設定が可能なので、今回行った以下のような作業を分担させることができます。
  • ポートレットの追加
  • コンテンツの追加・編集
  • ポートレットに追加するコンテンツの選択
  • 表示されるコンテンツの承認(※ワークフローを連携させて実現)
たとえば、サイト全体の複雑なポートレット構成は管理者が担当し、表示させるコンテンツの作成は技術知識のない担当者に任せる、といった運用が可能です。

また、Webコンテンツポートレット自身にも適切な権限を設定すれば、ユーザによって見えるコンテンツ・見えないコンテンツを管理することができます。

このような権限管理は、Liferayのようなポータル製品を利用してサイトを管理するメリットのひとつだと言えるでしょう。

その他の機能

 

ポートレットに表示させるWebコンテンツを選択する際、様々なオプションがあることに気付かれると思います。それぞれを有効にすることで、名称通りの機能が利用できるようになります。


 
必要に応じてこれらのオプションも使用すれば、より目的に沿ったWebコンテンツの扱いが可能になると思います。

おわりに

 

例として作成したのがシンプルなWebコンテンツ(そしてページ)であるため、Liferayの魅力が伝わりきっていないのではないかという懸念はありますが、めげずに次のLiferayの記事では同じく基本的な部分である「ドキュメントとメディア」ポートレットについて紹介をしようと思います。引き続き参考にしていただければ幸いです。