この項の内容は次のとおりです。
コントリビュータ・コンソール・ウィンドウは、コントリビュータ・アプリケーションのクロスブラウザおよびクロスプラットフォーム・ロギング・メカニズムです。コントリビュータ・コンソール・ウィンドウは、ロギングの格納および複数のHTMLウィンドウにおよぶJavaScriptコードの実行を1つのブラウザ・ウィンドウ内から簡単に行えるようにすることに特に適しています。
コントリビュータ・コンソール・ウィンドウのロギング・ウィンドウ(コントリビュータ・コンソール・ウィンドウの上部)に記録された命令にはすべて、実行の時間および命令が実行されたコンテキストが表示されます。ウィンドウの下部(コマンド・ウィンドウ)は、JavaScriptの実行に使用されます。
注意: ロギングを格納し、複数コンテキストにおよぶJavaScriptコードの実行を容易にするには、コントリビュータ・コンソール・ウィンドウは、ルート・ブラウザ・ウィンドウである必要があります。詳細は、15.4項「コントリビュータ・コンソール・ウィンドウの使用」を参照してください。 |
この項の内容は次のとおりです。
コントリビュータ・コンソール・ウィンドウの上部はロギング・ウィンドウです。記録された各命令には、実行の時間および命令のコンテキストが表示されます。ロギング・ウィンドウのツールバーから、ロギング・ウィンドウをクリアしたり、別のロギング・タイプを選択して、記録されているアイテムのリストをフィルタ処理できます。
コントリビュータ・コンソール・ウィンドウの下部はコマンド・ウィンドウです。コマンド・ウィンドウでは、任意のJavaScriptコードを実行できます。コマンド・ウィンドウのコンテキスト・フィールドでコンテキストIDを指定することで、コードをコントリビュータ・アプリケーションの任意のコンテキスト内で実行できます。使用可能なコンテキストのリストは、次のコード・スニペットをコマンド・ウィンドウで実行すると表示できます。
$D().contexts();
コンテキストのファイル名またはコンテキストのIDをコマンド・ウィンドウのコンテキスト・フィールドに使用できます。コマンド・ウィンドウのツールバー・コンテキスト・フィールドを適切に設定すると、コマンド・ウィンドウで実行されるすべてのコードが、指定されたウィンドウ・オブジェクトのコンテキスト内で実行されます。
コントリビュータ・コンソール・ウィンドウが使用できるかどうかはオプションで、デフォルトではデプロイされません。コントリビュータ・コンソール・ウィンドウをデプロイするには、Site Studio管理者の「一般コンポーネント情報」ウィンドウから行います。「コントリビュータ・コンソールの有効化」行の「有効化」リンクをクリックします。
管理者の同じ場所からコンソールを無効にすることもできます。
詳細は、『Oracle WebCenter Content Site Studio管理者およびマネージャーズ・ガイド』を参照してください。
コントリビュータ・コンソール・ウィンドウを有効にしたら、これを起動する方法は2つあります。コントリビュータ・コンソールURLに移動するか、キー・コマンドを使用します。
URLがわかっている場合、ユーザーはコントリビュータ・コンソール・ウィンドウに直接移動できます。Site Studioインストールでコントリビュータ・コンソール・ウィンドウは通常次のURLにあります。
http://server_name/instance_name/resources/wcm/base/wcm.console.htm
キー・コマンド[Ctrl]+[Alt]+[Shift]+[C]または[Ctrl]+[Alt]+[Shift]+[E]で、コントリビュータ内からコントリビュータ・コンソール・ウィンドウを起動します。後者のキー・コマンドは、コントリビュータ・コンソール・ウィンドウがまだ開いていない場合にこれを開く以外に、すべてのランタイム・エラーを表示します。
注意: コントリビュータ・コンソール・ウィンドウがweblayoutにインストールされていない場合、ランタイム・エラーがあると、[Ctrl]+[Alt]+[Shift]+[E]で一般エラー・ダイアログが開きます。エラー・ダイアログには、ランタイム・エラーのみが表示されます。ランタイム・ロギングは表示されません。 |
キー・コマンドを使用すると、wcm.jsへの参照を含む任意のWebページからコントリビュータ・コンソール・ウィンドウを起動できます。これは、コントリビュータ・コンソール・ウィンドウを、フォーカスが置かれているコントリビュータ対応のページ(コントリビューション・モード、コントリビューション・フォーム、行エディタの静的リスト、リンク・ウィザードなど)から起動できるということです。
コントリビュータ・コンソール・ウィンドウは、キー・コマンドによって起動された場合、リンクされているコンテキストのリストを反復してルート・コンテキストを検索します。ルート・コンテキストがみつかったら、コントリビュータ・コンソール・ウィンドウはそのページから起動され、すべてのロギング命令は、リンクされているコンテキストのリストを反復し、開いているコントリビュータ・コンソール・ウィンドウに記録します。
複数コンテキストにおよぶロギングの格納とJavaScriptコードの実行を行うには、コントリビュータ・コンソール・ウィンドウは、ルート・ブラウザ・ウィンドウである必要があります。コントリビュータ・コンソール・ウィンドウがルート・ブラウザ・ウィンドウでない場合、またはリンクされたウィンドウ・オブジェクトのチェーンが壊れている場合、コントリビュータ・コンソール・ウィンドウは孤立し、適切に動作しません。
この項の内容は次のとおりです。
個々のHTMLウィンドウ・オブジェクトは、各ブラウザ・ウィンドウ、各HTML FRAME要素および各HTML IFRAME要素内に存在します。Site Studioでは多くのコンテキストがホストされ、コントリビューションの過程で多くの追加コンテキストが作成され、破棄されます。
これらのウィンドウ同士が通信するには、コンテキストは同じドメインのものである必要があります。コントリビュータのコンテキストのドメインは同じであるため、アプリケーションは、リンクされているコンテキストのリストを動的に反復し、開いているコントリビュータ・コンソール・ウィンドウに記録します。
コントリビュータ・コンソール・ウィンドウをルート・ブラウザ・ウィンドウとして確立し、コントリビュータ・コンソール・ウィンドウから新たにブラウザ・ウィンドウを起動した場合、孤立したコントリビュータ・コンソール・ウィンドウ・シナリオにはなりません。すべての新規ウィンドウとその生成された子ウィンドウは、コントリビュータ・コンソール・ウィンドウに記録します。
コントリビュータ・コンソール・ウィンドウのルート・ブラウザ・ウィンドウとしての確立
コントリビュータ・コンソール・ウィンドウをルート・ブラウザ・ウィンドウとして確立するには、サーバー上のコントリビュータ・コンソール・ウィンドウ・ファイルに直接移動する必要があります。コントリビュータ・コンソール・ウィンドウに移動すると、新しいブラウザ・ウィンドウでコントリビュータ・コンソール・ウィンドウが開きます。コントリビュータ・コンソール・ウィンドウ以外の他のウィンドウは、必要がなければ閉じてください。
コントリビュータ・コンソール・ウィンドウからの新規ブラウザ・ウィンドウの起動
コントリビュータ・コンソール・ウィンドウから新規ブラウザ・ウィンドウを起動すると、コントリビュータ・コンソール・ウィンドウがルート・ウィンドウになります。コントリビュータ・コンソール・ウィンドウから新規ブラウザ・ウィンドウを起動するには、次のJavaScriptコード・スニペットをコマンド・ウィンドウに入力し、「実行」をクリックします。
$D().launch('http://www.example.com'):
起動されたウィンドウとその生成された子供はすべて、コントリビュータ・コンソール・ウィンドウに記録します。すべての生成されたウィンドウは、ドメインが同じ場合、コントリビュータ・コンソール・ウィンドウに記録します。
コントリビュータ・コンソール・ウィンドウのルート・ウィンドウとしての確立を繰返し行う場合、ショートカットについて検討します。簡単にアクセスするためにコントリビュータ・コンソール・ウィンドウのURLをブックマークに登録できます。コントリビュータ・コンソール・ウィンドウが開いたら、コマンド・ウィンドウに次のように入力すると、空のWebページを開くことができます。
$D().launch();
launchメソッドにパラメータを渡さないことで空のWebページがポップ・アップし、ブックマークを使用して目的のページに移動できます。
フォーカスの置かれているコントリビュータ対応のページからコントリビュータ・コンソール・ウィンドウを起動した場合、コントリビュータ・コンソール・ウィンドウではなく、コントリビューション・モードのWebページがルート・コンテキストになります。
コントリビュータ・モードのページが閉じられたり、リフレッシュされた場合、コントリビュータ・コンソール・ウィンドウは孤立します。つまり、コントリビュータ・コンソール・ウィンドウは機能しません。開いているコントリビュータ・コンソール・ウィンドウとルート・コンテキスト(コントリビューション・モードのWebページ)との間のリンクは壊れます。リンクを再確立するには、孤立したコントリビュータ・コンソール・ウィンドウを閉じ、キー・コマンドを再度使用して新規コントリビュータ・コンソール・ウィンドウを開く必要があります。
ほとんどのロギングおよびデバッグの目的では、孤立したコントリビュータ・コンソール・ウィンドウは発生しません。ただし、いくつかのコントリビューション・セッションで新規コントリビュータ・コンソール・ウィンドウを開かない場合、コントリビュータ・コンソール・ウィンドウをルート・コンテキストとして確立する必要があります。
コントリビュータ・コンソール・ウィンドウには、特定のタイプのメッセージを簡単に識別するためにロギング・ウィンドウ内の行を色分けして記録する機能があります。また、これらのメッセージは、コントリビュータ・コンソール・ウィンドウでフィルタできます。
行は次の色で表示されます。
メッセージ・タイプ | 表示色 |
---|---|
ログ | 黒色 |
注意 | 紫色 |
エラー | 赤色 |
警告 | 暗赤色 |
To-Do | 緑色 |
テスト | 青色 |
実行されたコマンド | 灰色 |
リクエスト | 青色(イタリック) |
レスポンス | 暗赤色(イタリック) |
ロギングを有効にするには、次のJavaScriptファイルがhtmlページ・コンテキストにロードされる必要があります。このファイルは、ロギングに使用されるJavaScript関数を定義します。
<script type="text/javascript" src="<$HttpRelativeWebRoot$>resources/<$SSContributorSourceDir$>/wcm.js"></script>
コマンド・ウィンドウに次のように入力して「実行」をクリックすると、様々なロギング・タイプのデモが表示されます。
$D().log('This is a log message.', window); $D().note('This is a note message.', window); $D().error('This is an error message.', window); $D().warn('This is a warning message.', window); $D().todo('This is a todo message.', window); $D().test("'This is a test that succeeds.' === 'This is a test that succeeds.'", window); $D().test("'This is a test that fails.' !== 'This is a test that fails.'", window); $D().request('This is a request message. A request message should be reserved for logging server requests.', window); $D().response('This is a response message. A response message should be reserved for logging server responses.', window); $D().startProfiling('MYprofileID', window); $D().stopProfiling('MYprofileID', window); $D().exec("(function(){ return 'Returning this line of code.'; })() // A self-executing function.", window);
特定のアクションの実行にかかる時間は、コントリビュータ・コンソール・ウィンドウの時間プロファイリング・メカニズムを使用して測定できます。目的のアクションの前後に次の開始と終了のメソッドを挿入すると、終了メソッドの実行後、開いているコントリビュータ・コンソール・ウィンドウに分、秒およびミリ秒が記録されます。
$D().startProfiling('MY_PROFILE_ID'); // Start method // TODO: perform some action here. $D().stopProfiling('MY_PROFILE_ID'); // Stop method.
1つ目のパラメータとして同じプロファイルIDが渡されるかぎり、開始と終了のメソッドは異なるウィンドウ・コンテキストに存在できます。たとえば、次のようになります。
$D().startProfiling('MY_PROFILE_ID', window); $D().stopProfiling('MY_PROFILE_ID', window);
指定されたコンテキストと前述のロギング・タイプで任意のJavaScriptコードを実行する以外に、コマンド・ウィンドウで既知のヘルパー関数を実行できます。次に、組込みヘルパー関数のリストを示します。
次のいずれかをコマンド・ウィンドウに入力し、「実行」をクリックします。
関数シグネチャ | 説明 |
---|---|
$D().clear(); |
ロギング・ウィンドウをクリアします。 |
$D().launch(); |
空のページで新規ポップアップ・ブラウザ・ウィンドウを起動します。 |
$D().launch(url); |
新規ポップアップ・ブラウザ・ウィンドウを起動し、渡されたURLに移動します。 |
$D().contexts(); |
使用可能なコンテキストのリストをロギング・ウィンドウに表示します。 |
$D().setContext(context); |
コマンド・ウィンドウのコンテキスト・フィールドを設定します。 |
$D().data(); |
特定の時点の使用可能なすべてのコンテキストのランタイム・データを記録します。 |
$D().data(context); |
特定の時点の指定されたコンテキストのランタイム・データを記録します。 |
関数シグネチャ | 説明 |
---|---|
[Ctrl]+[Alt]+[Shift]+[C] | コントリビュータ・コンソール・ウィンドウがまだ開いていない場合、開きます。 |
[Ctrl]+[Alt]+[Shift]+[E] | すべてのエラーをコマンド・ウィンドウに記録します。コントリビュータ・コンソール・ウィンドウがまだ開いていない場合、このコマンドで開きます。 |
[Ctrl]+[Enter] | コマンド・ウィンドウのテキスト・ボックスにフォーカスがある場合、このキーボード・コマンドによってコマンド・ウィンドウ内のコードが指定されたコンテキストで実行されます。 |
[Ctrl]+[Alt]+[Shift]+[T] | コントリビュータ・コンソール・ウィンドウにフォーカスがある場合、このキーボード・コマンドによって、テキスト・ボックスに未加工のログ・コンテンツが表示されます(切り替わります)。これによって、コントリビュータ・コンソールのログ・ウィンドウのコンテンツを簡単にコピーおよび貼り付けることができます。 |