31 リビジョン追跡の管理
トピック:
リビジョン追跡の概要
WebCenter Sitesは、リビジョン追跡APIによりリビジョン追跡機能を提供します。このAPIは、アセット・タイプの表に対する追加リビジョン追跡機能の提供に使用されます。
アセット・タイプに対してリビジョン追跡を有効にすると、WebCenter Sitesでは、そのタイプのアセットに対して、トラッカ表と呼ばれる新しい表が作成されます。管理者は、保存するバージョン数を指定し、トラッカ表が追跡するアセットのサポート・ファイルの保存に使用するストレージ・ディレクトリも指定します。
WebCenter Sitesのリビジョン追跡の実装により、次の機能が提供されます。
チェックアウトとチェックイン。
チェックアウトは、一度に1人のユーザーのみが編集できるように、アセットをロックします。
チェックインは、アセットへのロックを解除し、バージョン番号を上げ、バージョンの数が構成した制限内であるかどうかを判断します。新しいバージョンが制限を超えている場合、最も古いバージョンが削除され、次のバージョンのための余地を作ります。
複数のバージョンのアセットの格納。
アセット・タイプに対してリビジョン追跡を有効にすると、WebCenter Sitesはトラッカ表にバージョンを保存します。アップロード・データは、RTInfo表に示すように、指定したストレージ・ディレクトリに格納されます。過去のバージョンが格納されている(つまり、履歴が存在する)ため、ユーザーは、アセットを前のバージョンにロールバックしたり、アセットの2つのバージョンの相違を調べられます。
管理または保守機能。
管理者は、アセットの過去のバージョンを削除したり、アセットのチェックアウトを上書きし、再度チェックインすることで、アセットに対するチェックアウトをクリアできます。
アセット・タイプが追跡されるとき、WebCenter Sitesは、これらのタイプのアセットの「新規」フォームおよび「編集」フォームで、チェックイン、チェックアウト、およびその他のリビジョン追跡機能を提供します。
この項の内容は次のとおりです。
トラッカ表とストレージ・ディレクトリ
アセット・タイプのリビジョン追跡を有効にすると、WebCenter Sitesは、ソース表のレコードのリビジョン情報を格納するトラッカ表を作成します。トラッカ表には、そのアセット・タイプのメインのストレージ表と同じ名前に_t
を付加した名前が付与されます。たとえば、記事(article)アセット・タイプのトラッカ表の名前はArticle_t
となります。属性タイプ(attribute type)アセット・タイプのトラッカ表の名前はAttrTypes_t
となります。
追跡されたアセット・タイプ表の各レコードに対し、そのバージョン情報を格納する該当のトラッカ表にいくつかの行があります。トラッカ表には次の2種類の列があります。
-
リビジョン追跡システムがすべてのバージョンを追跡する必要のあるシステム情報を格納する列
-
ストレージ・ディレクトリに格納されるテキスト・ファイルのIDを保持する列
新しいバージョンのアセットがチェックインされると、WebCenter Sitesは、各アセット・タイプのアップロード(URL)フィールドおよび64文字を超える文字を保持するように構成されたテキスト・フィールドのデータを保持するためのテキスト・ファイルを作成します。これらのファイルは、shared
/rtStorage/
AssetType
に格納されます。ストレージ・ディレクトリには、アセットのバージョンごとにこれらのテキスト・ファイルが1セット格納されます。
ノート:
トラッカ表にはシステム情報のみが保持されるため、これらはOracle WebCenter Sites Explorerには表示されません。トラッカ表の情報はデータベース・ツールで変更しないでください。
RTInfo表
トラッカ表が非表示のままであるのに対し、RTInfo表はOracle WebCenter Sites Explorerで表示されます。この表には、どの表のリビジョンが追跡されるのかについての情報が保持されます。次のような列があります。
表31-1 RTInfo表
列 | 説明 |
---|---|
|
リビジョンが追跡される表の名前。アセット・タイプの場合、これはメインのアセット・タイプ表の名前です。 |
|
このタイプの各アセットに対して格納するバージョン数。 |
|
このタイプのアセットの各バージョンのテキスト・ファイルを保持するストレージ・ディレクトリへのパス。パスは、 |
|
バージョンが最後にトラッカ表に格納されたときのタイムスタンプ。 |
|
ソース表に対してリビジョン追跡が有効になった時間。 |
リビジョン追跡と2つのアセット・モデル
ベーシック・アセットのデータ・モデルはフレックス・アセットのデータ・モデルとは異なるため、この2つのアセット・モデルでは、リビジョン追跡システムの動作が異なります。
-
ベーシック・アセットの場合、メインのアセット・ストレージ表の行のみが追跡されます。
-
フレックス・アセットとその他の複数表のアセット・タイプ(テンプレートとCSElement)の場合、それらのすべての表の該当する行の情報は、1つのオブジェクトにシリアライズされ、そのアセット・タイプのトラッカ表に格納されます。
たとえば、テンプレート・アセットに対してリビジョン追跡を有効にすると、Template
、SiteCatalog
およびElementCatalog
の各表の該当する行は、1つのオブジェクトにシリアライズされ、Template_t
表に格納されます。
暗黙的チェックインと明示的チェックイン、および明示的チェックアウト
アセット・タイプに対してリビジョン追跡が有効の場合、WebCenter Sitesは暗黙的(自動)チェックアウトと明示的(手動)チェックアウトの両方と、明示的チェックイン機能を提供します。リビジョンが追跡されるタイプのアセットを作成または編集する場合、ユーザーが手動でそのアセットをチェックアウトする必要はありません。アセットは自動的にユーザーに割り当てられます。ただし、暗黙的チェックインはできません。「保存」をクリックしても、アセットは再度チェックインされません。ユーザーは手動でアセットをチェックインする必要があります。
これは、望ましい動作である場合も、そうではない場合もあります。たとえば、作成者が暗黙的にチェックアウトされたアセットに対して多数のリビジョンを作成している場合、その作成者が明示的にそのアセットのチェックインも行うまで、その変更は有効になりません。これにより、保存しておきたい古いバージョンが上書きされることを回避できます。追加の例は、作成者がアセットを暗黙的にチェックアウトして編集する場合で、この場合、作成者は異なる領域に移動して、その後でアセットに戻ります。暗黙的にチェックアウトされたアセットが外部から操作される場合、完了時に明示的にチェックインする必要があります。
暗黙的チェックアウトは、編集と保存が1つの操作で行われる迅速な編集に使用されます。このタイプの更新は、最小限のクリックで実行できると予期されます。明示的チェックアウトは、時間経過に伴うアセットの変化のためのものです。
コンテンツ・プロバイダが暗黙的または明示的にアセットをチェックアウトすると、これを何回保存しても、手動で再度チェックインされるまでバージョンは格納されません。
リビジョン追跡とアセット以外の表
アセット・タイプに対するリビジョン追跡の使用に加え、アセット以外の表にリビジョン追跡を実施することもできます。
このためには、「管理」タブの「ユーザー・アクセス管理」機能を使用して、表に対する追跡を有効にします。すると、WebCenter Sitesは対応するトラッカ表を作成し、追跡される表をサポートします。これには、アセット・タイプのトラッカ表と同様にnameOfTable_t
という名前が付けられます。
アセット以外の表に対してリビジョン追跡が有効になっている場合、Oracle WebCenter Sites Explorerのメニューまたは「管理」タブの「ユーザー・アクセス管理」ノードからアクセスできるリビジョン追跡機能を使用して、行をロック(チェックアウト)し、完了したらその行をロック解除(再度チェックイン)できます。
アセット以外の表のリビジョン追跡に対して、Oracle WebCenter Sites Explorerツール以外の追加サポートを提供する必要がある場合、開発者は、WebCenter Sitesリビジョン追跡APIおよびリビジョン追跡XMLまたはJSPタグを使用して、追加のフォームをコード化できます。詳細は、Oracle WebCenter Sitesタグ・リファレンスおよびOracle WebCenter Sites Java APIリファレンスを参照してください。
ノート:
WebCenter Sitesデータベースからアセット以外の表を削除する必要があり、そのテーブルがリビジョン追跡されている場合は、表を削除する前に追跡を解除してください。
バージョンの数
アセットまたはデータベースの行の各リビジョンは、ディスク領域を占有します。したがって、保存するリビジョン数の決定は、次の要因に基づくものである必要があります。
-
使用可能なディスク領域の量
-
一般的なアセット(または行)のデータ・サイズ
-
いくつかのバージョンのロールバックが必要となる可能性
たとえば、少量のASCIIデータから構成されるアセットは、ほとんど領域を占有しないため、多数のリビジョンでもあまりディスク領域を取らない可能性があります。しかし、大量のバイナリ・データを保持するアセットの各バージョンは、かなりの量のディスク領域を占有する可能性があります。2番目の場合、ロールバックに必要な最小限のバージョンを格納して、適切なバランスを取る必要があります。
リビジョン追跡の有効化
リビジョン追跡は、アセットおよびアセット以外の表に対して有効にすることができます。次の各トピックで説明します。
ノート:
リビジョン追跡がパブリッシュのターゲット宛先でElementCatalogまたはSiteCatalogのいずれかに対してオンになっている場合、テンプレートのパブリッシュは失敗し、テンプレートは壊れる可能性があります。
ターゲット宛先でリビジョン追跡を有効にすることはお薦めできません。
アセット以外の表に対するリビジョン追跡の有効化
アセットを保持しないデータベース表に対してリビジョン追跡を有効にするには、「ユーザー・アクセス管理」ノードを使用します。
アセット以外の表に対してリビジョン追跡を有効にするには::
- 「一般的な管理」ツリーで、「管理」ノード、「ユーザー・アクセス管理」ノードの順に展開し、「リビジョン・トラッキング」をダブルクリックします。
- 開いたフォームで、「表の追跡」を選択し、「OK」をクリックします。
- 「ルート・ストレージ・ディレクトリの入力」フィールドで、表の行のリビジョンが格納されるディレクトリへのフルパスを入力します。ディレクトリ名の後にスラッシュ(またはバックスラッシュ)文字を入れないでください。
- 「保持するリビジョンの数の入力」フィールドで、ロールバックのためにWebCenter Sitesで格納する必要のあるリビジョンの数を入力します。
- リビジョン追跡を有効にしている各表の横にある「追跡」チェック・ボックスを選択します。
- 「表のトラッキング」をクリックします。
リビジョン追跡設定の編集
リビジョン追跡設定の調査または編集には、SiteGod
、xceladmin
、Visitor Admin
またはRemote Client
のいずれかのACLが必要です。どのACLもない状態で、追跡されるアセット・タイプまたはアセット以外の表の現在のリビジョン追跡設定の調査を試みても、システムではルート・ストレージ・ディレクトリの名前やリビジョンの数が表示されません。リビジョン追跡設定ディレクトリはデータベースに影響を与えるため、これらの設定を変更する際は注意が必要です。
この項の内容は次のとおりです。
ルート・ストレージ・ディレクトリの変更
注意:
アセット・タイプまたはアセット以外の表のルート・ストレージ・ディレクトリを変更する場合、そこに現在格納されているすべてのバージョンは失われます。
ルート・ストレージ・ディレクトリを変更する必要がある場合は、次のステップに従ってください。
- アセット・タイプまたは表に対するリビジョン追跡を無効にします。無効にすると、そのアセット・タイプのすべてのバージョン・データは親がなくなります。
- 新しいルート・ストレージ・ディレクトリを入力し、アセット・タイプまたは表に対するリビジョン追跡を有効にします。
リビジョンの数の変更
この後の項では、アセット・タイプまたは表に格納されるリビジョンの数の増減について説明します。
- アセット・タイプに対して格納されるリビジョンの数を増やすには、「保持するリビジョン」フィールドの値を増やすのみです。
- 値を増やすには、「管理」タブで、「アセット・タイプ」、変更するアセット・タイプ、「リビジョン追跡」の順に開き、「リビジョンの設定」をダブルクリックします。 表示されるフォームを使用して、値を大きくします。
WebCenter Sites開発システムで構成設定をテストする際、またはWebCenter Sites管理システムを微調整する際にバージョン数を減らす必要がある場合がありますが、管理システムではリビジョン追跡により格納されるバージョン数は減らさないことをお薦めします。
「保持するリビジョン」フィールドの値を、現在格納されているリビジョン数未満に減らすと、次のようになります。
-
余分なバージョンのストレージ・ディレクトリ内のテキスト・ファイルは、親がなくなります。
-
余分なバージョンのトラッカ表内の行は、親がなくなります。
リビジョン数を減らす前に、余分なバージョン(最も古いバージョン)を削除することにより、トラッカ表内に親のない行が作成されることを回避できます。ただし、ストレージ・ディレクトリ内で親のないテキスト・ファイルが作成されることは回避できません。削除するファイルを判断することは非常に困難であるため、これらは削除しないでください。
リビジョン数を減らす必要がある場合は、アセット・タイプに関連付けられているフォームを使用します。「管理」タブで、「アセット・タイプ」、変更するアセット・タイプ、「リビジョン追跡」の順に開き、「リビジョンの設定」をダブルクリックします。値を小さくするには、フォームを使用します。
リビジョン追跡の無効化
アセット・タイプまたはアセット以外の表に対してリビジョン追跡を無効にすると、次のようになります。
-
トラッカ表は無効となりますが、削除されることはありません。ここに格納されているバージョンは親がなくなりますが、削除されることはありません。表に対してリビジョン追跡が無効になると、WebCenter Sitesリビジョン追跡フォームを使用してバージョンを削除できなくなります。
-
ストレージ・ディレクトリ内のテキスト・ファイルへのリンクはすべて壊れますが、ファイル自体は親がなくなるだけで、削除されません。
そのアセット・タイプに対するリビジョン追跡を再び有効にすると、古いバージョンおよびテキスト・ファイルは無視され、親がないままになります。
これらの古いバージョンは不要な領域を占有するので、場合によってはそれらを手動で削除する必要があります。そのアセット・タイプのストレージ・ディレクトリ内にあるリビジョン追跡ディレクトリからすべてのテキスト・ファイルを手動で削除します。たとえば、アセット・タイプのストレージ・ディレクトリが/Storage/AssetType
の場合、/Storage/AssetType/AssetType
のリビジョン追跡ディレクトリからすべてのファイルを削除します。
ノート:
アセット・タイプのストレージ・ディレクトリのファイルは削除しないでください。
アセット・タイプに対してリビジョン追跡を無効にするには::