ヘッダーをスキップ
Oracle® Fusion Middleware WebCenter Sites管理者ガイド
11gリリース1 (11.1.1.8.0)
E49682-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

26 リビジョン追跡

WebCenter Sitesは、表内の行が一度に複数のユーザーにより編集されないようにするリビジョン追跡機能を用意しています。表に対してリビジョン追跡を有効にすると、WebCenter Sitesはその表内の行の複数のバージョンを保持します。

WebCenter Sitesはこのリビジョン追跡機能をアセット・タイプに適用します。管理者は、追跡する必要のあるアセット・タイプと保存するリビジョンの数を決定します。その後、必要に応じて、コンテンツ・プロバイダがそれらのアセットをチェックインおよびチェックアウトし、バージョンを比較できます。

この章では、リビジョン追跡を有効にする方法およびアセットのバージョンを管理する方法を説明します。

この章は、次の項で構成されています。

26.1 概要

WebCenter Sitesは、リビジョン追跡APIによりリビジョン追跡機能を提供します。このAPIは、アセット・タイプの表に対する追加リビジョン追跡機能の提供に使用されます。

アセット・タイプに対してリビジョン追跡を有効にすると、WebCenter Sitesでは、そのタイプのアセットに対して、トラッカ表と呼ばれる新しい表が作成されます。管理者は、保存するバージョン数を指定し、トラッカ表が追跡するアセットのサポート・ファイルの保存に使用するストレージ・ディレクトリも指定します。

WebCenter Sitesのリビジョン追跡の実装により、次の機能が提供されます。

アセット・タイプが追跡されるとき、WebCenter Sitesは、これらのタイプのアセットの「新規」フォームおよび「編集」フォームで、チェックイン、チェックアウト、およびその他のリビジョン追跡機能を提供します。

この項は、次のトピックで構成されています。

26.1.1 トラッカ表とストレージ・ディレクトリ

アセット・タイプのリビジョン追跡を有効にすると、WebCenter Sitesは、ソース表のレコードのリビジョン情報を格納するトラッカ表を作成します。トラッカ表には、そのアセット・タイプのメインのストレージ表と同じ名前に_tを付加した名前が付与されます。たとえば、記事(article)アセット・タイプのトラッカ表の名前はArticle_tとなります。属性タイプ(attribute type)アセット・タイプのトラッカ表の名前はAttrTypes_tとなります。

追跡されたアセット・タイプ表の各レコードに対し、そのバージョン情報を格納する該当のトラッカ表にいくつかの行があります。トラッカ表には次の2種類の列があります。

  • リビジョン追跡システムがすべてのバージョンを追跡する必要のあるシステム情報を格納する列

  • ストレージ・ディレクトリに格納されるテキスト・ファイルのIDを保持する列

新しいバージョンのアセットがチェックインされると、WebCenter Sitesは、各アセット・タイプのアップロード(URL)フィールドおよび64文字を超える文字を保持するように構成されたテキスト・フィールドのデータを保持するための個別のテキスト・ファイルを作成します。これらのファイルは、shared/rtStorage/AssetTypeに格納されます。ストレージ・ディレクトリには、アセットのバージョンごとにこれらのテキスト・ファイルが1セット格納されます。


注意:

トラッカ表にはシステム情報のみが保持されるため、これらはSites Explorerには表示されません。トラッカ表の情報はデータベース・ツールで変更しないでください。


26.1.2 RTInfo表

トラッカ表が非表示のままであるのに対し、RTInfo表はSites Explorerで表示されます。この表には、どの表のリビジョンが追跡されるのかについての情報が保持されます。これには次のような列があります。

表26-1 RTInfo表

説明

tblname

リビジョンが追跡される表の名前。アセット・タイプの場合、これはメインのアセット・タイプ表の名前です。

versions

このタイプの各アセットに対して格納するバージョン数。

storage

このタイプのアセットの各バージョンのテキスト・ファイルを保持するストレージ・ディレクトリへのパス。パスは、shared/rtStorage/AssetTypeにある共有フォルダにあります。

recordupdate

バージョンが最後にトラッカ表に格納されたときのタイムスタンプ。

trackingupdate

ソース表に対してリビジョン追跡が有効になった時間。


26.1.3 リビジョン追跡と2つのアセット・モデル

ベーシック・アセットのデータ・モデルはフレックス・アセットのデータ・モデルとは異なるため、この2つのアセット・モデルでは、リビジョン追跡システムの動作が異なります。

  • ベーシック・アセットの場合、メインのアセット・ストレージ表の行のみが追跡されます。

  • フレックス・アセットとその他の複数表のアセット・タイプ(テンプレートとCSElement)の場合、それらのすべての表の該当する行の情報は、1つのオブジェクトにシリアライズされ、そのアセット・タイプのトラッカ表に格納されます。

たとえば、テンプレート・アセットに対してリビジョン追跡を有効にすると、TemplateSiteCatalogおよびElementCatalogの各表の該当する行は、1つのオブジェクトにシリアライズされ、Template_t表に格納されます。

26.1.4 暗黙的チェックインと明示的チェックイン、および明示的チェックアウト

アセット・タイプに対してリビジョン追跡が有効の場合、WebCenter Sitesは暗黙的(自動)チェックアウトと明示的(手動)チェックアウトの両方と、明示的チェックイン機能を提供します。リビジョンが追跡されるタイプのアセットを作成または編集する場合、ユーザーが手動でそのアセットをチェックアウトする必要はありません。アセットは自動的にユーザーに割り当てられます。ただし、暗黙的チェックインはできません。「保存」をクリックしても、アセットは再度チェックインされません。ユーザーは手動でアセットをチェックインする必要があります。

これは、望ましい動作である場合も、そうではない場合もあります。たとえば、作成者が暗黙的にチェックアウトされたアセットに対して多数のリビジョンを作成している場合、その作成者が明示的にそのアセットのチェックインも行うまで、その変更は有効になりません。これにより、保存しておきたい古いバージョンが上書きされることを回避できます。

コンテンツ・プロバイダが暗黙的または明示的にアセットをチェックアウトすると、これを何回保存しても、手動で再度チェックインされるまでバージョンは格納されません。

26.1.5 リビジョン追跡とアセット以外の表

アセット・タイプに対するリビジョン追跡の使用に加え、アセット以外の表にリビジョン追跡を実施することもできます。

このためには、「管理」タブの「ユーザー・アクセス管理」機能を使用して、表に対する追跡を有効にします。すると、WebCenter Sitesは対応するトラッカ表を作成し、追跡される表をサポートします。これには、アセット・タイプのトラッカ表と同様にnameOfTable_tという名前が付けられます。たとえば、ソース(Source)表に対してリビジョン追跡を有効にすると、トラッカ表の名前はSource_tとなります。

アセット以外の表に対してリビジョン追跡が有効になっている場合、Sites Explorerのメニューまたは「管理」タブの「ユーザー・アクセス管理」ノードからアクセスできるリビジョン追跡機能を使用して、行をロック(チェックアウト)し、完了したらその行をロック解除(再度チェックイン)できます。

アセット以外の表のリビジョン追跡に対して、Sites Explorerツール以外の追加サポートを提供する必要がある場合、開発者は、WebCenter Sitesリビジョン追跡APIおよびリビジョン追跡XMLまたはJSPタグを使用して、追加のフォームをコード化できます。詳細は、Oracle Fusion Middleware WebCenter Sites: タグ・リファレンスおよびOracle Fusion Middleware WebCenter Sites: Java APIリファレンスを参照してください。


注意:

WebCenter Sitesデータベースからアセット以外の表を削除する必要があり、そのテーブルがリビジョン追跡されている場合は、表を削除する前に追跡を解除してください。


26.1.6 バージョンの数

アセットまたはデータベースの行の各リビジョンは、ディスク領域を占有します。したがって、保存するリビジョン数の決定は、次の要因に基づくものである必要があります。

  • 使用可能なディスク領域の量

  • 一般的なアセット(または行)のデータ・サイズ

  • いくつかのバージョンのロールバックが必要となる可能性

たとえば、少量のASCIIデータから構成されるアセットは、ほとんど領域を占有しないため、多数のリビジョンでもあまりディスク領域を取らない可能性があります。しかし、大量のバイナリ・データを保持するアセットの各バージョンは、かなりの量のディスク領域を占有する可能性があります。2番目の場合、ロールバックに必要な最小限のバージョンを格納して、適切なバランスを取る必要があります。

26.2 リビジョン追跡の有効化

この項では、アセットおよびアセット以外の表に対してリビジョン追跡を有効にする方法を示します。


注意:

リビジョン追跡がパブリッシュのターゲット宛先でElementCatalogまたはSiteCatalogのいずれかに対してオンになっている場合、テンプレートのパブリッシュは失敗し、テンプレートは壊れる可能性があります。

ターゲット宛先でリビジョン追跡を有効にすることはお薦めできません。


この項は、次のトピックで構成されています。

26.2.1 アセットに対するリビジョン追跡の有効化

アセットに対してリビジョン追跡を有効にするには:

  1. 「管理」タブで、「アセット・タイプ」を開き、リビジョン追跡を有効にするアセット・タイプを開きます。

  2. 選択したアセット・タイプの下で「リビジョン追跡」を開き、「追跡」をダブルクリックします。

    アセット・タイプの追跡フォームが表示されます。

    図26-1 「アセット・タイプのリビジョン・トラッキング」フォーム

    図26-1の説明が続きます
    「図26-1 「アセット・タイプのリビジョン・トラッキング」フォーム」の説明

  3. 「保持するリビジョン」フィールドで、選択したアセット・タイプの各アセットについて、WebCenter Sitesで格納するリビジョンの数を入力します。この数のリビジョンが格納されると、最も古いリビジョンが、次のリビジョンによって上書きされます。

    レコード・ロック機能にのみリビジョン追跡を使用し、前のバージョンへのロールバックが必要ない場合は、このフィールドを1に設定できます。

  4. 「リビジョン追跡の有効化」をクリックします。

26.2.2 アセット以外の表に対するリビジョン追跡の有効化

アセットを保持しないデータベース表に対してリビジョン追跡を有効にするには、「ユーザー・アクセス管理」ノードを使用します。

アセット以外の表に対してリビジョン追跡を有効にするには:

  1. 「管理」タブで、「ユーザー・アクセス管理」を開き、「リビジョン・トラッキング」をダブルクリックします。

  2. 表示されるフォームで、「表の追跡」を選択し、「OK」をクリックします。

  3. 「ルート・ストレージ・ディレクトリの入力」フィールドで、表の行のリビジョンが格納されるディレクトリへのフルパスを入力します。ディレクトリ名の後にスラッシュ(またはバックスラッシュ)文字を入れないでください。

  4. 「保持するリビジョンの数の入力」フィールドで、ロールバックのためにWebCenter Sitesで格納する必要のあるリビジョンの数を入力します。

  5. リビジョン追跡を有効にしている各表の横にある「追跡」チェック・ボックスを選択します。

  6. 「表の追跡」をクリックします。

26.2.3 リビジョン追跡設定の編集

リビジョン追跡設定の調査または編集には、SiteGod、Xceladmin、Visitor AdminまたはRemote ClientのいずれかのACLが必要です。どのACLもない状態で、追跡されるアセット・タイプまたはアセット以外の表の現在のリビジョン追跡設定の調査を試みても、システムではルート・ストレージ・ディレクトリの名前やリビジョンの数が表示されません。

リビジョン追跡設定ディレクトリはデータベースに影響を与えるため、これらの設定を変更する際は注意が必要です。

この項は、次のトピックで構成されています。

26.2.3.1 ルート・ストレージ・ディレクトリの変更


注意:

アセット・タイプまたはアセット以外の表のルート・ストレージ・ディレクトリを変更する場合、そこに現在格納されているすべてのバージョンは失われます。


ルート・ストレージ・ディレクトリを変更する必要がある場合は、次の手順に従ってください。

  1. アセット・タイプまたは表に対するリビジョン追跡を無効にします。無効にすると、そのアセット・タイプのすべてのバージョン・データは親がなくなります。

  2. 新しいルート・ストレージ・ディレクトリを入力し、アセット・タイプまたは表に対するリビジョン追跡を有効にします。

26.2.3.2 リビジョンの数の変更

この後の項では、アセット・タイプまたは表に格納されるリビジョンの数の増減について説明します。

増加

アセット・タイプに対して格納されるリビジョンの数を増やす場合は、「保持するリビジョン」フィールドの値を増やすのみです。

値を増やすには、「管理」タブで、「アセット・タイプ」、変更するアセット・タイプ、「リビジョン追跡」の順に開き、「リビジョンの設定」をダブルクリックします。表示されるフォームを使用して、値を大きくします。

減少

WebCenter Sites開発システムで構成設定をテストする際、またはSites管理システムを微調整する際にバージョン数を減らす必要がある場合がありますが、完全に機能している管理システムではリビジョン追跡により格納されるバージョン数は減らさないことをお薦めします。

「保持するリビジョン」フィールドの値を、そのアセット・タイプまたは表に対して現在格納されているリビジョン数未満に減らすと、次のようになります。

  • 余分なバージョンのストレージ・ディレクトリ内のテキスト・ファイルは、親がなくなります。

  • 余分なバージョンのトラッカ表内の行は、親がなくなります。

リビジョン数を減らす前に、余分なバージョン(最も古いバージョン)を削除することにより、トラッカ表内に親のない行が作成されることを回避できます。ただし、ストレージ・ディレクトリ内で親のないテキスト・ファイルが作成されることは回避できません。削除するファイルを判断することは非常に困難であるため、これらは削除しないでください。

リビジョン数を減らす必要がある場合は、アセット・タイプに関連付けられているフォームを使用します。「管理」タブで、「アセット・タイプ」、変更するアセット・タイプ、「リビジョン追跡」の順に開き、「リビジョンの設定」をダブルクリックします。表示されるフォームを使用して、値を小さくします。

26.3 リビジョン追跡の無効化

アセット・タイプまたはアセット以外の表に対してリビジョン追跡を無効にすると、次のようになります。

後でそのアセット・タイプに対するリビジョン追跡を有効にすると、古いバージョンおよびテキスト・ファイルは無視されます。これらは親がないままです。

これらの古いバージョンは不要な領域を占有するので、場合によってはそれらを手動で削除する必要があります。そのアセット・タイプのストレージ・ディレクトリ内にあるリビジョン追跡ディレクトリからすべてのテキスト・ファイルを手動で削除します。

たとえば、アセット・タイプのストレージ・ディレクトリが/Storage/AssetTypeの場合、/Storage/AssetType/AssetTypeのリビジョン追跡ディレクトリからすべてのファイルを削除します。


注意:

アセット・タイプのストレージ・ディレクトリのファイルは削除しないでください。


アセット・タイプに対してリビジョン追跡を無効にするには:

  1. 「管理」タブで、「アセット・タイプ」を開き、リビジョン追跡を無効にするアセット・タイプを開きます。

  2. 選択したアセット・タイプの下で「リビジョン追跡」を開き、「追跡の解除」をダブルクリックします。

    WebCenter Sitesに警告メッセージが表示されます。

    図26-2 「アセット・タイプのリビジョン・トラッキング」に表示される警告メッセージ

    図26-2の説明が続きます
    「図26-2 「アセット・タイプのリビジョン・トラッキング」に表示される警告メッセージ」の説明

  3. 「追跡の解除」をクリックします。

26.4 リビジョンのロック解除

ユーザーの操作により、アセットが不適切なロック状態のままになる場合があります。このような状態を解決するのは管理者の役割です。

アセット・タイプの場合、「管理」タブの「チェックアウトのクリア」機能を使用します。

アセットに対するチェックアウトの消去

開始する前に、アセットがロックされているユーザーの名前を検索します。この情報は、そのアセットの「調査」フォームにリストされています。

アセットに対してチェックアウトを消去するには:

  1. 「管理」タブで、「チェックアウトのクリア」をダブルクリックします。

    WebCenter Sitesに「チェックアウトの検索」フォームが表示されます。

    図26-3 「チェックアウトの検索」フォーム

    図26-3の説明が続きます
    「図26-3 「チェックアウトの検索」フォーム」の説明

  2. アセットがロックされたままのユーザーの名前を入力し、「チェックアウトの表示」をクリックします。

  3. 選択されたユーザーにチェックアウトされたアセットのリストで、チェックアウトを元に戻す各アセットの横にある「クリア」チェック・ボックスを選択します。

  4. 「チェックアウトのクリア」をクリックします。