現在表示中:

このドキュメントは次の内容について説明します。

  • CQ ポータルのアーキテクチャ
  • CQ のポータルとしての管理と設定
  • CQ のポータルとしての使用
  • ポートレット(Web サーバーなど)内の CQ コンテンツのインストール、設定、表示

CQ ポータルのアーキテクチャ

CQ ポータルのアーキテクチャは、ポータル、ポートレットおよび CQ Portal Director の定義により構成されます。

ポータルとは

ポータルとは、パーソナライゼーション、シングルサインオン、様々なソースからのコンテンツ統合の機能を備え、情報システムのプレゼンテーションレイヤーをホストする Web アプリケーションです。

CQ では JSR 286 準拠のポートレットを実行できます。ポートレットコンポーネントによって、ページにポートレットを埋め込むことができます。CQ コンテンツポートレットの管理を参照してください。

ポートレットとは

ポートレットとは、動的コンテンツを生成するコンテナ内部にデプロイされる Web コンポーネントです。ポートレットインターフェイスは .war ファイルとしてパッケージ化され、ポートレットコンテナ内にデプロイされます。CQ をポータルとして実行している場合、ポートレットを実行するには、そのポートレットの .war ファイルが必要になります。

CQ コンテンツをポータル内に表示するための設定については、ポートレットでの CQ のインストール、設定、使用を参照してください。

CQ Portal Director

CQ5 Portal Director は、パブリッシュインスタンスのコンテンツの表示、オーサーインスタンスのコンテンツのプレビュー、および新しいブラウザーウィンドウで対応するページを開くためのコンテンツ内へのリンク配置が可能なコンテンツポートレットを提供します。このポートレットは、quickstart 抽出後の /crx-quickstart/opt/portal にあります。

コンテンツポートレットは JSR 286(ポートレット API 2.0)に基づいており、準拠するすべてのポータルで実行できます。

CQ ポートレットには次の機能があります。

  • ポートレットでのコンテンツの表示:ポートレットにコンテンツを表示します。コンテンツは、CQ WCM のページ全体かページの一部です。指定したセレクターと組み合わせて使用するテンプレートによって、コンテンツの表示方法を定義します。特に、ポートレットでは、1 ページだけのコンテンツを表示することも、サイトのサブ構造全体を配信して対応するナビゲーションを表示することもできます。ポートレットは、通常表示、最大表示などの様々な表示モードに対応します。

  • ポートレットの設定:CQ5 パブリッシュインスタンスを直接示すようにポートレットを設定します。そのためには、コンテンツを直接示す URL を使用するか、CQ WCM 内のポートレットコンテンツマップを示す URL を使用します。ポートレットのコンテンツマップが指定されている場合は、設定した URL にコンテンツのキーが含まれるので、その設定により、表示される実際のコンテンツにキーがマップされます。これにより、あるユーザーが CQ WCM 内でページを移動した場合などに、CQ5 で参照を調整することができます。ポートレット自体は、コンテンツを直接指定しているかどうか、または設定マップが使用されているかどうかは認識しません。編集する場合は、CQ WCM オーサーインスタンスへのベース URL も同様に設定されます。

  • レイアウト:ポートレットは、ポータルのデザインとテーマに従います。デザイン(CSS ファイル)はポートレットによってポータルページに追加されます。このデザインは自由に設定できます。これはポートレット API 2.0 のオプション機能であり、ポートレットコンテナではこの機能はサポートされないので、手動で CSS ファイルをポータルサーバーに追加する必要があります。

  • セキュリティ:ユーザーおよびグループの情報がポータルと共有されます。CQ WCM は、ユーザー情報に従ってパーソナライゼーションおよびアクセス制御をおこないます。ポータル(現在のユーザー)のユーザー情報が CQ WCM に転送されます。ユーザーは既にポータルにログインしているので、ポータルが認証メカニズムを主導します。CQ WCM(さらに CRX)は、このメカニズムを適切に処理するための十分な情報を受け取ります。既存またはカスタムのオーセンティケーターによる SSO シナリオがサポートされます。ポートレットは異なる CQ WCM インスタンス(特に表示用のパブリッシュインスタンスと編集用のオーサーインスタンス)に接続できるので、ユーザー情報は異なる可能性があり、それを適切に処理する必要があります。この処理は環境によって大きく異なる場合があります。そのため、多様なオーセンティケーターをプラグインできるメカニズムが用意されています。このように適切にユーザーを処理できるほか、1 人のテクニカルユーザーだけを使用するようにポートレットを設定することもできます。

  • 多言語:CQ WCM のコンテンツは、ポータルの言語に従います。ポートレットの標準仕様では、ポートレットで使用可能な言語をポートレットごとに設定することが求められています。ポータルはユーザーの設定した言語を CQ ポートレットに転送し、さらに CQ ポートレットがその情報を CQ WCM サーバーに転送します。正確な言語を提供するメカニズムではサイトに関する構造情報を使用します。つまり、リクエストがポートレット内部の言語固有の URL にマップされます。このメカニズムはプラガブルであり、カスタマイズ可能です。

  • リンク:ポートレット内のすべてのリンクは適切に書き換えられる必要があります。

  • キャッシュ:ポートレットは、CQ サーバーを直接示す代わりに、ディスパッチャーを示すように設定できます。このシナリオでは、ディスパッチャーのキャッシュが使用されます。ポートレットにも独自のキャッシュがあります。キャッシュの実装は、必要に応じてカスタム実装に置き換えることができます。

  • コンテンツ編集:CQ ポートレットは、ポートレットを設定しそのコンテンツを編集するためのリンクを提供します。CQ WCM 部分の設定によって、ポートレットに表示されるコンテンツの処理方法が決まります。編集は CQ WCM オーサリング環境でおこないます。必要に応じて、ページを直接編集する代わりに、ツリー内の追加リンクから「Web サイト」タブにアクセスすることもできます。ページを直接編集する代わりに「Web サイト」タブにアクセスする必要がある場合もあるでしょう。編集機能は、現在のユーザーにページを編集する資格がある場合に限り使用可能です。デフォルトでは、ユーザーが作成者であるかを検出するために CQ5 オーサーインスタンスに対して問い合わせます。

  • 非機能について:ポートレット統合は、可能なすべての状況で、各種標準(特に JSR 286)に基づいて行われます。そのため、この標準をサポートするすべてのポータル環境で汎用的です。1 つのポータルと複数の CQ WCM インスタンスによるセットアップ、および複数のポータルインスタンスと 1 つの CQ WCM インスタンスによるセットアップがサポートされます。

CQ コンテンツポートレットの管理

CQ コンテンツポートレットでは、ポータル内に CQ コンテンツを表示できます。このポートレットは /crx-quickstart/opt/portal にあり、様々な方法でカスタマイズできます。例えば、必要な CQ の認証情報を生成する独自の認証サービスをデプロイしてデフォルトの動作を上書きすることで、SSO/認証処理をカスタマイズすることができます。プラグインで定義済みの API を使用し、この API に対してプラグインを作成して、独自の機能を追加できます。プラグインは実行中のポートレットにデプロイできます。適切に機能させるには、CQ オーサーインスタンスとパブリッシュインスタンスの設定と、起動時に表示するコンテンツパスが必要になります。

一部の設定はポートレット環境設定によって変更できますが、その他の設定の変更は OSGi サービス設定によっておこないます。設定の変更には、config ファイルまたは OSGi Web コンソールを使用します。

ポートレット環境設定

ポートレット環境設定は、ポータルサーバー内へのデプロイ時に設定するか、ポートレット Web アプリケーションのデプロイ前に WEB-INF/portlet.xml ファイルを編集して設定することができます。デフォルトでは portlet.xml ファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd /opt/SUNWps/dtd/portlet.xsd"
             version="1.0">
   <portlet>
      <portlet-name>RSSWeatherPortlet</portlet-name>
      <portlet-class>org.jboss.portlet.weather.WeatherPortlet</portlet-class>
      <init-param>
         <name>default_zipcode</name>
         <value>05673</value>
      </init-param>
      <init-param>
         <name>RSS_XSL</name>
         <value>/WEB-INF/Rss.xsl</value>
      </init-param>
      <init-param>
         <name>base_url</name>
         <value>http://xml.weather.yahoo.com/forecastrss?p=</value>
      </init-param>
      <expiration-cache>180</expiration-cache>
      <supports>
         <mime-type>text/html</mime-type>
         <portlet-mode>VIEW</portlet-mode>
         <portlet-mode>EDIT</portlet-mode>
      </supports>
      <portlet-info>
         <title>Weather Portlet</title>
      </portlet-info>
      <portlet-preferences>
         <preference>
            <name>expires</name>
            <value>180</value>
         </preference>
         <preference>
            <name>RssXml</name>
            <value>http://xml.weather.yahoo.com/forecastrss?p=33145</value>
            <read-only>false</read-only>
         </preference>
      </portlet-preferences>
   </portlet>
</portlet-app>

ポートレットは次の環境設定を使用して設定できます。

startPath

ポートレットの開始パス。最初に表示されるコンテンツを定義します。

重要:ポートレットを / 以外のコンテキストパスで実行している CQ オーサーインスタンスおよびパブリッシュインスタンスに接続するように設定する場合は、(Felix Web コンソールなどを使用して)これらの CQ インスタンスの HTML ライブラリマネージャー設定で強制 CQUrlInfo を有効にする必要があります。そうしなければ、編集が機能せず、環境設定ダイアログが表示されません。

htmlSelector 各 URL に追加されるセレクター。デフォルトでは portlet であり、HTML ページへのすべてのリクエストが、.portlet.html で終わる URL を使用します。このセレクター設定により、ポートレットのレンダリングのために、CQ 内でカスタムスクリプトを使用できるようになります。
addCssToPortalHeader

デフォルトでは、CQ の HTML ページにインクルードされる CSS ファイルがポートレットにインクルードされます。このオプションを無効にすると、このデフォルトの CSS ファイルがインクルードされません。

このオプションを有効にすると、ポータルの状態に応じて、CSS ファイルが HTML ページの head 部に追加されるか、HTML ページ内に埋め込まれます。

includeToolbar デフォルトで、管理用のツールバーがコンテンツポートレット内部にレンダリングされます。このオプションを無効にすると、ツールバーがレンダリングされなくなります。
urlParameterNames

ポートレット用に表示する新しいコンテンツ URL を含む代替 URL パラメーター名のリスト。このリストは上から順に処理され、値が格納された最初のパラメーターが使用されます。URL が見つからない場合は、デフォルトの URL パラメーターが使用されます。指定した URL は、それ以上変更されずに指定したとおりに使用されます。

この設定はデプロイされたポートレットごとの設定ですが、OSGi 設定で「Day Portal Director Portlet Bridge」に対して一部の URL パラメーターをグローバルに設定することもできます。

preferenceDialog CQ 内の環境設定ダイアログへのパス。空の場合は、組み込みの環境設定ダイアログが使用されます。ダイアログのデフォルトは、/libs/portal/content/prefs.html です。
initialRedirect デフォルトでは、ポートレットは最初の呼び出し時にポータルページ全体の JavaScript リダイレクトを実行します。これは、最新型ポータルサーバーのドラッグ&ドロップシナリオに対応するための設定です。実稼働環境ではこのリダイレクトはほとんど必要ないので、この環境設定を false に設定してオフにすることができます。

OSGi Web コンソール

ポータルサーバーがホスト localhost、ポート 8080 で実行し、CQ ポートレット Web アプリケーションが Web アプリケーションコンテキスト cqportlet にマウントされていると想定すると、Web コンソールの URL は http://localhost:8080/cqportlet/cqbridge/system/console になります。デフォルトのユーザー名とパスワードは admin です。

Configurations」タブを開き、「Day Portal Directory CQ Server Configuration」を選択します。ここでオーサーインスタンスおよびパブリッシュインスタンスのベース URL を指定します。この手順については、ポートレットの設定で説明します。

注意:

OSGi Web コンソールの使用は、開発中(またはテスト中)の設定を変更する場合のみを想定しています。実稼働システムでは、このコンソールへのリクエストをブロックするようにしてください。

設定の指定

自動的なデプロイおよび設定のプロビジョニングをサポートするために、CQ コンテンツポートレットには、ポートレットアプリケーションに指定されたクラスパスから設定を読み取る設定補助機能が組み込まれています。

起動時に、システムプロパティの com.day.cq.portet.config が読み取られ、現在の環境が検出されます。通常、このプロパティの値は devprodtest などになります。環境を設定していない場合、設定は読み取られません。

環境を設定している場合、クラスパス com/day/cq/portlet/{env}.config で config ファイルが検索されます(env はその環境の実際の値に置き換えられます)。このファイルに、その環境のすべての設定ファイルを一覧で指定しておく必要があります。これらのファイルは、config ファイルからの相対位置として検索されます。例えば、このファイルに my.service.xml という行が含まれている場合、このファイルがクラスパス com/day/cq/portlet/my.service.config から読み取られます。このファイルの名前は、サービスの永続性 ID に .config を付けたものになります。先ほどの例では、永続性 ID は my.service です。設定ファイルの形式は、Apache Sling OSGi インストーラーによって使用されている形式と同じです。

つまり、環境ごとに、対応する config ファイルを追加する必要があります。すべての環境に適用される設定については、これらすべてのファイルに入力する必要があります。1 つの環境にのみ適用される設定については、そのファイルだけに入力します。このメカニズムによって、どの環境でどの設定を読み取るのかを完全に管理できます。

環境を検出するために、異なるシステムプロパティを使用することも可能です。そのためには、システムプロパティ com.day.cq.portet.configproperty を指定し、このプロパティに、com.day.cq.portet.config の代わりに使用するシステムプロパティ名を設定します。

キャッシュおよびキャッシュの無効化

ポートレットは、デフォルト設定の場合、CQ WCM から受け取ったレスポンスをユーザー固有のキャッシュ内にキャッシュします。パブリッシュインスタンスのコンテンツ内で変更が行われた場合、このキャッシュを無効にする必要があります。この目的で、CQ WCM ではオーサーインスタンス上でレプリケーションエージェントを設定する必要があります。キャッシュは手動でフラッシュすることもできます。ここでは、これらの手順について説明します。

ポートレットには独自のキャッシュを設定でき、それによって CQ にアクセスしなくてもポートレット内のコンテンツを表示できます。ポータルは /libs/portal/director 内にコンテンツとして配置されます。コンテンツにアクセスするには、CQ インスタンスを起動して、CRXDE Lite または WebDav を使用してその場所からファイルをダウンロードします。

このバンドルは実行時にデプロイするか、デプロイ前にポートレット Web アプリケーションの WEB-INF/lib/resources/bundles に追加します。

キャッシュがデプロイされた後は、ポートレットによってパブリッシュインスタンスからコンテンツがキャッシュされます。ポートレットのキャッシュは、CQ からディスパッチャーをフラッシュすることで無効にすることができます。独自のキャッシュを使用するようにポートレットを設定するには:

  1. ポータルサーバーをターゲットとするオーサーインスタンス内で、レプリケーションエージェントを設定します。 
  2. ポータルサーバーがホスト localhostポート 8080 で実行し、CQ ポートレット Web アプリケーションがコンテキスト cqportlet にマウントされていると想定すると、キャッシュをフラッシュするための URL は http://localhost:8080/cqportlet/cqbridge/cqpcache?Path=$(path) になります。GET メソッドを使用してください。
    注意:要求パラメーターを使用する代わりに、Path という名前の http ヘッダーを送信できます。

レプリケーションエージェントによるキャッシュのフラッシュ

通常のディスパッチャーの無効化と同様に、レプリケーションエージェントもポータルの CQ5 ポートレットキャッシュをターゲットとするように設定できます。レプリケーションエージェントの設定後、通常のページのアクティベートが行われるたびにポータルのキャッシュがフラッシュされます。

CQ ポートレットを実行する複数のポータルノードを運用している場合、この手順で示すとおりノードごとにエージェントを作成する必要があります。

ポータルのレプリケーションエージェントを設定するには:

  1. オーサーインスタンスにログインします。

  2. 「Web サイト」タブで、「ツール」タブをクリックします。

  3. レプリケーションエージェントの新規メニューで、「新しいページ」をクリックします。

  4. 「テンプレート」で、「レプリケーションエージェント」を選択し、エージェントの名前を入力します。「作成」をクリックします。

  5. 作成したレプリケーションエージェントをダブルクリックします。このエージェントはまだ設定されていないので、無効として表示されます。

  6. 編集」をクリックします。

  7. 設定」タブで、「有効」チェックボックスを選択し、シリアル化の種類として「Dispatcher Flush」を選択し、再試行のタイムアウト値(例:60000)を入力します。

  8. トランスポート」タブをクリックします。

  9. URI」フィールドに、ポートレットのフラッシュ URI(URL)を入力します。URL は次の形式です。

    http://<wps-host>:<port>/<wps-context>/<cq5-portlet-context>/cqbridge/cqpcache
  10. 拡張」タブをクリックします。

  11. HTTP メソッド」フィールドに "GET" と入力します。

  12. HTTP ヘッダー」フィールドで + をクリックし、新しいエントリおよびタイプとして Path: {path} を追加します。

  13. 必要に応じて、「プロキシ」タブをクリックし、エージェントのプロキシ情報を入力します。

  14. OK」をクリックして、変更を保存します。

  15. 接続をテストするには、「接続をテスト」リンクをクリックします。レプリケーションのテストが成功したかを示すログメッセージが表示されます。次に例を示します。

ポートレットのキャッシュの手動フラッシュ

レプリケーションエージェントに対して設定したものと同じ URL にアクセスして、ポートレットのキャッシュを手動でフラッシュすることができます。URL の形式については、キャッシュのフラッシュを参照してください。また、フラッシュ対象を示すには、URL パラメーターの Path=<path> を使用してこの URL を拡張する必要があります。

次に例を示します。

http://10.0.20.99:10040/wps/PA_CQ5_Portlet/cqbridge/cqpcache?Path=* はキャッシュ全体をフラッシュします。 http://10.0.20.99:10040/wps/PA_CQ5_Portlet/cqbridge/cqpcache?Path=/content/mypage/xyz はキャッシュの /content/mypage/xyz をフラッシュします。

ポータルのセキュリティ

ポータルが認証メカニズムを主導します。CQ には、テクニカルユーザー、ポータルユーザー、グループなどを使用してログインできます。ポートレットにはポータル内のユーザーのパスワードにアクセスする権限がないので、ポートレットがユーザーを正常にログインさせるためのすべての資格情報を知らない場合は、SSO ソリューションを使用する必要があります。この場合、CQ ポートレットは必要なすべての情報を CQ に転送し、さらに CQ がこの情報を基盤の CRX に転送します。この動作はプラガブルで、カスタマイズ可能です。

公開時の認証

ここでは、ポートレットが基盤の CQ WCM インスタンスとの通信時で使用できる認証モードについて説明します。

デフォルトでは、CQ のパブリッシュインスタンスにはユーザー情報が送信されません。コンテンツは常に匿名ユーザーとして表示されます。ユーザー固有の情報が CQ から配信される場合、または公開用のユーザー認証が必要な場合は、その設定をオンにする必要があります。

ポートレットの認証設定へのアクセス

ポートレットが CQ WCM インスタンス内で使用する認証設定オプションは、Web コンソール(OSGi 設定)で設定できます。

注意:

AEM で作業をする際、OSGi サービスの設定を管理する方法がいくつかあります(コンソールまたはリポジトリノード)。

詳しくは、OSGi の設定を参照してください。

ポートレットの認証設定にアクセスするには:

  1. 次の URL にある Web コンソールにアクセスします。

    http://:///cqbridge/system/console

    デフォルト設定での例:

    http://wps-host:10040/wps/PA_CQ5_Portlet/cqbridge/system/console

  2. Web コンソールにログインします。デフォルトの資格情報は、admin/admin です。

  3. コンソールで、「Configuration」を選択します。

  4. Configuration メニューで、設定する特定のサービスを選択します。サービスは、OSGi フレームワーク内のポートレットによって提供されます。

    サービス名 説明 
    Day Portal Director Authenticator CQ WCM インスタンスに対して使用する認証モードを設定します。選択したモードに応じて、テクニカルユーザーまたは SSO cookie の名前を指定できます。また、CQ WCM パブリッシュインスタンスに対する認証を有効にすることができます。
    Day Portal Director File Cache ポートレットが CQ WCM インスタンスから受け取ったレスポンスをどのようにキャッシュするかに関するパラメーターを設定します。
    Day Portal Director HTTP Client Service ポートレットが基盤の CQ WCM インスタンスに HTTP 接続する方法を設定します。例えば、プロキシサーバーを指定できます。
    Day Portal Director Locale Handler ポートレットがサポートするロケールを設定します。CQ WCM インスタンスへのリクエストはユーザーのロケールに基づいています。例えば、ユーザーの言語が「ドイツ語」の場合、/content/geometrixx/de/ にリクエストされます。
    Day Portal Director Privilege Manager ポートレットで、現在ログインしているユーザーに基づいて「Web サイト」タブの検証をおこなうかどうかを設定します。
    Day Portal Director Toolbar Renderer ポートレットのツールバーのレンダリング方法をカスタマイズします。
  5. さらに、Web コンソールとロギングサービスを設定できます。例えば、「Apache Felix OSGi Management Console」リンクをクリックして、Web コンソールの管理者の資格情報を変更できます。

テクニカルユーザーモード

デフォルトのモードでは、現在のポータルユーザーに関係なく、CQ WCM オーサーインスタンスに対してポートレットから発行されたすべてのリクエストが、同じテクニカルユーザーを使用して認証されます。テクニカルユーザーモードはデフォルトで有効です。OSGi 管理コンソールの該当する設定画面で、このモードを有効または無効にすることができます。

指定されたテクニカルユーザーは CQ WCM オーサーインスタンスに存在する必要があり、公開時の認証が有効な場合は、パブリッシュインスタンスにも存在する必要があります。オーサリング用の十分なアクセス権限をそのユーザーに付与するようにしてください。

SSO

ポートレットでは、CQ5 によって SSO が標準でサポートされます。オーセンティケーターサービスが SSO を使用し、現在のポータルユーザーを cqpsso という cookie として Basic 形式で CQ に送信するように設定することができます。CQ は、パス / に対して SSO 認証ハンドラーを使用するように設定する必要があります。cookie 名もここで設定する必要があります。

それに従って、CRX の crx-quickstart/repository/repository.xml も次のように設定する必要があります。

<LoginModule class="com.day.crx.security.authentication.CRXLoginModule">
  ...
  <param name="trust_credentials_attribute" value="TrustedInfo"/>
  <param name="anonymous_principal" value="anonymous"/>
</LoginModule>

SSO 認証モード

ポートレットでは、シングルサインオン(SSO)スキームを使用して CQ WCM の認証をおこなうことができます。このモードでは、ポータルに現在ログインしているユーザーが SSO cookie の形式で CQ WCM に転送されます。SSO モードを使用している場合、CQ ポートレットへのアクセス権を持つすべてのポータルユーザーの情報が基盤の CQ WCM インスタンスに存在する必要があります。通常は、CQ WCM が LDAP に接続する形式をとるか、事前にユーザーを手動で作成しておきます。また、ポートレット内で SSO を有効にする前に、基盤の CQ WCM オーサーインスタンス(および公開時の認証が有効な場合のパブリッシュインスタンス)を、SSO ベースのリクエストを受け入れるように設定しておく必要もあります。

ポートレットが SSO 認証モードを使用するように設定するには、次の手順を実行します(各手順については、以降の節で詳しく説明します)。

  • CQ WCM の CRX が信頼された資格情報を受け入れるように設定します。
  • CQ WCM で SSO 認証を有効にします。
  • CQ ポートレットで SSO 認証を有効にします。

CQ WCM の CRX が信頼された資格情報を受け入れる設定

CQ WCM で SSO を有効にする前に、基盤の CRX インスタンスが CQ WCM によって提供される信頼された資格情報を受け入れるように設定する必要があります。そのためには、CRX の repository.xml を設定します。

  1. CQ WCM がインストールされているファイルシステムで、次のファイルを開きます。

    //crx-quickstart/repository/repository.xml

  2. この XML ファイル内で LoginModule のエントリを探し、その設定に対して trust_credentials_attribute を追加します。

    <LoginModule class="com.day.crx.security.authentication.CRXLoginModule">
      ...
      <param name="trust_credentials_attribute" value="TrustedInfo"/>
      <param name="anonymous_principal" value="anonymous"/>
    </LoginModule>
  3. 変更を適用するために CQ WCM を再起動します。

CQ WCM での SSO 認証の有効化

CQ WCM で SSO を有効にするには、CQ WCM の Apache Felix Web 管理コンソール(OSGi)で関連する設定エントリにアクセスします。

  1. URI の http://<cq5-host>:<port>/system/console を使用してコンソールにアクセスします。

  2. Configuration メニューで、「SSO Authentication Handler」を選択します。以下の例では、SSO ハンドラーは CQ ポートレットによって提供された cookie に基づいて、すべてのパスの SSO リクエストを受け入れます。実際の設定はこれとは異なる可能性があります。

    Path / すべてのリクエストに対して SSO ハンドラーを有効にします。
    Cookie Names cqpsso ポートレットの OSGi コンソール内で設定されている、ポートレットによって提供される cookie の名前。
  3. Save」をクリックして SSO を有効にします。これで、SSO が主要認証スキームになりました。

CQ WCM が受け取るすべてのリクエストに対して、最初に SSO ベースの認証が試行されます。認証に失敗した場合、通常の基本認証スキームへのフォールバックが実行されます。このように、SSO を使用しない通常の CQ WCM への接続も引き続き可能です。

CQ ポートレットでの SSO 認証の有効化

基盤の CQ WCM インスタンスが SSO リクエストを受け入れるようにするために、ポートレットの認証モードを「Technical」から「SSO」に切り替える必要があります。

CQ ポートレットで SSO 認証を有効にするには:

  1. URI の http://<cq5-host>:<port>/system/console を使用してコンソールにアクセスします。

  2. Configuration メニューで、使用可能な設定のリストから「Day Portal Director Authenticator」を選択します。

  3. 「Mode」で、「SSO」を選択します。それ以外のパラメーターについてはデフォルト値のままにします。

  4. 「Save」をクリックして、ポートレットの SSO を有効にします。

    検証のために、ポータルの管理者ユーザーでポートレットにアクセスします(CQ WCM で管理者権限を持つ同じユーザーを作成後)。

この手順の実行後、リクエストが SSO を使用して認証されるようになります。典型的な HTTP 通信のスニペットを見ると、次のような SSO およびポートレット固有のヘッダーが含まれています。

C-12-#001898 -> [GET /mynet/en/_jcr_content/par/textimage/image.img.png HTTP/1.1 ]
C-12-#001963 -> [cq5:locale: en ]
C-12-#001979 -> [cq5:used-locale: en ]
C-12-#002000 -> [cq5:locales: en,en_US ]
C-12-#002023 -> [cqp:user: wpadmin ]
C-12-#002042 -> [cqp:portal: IBM WebSphere Portal/6.1 ]
C-12-#002080 -> [cqp:windowid: 7_CGAH47L000CE302V2KFNOG0084 ]
C-12-#002124 -> [cqp:windowstate: normal ]
C-12-#002149 -> [cqp:portletmode: view ]
C-12-#002172 -> [User-Agent: Jakarta Commons-HttpClient/3.1 ]
C-12-#002216 -> [Host: 10.0.0.68:4502 ]
C-12-#002238 -> [Cookie: $Version=0; cqpsso=Basic+d3BhZG1pbg%3D%3D ]
C-12-#002289 -> [ ]

PIN 認証の有効化

CQ コンテンツポートレットのデフォルトのインライン編集機能を使用せずに、ポータル外部の CQ オーサーインスタンス内で直接、ポートレットのオーサリングや管理をおこなう必要がある場合、PIN 認証を有効にする必要があります。また、管理関係のボタンの設定を変更する必要があります。

Web サイトの管理ページを開くか、ポートレットからページを編集する際に、CQ コンテンツポートレットでこの新しい PIN 認証が使用されます。PIN 認証はデフォルトで無効です。そのため、次の設定変更を CQ 内でおこなう必要があります。

  1. repository.xml ファイル内に信頼された情報を追加して、CRX で信頼された認証を有効にします。

    <LoginModule class="com.day.crx.security.authentication.CRXLoginModule">
      ...
      <param name="trust_credentials_attribute" value="TrustedInfo"/>
    </LoginModule>
  2. OSGi 設定コンソール(デフォルトの場所は http://localhost:4502/system/console/configMgr)で、ドロップダウンメニューから「CQ PIN Authentication Handler」を選択します。

  3. URL Root Path」パラメーターを編集し、「/」という 1 文字だけを入力します。

権限

ポートレットの一部の機能は権限によって保護されます。現在のユーザーがその機能にアクセスするには、そのための権限を持っている必要があります。次の権限が事前に定義されています。

  • toolbar:これは、ポートレットでツールバーを表示または使用するための一般的な権限です。
  • prefs:この権限を持つユーザーは、ポートレットの環境設定を表示または変更できます。
  • cq-author:edit:この権限を持つユーザーは、コンテンツの編集ビューを起動できます。
  • cq-author:preview:この権限を持つユーザーは、プレビュー表示をおこなうことができます。
  • cq-author:siteadmin:この権限を持つユーザーは、CQ 内で siteadmin を開くことができます。

権限の管理方法として最適なのは、ポータルの役割を使用して、役割をそれらの権限に割り当てることです。これは OSGi 設定によって実行できます。「Day Portal Director Privilege Manager」に、権限ごとの一連の役割を設定できます。ユーザーがその役割のいずれかを持っている場合、対応する権限を持っていることになります。

さらに、この役割ベースのアクセス権をポートレットのインスタンスごとに定義することも可能です。ポートレットの環境設定ダイアログに、上記の権限のそれぞれに関する入力フィールドが表示されます。権限ごとに、ポートレットの役割をコンマ区切りで指定したリストを設定できます。値を設定したら、その値が「Day Portal Director Privilege Manager」サービスのグローバル設定よりも優先されます。また、役割がマージされないので、場合によっては、このグローバル設定と同じ役割を追加する必要があります。値を指定しない場合は、グローバル設定が使用されます。

CQ ポートレットアプリケーションのカスタマイズ

指定した CQ ポートレットアプリケーションによって、CQ5 と同様に、Web アプリケーション内部で OSGi コンテナが開始されます。このアーキテクチャによって、次のような OSGi の利点をすべて活かすことができます。

  • 更新、拡張しやすい
  • ポータルサーバーと通信せずに、ポートレットのホットアップデートを実行できる
  • ポートレットをカスタマイズしやすい

ツールバーのボタン

ツールバーとその内部のボタンは設定可能で、カスタマイズ可能です。ツールバーに独自のボタンを追加したり、各モードで表示するボタンを定義したりすることができます。各ボタンは 1 つの OSGi サービスであり、OSGi 設定によって設定可能です。

OSGi Web コンソールの「Configuration」タブに、すべてのボタンの設定が一覧表示されます。ボタンごとに、そのボタンを表示するモードを定義できます。例えばすべてのモードを削除して、ボタンを無効にすることができます。

デフォルトで、CQ コンテンツポートレットではインライン編集機能を使用しますが、CQ オーサーインスタンスに切り替えて編集したい場合は、「SiteAdmin Button」と「ContentFinder Button」を有効にして、「Edit Button」を無効にします。この場合、CQ で PIN 認証を適切に設定してください。

ポートレットの Felix Web コンソールからバンドルをインストールして、ポートレットのツールバーレイアウトをカスタマイズできます。このバンドル内の定義済みの場所に、カスタムの CSS/HTML があります。

バンドル構造

バンドル構造の例を次に示します。

$ jar tvf target/toolbarlayout-0.0.1-SNAPSHOT.jar | awk '{print $8}'
META-INF/
META-INF/MANIFEST.MF
/com/day/cq/portlet/toolbar/layout/
/com/day/cq/portlet/toolbar/layout/author.gif
/com/day/cq/portlet/toolbar/layout/back.gif
/com/day/cq/portlet/toolbar/layout/button.html
/com/day/cq/portlet/toolbar/layout/edit.gif
/com/day/cq/portlet/toolbar/layout/manage.html
/com/day/cq/portlet/toolbar/layout/publish.html
/com/day/cq/portlet/toolbar/layout/refresh.gif
/com/day/cq/portlet/toolbar/layout/siteadmin.gif
/com/day/cq/portlet/toolbar/layout/toolbar.css

META-INF フォルダーには、バンドルとして識別するために OSGi によって要求される MANIFEST.MF ファイルが含まれています。このファイルの内容は次のとおりです。

Manifest-Version: 1.0
Built-By: djaeggi
Created-By: Apache Maven Bundle Plugin
Import-Package: com.day.cq.portlet.toolbar.layout
Bnd-LastModified: 1234178347159
Export-Package: com.day.cq.portlet.toolbar.layout
Bundle-Version: 0.0.1.SNAPSHOT
Bundle-Name: Company CQ5 Portal Director Portlet Toolbar Layout
Bundle-Description: This bundle provides a custom layout for the CQ5 P
 ortal Director Portlet Toolbar.
Build-Jdk: 1.5.0_16
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.day.cq.portlet.company.toolbarlayout
Tool: Bnd-0.0.255

HTML、CSS または画像が /com/day/cq/portlet/toolbar/layout フォルダー内にあるということはポートレットの必須条件とされており、変更することはできません。同じように、MANIFEST.MF の Import-Package ヘッダーと Export-Package ヘッダーでも /com/day/cq/portlet/toolbar/layout を指定する必要があります。Bundle-SymbolicName は、一意の完全修飾パッケージ名である必要があります。

Maven などのツールを使用してこのバンドルをビルドするか、ここで説明する関連ヘッダーを含む JAR ファイルを手動で作成することができます。

ポートレットのツールバーのビュー

ポートレットのツールバーには、基本的に 2 つのビューの状態があります。それぞれのビューと関連するボタンは、対応する各 HTML ファイルでカスタマイズできます。

発行ビュー

発行ビューには、ツールバーを管理ビューに切り替えるボタン 1 つだけがあります。発行ビューは、以前のバンドル内の publish.html ファイルによって表されます。この HTML では、次のプレースホルダーを使用できます。このプレースホルダーはレンダリング時にポートレットによって、対応するコンテンツに置き換えられます。

発行ビューのプレースホルダー

プレースホルダー文字列 説明 
{buttonManage} プレースホルダーが「管理」ボタンに置き換えられます。管理ボタンは、ポートレットの状態を管理状態に切り替えます。

管理ビュー

管理表示には、「編集」、「「Websites」タブ」、「更新」および「戻る」の 4 つのボタンがあります。管理ビューは、以前のバンドル内の manage.html ファイルによって表されます。この HTML では、次のプレースホルダーを使用できます。このプレースホルダーはレンダリング時にポートレットによって、対応するコンテンツに置き換えられます。

管理ビューのプレースホルダー

プレースホルダー文字列  説明 
{buttonEdit} プレースホルダーが「編集」ボタンに置き換えられます。編集ボタンは、現在のページを含む新しいウィンドウを CQ の編集モードで開きます。
{buttonWebsites tab} CQ WCM の「Web サイト」タブを開くボタンに置き換えられるプレースホルダーです。
{buttonRefresh} 現在のビューを更新します。
{buttonBack} ポートレットを発行ビューに戻します。

ボタン

表示されるビューを問わず、ボタンには button.html に定義された同じ共通の HTML が使用されます。

この HTML では、次のプレースホルダーを使用できます。このプレースホルダーはレンダリング時にポートレットによって、対応するコンテンツに置き換えられます。

管理ビューおよび発行ビューのボタン

プレースホルダー文字列  説明 
{name} ボタンの名前(例:author、back、refresh など)。
{id} ボタンの CSS ID。
{url} ボタンのターゲット URL。
{text} ボタンのラベル。
{onclick} JavaScript の onclick 関数({url} が含まれる)。

button.html ファイルの例:

<div class="cqp_button">

 <a href="#" onclick="{onclick}">

 <img src="/wps/PA_CQ5_Portlet/cqbridge/static/{id}.gif" alt="{text}" 
title="{text}"/>

 </a>
</div>

カスタムレイアウトのインストール

カスタムレイアウトをインストールするには、ポートレットの OSGI Web コンソールの「Bundles」セクションにアクセスしてバンドルをアップロードします。

パッケージ

インストール用のパッケージを更新または作成する必要がある場合は、詳しい説明について CRX ドキュメントのパッケージマネージャーを参照してください。

リンクの処理

すべてのリンクは、ポータルのコンテキスト内で動作するように書き換えられます。デフォルトで、レンダリングパラメーターを含むリンクが使用されます。代わりにアクションリンクを使用するように Day Portal Director HTML Rewriter を設定することもできます。

また、コンテンツパスを表示するために問い合わせられる追加のリクエストパラメーターを定義することもできます。これは、例えば外部から特定のコンテンツへのリンクがある場合に便利です。

さらに、Day Portal Director HTML Rewriter に、リンクの書き換え除外を定義するための正規表現のリストを設定することができます。例えば、外部システムへの相対リンクがある場合、それらのリンクをこの除外リストに追加する必要があります。

ローカリゼーション

CQ コンテンツポートレットにはローカリゼーション機能が組み込まれています。この機能によって、CQ のコンテンツが適切な言語で表示されるようになります。

ローカリゼーションは次の 2 つの手順で実行されます。

  1. Day Portal Directory Locale Detector がポータルのロケール設定を取得して、ポータルユーザーのロケールを検出します。このサービスには、CQ で使用可能な言語のリストを設定しておく必要があります。
  2. Day Portal Director Locale Handler が現在のリクエストのローカリゼーションを処理します。リクエストされたコンテンツのパス(例:/content/geometrixx/en/company.html)を取得し、設定に従って、en を実際のユーザーのロケールに書き換えます。

Day Portal Director Locale Handler には、ロケール情報をチェックするためのパスを設定できます。通常、この設定には /content 以下のすべてと、パス内のロケール情報の位置が含まれます。Day Portal Director Locale Handler はデフォルトで、CQ 内の多言語サイトの推奨構造に従います。

パス内のロケール情報を処理するための厳格なルールがないサイトの場合は、ロケールハンドラーを独自の実装に置き換えることが可能です。

オプションの OSGi サービス

オプションの OSGi サービスを実装して、ポートレットの様々な部分をカスタマイズできます。各サービスが 1 つの Java インターフェイスに対応します。このインターフェイスを実装して、バンドルによってポートレットにデプロイすることができます。

RequestTracker リクエストトラッカーは、ポートレットによってコンテンツが表示されるときに常に通知を受けます。リクエストトラッカーを使用して、ポートレットの呼び出しを追跡できます。
InvocationContextListener ポートレットへの各リクエストの最初と最後に呼び出されるリスナー。このリスナーを使用して、現在のリクエストの情報を変更したり追加したりすることができます。
ErrorHandler レンダリングフェーズでのエラーを処理するカスタムエラーハンドラー。
HttpProcessor このサービスを使用して、CQ に対する各 HTTP 呼び出しに情報を追加することができます。
PortletAction ポートレットに独自のアクションを追加します。このアクションは、ポートレットのアクションリンクから呼び出すことができます。
PortletDecoratorService このサービスを使用して、ポートレットのコンテンツを修飾することができます。
ResourceProvider 独自のリソースプロバイダーを追加して、ポートレットのリソースリンク経由で何らかのリソースをクライアントに送信します。
TextMapper HTML、CSS および JavaScript ファイルの後処理ができます。
ToolbarButton ツールバーに独自のボタンを追加します。
UrlMapper カスタム URL マッピングまたは書き換えを適用するためのサービスを追加します。
UserInfoProvider ユーザーに関する独自の情報を追加します。このサービスを使用して、ポータルからポートレットに渡す情報を取得できます。

デフォルトサービスの置き換え

次のサービスには、コンテンツポートレット内にデフォルト実装(と対応する Java インターフェイス)があります。カスタマイズするには、新しいサービス実装を含むバンドルをポートレットアプリケーションにデプロイする必要があります。

そのサービスを実装する際に、サービスの service.ranking プロパティに正の値を必ず設定するようにしてください。デフォルトの実装ではランク 0 が使用され、ポートレットは最も値の大きいランクのサービスを使用します。

名前 説明 デフォルトの動作
Authenticator CQ に認証情報を提供します。 作成者と公開の両方に対して、設定可能なテクニカルユーザーを使用します。または、SSO を使用できます。
HTMLRewriter リンク、画像などを書き換えます。 CQ リンクをポータルリンクへ書き換える操作は、UrlMapper と TextMapper によって拡張できます。
HttpClientService すべての HTTP 接続を処理します。 標準実装です。
LocaleHandler ロケール情報を処理します。 リンクをロケールに合ったコンテンツに書き換えます。
LocaleDetector ユーザーのロケールを検出します。 ポータルによって指定されたロケールを使用します。
PrivilegeManager ユーザーの権限をチェックします。 ユーザーがコンテンツの編集を許可されている場合、オーサーインスタンスへのアクセス権をチェックします。
ToolbarRenderer ツールバーをレンダリングします。 ツールバーの機能を追加します。

ポートレットイベント

ポートレット API(JSR 286)ではポートレットイベントについて規定されています。CQ コンテンツポートには統合ブリッジがあり、このブリッジによって CQ ポートレットに関するポートレットイベントを OSGi イベントによって配信します。この仕組みによって、ポートレットイベントの処理がプラガブルになっています。

特定のイベントを処理する場合、デプロイメントディスクリプター内でそれらのイベントを受信イベントとして宣言します(またはポータルサーバー経由で設定します)。さらに、EventHandler インターフェイスを宣言する OSGi サービスを実装します(OSGi EventAdmin 仕様を参照してください)。

ポートレットイベントが発生するたびに、固有の OSGi イベントが送信され、カスタムのハンドラーが呼び出されます。そのハンドラーはすべてのコンテキスト情報を取得し、適宜ポートレットの状態を更新したり、新しいイベントを送信したりすることができます。基本的に、handle メソッド内ではポートレットイベントフェーズのすべての機能を使用できます。

CQ のポータルとしての使用

ポートレットコンポーネントを使用して、ポートレットウィンドウを CQ ページに追加します。アプリケーションサーバーにインストールした共有ライブラリによって、ポートレットコンポーネントがデプロイ済みのポートレットアプリケーションを検出できるようになります。

CQ をポータルとして使用するには、次のタスクを実行します。

  1. ポートレットコンポーネントと共有ライブラリをインストールします。
  2. ポートレットコンポーネントをサイドキックに追加します。
  3. ポータルコンポーネントに表示するポートレットを含む Web アプリケーションを設定し、デプロイします。
  4. このポートレットコンポーネントをページに追加し、表示するポートレットを選択します。

注意:

ポートレットコンポーネントは、CQ が Web アプリケーションとしてデプロイされている場合に限り使用できます(アプリケーションサーバーによる CQ5 のインストールを参照してください)。

ポートレットコンポーネントのインストール

CQ5.5 Quickstart JAR ファイルにはポートレットコンポーネントファイルが含まれています。ファイル(cq-portlet-components.zip)を取得するには、Quickstart を実行するか、その内容を抽出します。 

  1. Quickstart JAR ファイルを実行するかその内容を抽出して、次の場所にある cq-portlet-components.zip ファイルを特定します。
    • Quickstart を実行する場合:crx-quickstart/opt/portal
    • Quickstart の内容を抽出する場合:static/opt/portal
  2. アプリケーションサーバーにデプロイされている CQ5 オーサーインスタンスのパッケージマネージャーを開きます (http://アプリケーションサーバーのホスト:ポート/cq5author/crx/packmgr)。
  3. パッケージマネージャーを使用して、cq-portlets-components.zip パッケージをアップロードし、インストールします

    このパッケージによって、リポジトリ内の /libs/portal/director フォルダーに cq-portlet-director-sharedlibs-x.x.x.jar がインストールされます。

  4. cq-portlet-director-sharedlibs-x.x.x.jar をハードドライブにコピーします。FileVault や WebDAV クライアントなどを使用して、このファイルを取得します。
  5. cq-portlet-director-sharedlibs.x.x.x.jar ファイルをアプリケーションサーバーの共有ライブラリフォルダーに移動して、ライブラリのクラスをデプロイ済みのポートレットアプリケーションから使用できるようにします。

サイドキックへのポートレットコンポーネントの追加

ポートレットコンポーネントを段落システムに追加して、作成者が使用できるようにします。 

  1. サイドキックで、定規アイコンをクリックしてデザインモードに切り替えます。
  2. 最初の段落の上にある段落のデザインヘッダーの横の「編集」をクリックします。
  3. 一般」コンポーネントカテゴリで、ポートレットコンポーネントの横にあるチェックボックスをオンにして「OK」をクリックします。

ポートレットアプリケーションの設定とデプロイ

アプリケーションサーバーの Web コンテナにポートレットをデプロイして、ポータルコンポーネントから使用できるようにします。ポートレットアプリケーションをデプロイする前に、このアプリケーションが CQ ポータルコンテナサーブレットを読み込むように設定する必要があります。 この設定によって、ポートレットコンポーネントがポートレットにアクセスできるようになります。

  1. ポートレットアプリケーションの WAR ファイルの内容を抽出します。

    ヒント:jar xf nameofapp.war コマンドによってファイルを抽出します。

  2. web.xml ファイルをテキストエディターで開きます。

  3. 次のサーブレット設定を web-app 要素内に追加します。

    <servlet>
            <servlet-name>slingportal</servlet-name>
            <servlet-class>org.apache.sling.portal.container.api.ContainerServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
            <servlet-name>slingportal</servlet-name>
            <url-pattern>/SlingPortletInvoker</url-pattern>
    </servlet-mapping>
  4. web.xml ファイルを保存し、WAR ファイルを再度パッケージ化します。

    ヒント:jar cvf nameofapp.war * コマンドにより、現在のディレクトリの内容を nameofapp.war ファイルに追加します。

  5. ポートレットアプリケーションをアプリケーションサーバーにデプロイします。詳しくは、アプリケーションサーバーのドキュメントを参照してください。

CQ ページへのポートレットの追加

ポータルコンポーネントを使用して、ポートレットウィンドウを Web ページに追加します。コンポーネントのプロパティを使用して、表示するポートレットを指定します。

  1. Web ページで、サイドキックの「一般」グループのポートレットコンポーネントをページにドラッグします。

    注意:

    コンポーネントをページにドラッグした後、ページを再度読み込んで、適切に動作することを確認します。

  2. コンポーネントをダブルクリックして、ポートレットのプロパティを開きます。

  3. ポートレットエンティティ」ドロップダウンメニューで、リストからポートレットを選択します。

  4. ポートレットのタイトルバーを表示するかどうかに応じて、「タイトルバーを隠す」チェックボックスをオンまたはオフにします。

  5. ポートレットウィンドウ」フィールドに、必要に応じて一意のポートレットウィンドウ ID を入力します。

    注意:

    同じページで同じポートレットを複数使用する場合は、それぞれのポートレットに異なるウィンドウ ID を設定してください。

  6. OK」をクリックします。ポートレットが CQ ページに表示されます。

ポートレットでの CQ のインストール、設定、使用

CQ5 WCM によって提供されるコンテンツにアクセスするには、ポータルサーバーに CQ5 Portal Director Portlet を取り付ける必要があります。そのためには、ここで説明する手順を使用して、ポートレットをインストールおよび設定し、ポータルページに追加します。

デフォルトで、ポートレットは localhost:4503 でパブリッシュインスタンスに接続し、localhost:4502 でオーサーインスタンスに接続します。これらの値は、ポートレットのデプロイ時に変更できます。ポータルディレクターは、リポジトリ内の /libs/portal/directory 以下にコンテンツとして存在します。ポータルディレクターを使用する前に、アプリケーション WAR ファイルをダウンロードする必要があります。

WAR ファイルのダウンロード

  1. WebDav または CRXDE Lite を使用して、/libs/portal/directory に移動します。

  2. cq-portlet-webapp.war をダウンロードします。

注意:

ここで紹介する手順では、WebSphere ポータルを例として使用します。できる限り汎用的な手順を説明しますが、他の Web ポータルでは異なる手順になる点に注意してください。すべての Web ポータルで手順はほぼ同一ですが、お使いの Web ポータルに合わせて手順を変更する必要があります。

ポートレットのインストール

ポートレットをインストールするには:

  1. 管理者権限でポータルにログインします。

  2. Web ポータルのポートレット管理画面に移動します。

  3. 「Install」をクリックして、ダウンロードした CQ5 ポートレットアプリケーション(cq-portlet-webapp.war)を参照し、ポートレットに関するその他の重要な情報を入力します。

    他のポートレット基本情報については、デフォルト値を使用するか、値を変更します。デフォルト値を使用する場合、ポートレットのアドレスは http://<wps-host>:<port>/wps/PA_CQ5_Portlet になります。ポートレットによって提供される OSGi 管理コンソールのアドレスは http://<wps-host>:<port>/wps/ PA_CQ5_Portlet/cqbridge/system/console になります(デフォルトのユーザー名とパスワードは admin/admin です)。

  4. 自動起動オプションまたはチェックボックスを選択して変更を保存し、ポートレットアプリケーションが自動的に起動するようにします。インストールが成功したことを示すメッセージが表示されます。

ポートレットの設定

ポートレットのインストール後、基盤の CQ5 インスタンス(オーサーおよびパブリッシュ)の URL をポートレットに設定する必要があります。また、その他のオプションも設定できます。

ポートレットを設定するには:

  1. アプリケーションサーバーのポータル管理ウィンドウで、ポートレット管理に移動します。この画面にすべてのポートレットが一覧表示されます。「CQ Portal Director」ポートレットを選択します。

  2. 必要に応じて、ポートレットを設定します。例えば、オーサーインスタンスとパブリッシュインスタンスの URL や開始パスの URL を変更する必要があります。デフォルトの設定については、ポートレット環境設定を参照してください。

    注意:

    ポートレットを / 以外のコンテキストパスで実行している CQ オーサーインスタンスおよびパブリッシュインスタンスに接続するように設定する場合は、(Felix Web コンソールなどを使用して)これらの CQ インスタンスの HTML ライブラリマネージャー設定で強制 CQUrlInfo を有効にする必要があります。そうしなければ、編集が機能せず、環境設定ダイアログが表示されません。

  3. アプリケーションサーバーで設定の変更を保存します

  4. ポートレットの OSGI 管理コンソールに移動します。デフォルトの場所は http://<wps-host>:<port>/wps/PA_CQ5_Portlet/cqbridge/system/console/configMgr です。デフォルトのユーザー名とパスワードは admin/admin です。

  5. Day Portal Director CQ Server Configuration」設定を選択し、次の値を編集します。

    • Author Base URL:CQ オーサーインスタンスのベース URL です。
    • Publish Base URL:CQ パブリッシュインスタンスのベース URL です。
    • Author Is Used As Publish:オーサーインスタンスが(開発用に)パブリッシュ
      インスタンスとして使用されているかどうかを指定します。
  6. Save」をクリックします。これで、ポートレットをポータルページに追加してポータルを使用できるようになりました。

コンテンツの URL

コンテンツが CQ からリクエストされたとき、ポートレットにより、現在の表示モード(パブリッシュまたはオーサー)と現在のパスから完全な URL が作成されます。デフォルト値を使用した場合の最初の URL は http://localhost:4503/content/geometrixx/en.portlet.html です。htmlSelector の値が URL の拡張子の前に自動的に追加されます。

ポートレットがヘルプモードに切り替えられ、appendHelpViewModeAsSelector が選択された場合は、同じように help セレクターが付加されます(例:http://localhost:4503/content/geometrixx/en.portlet.html.help)。ポートレットウィンドウが最大化され、appendMaxWindowStateAsSelector が選択された場合は、同じようにそのセレクターが付加されます(例:http://localhost:4503/content/geometrixx/en.portlet.max.help)。

セレクターは CQ によって評価され、セレクターごとに様々なテンプレートを使用できます。

CQ でのコンテンツ URL マップの使用

通常、開始パスは直接 CQ 内のコンテンツを示しますが、ポートレット環境設定ではなく CQ 内で開始パスを管理する場合は、開始パスが CQ 内のコンテンツマップを示すように設定できます(例:/var/portlets)。この場合、CQ で実行されるスクリプトでは、ポートレットから送信された情報を使用して、どの URL が開始 URL であるかを判断することができます。このスクリプトは、正しい URL へのリダイレクトを発行する必要があります。

ポータルページへのポートレットの追加

ポートレットをポータルページに追加するには:

  1. アプリケーションサーバーの管理者ウィンドウで、ページ管理画面に移動します(例:WebSphere 6.1 では、「Manage Pages」をクリックします)。

  2. ポートレットの名前を選択し、既存のページを選択するか新しいページを作成します。

  3. ページレイアウトを編集します。

  4. ポートレットを選択し、コンテナに追加します。 

  5. 変更を保存します。

ポートレットの使用

ポートレットに追加したページにアクセスするには:

  1. ポートレットのパーソナライゼーションメニューで、ポータル内で設定したとおりにポートレットを設定します。

  2. その設定を開き(ポートレットに、ポートレットの設定で指定した公開用の開始 URL が表示されます)、必要に応じて編集をおこない、保存します。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー