This wiki does not contain official documentation and is currently deprecated and read only. Please try reading the documentation on the Liferay Developer Network, the new site dedicated to Liferay documentation. DISCOVER Build your web site, collaborate with your colleagues, manage your content, and more. DEVELOP Build applications that run inside Liferay, extend the features provided out of the box with Liferay's APIs. DISTRIBUTE Let the world know about your app by publishing it in Liferay's marketplace. PARTICIPATE Become a part of Liferay's community, meet other Liferay users, and get involved in the open source project. 機能の拡張と変更
他言語: English
Table of Contents [-]
概要 #
Liferayには標準でコンテンツ管理、共同作業環境、ツールなどっと多くの機能が備えられています。ポータルによってはこれらの機能で充分ですが、機能を拡張/変更したり外見を変更したい場合もあります。
Liferayは機能を変更/追加するために6種類のプラグインを用意しています。
- ポートレット:Webページで実行されるアプリケーション
- テーマ:ページの外観
- レイアウトテンプレート:ページ上でポートレットの配置
- Web:ポータルで連携して動作するJava EE webモジュール(例:ESB、SSO)
- フック:プロパティやイベントの上書
- Extプラグイン:Javaクラスなどの置き換えこれらのプラグインを一つの.warファイルに同梱して配布/デプロイすることも可能です。例えば、ページの構成を変更する場合は、テーマとレイアウトを一つの.warファイルに同梱することができます。
以下にLiferayの標準機能を変更/追加する場合に利用されるプラグインに付いて説明します。
外観の変更:テーマ #
テーマはCSSとVelocityテンプレートの組み合わせを使ってLiferayポータルの外観を変更します。多くの場合はLiferayの標準テーマにCSSを追加するだけで充分です。Liferayの本体を修正しないため、Liferayをバージョンアップした場合でもCSSが適用されます。CSSの追加だけでは不十分な場合でも、修正したテンプレートを作成すると、Liferayがデフォルトテーマから必要な他ファイルを複写します。ポートレットと同様に、テーマもホットデプロイすることができます。
レイアウトの雛形を追加: レイアウトテンプレート #
レイアウトはテーマを類似しています。テーマは外観を変更しますが、レイアウトはポートレットのページ上の配置を変更します。レイアウトもVelocityで書かれていて、ホットデプロイすることができます。
標準機能の変更及び機能の追加: フックプラグイン #
Liferayの機能を変更したり、機能を修正する場合はフックプラグインで行うことを推奨します。フックプラグインを使ってポータルのプロパティの変更や起動/シャットダウン/ログイン/ログアウト/セッションの作成/セッションの廃棄時に処理を実行するようにできます。また、サービスラッパーを利用してLiferayのコアサービスを変更することができます。その他のも、標準ポートレットのJSPテンプレートを置き換えて外観を変えることもできます。なお、フックプラグインもポートレットと同じようにホットデプロイすることができます。
詳細なカスタマイズ: Extプラグイン #
Extプラグインを使ってLiferayの殆どのクラスを変更することができます。ただし、Extプラグインは上位互換が保証されます。作成されたExtプラグインは次のバージョンで正常に動作しない場合があります。そのためにExtプラグインは最終手段として使うことを推奨します。 Extプラグインを作成する場合は、充分にテストを行い、Liferay全体に悪影響を起こさないことを確認してください。 Extプラグインは他プラグインと同様にデプロイしますが、サーバを再起動しないと内容が有効になりません。そのため、Extプラグインを他プラグインと同じ.warファイルに同梱することはお勧めされていません。