ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Portal開発者ガイド
11gリリース1 (11.1.1)
B61384-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

11 単純なコンテンツ管理タスクの実行

この章では、Oracle Portal付属のAPIを使用して単純なコンテンツ管理を実行する方法について説明します。内容は、次のとおりです。

詳細はOTN

この章で説明する各APIの詳細は、次に示すPortal Centerの『Oracle Portal PL/SQL API Reference』を参照してください。

http://portalcenter.oracle.com

「Portal Focus Areas」セクションで「Portlet Development」をクリックし、次に、「APIs and References」セクションで「PL/SQL API Reference」をクリックします。


ヒント:

Webブラウザまたは外部アプリケーションからAPIをコールする場合、最初にセッション・コンテキストを設定する必要があります。詳細は、10.1項「セッション・コンテキストの設定」を参照してください。


11.1 ページ・プロパティの編集

ページ・プロパティの編集手順は次のとおりです。

  1. WWSBR_USER_PAGESビューを問い合せてページ・レコードを移入します。

  2. 更新する必要があるプロパティを変更します。

  3. 更新されたページ・レコードをmodify_folder APIに渡します。

更新できるページ・レコード内のプロパティは表11-1のとおりです。

表11-1 編集可能なページ・レコード・プロパティ

プロパティ データ型 説明

NAME

VARCHAR2(60)

ページの名前。この名前はパスに基づくURLで使用されます。

TITLE

VARCHAR(256)

ページの表示名またはタイトル。

SETTINGSSETID

NUMBER

ページによって使用されるスタイルのID。

SETTINGSSETSITEID

NUMBER

ページによって使用されるスタイルのページ・グループID。

ISPUBLIC

NUMBER(1)

ページがパブリック・ユーザーから参照可能であることを示します。有効な値は次のとおりです。

  • 0 - 非公開

  • 1 - 公開

IMAGE

VARCHAR2(350)

6001.JPGなど、ページに関連付けられたイメージの一意のドキュメント名。

ROLLOVERIMAGE

VARCHAR2(350)

6001.JPGなど、ページに関連付けられた反転イメージ、またはタブのアクティブでないタブ・イメージの、一意のドキュメント名。

TITLEIMAGE

VARCHAR2(350)

6001.JPGなど、タブのアクティブなタブ・イメージの一意のドキュメント名。

LEADER

VARCHAR2(256)

ページ連絡先の電子メール・アドレス。

DESCRIPTION

VARCHAR2(2000)

ページの説明。

CREATEDATE

DATE

ページの作成日付。

CREATOR

VARCHAR2 (256)

ページ作成者のユーザー名。

HAVEITEMSECURITY

NUMBER(1)

アイテム・レベル・セキュリティがページに対して有効になっているかどうかを示します。有効な値は次のとおりです。

  • 0 - ILSが無効

  • 1 - ILSが有効

ITEMVERSIONING

VARCHAR2(30)

ページのアイテム・バージョニングのレベルを示します。有効な値は次のとおりです。

  • versionnone - バージョニングなし

  • versionsimple - シンプル・バージョニング

  • versionaudit - 監査バージョニング

TOPICID

NUMBER

ページに割り当てられたカテゴリのID。

TOPIC_SITEID

NUMBER

ページに割り当てられたカテゴリのページ・グループID。

VALUE

VARCHAR2(2000)

PL/SQLページの場合、PL/SQLコード。

JSPページの場合、JSPソースのドキュメント名。JSPページでは、この値は変更しないでください。

IS_PORTLET

NUMBER(1)

ページがポートレットとして公開されているかどうかを示します。有効な値は次のとおりです。

  • 0 - ポートレットではない

  • 1 - ポートレット

PLSQL_EXECUTOR

VARCHAR2(30)

PL/SQLタイプのページの場合、PL/SQLコードの実行に使用されるデータベース・スキーマ。有効な値は次のとおりです。

  • $PUBLIC$

  • $CREATOR$

  • <データベース・ユーザー名>

KEYWORDS

VARCHAR2(2000)

ページのキーワード。

IS_READY

NUMBER(1)

ページの作成が完了していることを示します。有効な値は次のとおりです。

  • 1 - ページは作成完了済

INHERIT_PRIV

VARCHAR2(200)

このページが権限を継承するページ。次の形式を使用します。

<page group id>/<page id>

CACHE_MODE

NUMBER(1)

ページのキャッシュ・モード。有効な値は次のとおりです。

  • 2 - キャッシュしない

  • 1 - ページ定義のみをキャッシュ

  • 0 - ページ定義とコンテンツをx分間キャッシュ

  • 4 - システム・レベルでのみページ定義をキャッシュ

  • 3 - ページの定義およびコンテンツをシステム・レベルでx分間キャッシュ

CACHE_EXPIRES

NUMBER(38)

分単位のキャッシュ期間。

ALLOW_PAGE_STYLE

NUMBER(1)

テンプレートに対して、ページで別のスタイルを使用できるかどうかを示します。有効な値は次のとおりです。

  • 1 - ページで別のスタイルを使用可能

ALLOW_PAGE_ACL

NUMBER(!)

テンプレートに対して、ページで様々なアクセス設定を持てるかどうかを示します。有効な値は次のとおりです。

  • 1 - ページで様々なアクセス設定を使用可能

INIT_JSPFILE

VARCHAR2(256)

JSPページの場合、ページのJSPソースがJARまたはWARファイルのときの初期JSPファイル。

UI_TEMPLATE_ID

NUMBER(38)

HTMLページ・スキンのID。

TEMPLATE_ISPUBLIC

NUMBER(1)

テンプレートが使用可能かどうかを示します。有効な値は次のとおりです。

  • 1 - テンプレートは使用可能

CONTAINER_ID

NUMBER

コンテナ・ページのID。

DEFAULT_ITEM_REGION_ID

NUMBER

ページのデフォルトのアイテム・リージョンのID。

DEFAULT_PORTLET_REGION_ID

NUMBER

ページのデフォルトのポートレット・リージョンのID。

ITEMTYPE_INHERIT_FLAGS

NUMBER(1)

WebDAVの場合、デフォルトのアイテム・タイプが親ページから継承されているかどうかを示します。有効な値は次のとおりです。

  • 7 - すべてのアイテム・タイプを親ページから継承

  • 0 - すべてのタイプをこのページ上で指定

REGFILE_ITEMTYPE

RAW(32)

WebDAVの場合、標準ファイルのデフォルト・アイテム・タイプのGUID。

ZIPFILE_ITEMTYPE

RAW(32)

WebDAVの場合、ZIPファイルのデフォルト・アイテム・タイプのGUID。

IMAGEFILE_ITEMTYPE

RAW(32)

WebDAVの場合、イメージ・ファイルのデフォルト・アイテム・タイプのGUID。

DISPLAYINPARENT

NUMBER(1)

ページが親ページのサブページ・リージョンに表示されるかどうかを示します。有効な値は次のとおりです。

  • 1 - 親ページのサブページ・リージョンにページを表示

SEQ

NUMBER

親ページのサブページ・リージョンでのページの順序。

ALPHABETICAL_SORT

NUMBER(1)

サブページがアルファベット順に表示されることを示します。有効な値は次のとおりです。

  • 1 - アルファベット順にサブページを表示

ITEM_PAGE_ID

NUMBER(38)

アイテム・テンプレートのID。

ITEM_PAGE_SITE_ID

NUMBER(28)

アイテム・テンプレートのページ・グループID。

ITEM_PAGE_TABSTRING

VARCHAR2(512)

アイテム・テンプレートのタブ文字列。次の形式を使用します。

<tab name>:<sub tab name>:...:<sub tab name>

INHERIT_ITEM_PAGE

NUMBER(1)

アイテム・テンプレート専用で、アイテムが親ページのアイテム・テンプレートを継承することを示します。有効な値は次のとおりです。

  • 1 - 親ページのアイテム・テンプレートを継承

ALLOW_ITEM_PAGE_OVERRIDE

NUMBER(1)

アイテム・テンプレート専用で、アイテムが独自のアイテム・テンプレートを持てることを示します。有効な値は次のとおりです。

  • 1 - ページ上のアイテムに独自のアイテム・テンプレートを使用可能

HAS_INPLACE_ITEM

NUMBER(1)

ページまたはタブにプレースホルダ・アイテムがあるかどうかを示します。有効な値は次のとおりです。

  • 1 - プレースホルダ・アイテムあり

TIMEOUT

NUMBER

ポートレットをフェッチするために使用される制限時間(秒単位)。


ユーザーは、プロパティを編集するにはそのページに対する「管理」権限が必要です。

翻訳可能な各ページ属性をmodify_folderで更新すると、セッションの言語設定で設定されている翻訳が更新されます。したがって、すべての翻訳可能な属性について必ず正しい値で翻訳を更新するには、最初に同じ言語の各ページ属性を問い合せる必要があります。

例11-1に、modify_folder APIを使用してページの表示名の英語翻訳を編集する方法を示します。

例11-1 ページ・プロパティの編集

declare
  l_page     wwsbr_api.page_record;
begin
  wwctx_api.set_nls_language(
    p_nls_language => wwnls_api.AMERICAN
  );
  select *
  into l_page
  from   <schema>.wwsbr_user_pages
  where  siteid = 33
    and  id = 1
    and  language = wwnls_api.AMERICAN;
  l_page.title := 'New Page Display Name';
  wwsbr_api.modify_folder(
    p_page => l_page
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/

p_page: 変更するページのページ・レコードです。

schema: Portalスキーマ(Oracle Portalがインストールされているスキーマ)です。

11.2 コンテンツの編集

この項には、次の例が記載されています。


注意:

アイテムを編集する場合、コードで行われる変更が他のユーザーによって上書きされないよう、最初にアイテムをチェックアウトすることをお薦めします。編集の完了後は忘れずにアイテムをチェックインしてください。アイテムのチェックアウトおよびチェックインについては、11.2.3項「アイテムのチェックアウトおよびチェックイン」を参照してください。


11.2.1 アイテム属性の設定

アイテムに特定の属性を設定する場合には、set_attribute APIを使用します。このAPIは、アイテムの特定バージョンの属性値を更新します。指定された値は、属性のデータ型に準拠しているかどうか検証されます。このAPIを使用して基本属性(表11-2を参照)またはカスタム属性の値を設定できます。却下されたアイテム、削除としてマークされたアイテム、および削除としてマークされた却下アイテムは、このAPIでは編集できません。

例11-2に、set_attribute APIを使用してアイテムに特定の属性を設定する手順を示します。


ヒント:

set_attribute APIは、1つのアイテム属性を設定する場合に使用します。複数のアイテム属性を設定する場合には、modify_item APIを使用します(11.2.2項「アイテムの編集」を参照)。


例11-2 アイテムの表示名の設定(set_attribute API)

begin
  wwsbr_api.set_attribute(
    p_site_id           => 37,
    p_thing_id          => 8056,
    p_attribute_site_id => wwsbr_api.SHARED_OBJECTS,
    p_attribute_id      => wwsbr_api.ATTRIBUTE_TITLE,
    p_attribute_value   => 'New Display Name'
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/
  • p_site_id: アイテムが属しているページ・グループのIDです。

  • p_thing_id: 一意のアイテムIDです。アイテムIDにより、編集するアイテムの特定のバージョンが識別されます。

  • p_attribute_site_id: 属性が属しているページ・グループのIDです。基本属性の場合は、wwsbr_api.SHARED_OBJECTS定数を使用します。

  • p_attribute_id: 属性のIDです。基本属性の場合は、表11-2に示すようにWWSBR_APIパッケージからの定数を使用します。

  • p_attribute_value: 属性に割り当てる新しい値です。基本属性の場合は、表11-2を参照してください。

ページ・グループIDやアイテムIDなどのオブジェクトIDを取得する方法については、10.3項「オブジェクトIDの検索」を参照してください。

表11-2に、基本属性の値を設定するためのガイドラインを示します。

表11-2 基本属性の属性値

属性 定数 値(p_attribute_value)

作成者

wwsbr_api.ATTRIBUTE_AUTHOR

任意のvarchar2(50)値。

カテゴリ

wwsbr_api.ATTRIBUTE_CATEGORY

<pagegroupid>_<categoryid>

文字セット

wwsbr_api.ATTRIBUTE_CHARSET

  • wwsbr_api.VALUE_BIG5

  • wwsbr_api.VALUE_EUC_JP

  • wwsbr_api.VALUE_GBK

  • wwsbr_api.VALUE_ISO_8859

  • wwsbr_api.VALUE_SHIFT_JIS

  • wwsbr_api.VALUE_US_ASCII

  • wwsbr_api.VALUE_UTF8

  • wwsbr_api.VALUE_WINDOWS_1252

説明

wwsbr_api.ATTRIBUTE_DESCRIPTION

任意のvarchar2(2000)値。

表示名

wwsbr_api.ATTRIBUTE_TITLE

任意のvarchar2(256)値。

表示オプション

wwsbr_api.ATTRIBUTE_DISPLAYOPTION

  • wwsbr_api.IN_PLACE(直接、その場所にアイテム表示)

  • wwsbr_api.FULL_SCREEN(フル・ブラウザ・ウィンドウにアイテム表示)

  • wwsbr_api.NEW_WINDOW(新しいブラウザ・ウィンドウにアイテム表示)

アイテムのチェックアウトを有効にする

wwsbr_api.ATTRIBUTE_ITEMCHECKOUT

  • wwsbr_api.ENABLE_ITEM_FOR_CHECK_OUT

  • wwsbr_api.DISABLE_ITEM_FOR_CHECK_OUT

有効期限

wwsbr_api.ATTRIBUTE_EXPIRATIONPER

  • wwsbr_api.PERMANENT(このアイテムの期限切れを無効化)

  • 期限モードを「NUMBER」に設定するための任意の数値

  • 有効期限日を渡された値に、期限モードを「DATE」に設定するための、公開日付より大きい日付値

ファイル

wwsbr_api.ATTRIBUTE_FILE

アップロードするファイルのパスとファイル名。

イメージ

wwsbr_api.ATTRIBUTE_IMAGE

アップロードするイメージのパスとファイル名。

イメージマップ

wwsbr_api.ATTRIBUTE_IMAGEMAP

任意のvarchar2(4000)値。

イメージの位置

wwsbr_api.ATTRIBUTE_IMAGEALIGN

  • wwsbr_api.ALIGN_TEXT_TOP

  • wwsbr_api.ALIGN_ABSOLUTE_BOTTOM

  • wwsbr_api.ALIGN_ABSOLUTE_MIDDLE

  • wwsbr_api.ALIGN_BOTTOM

  • wwsbr_api.ALIGN_RIGHT

  • wwsbr_api.ALIGN_TOP

  • wwsbr_api.ALIGN_LEFT

  • wwsbr_api.ALIGN_MIDDLE

  • wwsbr_api.ALIGN_BASELINE

  • wwsbr_api.ALIGN_IMAGE_ABOVE_LINK

アイテムリンク

wwsbr_api.ATTRIBUTE_ITEM_LINK

<pagegroupid>_<itemid>

アイテム・テンプレート

wwsbr_api.ATTRIBUTE_ITEM_TEMPLATE

<pagegroupid>_<itemtemplateid>

キーワード

wwsbr_api.ATTRIBUTE_KEYWORDS

任意のvarchar2(2000)値。

MIMEタイプ

wwsbr_api.ATTRIBUTE_MIME_TYPE

WWSBR_APIパッケージ内の任意のMIMEタイプ定数。例:

  • wwsbr_api.VALUE_TEXT_HTML

  • wwsbr_api.VALUE_TEXT_PLAIN

  • wwsbr_api.VALUE_IMAGE_GIF

使用可能なMIMEタイプ定数のリストについては、Portal Centerの『Oracle Portal PL/SQL API Reference』を参照してください。

http://portalcenter.oracle.com

「Portal Focus Areas」セクションで「Portlet Development」をクリックし、次に、「APIs and References」セクションで「PL/SQL API Reference」をクリックします。

名前

wwsbr_api.ATTRIBUTE_NAME

任意のvarchar2(256)値。

ページ、そのすべてのタブおよびサブページ内で一意の名前を指定します。

ページ・リンク

wwsbr_api.ATTRIBUTE_PAGE_LINK

<pagegroupid>_<pageid>

パースペクティブ

wwsbr_api.ATTRIBUTE_PERSPECTIVES

<pagegroupid>_<perspectiveid>

複数のパースペクティブはカンマで区切ります。

実在しないパースペクティブはAPIによって識別されます。ページ・グループに利用できるパースペクティブのみが、アイテムに追加されます。

PL/SQL

wwsbr_api.ATTRIBUTE_PLSQL

任意のvarchar2(2000)値。

公開日付

wwsbr_api.ATTRIBUTE_PUBLISHDATE

日付値。

必須属性です。

反転イメージ

wwsbr_api.ATTRIBUTE_ROLLOVERIMAGE

アップロードするイメージ・ファイルのパスとファイル名。

スマート・リンク

wwsbr_api.ATTRIBUTE_SMARTLINK

  • wwsbr_api.VALUE_ACCOUNT_INFO

  • wwsbr_api.VALUE_ADVANCED_SEARCHE

  • wwsbr_api.VALUE_BUILDER

  • wwsbr_api.VALUE_COMMUNITY

  • wwsbr_api.VALUE_CONTACT

  • wwsbr_api.VALUE_EDIT_PAGE

  • wwsbr_api.VALUE_FAVOURITES

  • wwsbr_api.VALUE_HELP

  • wwsbr_api.VALUE_PORTAL_HOME

  • wwsbr_api.VALUE_CUST_MOBILE_HOME_PAGE

  • wwsbr_api.VALUE_NAVIGATOR

  • wwsbr_api.VALUE_PAGE_GROUP_HOME

  • wwsbr_api.VALUE_PERSONAL_PAGE

  • wwsbr_api.VALUE_CUSTOMIZE_PAGE

  • wwsbr_api.VALUE_PORTLET_REPOS_REF_STATUS

  • wwsbr_api.VALUE_PORTLET_REPOS

  • wwsbr_api.VALUE_PROPERTY_SHEET

  • wwsbr_api.VALUE_REF_PORTLET_REPOS

  • wwsbr_api.VALUE_REFRESH_PAGE

  • wwsbr_api.VALUE_SUBSCRIBE

スマート・テキスト

wwsbr_api.ATTRIBUTE_SMARTTEXT

  • wwsbr_api.VALUE_SMART_TEXT_CURRENT_DATE

  • wwsbr_api.VALUE_SMART_TEXT_CURRENT_PAGE

  • wwsbr_api.VALUE_SMART_TEXT_CURRENT_USER

テキスト

wwsbr_api.ATTRIBUTE_TEXT

任意のvarchar2(4000)値。

URL

wwsbr_api.ATTRIBUTE_URL

最大長がvarchar2(2000)である任意のURL値。

バージョン番号

wwsbr_api.ATTRIBUTE_VERSION_NUMBER

任意の正数。整数でなくてもかまいません。

一意のバージョン番号を指定します。アイテムの既存のバージョンと同じにはしないでください。アイテムに既存のバージョン番号と同じ値を指定した場合は、アイテムの最上位バージョン番号より1つ大きい値に設定されます。


11.2.2 アイテムの編集

既存のアイテムを編集するには、modify_item APIを使用します。このAPIを使用すると、アイテムのプロパティを設定できます。また、このAPIにより次の処理も可能になります。

  • アイテムの新規バージョンを追加できます(ページに対してアイテムのバージョンが有効になっている場合)。11.2.4項「バージョン・コントロールの使用」を参照してください。

  • アイテムに対してアイテム・レベル・セキュリティを有効にできます(ページに対してアイテム・レベル・セキュリティ(ILS)が有効になっている場合)。同様に実行できる別の方法については、15.3項「アイテム・レベルの権限の設定」を参照してください。

  • アイテムに関連付けられたファイルをアップロードできます。アイテムに関連付けるファイルがアップロード済の場合は、かわりにmodify_item_post_upload APIを使用します。

このAPIを使用して編集するのは、ACTIVE値が1のアイテムのみです。保留中か、却下されたかまたは削除されたアイテムの編集には使用しないでください。

アイテムを識別するアイテム・マスターIDと、更新するアイテムの特定バージョンを識別するアイテムIDの両方を渡す必要があります。指定されたIDがアイテムの現行のバージョンである必要はありません。オブジェクトIDを取得する方法については、10.3項「オブジェクトIDの検索」を参照してください。

modify_item APIでは、パラメータ・リストに属性が渡されなかった場合でも、すべての属性の値を変更します。属性が渡されなかった場合、その属性の値はパラメータのデフォルト値に戻ります。属性の現行値を保持する場合は、アイテムの属性値を取得してこのAPIに渡す必要があります。属性の値は、次のビューおよびAPIから取得できます。

  • WWSBR_ALL_ITEMS(組込み属性用)。

  • WWSBR_ITEM_ATTRIBUTES(カスタム属性用)。

  • WWSBR_ITEM_TYPE_ATTRIBUTES(アイテム・タイプの属性リスト用)。

  • WWSBR_ITEM_PERSPECTIVES(パースペクティブ用)。

  • wwsec_api.grantee.list(アイテム・タイプの権限リスト用)。このAPIの使用方法の詳細は、15.3項「アイテム・レベルの権限の設定」を参照してください。

例11-3では、テキスト・アイテムの表示名とテキストを更新しています。

例11-3 アイテムの編集(modify_item API)

declare
  l_item_master_id number;
begin
  l_item_master_id := wwsbr_api.modify_item(
    p_master_item_id => 453,
    p_item_id        => 454,
    p_caid           => 33,
    p_folder_id      => 45,
    p_display_name   => 'Movie Review',
    p_text           => 'This is the text of the review.'
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/
  • p_master_item_id: アイテムのマスターIDです。この値は、WWSBR_ALL_ITEMSビューのMASTERID列で検索できます。

  • p_item_id: アイテムIDです。これはアイテムのバージョンを識別するものです。このアイテムの現行バージョンでなくてもかまいません。


    ヒント:

    アイテムの現行バージョンを識別するには、次の問合せを使用します。

    select id
    from wwsbr_all_items
    where master_id = 453
      and is_current_version = 1;
    

  • p_caid: アイテムが属しているページ・グループのIDです。

  • p_folder_id: アイテムが表示されるページのIDです。

  • p_display_name: アイテムの表示名(タイトル)です。

  • p_text: アイテムのテキストです(この例のアイテムはテキスト・アイテムです)。

11.2.3 アイテムのチェックアウトおよびチェックイン

アイテムがチェックアウト対象として有効になっている場合は、他のユーザーが同時に変更できないようにするため編集前にアイテムをチェックアウトしてください(例11-4)。

例11-4 アイテムのチェックアウトおよびチェックイン(check_out_itemおよびcheck_in_item)

begin
  -- Check out the item.
  wwsbr_api.check_out_item(
    p_master_item_id => 12345, -- Master ID is the same for all versions.
    p_caid           => 33
  );
  -- Update the display name of the item.
  wwsbr_api.set_attribute(
    p_site_id => 33,
    p_thing_id => 8056, -- Unique item ID.
    p_attribute_site_id => wwsbr_api.SHARED_OBJECTS,
    p_attribute_id      => wwsbr_api.ATTRIBUTE_TITLE,
    p_attribute_value   => 'New Display Name'
  );
  -- Check the item back in.
  wwsbr_api.check_in_item(
    p_master_item_id => 12345, -- Master ID is the same for all versions.
    p_caid           => 33
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_ache_invalidation;
exception
  ...
end;
/
  • p_master_item_id: チェックアウトまたはチェックインされるアイテムのマスターIDです。

  • p_caid: アイテムが属しているページ・グループのIDです。

例11-4で使用されたset_attribute APIの詳細は、11.2.1項「アイテム属性の設定」を参照してください。


注意:

アイテムがチェックアウト済か確認するには、WWSBR_ALL_ITEMSビューのIS_ITEM_CHECKEDOUT列を問い合せます。このビューの詳細は、F.2.5項「WWSBR_ALL_ITEMS」を参照してください。


11.2.4 バージョン・コントロールの使用

modify_item APIを使用してアイテムを編集するときに、p_addnewversion = TRUEを設定すると、そのアイテムの新しいバージョンが作成されます。新しいバージョンには新しいIDが与えられます(マスターIDは同じままです)。アイテムの新しいバージョンを現行バージョンとしてすぐに公開しない場合は、p_add_as_current_version = FALSEを設定します。

例11-5に、modify_item APIを使用して新しいバージョンのアイテムを作成する方法を示します。

例11-5 アイテムの新規バージョンの作成(modify_item API)

declare
  l_item_master_id number;
begin
  l_item_master_id := wwsbr_api.modify_item(
    p_master_item_id => 453,
    p_item_id        => 454,
    p_caid           => 33,
    p_folder_id      => 45,
    p_display_name   => 'Movie Review',
    p_text           => 'This is the text of the review.',
    p_addnewversion  => true
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/

ここで使用されるパラメータについては、例11-3を参照してください。

11.3 コンテンツの再編集

コンテンツが静的であることはごくまれなので、ポータル内でコンテンツの移動が必要な場合があります。

この項には、次の例が記載されています。

11.3.1 別のページへのアイテムの移動

move_item APIを使用すると、同じページ・グループ内の別のページかまたは別のページ・グループのページにアイテムを移動できます。アイテムを移動してもアイテムのメタデータは保持されます。別のページ・グループにアイテムを移動するには、アイテムが次の条件を満たす必要があります。

  • ローカルのアイテム・タイプをベースとしていない。

  • ローカルのカテゴリに関連付けられていない。

  • ローカルのパースペクティブに関連付けられていない。

例11-6では、あるページ・グループから別のページ・グループのページにアイテムを移動します。

例11-6 別のページ・グループへのアイテムの移動(move_item API)

begin
  wwsbr_api.move_item(
    p_caid           => 33,
    p_master_item_id => 12345,
    p_dest_caid      => 53,
    p_dest_page_id   => 1,
    p_dest_region_id => 5
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/
  • p_caid: アイテムが現在属しているページ・グループのIDです。

  • p_master_item_id: 移動するアイテムのマスターIDです。

  • p_dest_caid: アイテムの移動先となるページ・グループのIDです。

  • p_dest_page_id: アイテムの移動先となるページのIDです。

  • p_dest_region_id: アイテムの移動先となる、ページのアイテム・リージョンのIDです。リージョンIDを指定していない場合、アイテムはページのデフォルト・アイテム・リージョンに移動されますが、これは望ましいリージョンとはかぎりません。

11.3.2 ページの移動

move_folder APIを使用すると、ページを同じページ・グループ内で移動できます。別のページ・グループには移動できません。

ページを移動するには、ユーザーは移動元および移動先のページに対する「管理」権限を持っている必要があります。

例11-7に、ページの移動方法を示します。

例11-7 ページの移動(move_folder API)

begin
  wwsbr_api.move_folder(
    p_id        => 12345,
    p_siteid    => 33,
    p_parent_id => 10000
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/
  • p_id: 移動するページのIDです。

  • p_siteid: ページが属しているページ・グループのIDです。

  • p_parent_id: ページの移動先となるページのIDです。

11.3.3 カテゴリおよびパースペクティブの移動

必要に応じてカテゴリおよびパースペクティブをページ・グループ内で移動できます。カテゴリまたはパースペクティブを別のページ・グループに移動することはできません。

カテゴリやパースペクティブを移動するには、ユーザーは所有するページ・グループに対して「クラスの管理」以上の権限を持っている必要があります。

カテゴリを移動するには、例11-8に示すようにmove_category APIを使用します。

例11-8 カテゴリの移動(move_category API)

begin
  wwsbr_api.move_category(
    p_src_id => 2000,
    p_dest_id => 3000,
    p_siteid  => 33
  );
exception
  ...
end;
/

パースペクティブを移動するには、例11-9に示すようにmove_perspective APIを使用します。

例11-9 パースペクティブの移動(move_perspective API)

begin
  wwsbr_api.move_perspective(
    p_src_id => 2000,
    p_dest_id => 3000,
    p_siteid  => 33
  );
exception
  ...
end;
/
  • p_src_id: 移動するカテゴリまたはパースペクティブのIDです。

  • p_dest_id: カテゴリまたはパースペクティブの移動先となるカテゴリまたはパースペクティブのIDです。

  • p_siteid: カテゴリまたはパースペクティブが属しているページ・グループのIDです。

11.4 コンテンツのコピー

最初から作成しなおすのではなく、既存のコンテンツと同一または類似のものを追加する場合は、既存のコンテンツをコピーできます。

この項には、次の例が記載されています。

11.4.1 アイテムのコピー

copy_item APIを使用すると、同じページ・グループ内の別のページ、または別のページ・グループのページにアイテムをコピーできます。別のページ・グループにアイテムをコピーするには、アイテムが次のすべての条件を満たす必要があります。

  • ローカルのアイテム・タイプをベースとしていない。

  • ローカルのカテゴリに関連付けられていない。

  • ローカルのパースペクティブに関連付けられていない。

アイテムをコピーしてもアイテムのメタデータは保持されます。

例11-10では、別のページ・グループのページにアイテムをコピーします。

例11-10 別のページ・グループへのアイテムのコピーの作成(copy_item API)

begin
  wwsbr_api.copy_item(
    p_caid           => 33,
    p_master_item_id => 12345,
    p_dest_caid      => 53,
    p_dest_page_id   => 1,
    p_dest_region_id => 5
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/
  • p_caid: アイテムが現在属しているページ・グループのIDです。

  • p_master_item_id: コピーするアイテムのマスターIDです。

  • p_dest_caid: アイテムのコピー先となるページ・グループのIDです。

  • p_dest_page_id: アイテムのコピー先となるページのIDです。

  • p_dest_region_id: アイテムのコピー先となる、ページのアイテム・リージョンのIDです。リージョンIDを指定していない場合、アイテムはページのデフォルト・アイテム・リージョンにコピーされますが、これは望ましいリージョンとはかぎりません。

11.4.2 ページのコピー

copy_folder APIを使用すると、ページを同じページ・グループ内にコピーできます。別のページ・グループにはコピーできません。

ページをコピーするには、ユーザーはコピー元のページに対する「表示」権限と、コピー先のページに対する「管理」権限を持っている必要があります。

例11-11では、ページのコピー方法を示します。

例11-11 ページのコピーの作成(copy_folder API)

declare
  l_new_pageid number;
begin
  l_new_pageid := wwsbr_api.copy_folder(
    p_id        => 12345,
    p_siteid    => 33,
    p_parent_id => 10000
    p_name      => 'page1',
    p_title     => 'page1'
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/
  • p_id: コピーするページのIDです。

  • p_siteid: ページが属しているページ・グループのIDです。

  • p_parent_id: ページのコピー先となるページのIDです。

  • p_name: コピー操作によって作成される新しいページの名前です。

  • p_title: コピー操作によって作成される新しいページの表示名です。

11.5 コンテンツの削除

コンテンツが不要になった場合、APIを使用してそれをポータルから削除し、領域を解放できます。

この項には、次の例が記載されています。

11.5.1 アイテムの削除

delete_item APIを使用して、アイテムの全バージョンを削除することも特定の1つのバージョンを削除することもできます。このAPIでは、削除対象のバージョンに関連するすべてのサブアイテムを削除することもできます。このAPIを使用してアイテムを削除する場合、ページ・グループのデフォルトの削除モードをそのまま使用することも、この設定をオーバーライドすることも選択できます。

例11-12では、ページ・グループからアイテムのバージョン1を永続的に削除します。削除アイテムを保持するようにページ・グループが設定されている場合でも、そのアイテム・バージョンは永続的に削除されます。

例11-12 アイテムの削除(delete_item API)

begin
  procedure delete_item(
    p_master_item_id => 48037,
    p_caid           => 54,
    p_version_number => 1,
    p_mode           => wwsbr_api.DELETE_ITEM_PURGE
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/
  • p_master_item_id: 削除するアイテムのマスターIDです。

  • p_caid: アイテムが属しているページ・グループのIDです。

  • p_version_number: 削除するアイテムのバージョンです。アイテムの現行バージョンを削除しようとすると、ITEM_ACTIVE_VERSION例外が発生します。アイテムのバージョンを指定していない場合は、アイテムの全バージョンが削除されます。


    ヒント:

    アイテムの現行バージョンを削除する場合は、全バージョンを削除するか、Oracle Portalユーザー・インタフェースを使用して以前のバージョンに戻す必要があります。


  • p_mode: アイテムの削除時に使用するモードです。次の値をとることができます。

    • wwsbr_api.DELETE_ITEM_DEFAULTでは、ページ・グループ設定を使用します。

    • wwsbr_api.DELETE_ITEM_PURGEでは、ページ・グループ設定に関係なくアイテムをただちに削除します。

    • wwsbr_api.DELETE_ITEM_LAZYDELETEでは、ページ・グループ設定に関係なくアイテムを削除済としてマークします。

以前に削除したアイテムをリストアするには、undelete_item APIを使用します(例11-13)。アイテムにサブアイテムがある場合は、そのサブアイテムもリストアされます。


注意:

削除アイテムをリストアできるのは、アイテムを所有するページ・グループが削除アイテムを保持するように設定されているか、wwsbr_api.DELETE_ITEM_LAZYDELETEモードを使用してアイテムが削除され、そのアイテムがコンテンツ・リポジトリからパージされていない場合のみです。


例11-13 前の削除アイテムのリストア(undelete_item API)

begin
  wwsbr_api.undelete_item(
    p_thing_id => 12345,
    p_caid     => 33
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/
  • p_thing_id: リストアする削除済アイテムの一意のIDです。

  • p_caid: アイテムが属しているページ・グループのIDです。

11.5.2 ページの削除

ページを削除するには、delete_folder APIを使用します。ユーザーは、ページを削除するにはそのページに対する「管理」権限が必要です。


注意:

削除済ページをリストアできるAPIコールはありません。


例11-14では、ページの削除方法を示します。

例11-14 ページの削除(delete_folder API)

begin
  wwsbr_api.delete_folder(
    p_id     => 12345,
    p_siteid => 33
  );
  -- Process cache invalidation messages.
  wwpro_api_invalidation.execute_cache_invalidation;
exception
  ...
end;
/
  • p_id: 削除するページのIDです。

  • p_siteid: ページが属しているページ・グループのIDです。