Skip navigation.

プロダクション業務ユーザーズ ガイド

  前 次 前と次、目次/インデックス/pdf を分けるコロン 目次  

エクスポート/インポート ユーティリティの使用

エクスポート/インポート ユーティリティが提供する移動機能を使用して、ブック、ページ、およびデスクトップを開発環境とステージング環境の間でやり取りすることができます。このユーティリティは xip ユーティリティ (eXport/Import Portal) とも呼ばれ、.portal ファイルおよび .pinc (ポータル インクルード) ファイルのデータベースへのインポートおよびデータベースからのエクスポートを行うことができます。エクスポートしたファイルを WebLogic Workshop にロードして戻したり、他の WebLogic Portal データベースにインポートしたりできます。このユーティリティで処理される特定の要素の詳細については、「エクスポート/インポート ユーティリティの概要」を参照してください。

図 9-1 に、エクスポート/インポート ユーティリティの環境間でのファイルのやり取りを示します。


 

図 9-1 ラウンドトリップ開発ができるエクスポート/インポート ユーティリティ


 

この章では、エクスポート/インポート ユーティリティの使用方法について説明します。このユーティリティに関する基礎情報や使用目的についても説明します。また、一般的な使用例を示す詳細なサンプルを提示します。

この章では、以下のトピックについて説明します。

 


エクスポート/インポート ユーティリティのインストール

ユーティリティのインストールについては、「Propagation ソフトウェアのインストール」を参照してください。

 


エクスポート/インポート ユーティリティを使用する前に

エクスポート/インポート ユーティリティを使用する前に、ポータルの基本概念および用語について理解することが重要です。この節を読むと、この章の残りの部分の説明と例をより明確に理解できるようになります。

.portal ファイルとデスクトップについて

WebLogic Workshop で作成する .portal ファイルは、完全に機能するポータルです。ただし、デスクトップを作成するためのテンプレートとしても使用できます。このテンプレートに、ブック、ページ、およびポートレットの参照を作成します。.portal ファイルをブラウザで表示すると、ポータルは「シングル ファイル モード」で表示されます。これは、ポータルをデータベースからではなく、ファイル システムから表示していることを意味します。つまり、.portal ファイルの XML が解析され、変換されたポータルがブラウザに返されます。.portal を作成するのは、開発目的に使用したり、静的ポータル (エンド ユーザや管理者によってカスタマイズされないポータル) として利用するためです。データベースを使用しないため、ユーザ カスタマイズや資格などの機能は利用できません。

作成した .portal ファイルは、ステージング環境またはプロダクション環境用のデスクトップを作成するためのテンプレートとして使用することができます。デスクトップとは、訪問者がアクセスするポータルのビューの 1 つです。WebLogic Administration Portal で、.portal ファイルをベースとしてデスクトップを作成すると、デスクトップとそのブックおよびページがデータベースに格納されます。デスクトップ、ブック、およびページは、シェル、メニュー、ルック アンド フィール、およびポートレットを参照します。.portal ファイル テンプレートに記述されているルック アンド フィールなどの設定は、デスクトップのデフォルトとなります。.portal テンプレートから新しいデスクトップを作成すると、そのデスクトップはテンプレートから切り離され、.portal ファイルへの変更はデスクトップに反映されなくなります (デスクトップへの変更も .portal ファイルに反映されません)。たとえば、WebLogic Administration Portal でデスクトップのルック アンド フィールを変更した場合、その変更はデスクトップのみに反映され、元の .portal ファイルには反映されません。デスクトップをブラウザで表示すると、(データベースから) 「ストリーミング モード」で表示されます。この場合はデータベースが使用されるため、デスクトップのカスタマイズを保存し、委託管理ポリシーと資格をポータル リソースに設定することができます。

.pinc ファイルについて

.pinc ファイルは、ポータル インクルード ファイルです。JSP に他の JSP をインクルードできるのと同様に、.portal に他の .pinc ファイルをインクルードできます。.pinc ファイルを使用すると、.portal ファイルのサイズを縮小でき、多数の開発者が同じリソースに同時にアクセスを試みて衝突が発生するのを防止できます。.pinc ファイルでは、ページまたはブックをルート要素として開始する必要があります。ブックまたはページの中に他のブックやページをネストすることができます。

エクスポートとインポートのスコープについて

エクスポートとインポートのスコープは、ライブラリ、管理、または訪問者のレベルに設定できます。図 9-2 に示すように、最初の 2 つのレベルは、WebLogic Administration Portal のポータル リソース ツリーにあるライブラリ ノードとポータル ノードに相当します。訪問者レベルには、訪問者ツールを使用して個々のデスクトップに対してユーザが加えた変更が含まれます。


 

図 9-2 WebLogic Administration Portal のポータル リソース ツリー


 

ライブラリ、管理、および訪問者ビューの関係は階層を成し、階層の下位のオブジェクトは階層の上位のオブジェクトのプロパティを継承できます。たとえば、ライブラリ要素への変更は、その要素を使用するデスクトップ、およびそれらのデスクトップを使用する訪問者ビューに継承されます。

図 9-3 に、ライブラリ、管理、および訪問者のインスタンスによって構成される階層、変更が継承される方向、およびそれぞれの階層レベルで変更を行うために通常使用されるツールを示します。

図 9-3 スコープの階層


 

ライブラリ スコープ

ライブラリには、どのデスクトップからも参照されないオブジェクト (ブック、ページ、またはポートレット) を入れておくことができます。デスクトップのコンテキスト外で、開発者や管理者がページまたはブックを作成できるのはライブラリだけです。このページまたはブックは、後でデスクトップに配置できます。ライブラリ内のオブジェクトに加えた変更は、そのオブジェクトを参照するすべてのデスクトップに反映されます。ライブラリの継承の詳細については、「スコープとライブラリの継承」を参照してください。

管理スコープ

管理スコープは、「デフォルトのデスクトップ」を表します。このスコープでは管理者が個々のデスクトップを作成および変更します。管理者はライブラリの要素を使用してデスクトップに変更を加えることができますが、デスクトップの変更が上位のライブラリに反映されることはありません。また、個々のデスクトップに加えた変更は、他のデスクトップには反映されません。ただし、デスクトップの変更は、下位の訪問者ビューに影響を与えます。「スコープとライブラリの継承」も参照してください。

訪問者スコープ

訪問者 (デスクトップにアクセスするユーザ) に、デスクトップをカスタマイズする許可を与えることができます。訪問者のデスクトップに対する変更は、その訪問者のビューに限定されます。訪問者が行った変更は、訪問者ビューが参照する管理レベルのデスクトップやライブラリ レベルには反映されません。また、他の訪問者のビューにも反映されません。

カスタマイズ

カスタマイズとは、API を使用してポータルを変更することです。この API は通常、WebLogic Administration Portal や訪問者ツールから呼び出しますが、デスクトップを変更する開発者にも公開されています。この API は、デスクトップとそのすべてのコンポーネント (ポートレット、ブック、ページ、メニューなど) の変更に必要なすべての作成、読み取り、更新、および削除 (CRUD) 操作を提供します。

注意 : カスタマイズとパーソナライズは、明確に区別される 2 つの機能です。カスタマイズは、デスクトップの構成を意図的に変更することを意味します。パーソナライズでは、ルールに基づいて、ユーザの行動に合わせてデスクトップを変更します。

 


エクスポート/インポート ユーティリティの概要

エクスポート/インポート ユーティリティでは、図 9-1 に示すように、ラウンドトリップ開発の全ライフサイクルが可能であり、WebLogic Workshop 環境とステージングまたはプロダクション環境間でポータルを簡単に移動できます。このユーティリティを使用すると、単一のデータベース トランザクションで処理を実行できます。何らかの理由でユーティリティに障害が発生しても、データベースは影響を受けません。


 

ユーティリティの操作の対象

エクスポート/インポート ユーティリティの操作の対象となるのは、デスクトップ、ポートレットの参照、ブック、ページ、およびローカライゼーション定義です。言い換えると、ユーティリティを使用して .portal および .pinc ファイルをデータベースからエクスポートし、.portal および .pinc ファイルの内容をデータベースにインポートします。これらの XML ファイルには、完全に機能するポータルと、ポータルに含まれるブックやページが記述されています。

ヒント : ポータル フレームワークの詳細については、次のドキュメントを参照してください。

http://edocs.beasys.co.jp/e-docs/wlp/docs81/lookandfeel/lookandfeel.html

http://edocs.beasys.co.jp/e-docs/wlp/docs81/whitepapers/netix/index.html

注意 : ポートレット、ルック アンド フィール、シェル、メニュー、レイアウト、テーマ、JSP、およびその他のコードの実際の定義は、EAR ファイルに含まれます。これらのファイルはポータル Web アプリケーションの、framework/markup ディレクトリなどのディレクトリに格納されます。これらのファイル ベースの要素を変更した場合は、EAR の再ビルドと再デプロイが必要になります。.portal ファイルと .pinc ファイルは、定義ファイルを参照するだけです。

ユーティリティ操作の対象外

エクスポート/インポート ユーティリティで処理されないものは、キャンペーン、行動追跡イベント、コンテンツ管理資産、資格、WSRP プロデューサ登録、ポートレット カテゴリ、ローカライゼーション リソース、ユーザ プロファイル、および商用データです。

ルールの結合とスコープ

データベースの .portal ファイルと .pinc ファイルのエクスポートとインポートを調整およびカスタマイズするには、次のことを行います。

図 9-4 に示すように、エクスポート/インポート ユーティリティはインポート、エクスポート、およびスコープ設定に関して、高い柔軟性を提供します。変更のスコープを、ライブラリ、管理 (デスクトップ)、または訪問者 (個人ユーザ) のレベルに設定できます。たとえば、管理スコープでデスクトップをインポートすると、インポートされた変更は指定されたデスクトップだけに適用されます。その特定のデスクトップがユーザによってカスタマイズされている場合は、その変更もユーザのデスクトップに継承されます。ただし、上位階層には変更は継承されません。つまり、デスクトップに加えられた変更をライブラリの要素が継承することはありません。

ヒント : ライブラリ、デスクトップ、およびユーザ ビューの関係の詳細については、「スコープとライブラリの継承」を参照してください。

図 9-4 エクスポート/インポート ユーティリティのインポート、エクスポート、およびスコープ設定のオプション


 

要約すると、エクスポート/インポート ユーティリティでは、任意のレベル (ライブラリ、管理、訪問者) でオブジェクト (デスクトップ、ブック、またはページ) を選択し、指定したルールに基づいてインポートまたはエクスポートできます。

 


エクスポート/インポート ユーティリティの使用

ユーティリティを使用するには、最初にインストールする必要があります。インストールの手順については、「Propagation ソフトウェアのインストール」を参照してください。このユーティリティは、プロパティ ファイルを読み込む Java プログラムです。この Java プログラムは、プロパティ ファイルからパラメータを読み込むと、サーバに対して適切なアクションを実行する API を呼び出します。たとえば、ページのインポートで、変更のスコープを管理レベルに設定する場合は、それをプロパティ ファイルで指定する必要があります。以下の節では、プロパティ ファイルのコンフィグレーションについて説明し、一般的な使用例を示します。

ヒント : エクスポート/インポート ユーティリティのインストール ディレクトリにある Java クライアントのソース コードを自由に使用できます。このソース コードを使用して、独自のクライアント インタフェースを開発することもできます。

プロパティ ファイルについて

デフォルトでは、エクスポート/インポート ユーティリティのパラメータはすべてプロパティ ファイルから取得されます。このプロパティ ファイルを適切に編集して、エクスポートまたはインポートのパラメータをコンフィグレーションする必要があります。

プロパティ ファイルの場所を指定する

デフォルトでは、エクスポート/インポート ユーティリティのコンフィグレーションに使用されるプロパティ ファイルには、xip.properties という名前が付けられています。このファイルは、エクスポート/インポート ユーティリティのインストール ディレクトリ内にあります。別のプロパティ ファイルを指定するには、ユーティリティのインストール ディレクトリにある Ant ビルド ファイル build.xml を編集します。コード リスト 9-1 に、編集する Ant のターゲット定義を示します。

コード リスト 9-1 Ant スクリプト内のプロパティ ファイルの場所の変更

  <target name="run" depends="jar" description="Run the Xip utility">
<java classname="com.bea.wlp.xip.Xip" fork="true" failonerror="true">
<arg value="-verbose"/>
<arg value="-properties=my.properties"/>
<classpath>
<pathelement path="${wls.classpath}"/>
<pathelement path="${wlp.classpath}"/>
<pathelement path="${jarfile}"/>
</classpath>
</java>
</target>

プロパティ ファイルのパラメータを指定する

プロパティ ファイルでは、サーバのコンフィグレーション情報、エクスポートとインポートのコマンド、オブジェクト、スコープ設定ルール、伝播のルールなどを指定できます。

コード リスト 9-2 に、デフォルトの xip.properties ファイルを示します。

コード リスト 9-2 デフォルトの xip.properties ファイル

# Export/Import Properties file.The properties in this file are read by the Xip
# (pronounced zip) utility.You may specify an alternate properties file via the
# -properties command line argument.
#
# Server connfiguration information
#
xip.config.url=t3://localhost:7003
xip.config.username=weblogic
xip.config.password=weblogic
xip.config.application=myEnterpriseApp
#
# command - Are we exporting or importing.Valid values are: "export", "import"
#
#xip.command=export
xip.command=import
#
# object - The "thing" you want to export/import (desktop, book, page)
xip.object=desktop
#xip.object=book
#xip.object=page
#
# Identifier properties, tells the import export utility how to identify the
# artifacts to be retrieved or updated.When importing and exporting books and
# pages (.pinc files).If scoping changes to the admin desktop (default desktop)
# or visitor desktop then "portal.path" and "desktop.path" must be specified.If
# you are exporting a book or page then the book.label or page.label need to be
# specified.
#
#page.label and book.label are not used on import as the labels are pulled from
#the .pinc files themselves.
#
# The webapp must always be specified.This is the webapp name not necessarily
# the directory name.If you are export or importing this is where you are export
# from or importing to respectively.
#
xip.identifier.webapp=myPortal
xip.identifier.portal.path=myPortal
xip.identifier.desktop.path=myDesktop
xip.identifier.book.label=
xip.identifier.page.label=
#
# Input and output files.These can be .pinc or .portal files.These files are
# relative to the "xip" directory
#
#xip.input.file=Book1.pinc
xip.input.file=myPortal.portal
xip.output.file=myPortal1.portal
xip.output.encoding=UTF-8
#
# Import options - these options are used as rules to the export/import utility
#
# scope - Changes can be scoped to the "library", "admin", or "visitor" when
# importing a .pinc file, and "admin" or "visitor" when exporting a .portal file.
# If this property # has a value of "admin" or "visitor" then a
# xip.identifier.portal.path and xip.identifier.desktop.path # must be specified
# above.Of course to scope exports to the "library" or "admin" you must be in
# the Admin or PortalSystemAdministrator Role.
#
#
# deletes - If true, then books, pages and portlets that are currently on the
# existing desktop in the database but not in the new import file (.portal or
# .pinc) will be removed from exiting desktop.
#
# moves - (innerMoves) If true, then existing books, pages and portlets that are
# in different locations on the same parent will be moved to the correct location.
# If you want to move books, pages and portlets across different parents
# then see outermoves
#
# outermoves - If true, then existing books, pages and portlets that are moved
# from different parents will be moved to the new parent.If this is not set then
# it will be handled as a remove and add (different customizations are lost)
#
# updates - If true, then books, pages and portlets that are currently not on
# the existing desktop will be added, and any instance attributes on the books,
# page, and portlet will be updated in the database.
#
# abort.if.portlets.missing - if true, then if the new .portal or .pinc file
# references a portlet that is not in the current webapp then abort, otherwise
# skip the portlet and continue on.
#
# modify.definitions - If this flag is set to true then any changes in the import
# file will effect the defintions and not just the instances.These include
# things like markup (backing files, rollover images, isHidden, ... for a more|
# complete list refer to the database schema).It is important to note that these
# changes may effect other desktops outside the one you are scoping it to.
#
# propagate.changes - Typically all changes that are made to Library artifacts
# are cascaded down to the admin's desktop and subsequently cascaded down to the
# visitor'ss view.If this property is set to "sync" then
# these changes will occur synchronously as part of this transaction.If this
# property is set to "off" then changes will not get cascaded for the artifacts
# which have been modified.For books, pages and portlets that have not
# been modified at the admin or visitor level, then these will always receive
# the changes as they point to the default.
#
# create.portal - If this flag is set then when importing a desktop and the given
# portal is not already create then one will be created for you.
#
# portal.title - If the above flag is set and a new portal is being created it
# needs a title.This property value will be the new portal's title.
#
# locale - the locale of the titles and descriptions in the .portal or .pinc
# file.Note the encoding is defined in the file itself.
#
xip.import.context.scope=admin
xip.import.context.deletes=false
xip.import.context.moves=false
xip.import.context.outermoves=false
xip.import.context.updates=true
xip.import.context.abort.if.portlets.missing=false
xip.import.context.modify.definitions=true
xip.import.context.propagate.changes=off
xip.import.context.create.portal=true
xip.import.context.portal.title=My Green Portal
xip.import.context.locale.language=en
xip.import.context.locale.country=
xip.import.context.locale.variant=
#
# Export Options
#
# scope - Changes can be scoped to the "library", "admin", or "visitor" when
# importing a .pinc file, and "admin" or "visitor" when exporting a .portal file.
# If this property has a value of "admin" or "visitor" then a
# xip.identifier.portal.path and xip.identifier.desktop.path
# must be specified above.Of course to scope exports to the "library" or "admin"
# you must be in the Admin or PortalSystemAdministrator Role.
#
# locale - the locale of the titles and descriptions in the .portal or .pinc file.
#
xip.export.context.scope=admin
xip.export.context.locale.language=en
xip.export.context.locale.country=
xip.export.context.locale.variant=

デスクトップのエクスポート

この節では、エクスポート/インポート ユーティリティを使用してデスクトップをエクスポートする方法について説明します。デスクトップのエクスポートとは、データベースからデスクトップの属性を取得し、.portal ファイル内でそれらを復元することです。エクスポートされた .portal ファイルは、開発のために WebLogic Workshop にロードできます。デスクトップをエクスポートするには、xip.properties ファイルを編集して、Ant ビルド スクリプトを実行する必要があります。

プロパティ ファイルを編集する

既存のデスクトップを .portal ファイルとしてエクスポートするには、xip.properties ファイルで属性を指定する必要があります。この節では、必要な変更を示します。

xip.config.application=portalProject

エクスポート元となるエンタープライズ アプリケーションの名前を指定する必要があります。次の図に示すように、この値は WebLogic Workshop でのアプリケーション名に相当します。

図 9-5 Administration Portal に表示されるアプリケーション名


 

xip.command=export

インポートではなく、エクスポートを指定します。

xip.object=desktop

エクスポートするオブジェクトを指定します。この例では、デスクトップです。

xip.identifier.webapp=PortalWebApp_1
xip.identifier.portal.path=yourPortalPath
xip.identifier.desktop.path=yourDesktopPath

注意 : これらの行は、エクスポートするオブジェクトを識別します。これらのプロパティの値が不明な場合、これらの値を確認できる場所については、「識別子の指定」を参照してください。

Web の webapp プロパティは、必ず指定する必要があります。


 

エクスポートのスコープを管理レベルまたは訪問者レベルに設定する場合は、portal.pathdesktop.path プロパティを指定する必要があります。

xip.output.file=myportal.portal

結果 (エクスポートされる .portal ファイル) の保存場所を指定します。この例では、結果ファイルの名前は myportal.portal であり、ユーティリティを実行した場所を基準とした相対位置に保存されます。

注意 : エンコーディングの情報はデータベース内にあるため、指定する必要はありません。

xip.export.context.scope=admin

エクスポートのスコープを指定します。この例では、admin (管理) スコープを指定します。スコープの詳細については、「エクスポートとインポートのスコープについて」を参照してください。

xip.export.context.locale.language=en

エクスポートするデスクトップのロケールを指定します (この例は英語)。一度にエクスポートまたはインポートできるロケールは 1 つだけです。

ビルド スクリプトを実行する

プロパティ属性を定義したら、コード リスト 9-3 に示すように、Ant ビルド スクリプトを実行できます。ビルド スクリプトのタスクによって、以下のような状態情報がコンソール ウィンドウに表示されます。

コード リスト 9-3 Ant ビルド スクリプトの実行

C:\dev\xip>ant run
Buildfile: build.xml
init:
compile:
jar:
run:
[java] Using: Properties from file [xip.properties]
[java] Name [xip.config.url] Value [t3://localhost:7003]
[java] Name [xip.config.username] Value [weblogic]
[java] Name [xip.config.password] Value [********]
[java] Name [xip.config.application] Value [portalProject]
[java] Name [xip.command] Value [export]
[java] Name [xip.object] Value [desktop]
[java] Name [xip.identifier.webapp] Value [PortalWebApp_1]
[java] Name [xip.identifier.portal.path] Value [yourPortalPath]
[java] Name [xip.identifier.desktop.path] Value [yourPortalDesktop]
[java] Name [xip.identifier.book.label] Value [mainBook]
[java] Name [xip.identifier.page.label] Value []
[java] Name [xip.input.file] Value [yourPortal.portal]
[java] Name [xip.output.file] Value [myportal.portal]
[java] Name [xip.import.context.deletes] Value [false]
[java] Name [xip.import.context.moves] Value [false]
[java] Name [xip.import.context.outermoves] Value [false]
[java] Name [xip.import.context.updates] Value [true]
[java] Name [xip.import.context.abort.on.collisions] Value [null]
[java] Name [xip.import.context.abort.if.portlets.missing] Value [false]
[java] Name [xip.import.context.scope] Value [admin]
[java] Name [xip.import.context.modify.definitions] Value [false]
[java] Name [xip.import.context.propagate.changes] Value [sync]
[java] Name [xip.import.context.create.portal] Value [true]
[java] Name [xip.import.context.portal.title] Value [My Portal]
[java] Name [xip.import.context.locale.language] Value [en]
[java] Name [xip.import.context.locale.country] Value []
[java] Name [xip.import.context.locale.variant] Value []
[java] Name [xip.export.context.scope] Value [admin]
[java] Name [xip.export.context.locale.language] Value [en]
[java] Name [xip.export.context.locale.country] Value []
[java] Name [xip.export.context.locale.variant] Value []
[java] Executing command: export
[java] Exporting desktop [Webapp: [PortalWebApp_1] PortalPath: [yourPortalPath] DesktopPath: [yourDesktopPath]] to file [myportal.portal]
[java] Connection to host: t3://localhost:7003
[java] Saving changes to: myportal.portal
[java] Done. time taken 6 sec.
BUILD SUCCESSFUL
Total time: 8 seconds
C:\dev\xip>

これで、ファイル myportal.portal を WebLogic Workshop に再度ロードするか、別のステージングまたはプロダクション (データベース) 環境にインポートできるようになりました。

.portal ファイルのインポート

この節では、エクスポート/インポート ユーティリティを使用して .portal ファイルをデスクトップにインポートする方法について説明します。.portal ファイルをデスクトップにインポートする場合、デスクトップがすでにデータベースに存在する場合と存在しない場合の 2 とおりのケースが考えられます。データベース内に既存のデスクトップがない場合は、エクスポート/インポート ユーティリティによって自動的に作成されます。ただし、デスクトップがデータベース内にすでに存在する場合は、結合オプションを指定する必要があります。結合オプションは、他の種類のオプションと同様に xip.properties ファイルで指定します。これについては以下の節で説明します。

プロパティ ファイルを編集する

既存の .portal ファイルをデスクトップにインポートするには、xip.properties ファイルで属性を指定する必要があります。この節では、必要な変更を示します。

xip.config.application=portalProject

インポート先のエンタープライズ アプリケーションの名前を指定する必要があります。次の図に示すように、この値は WebLogic Workshop でのアプリケーション名に相当します。

図 9-6 アプリケーション名


 

xip.command=import

エクスポートではなく、インポートを指定します。

xip.object=desktop

インポートするオブジェクトを指定します。この例はデスクトップです。

xip.identifier.webapp=PortalWebApp_1
xip.identifier.portal.path=yourPortalPath
xip.identifier.desktop.path=yourDesktopPath

注意 : これらの行は、インポートするオブジェクトを識別します。これらのプロパティの値が不明な場合、これらの値を確認できる場所については、「識別子の指定」を参照してください。

Web の webapp プロパティは、必ず指定する必要があります。

エクスポートのスコープを管理レベルまたは訪問者レベルに設定する場合は、portal.pathdesktop.path プロパティを指定する必要があります。

xip.input.file=myportal.portal

インポートする .portal ファイルを指定します。ユーティリティがインストールされた場所を基準とした相対位置でファイルが検索されます。

注意 : .portal ファイル自体にエンコーディングが定義されているため、エンコーディングを指定する必要はありません。

xip.import.context.scope=admin

インポートのスコープを指定します。この例では、admin (管理) レベルでデスクトップをインポートします。スコープの詳細については、「エクスポートとインポートのスコープについて」を参照してください。

xip.import.context.deletes=false

削除の処理方法を指定する必要があります。詳細については、「削除の処理」を参照してください。

xip.import.context.moves=false
xip.import.context.outermoves=true

移動の処理方法を指定する必要があります。詳細については、「移動の処理」を参照してください。

xip.import.context.updates=true

xip.import.context.updates true に設定すると、デスクトップには存在しないが、.portal に存在する新しいポートレット、ブック、およびページが新しいデスクトップに追加されます。また、インスタンス レベルのリソースも更新されます。

xip.import.context.abort.if.portlets.missing=true

xip.import.context.abort.if.portlets.missing true に設定すると、.portal ファイルで参照されているポートレットが Web アプリケーションに存在しない場合、インポートは中止されます。このフラグを false に設定すると、警告がログに書き込まれ、インポート処理は続行されます。

xip.import.context.modify.definitions=true

xip.import.context.modify.definitions true に設定すると、ブックやページを更新したときにライブラリ定義も更新されます。ライブラリ定義はマークアップで構成され、バッキング ファイル、アクティブ化、非アクティブ化、ロールオーバ画像などが含まれます。ブックやページのタイトル、説明、および is_hidden フラグもこれらの定義に格納されています。

注意 : ライブラリ定義を変更すると、そのライブラリ定義を共有するデスクトップ インスタンスに影響を与える可能性があります。したがって、スコープを特定のデスクトップに設定し、このプロパティを true に設定すると、予想外の影響を他のデスクトップに与える可能性があります。ライブラリ定義とデスクトップ インスタンスの関係の詳細については、「スコープとライブラリの継承」を参照してください。

xip.import.context.propagate.changes=sync

xip.import.context.propagate.changes プロパティでは、階層の下位にあるポータル要素に変更を伝播するかどうかを指定できます。このプロパティの有効な値は sync または off です。

通常、ポートレット、ページ、またはブックを追加、削除、または移動すると、下位階層に変更が伝播されます。つまり、ライブラリに加えた変更はすべてのデスクトップに反映され、管理ビュー (デフォルトのデスクトップ) に変更を加えるとすべてのユーザに影響を与えます。

ユーザのデスクトップ ビューは、初期の状態ではデフォルト デスクトップ (管理ビュー) を参照します (プロパティを継承)。デフォルトのデスクトップに変更を加えると、その変更は下位のユーザ ビューに伝播します。

ユーザがビューをカスタマイズすると、各ユーザのビューは、カスタマイズされた部分のコピーを受け取り、ポータルの残りの部分は、引き続きデフォルト デスクトップ、つまり親デスクトップを参照します。

このプロパティで、ユーザがポータルをカスタマイズしている場合に下位階層に変更を伝播する方法を制御できます。ユーザまたは管理者のポータルがカスタマイズされていない場合は、このプロパティを off に設定した場合でも、ビューは常に上位階層の変更を継承します。

ただし、ユーザがポータルの一部をカスタマイズし、上位階層で同じ部分が変更された場合、変更を下位階層に伝播するかどうかを、このプロパティで制御できます。この場合はプロパティを off に設定すると、管理ビューとユーザ ビューは親コンポーネントに対する更新を継承しません。synch に設定すると、ユーザがビューをカスタマイズしている場合でも、下位階層に変更が伝播されます。

ヒント : ユーザや管理者が独自に所有するものとして見なしているページやブックを変更しないようにするには、このプロパティを off に設定します。

ヒント : ポータル全体をユーザが自由に制御できるようにするのではなく、ポータルの特定のセクションだけを変更できるようにし、残りの部分をロックする (たとえば、1 ページだけをユーザが完全に制御できるようにする) ことをお勧めします。こうすると、スケーラビリティが向上し、多数のユーザがカスタマイズを行った場合でもポータルを管理しやすくなります。

xip.import.context.create.portal=true

xip.import.context.create.portal を true に設定すると、ポータルがデータベースに存在しない場合、ポータルが自動的に作成されます。次のプロパティを使用して、新しいポータルのタイトルを指定する必要があります。

xip.import.context.portal.title=My Portal

xip.import.context.create.portal (前述) を true に設定した場合は、このプロパティを使用してタイトルを指定する必要があります。

xip.import.context.locale.language=en
xip.import.context.locale.country=
xip.import.context.locale.variant=

これらのプロパティは、.portal ファイルのタイトルと説明のロケールを定義します。

ビルド スクリプトを実行する

プロパティの属性を定義したら、コード リスト 9-4 に示すように、ビルド スクリプトを実行できます。ビルド スクリプトのタスクによって、以下のような状態情報がコンソール ウィンドウに表示されます。

コード リスト 9-4 Ant ビルド スクリプトの実行

C:\dev\xip>ant run
[java] Using: Properties from file [xip.properties]
[java] Name [xip.config.url] Value [t3://localhost:7003]
[java] Name [xip.config.username] Value [weblogic]
[java] Name [xip.config.password] Value [weblogic]
[java] Name [xip.config.application] Value [portalProject]
[java] Name [xip.command] Value [import]
[java] Name [xip.object] Value [desktop]
[java] Name [xip.identifier.webapp] Value [PortalWebApp_1]
[java] Name [xip.identifier.portal.path] Value [yourPortal]
[java] Name [xip.identifier.desktop.path] Value [yourDesktop]
[java] Name [xip.identifier.book.label] Value []
[java] Name [xip.identifier.page.label] Value []
[java] Name [xip.input.file] Value [myportal.portal]
[java] Name [xip.output.file] Value []
[java] Name [xip.import.context.deletes] Value [false]
[java] Name [xip.import.context.moves] Value [false]
[java] Name [xip.import.context.outermoves] Value [false]
[java] Name [xip.import.context.updates] Value [true]
[java] Name [xip.import.context.abort.on.collisions] Value [null]
[java] Name [xip.import.context.abort.if.portlets.missing] Value [false]
[java] Name [xip.import.context.scope] Value [admin]
[java] Name [xip.import.context.modify.definitions] Value [false]
[java] Name [xip.import.context.propagate.changes] Value [sync]
[java] Name [xip.import.context.create.portal] Value [true]
[java] Name [xip.import.context.portal.title] Value [My Portal]
[java] Name [xip.import.context.locale.language] Value [en]
[java] Name [xip.import.context.locale.country] Value []
[java] Name [xip.import.context.locale.variant] Value []
[java] Name [xip.export.context.scope] Value [admin]
[java] Name [xip.export.context.locale.language] Value [en]
[java] Name [xip.export.context.locale.country] Value []
[java] Name [xip.export.context.locale.variant] Value []
[java] Executing command: import
[java] Importing desktop: Webapp: [PortalWebApp_1] PortalPath: [yourPortalPath] DesktopPath: [yourDesktopPath]
[java] Connection to host: t3://localhost:7003
[java] Uploading file: myportal.portal
[java] Done. time taken 40 sec.
BUILD SUCCESSFUL
Total time: 52 seconds

ページのエクスポート

デスクトップ全体をエクスポートする必要がない場合は、ユーティリティをコンフィグレーションして 1 ページだけエクスポートできます。

ヒント : この節では、ページのエクスポートについて明示的に説明していますが、ブックのエクスポートにも基本的に同じ手順が適用されます。

この節では、デスクトップからページをエクスポートする方法について説明します。ページのエクスポートも、一般的な使用例の 1 つです。ページまたはブックをエクスポートすると、.pinc ファイルが出力されます。詳細については、「.pinc ファイルについて」を参照してください。

注意 : ページまたはブックをエクスポートすると、そのページまたはブックのすべての子もエクスポートされます。

プロパティ ファイルを編集する

既存のページを .pinc ファイルとしてエクスポートするには、xip.properties ファイルで属性を指定する必要があります。この節では、必要な変更を示します。

xip.config.application=portalProject

エクスポート元となるエンタープライズ アプリケーションの名前を指定する必要があります。次の図に示すように、この値は WebLogic Workshop でのアプリケーション名に相当します。

図 9-7 アプリケーション名


 

xip.command=export

インポートではなく、エクスポートを指定します。

xip.object=page

エクスポートするオブジェクトを指定します。この例では、ページです。

xip.identifier.webapp=PortalWebApp_1
xip.identifier.portal.path=yourPortalPath
xip.identifier.desktop.path=yourDesktopPath

注意 : これらの行は、エクスポートするオブジェクトを識別します。これらのプロパティの値が不明な場合、これらの値を確認できる場所については、「識別子の指定」を参照してください。

Web の webapp プロパティは、必ず指定する必要があります。

エクスポートのスコープを管理レベルまたは訪問者レベルに設定する場合は、portal.pathdesktop.path プロパティを指定する必要があります。また、ブックまたはページをエクスポートする場合は、book.label または page.label プロパティを指定する必要があります。

エクスポートのスコープをライブラリに設定する場合は、portal.pathdesktop.path を指定し、かつ webapp の名前も指定する必要があります。

xip.identifier.book.label=
xip.identifier.page.label=P200134591113965077078

エクスポートするページまたはブックを指定する必要があります。そのためには、xip.identifier.page.label プロパティを使用して、ページまたはブックの定義ラベルを指定します。通常、定義ラベルは WebLogic Workshop で開発者が入力しますが、Administration Portal によって自動的に生成されることもあります。定義ラベルを確認する方法については、「識別子の指定」を参照してください。

xip.output.file=mypage.pinc

このプロパティを使用して、結果を保存するファイルを指定します。この例では、ユーティリティを実行したディレクトリにファイル mypage.pinc が保存されます。

注意 : エンコーディングの情報はデータベース内にあるため、指定する必要はありません。

xip.export.context.scope=admin

エクスポートのスコープを指定します。この例では、デスクトップ内からページをエクスポートします (管理スコープ)。ライブラリからページをエクスポートする場合は、スコープを library に設定します。

xip.export.context.locale.language=en

エクスポートするページのロケールを指定します。

ビルド スクリプトを実行する

プロパティの属性を定義したら、コード リスト 9-5 に示すように、Ant ビルド スクリプトを実行できます。ビルド スクリプトのタスクによって、以下のような状態情報がコンソール ウィンドウに表示されます。

コード リスト 9-5 Ant ビルド スクリプトの実行

C:\dev\xip>ant run
Buildfile: build.xml
init:
compile:
jar:
run:
[java] Using: Properties from file [xip.properties]
[java] Name [xip.config.url] Value [t3://localhost:7003]
[java] Name [xip.config.username] Value [weblogic]
[java] Name [xip.config.password] Value [********]
[java] Name [xip.config.application] Value [portalProject]
[java] Name [xip.command] Value [export]
[java] Name [xip.object] Value [page]
[java] Name [xip.identifier.webapp] Value [yourPortal]
[java] Name [xip.identifier.portal.path] Value [yourPortalPath]
[java] Name [xip.identifier.desktop.path] Value [yourDesktopPath]
[java] Name [xip.identifier.book.label] Value []
[java] Name [xip.identifier.page.label] Value [P200134591113965077078]
[java] Name [xip.input.file] Value []
[java] Name [xip.output.file] Value [mypage.pinc]
[java] Name [xip.import.context.deletes] Value [false]
[java] Name [xip.import.context.moves] Value [false]
[java] Name [xip.import.context.outermoves] Value [false]
[java] Name [xip.import.context.updates] Value [true]
[java] Name [xip.import.context.abort.on.collisions] Value [null]
[java] Name [xip.import.context.abort.if.portlets.missing] Value [false]
[java] Name [xip.import.context.scope] Value [admin]
[java] Name [xip.import.context.modify.definitions] Value [false]
[java] Name [xip.import.context.propagate.changes] Value [sync]
[java] Name [xip.import.context.create.portal] Value [true]
[java] Name [xip.import.context.portal.title] Value [My Portal]
[java] Name [xip.import.context.locale.language] Value [en]
[java] Name [xip.import.context.locale.country] Value []
[java] Name [xip.import.context.locale.variant] Value []
[java] Name [xip.export.context.scope] Value [admin]
[java] Name [xip.export.context.locale.language] Value [en]
[java] Name [xip.export.context.locale.country] Value []
[java] Name [xip.export.context.locale.variant] Value []

[java] Executing command: export
[java] Exporting page [mypage] scoped to desktop: Webapp: [PortalWebApp_1] PortalPath: [yourPortalPath] DesktopPath: [yourDesktopPath]]
[java] Connection to host: t3://localhost:7003
[java] Saving changes to: mypage.pinc
[java] Done. time taken 6 sec.
BUILD SUCCESSFUL
Total time: 8 seconds

ページのインポート

この節では、1 つのページをインポートする方法について説明します。

ヒント : この節では、ページについて明示的に説明していますが、ブックのインポートにも同じ手順が適用されます。

インポートするページは、WebLogic Workshop で作成された可能性もあり、別のステージング環境またはプロダクション環境からエクスポートされた可能性もあります。どちらの場合でも、.pinc ファイルをデータベースにインポートします。

注意 : ページまたはブックをインポート/エクスポートすると、それらの子もすべてインポートされます。

プロパティ ファイルを編集する

既存の .pinc ファイルをインポートするには、xip.properties ファイルで属性を指定する必要があります。この節では、ページをインポートするために必要なプロパティ ファイルへの変更について説明します。

xip.config.application=portalProject

インポート先のエンタープライズ アプリケーションの名前を指定する必要があります。次の図に示すように、この値は WebLogic Workshop でのアプリケーション名に相当します。

図 9-8 アプリケーション名


 

xip.command=import

エクスポートではなく、インポートを指定します。

xip.object=page

インポートするオブジェクトを指定します。この例では、ページです。

xip.identifier.webapp=PortalWebApp_1
xip.identifier.portal.path=yourPortalPath
xip.identifier.desktop.path=yourDesktopPath
xip.identifier.book.label=
xip.identifier.page.label=

注意 : これらの行は、インポートするオブジェクトを識別します。これらのプロパティの値が不明な場合、これらの値を確認できる場所については、「識別子の指定」を参照してください。

インポートのスコープを管理レベルまたは訪問者レベルに設定する場合は、portal.pathdesktop.path プロパティを指定する必要があります。ブックまたはページをインポートする場合は、book.label または page.label プロパティを指定する必要があります。

Web の webapp プロパティは、必ず指定する必要があります。

注意 : インポートでは page.label プロパティは必要ありません。それは、.pinc ファイルで <netuix:page ... /> 要素の属性としてページ ラベルが定義されているためです。

xip.input.file=mypage.pinc

インポート元の .pinc ファイルを指定します。デフォルトでは、ユーティリティの実行場所を基準とした相対位置にあるディレクトリ内のファイルが検索されます。

xip.import.context.scope=admin

インポートのスコープを指定します。この例では、管理レベルでページをインポートします。

xip.import.context.deletes=false

削除の処理方法を指定する必要があります。このプロパティの詳細については、「削除の処理」を参照してください。

xip.import.context.moves=false

移動の処理方法を指定する必要があります。このプロパティの詳細については、「移動の処理」を参照してください。

xip.import.context.updates=true

xip.import.context.updates を true に設定すると、デスクトップには存在しないが、.portal に存在する新しいポートレット、ブック、およびページが新しいデスクトップに追加されます。また、インスタンス レベルのリソースも更新されます。

xip.import.context.abort.if.portlets.missing=true

xip.import.context.abort.if.portlets.missing true に設定すると、.portal ファイルで参照されているポートレットが Web アプリケーションに存在しない場合、インポートは中止されます。このフラグを false に設定すると、警告がログに書き込まれ、インポートが続行されます。

xip.import.context.modify.definitions=true

xip.import.context.modify.definitions true に設定すると、ブックやページを更新したときにライブラリ定義も更新されます。ライブラリ定義はマークアップで構成され、バッキング ファイル、アクティブ化、非アクティブ化、ロールオーバ画像などが含まれます。ブックやページのタイトル、説明、および is_hidden フラグもこれらの定義に格納されています。

注意 : ライブラリ定義を変更すると、そのライブラリ定義を共有するデスクトップ インスタンスに影響を与える可能性があります。したがって、スコープを特定のデスクトップに設定し、このプロパティを true に設定すると、予想外の影響を他のデスクトップに与える可能性があります。ライブラリ定義とデスクトップ インスタンスの関係の詳細については、「スコープとライブラリの継承」を参照してください。

xip.import.context.propagate.changes=sync

xip.import.context.propagate.changes プロパティでは、階層の下位にあるポータル要素に変更を伝播するかどうかを指定できます。このプロパティの有効な値は sync または off です。

通常、ポートレット、ページ、またはブックを追加、削除、または移動すると、下位階層に変更が伝播されます。つまり、ライブラリに変更を加えると、その変更がすべてのデスクトップに反映されます。また、管理ビュー (デスクトップ) に変更を加えると、すべてのユーザが影響を受けます。

ユーザのデスクトップ ビューは、デフォルト デスクトップ (管理ビュー) からプロパティを継承します。デフォルトのデスクトップに変更を加えると、その変更は下位のユーザ ビューに伝播します。ユーザがビューをカスタマイズすると、各ユーザのビューは、カスタマイズされた部分のコピーを受け取り、ポータルの残りの部分は、引き続きデフォルト デスクトップ、つまり親デスクトップを参照します。

このプロパティで、ユーザがポータルをカスタマイズしている場合に下位階層に変更を伝播する方法を制御できます。ユーザまたは管理者のポータルがカスタマイズされていない場合は、このプロパティを off に設定した場合でも、ビューは常に上位階層の変更を継承します。

ただし、ユーザがポータルの一部をカスタマイズし、上位階層で同じ部分が変更された場合、変更を下位階層に伝播するかどうかを、このプロパティで制御できます。この場合はプロパティを off に設定すると、管理ビューとユーザ ビューは親コンポーネントに対する更新を継承しません。synch に設定すると、ユーザがビューをカスタマイズしている場合でも、下位階層に変更が伝播されます。

ヒント : ユーザや管理者が独自に所有するものと見なしているページやブックを変更しないようにするには、このプロパティを off に設定します。

ヒント : ポータル全体をユーザが自由に制御できるようにするのではなく、ポータルの特定のセクションだけを変更できるようにし、残りの部分をロックする (たとえば、1 ページだけをユーザが完全に制御できるようにする) ことをお勧めします。こうすると、スケーラビリティが向上し、多数のユーザがカスタマイズを行った場合でもポータルを管理しやすくなります。

xip.import.context.locale.language=en
xip.import.context.locale.country=
xip.import.context.locale.variant=

これらのプロパティは、.pinc ファイルのタイトルと説明のロケールを定義します。

ビルド スクリプトを実行する

プロパティの属性を定義したら、コード リスト 9-6 に示すように、ビルド スクリプトを実行できます。ビルド スクリプトのタスクによって、以下のような状態情報がコンソール ウィンドウに表示されます。

コード リスト 9-6 Ant ビルド スクリプトの実行

C:\dev\xip>ant run
[java] Using: Properties from file [xip.properties]
[java] Name [xip.config.url] Value [t3://localhost:7003]
[java] Name [xip.config.username] Value [weblogic]
[java] Name [xip.config.password] Value [weblogic]
[java] Name [xip.config.application] Value [portalProject]
[java] Name [xip.command] Value [import]
[java] Name [xip.object] Value [page]
[java] Name [xip.identifier.webapp] Value [PortalWebApp_1]
[java] Name [xip.identifier.portal.path] Value [yourPortalPath]
[java] Name [xip.identifier.desktop.path] Value [yourDesktopPath]
[java] Name [xip.identifier.book.label] Value []
[java] Name [xip.identifier.page.label] Value []
[java] Name [xip.input.file] Value [mypage.pinc]
[java] Name [xip.output.file] Value []
[java] Name [xip.import.context.deletes] Value [false]
[java] Name [xip.import.context.moves] Value [false]
[java] Name [xip.import.context.outermoves] Value [false]
[java] Name [xip.import.context.updates] Value [true]
[java] Name [xip.import.context.abort.on.collisions] Value [null]
[java]     Name [xip.import.context.abort.if.portlets.missing] Value [false]
[java] Name [xip.import.context.scope] Value [admin]
[java] Name [xip.import.context.modify.definitions] Value [false]
[java] Name [xip.import.context.propagate.changes] Value [sync]
[java] Name [xip.import.context.create.portal] Value [true]
[java] Name [xip.import.context.portal.title] Value [My Portal]
[java] Name [xip.import.context.locale.language] Value [en]
[java] Name [xip.import.context.locale.country] Value []
[java] Name [xip.import.context.locale.variant] Value []
[java] Name [xip.export.context.scope] Value [admin]
[java] Name [xip.export.context.locale.language] Value [en]
[java] Name [xip.export.context.locale.country] Value []
[java]     Name [xip.export.context.locale.variant] Value []
[java] Executing command: import
[java] Importing page scoped to desktop: Webapp: [PortalWebApp_1] PortalPath: [yourPortalPath] DesktopPath: [yourDesktopPath]
[java] Connection to host: t3://localhost:7003
[java] Uploading file: mypage.pinc
[java] Done. time taken 20 sec.
BUILD SUCCESSFUL
Total time: 25 seconds

 


削除の処理

xip.import.context.deletes プロパティを使用して、インポート時のポータル資産の結合方法を制御できます。図 9-9 に示すように、このプロパティを false に設定すると、インポートされたページのコンテンツが既存ページと結合されます。

注意 : この例ではポートレットについて説明していますが、ブックのページに対しても同じ結合処理が適用されます。

図 9-9 削除を false に設定した場合の結合結果


 

図 9-10 に示すように、このプロパティを true に設定すると、デスクトップに存在するが、.portal ファイルに存在しないポートレットはすべて削除されます。

注意 : この例ではポートレットについて説明していますが、ブックのページに対しても同じ結合処理が適用されます。

図 9-10 削除を true に設定した場合の結合結果


 

 


移動の処理

xip.import.context.moves および xip.import.context.outermoves プロパティを使用して、ポータル資産をインポートするときの移動の処理方法を指定できます。移動操作について理解するには、内部移動と外部移動の意味を理解する必要があります。

内部移動

ポートレットやページなどの資産を単一の親のコンテキスト内で移動する場合、この移動のことを内部移動と呼びます。たとえば、ポートレットを同一ページ内の異なるプレースホルダに移動した場合は、親 (ページ) が変わっていないため、内部移動となります。同様に、ページをブック内の別の位置に移動した場合も、親 (ブック) が変わっていないため、内部移動となります。次の図は、この概念を示しています。

図 9-11 内部移動 : 同一ブック内での P1 ページと P2 ページの位置の交換


 

xip.import.context.moves プロパティを true に設定すると、内部移動が可能になります。このプロパティを false に設定すると、資産の位置は変更されません。ただし、コンテンツは適切に更新されます。異なる親の間でブック、ページ、またはポートレットを移動する場合は、次の節で説明する xip.import.context.outermoves プロパティを使用します。

外部移動

ポートレットやページなどの資産を別の親に移動する場合、この移動のことを外部移動と呼びます。たとえば、ページを別のブックに移動した場合は、親 (ブック) が異なるため、外部移動となります。次の図は、この概念を示しています。

図 9-12 外部移動 : 異なるブック間での P1 ページと P4 ページの位置の交換


 

xip.import.context.outermoves プロパティを true に設定すると、外部移動が可能になります。このプロパティを false に設定すると、移動の要求は、削除と追加の操作として扱われます。

注意 : 移動操作では、カスタマイズした内容が保持されます。削除と追加の操作を行うと、カスタマイズの一部が失われます。

同一の親の内部でブック、ページ、またはポートレットを移動する場合は、前節の xip.import.context.moves プロパティを使用します。

 


識別子の指定

この節では、xip.properties ファイルの identifier プロパティの値を確認する方法について説明します。これらのプロパティは、エクスポートまたはインポートするポータル要素の識別に役立ちます。identifier プロパティには、次のものがあります。

xip.identifier.webapp=
xip.identifier.portal.path=
xip.identifier.desktop.path=
xip.identifier.book.label=
xip.identifier.page.label=

Web の webapp プロパティは、必ず指定する必要があります。次の図に示すように、Web アプリケーション名は、WebLogic Administration Portal で表示されます。


 

図 9-13 Web アプリケーションの名前


 

エクスポートのスコープを管理レベルまたは訪問者レベルに設定する場合は、portal.pathdesktop.path プロパティを指定する必要があります。適切な値は、Administration Portal で確認できます。ポータルのパスは [ポータル プロパティ] タブ、デスクトップのパスは [デスクトップ プロパティ] タブで表示されます。次の図に、表示されたポータル パスの例を示します。


 

図 9-14 [ポータル プロパティ] タブに表示されたポータル パスの値


 

ページまたはブックをエクスポートまたはインポートする場合は、xip.identifier.page.label または xip.identifier.book.label プロパティを使用して、ページまたはブックの定義ラベルを指定する必要があります。通常、定義ラベルは WebLogic Workshop で開発者が入力しますが、Administration Portal で作成される場合もあります。Administration Portal を使用してページを作成すると、定義ラベルは自動的に割り当てられます。

注意 : ブックまたはページをエクスポートする場合は、book.label または page.label プロパティを指定する必要があります。ブックまたはページをインポートする場合は、book.labelpage.label のプロパティを指定する必要はありません。これらの値は .pinc ファイルから直接取得されます。

ページの定義ラベルの特定

ページの定義ラベルは、Administration Portal の [ページ プロパティ] タブにあります。図 9-15 に、ページの定義ラベルを示します。

図 9-15 Weblogic Administration Portal でのページの定義ラベルの場所


 

ブックの定義ラベルの特定

ブックの定義ラベルを確認するには、ブックの親ブックの [ブック コンテンツの管理] タブを参照する必要があります。このタブに、すべての子ブックのラベルが表示されます。

 


キャッシュの管理

キャッシュを適切に管理すると、ポータルのパフォーマンスが大幅に向上します。キャッシュが無効の場合、ポータル API はデータベースから新しいデータを取得する必要があります。変更されていないデータを API が取得するのは非効率的です。エクスポート/インポート ユーティリティでは、変更されたポータル リソースのキャッシュ (具体的には、portalControlTreeCache) のみが無効になります。次のプロパティを使用して、キャッシュの無効化を管理します。

xip.config.application
xip.identifier.webapp
xip.identifier.portal.path
xip.identifier.desktop.path
xip.import.context.scope
xip.import.context.modify.definitions

次に、これらのプロパティについて説明します。

注意 : これらのプロパティを理解し、キャッシュの無効化に与える影響を把握しておいてください。変更内容を理解し、適切なスコープを設定して、これらのプロパティを適切にチューニングすると、プロダクション システムのパフォーマンスが飛躍的に向上します。

xip.config.application

エンタープライズ アプリケーションの名前を指定します。このエンタープライズ アプリケーションのポータルだけが影響を受けます。次の図に示すように、この値は WebLogic Workshop でのアプリケーション名に相当します。

図 9-16 アプリケーション名


 

xip.identifier.webapp

Web アプリケーションの名前を指定します。この Web アプリケーションのポータルだけが影響を受けます。「識別子の指定」も参照してください。

xip.import.context.scope

変更のスコープを指定します。スコープを library に設定すると、Web アプリケーション全体の portalControlTree キャッシュがすべて無効になります。スコープを admin に設定すると、xip.identifier.portal.pathxip.identifier.desktop.path で定義されたデスクトップのキャッシュだけが影響を受け、他のデスクトップのキャッシュはそのまま維持されます。スコープを visitor に設定すると、個々のユーザのビューのキャッシュだけが無効になります。「識別子の指定」も参照してください。

xip.import.context.modify.definitions

true に設定すると、ライブラリ定義が変更される場合があります。定義はすべてのライブラリ リソースのインスタンスで共有されているため、スコープを admin に設定した場合でも、Web アプリケーションのキャッシュ全体を無効にする必要があります。ページまたはポートレットをブックやページに追加するだけの場合は、ライブラリ定義は更新されません。

注意 : ライブラリ定義はマークアップで構成され、バッキング ファイル、アクティブ化、非アクティブ化、ロールオーバ画像などが含まれます。ブックやページのタイトル、説明、および is_hidden フラグもこれらの定義に格納されています。

警告 : ライブラリ定義を変更すると、そのライブラリ定義を共有するデスクトップ インスタンスに影響を与える可能性があります。したがって、スコープを特定のデスクトップに設定し、このプロパティを true に設定すると、予想外の影響を他のデスクトップに与える可能性があります。ライブラリ定義とデスクトップ インスタンスの関係の詳細については、「スコープとライブラリの継承」を参照してください。

 

ナビゲーション バーのスキップ  ページの先頭 前 次