カスタムワークスペースの作成
ナビゲーションバーよりアクセスできる各種ワークスペースに加えて、Piano Insightではユーザがカスタムでワークスペースを作成できる機能を用意しています。カスタムワークスペースでは必要なウィジェットを配置し、あらかじめフィルタを適用しておくことも可能です。カスタムワークスペースを使用すると、必要な形式で利用可能な Piano Insight の計測値 を表示できます。
このセクションでは以下について解説します:
ワークスペースの作成
ナビゲーションバーの[ワークスペース]のドロップダウンメニューの[ワークスペースの新規作成]ボタンをクリックするとワークスペースの作成画面が表示されます。
この画面において、ウィジェットを追加・編集・配置、ワークスペーステンプレートの適用、ワークスペースの名称変更・コピー・他ユーザへの共有を行うことができます。
ウィジェットの追加と調整
[ウィジェットの作成]または[ウィジェットの選択]ボタンをクリックすると追加するウィジェットを選択するポップアップが表示されます:
このメニューより、カスタムのウィジェットを作成するか、一覧から選択することが可能です。いずれの場合も左側に表示されたリストからデータ種別を選択し、ウィジェットのパラメータを調整することができます。大抵のウィジェットでは、各種グラフや表などの表示方法、タイトルや凡例の表示、表示するデータ項目の選択、ウィジェットに適用するフィルタの設定を行うことができます。
ウィジェットを追加後は以下の操作が可能です:
-
ウィジェットをドラッグしてワークスペース内での表示位置を調整
-
ウィジェットのサイズ変更(右下隅の矢印をクリックしてドラッグ)
-
ウィジェットの設定変更・コピー・削除(右上隅の設定ボタン)
-
ウィジェットに表示されたデータのダウンロード(設定ボタンの左隣のダウンロードボタン)
外部コンテンツの表示
Cxense Insightであらかじめ用意しているウィジェット以外に、外部のコンテンツを同じワークスペース上に表示することも可能です。
外部コンテンツをワークスペースに表示するには、[ウィジェットの選択]メニューから[外部コンテンツ]を選択します:
[外部コンテンツ]ウィジェットがワークスペースに追加されたら、ウィジェットは指定されたURLの内容を表示します。以下のセクションでこの外部ウィジェットの二つの例を説明します:
外部コンテンツ:固定URL
ワークスペース上に特定のページのコンテンツを表示するには、外部ウィジェットのURL入力のテキストボックスにリンクを入力してください:
HTTPSのページは問題なく表示されます(例では https://www.wikipedia.org/ を入力):
HTTPのページの場合はブラウザが mixed content の警告が表示されますので、ブラウザに表示を許可する必要があります。
外部コンテンツでPiano Insightのデータを表示
固定URLの例は、ワークスペースのデータとは無関係にコンテンツを表示するものでした。以下の例は外部コンテンツウィジェットを利用してInsightのデータを表示させる本来の使い方です。Cxense提供の既存ウィジェットとは異なる表現方法でデータを表示したい場合に用います。
例えば、ある期間内に公開されたニュース記事の件数を他の期間と比較したいとします。例えば昨日の記事件数と一昨日の記事件数を比較するようなケースです(下記のコーディング例)。
UIで選択したサイトや期間、フィルタ条件は、外部コンテンツへURLパラメータとして渡すことができます。下記URLの二重波括弧で囲まれた site, start, stop, filter は変数で、UI上で選択されたサイトID, 開始日時, 終了日時, フィルタでそれぞれ置き換えられます:
https://example.com/insight_workspace/test.html?siteId={{site}}&start={{start}}&stop={{stop}}&filter={{filter}}
以下は上記の記事件数の例を出力するウェブページのコードサンプルです:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>External Content - Count of Published Documents</title>
<style>
div {
font-family: Roboto Condensed,Helvetica Neue,Helvetica,Arial,sans-serif;
font-size: 50px;
text-align: right;
}
</style>
</head>
<body>
<div>
<span id="docCountSelectedPeriod"></span>(<span id="docCountPreviousPeriod"></span>)
</div>
<script type="text/javascript" src="https://scdn.cxense.com/cx.js"></script>
<script>
var urlParameterStr = urlParameterStr || location.search;
function getURLParameterValue(parameterName, urlParameterStr) {
return decodeURIComponent((new RegExp('[?|&]' + parameterName + '=' + '([^&;]+?)(&|#|;|$)').exec(urlParameterStr) || [null, ''])[1].replace(/\+/g, '%20')) || null;
}
function getTimeIntervals(start, stop) {
var timeIntervals = {'selected':{start:null, stop:null}, 'previous':{start:null, stop:null}};
if (typeof stop !== 'undefined') {
timeIntervals.selected.stop = new Date(stop * 1000);
} else {
timeIntervals.selected.stop = new Date(start * 1000);
}
timeIntervals.selected.start = new Date(start * 1000);
timeIntervals.previous.stop = new Date(timeIntervals.selected.start);
timeIntervals.previous.start = new Date(timeIntervals.selected.start);
timeIntervals.previous.start.setMilliseconds(+timeIntervals.selected.start-timeIntervals.selected.stop);
return timeIntervals;
}
function genRequestObj(siteId, startTime, stopTime) {
return {
'siteId': siteId,
'filter': 'filter(recs-publishtime:range[time("' + startTime + '"), time("' + stopTime + '")])'
};
}
function genApiUrl(path, persistedQueryId, requestObj) {
return 'https://api.cxense.com' + path + '?callback={{callback}}'
+ '&persisted=' + encodeURIComponent(persistedQueryId)
+ '&json=' + encodeURIComponent(cX.JSON.stringify(requestObj));
}
function displayResult(data, tagId) {
if (data.hasOwnProperty('httpStatus') && data['httpStatus'] === 200) {
document.getElementById(tagId).innerHTML = data['response']['totalCount'];
} else {
throw 'No or bad http status';
}
}
var siteId = getURLParameterValue('siteId', urlParameterStr);
var start = getURLParameterValue('start', urlParameterStr);
var stop = getURLParameterValue('stop', urlParameterStr);
var filter = getURLParameterValue('filter', urlParameterStr); // GUI filtering retrieved here, but not used for anything in this example
var timeIntervals = getTimeIntervals(start, stop);
var path = '/document/search';
var persistedQueryId = '3e348c51362b64a5644492e0d92af3dcb925c2f2';
var requestObj = genRequestObj(siteId, timeIntervals.selected.start.toISOString(), timeIntervals.selected.stop.toISOString());
var apiUrl = genApiUrl(path, persistedQueryId, requestObj);
cX.jsonpRequest(apiUrl, function(data) {
displayResult(data, 'docCountSelectedPeriod');
});
var requestObj = genRequestObj(siteId, timeIntervals.previous.start.toISOString(), timeIntervals.previous.stop.toISOString());
var apiUrl = genApiUrl(path, persistedQueryId, requestObj);
cX.jsonpRequest(apiUrl, function(data) {
displayResult(data, 'docCountPreviousPeriod');
});
</script>
</body>
</html>
上記のコードではpersistedクエリを使用しています。Persistedクエリについての詳細は Persistedクエリ チュートリアル を参照してください。
ワークスペーステンプレートの適用
ウィジェットを一つずつ追加する方法とは別に、「ワークスペースのテンプレート」メニューから利用可能なテンプレートを選択する方法もあります:
テンプレートを適用するとそのテンプレートで定義しているウィジェットがワークスペースに追加されます。これらのウィジェットは、上記した方法で設定や配置を調整することが可能です。
ワークスペースの中にはサイトグループの中から特定のサイト(「全てのサイト」ではなく)を選択する必要があるものもあります。サイトを選択せずにそのようなテンプレートを適用しようとするとエラーメッセージが表示されます。
ワークスペーステンプレートの使用例のステップ・バイ・ステップガイドは以下をクリックしてご覧ください:
テンプレート適用のステップバイステップガイド: フロントデスク
テンプレートからワークスペースを作成する手順を記載するために、「フロントデスク」テンプレートを使用した例を示します。
フロントデスクテンプレートを適用する際には一つのサイトが選択されている必要があります。「全てのサイト」が選択されている状態でテンプレートを適用しようとするとエラーメッセージが表示されます。
テンプレートが正常に適用されると、幾つものウィジェットがワークスペースに表示されます。幾つかのウィジェットには選択されたサイトに応じたフィルタが適用されます。ワークスペースの右端にはどのサイトを想定したワークスペースになっているのかを明示した注意書きが表示されます:
この注意書きはワークスペース上に残しておき、ワークスペース参照時にどのサイトが想定されているかを確認できるようにしておくことをお奨めします。ワークスペースを他のサイトに対応させるように変更するには、各ウィジェットのフィルタを変更するか、対象のサイトを選択した状態でテンプレートを再度適用してください。
ワークスペースの中には、初期設定が必要なウィジェットがあります - 「本日のUU数」のウィジェットは日次の目標値の設定が必要です。テキストフィールドには設定値のヒントとして現時点のUU数が表示されます:
目標値を入力し、"目標値の設定”ボタンをクリックすると、ウィジェットは進捗度合いを示すグラフ表示となります。目標値を変更するにはウィジェット右上隅の ✔ ボタンをクリックします:
他のウィジェットについても設定を調整することが可能です。ウィジェットの右上隅のアイコンをクリックし、[設定]メニューをクリックしてください:
ワークスペースの変更を確定するには上部の鍵マークのアイコンをクリックしてください。また、ワークスペースを共有した際に、同僚の方が探しやすいように名称を変更することもできます。名称の変更やその他のワークスペースに対する操作については以下のセクションで記載しています。
利用可能なテンプレートの一覧とそれぞれの説明についてはこちらをご参照ください: カスタムワークスペース: テンプレート機能
ワークスペースの各種操作
ワークスペースの編集モードでは、ワークスペース名の右側に8つのボタンがあります:
|
|
お気に入りに追加
ワークスペースをお気に入りに追加すると、ワークスペースのドロップダウンメニューで表示される「お気に入り」リストに追加されます。
|
|
|
Excel形式でダウンロード
ワークスペースのウィジェットのデータをExcelファイルとしてダウンロードできます。ウィジェットごとにワークシートが作られます。
|
|
|
ワークスペースのロック / ロックを外す
ワークスペースの設定を変更するにはワークスペースのロックを外す必要があります。
[ワークスペースの削除]と[ワークスペース名の変更]ボタンについてもワークスペースのロックが外れた状態でのみ利用可能です。
|
|
|
ワークスペース名の変更
ワークスペースを探しやすい名称に変更できます。
|
|
|
ワークスペースのコピー
ワークスペースのコピーを作成します。
|
|
|
スライドショー
二つ以上のワークスペースを一定の間隔で自動的に切り替えて表示します。
|
|
|
ワークスペースの共有
ワークスペースをサイトグループに共有することにより、そのサイトグループにアクセス権のある他ユーザがワークスペースを使えるようになります(更新権限を持つユーザはワークスペースの設定変更も可能です)。
一旦ワークスペースを共有すると、共有を解除すること(マイ・ワークスペースに戻すこと)はできません。
共有ワークスペースを表示すると、ワークスペース操作ボタンの右隣に共有ワークスペースであることを示す表示が現れます:
|
|
|
ワークスペースの削除
ワークスペースを削除します。
|
マイ・ワークスペースと共有ワークスペース
新規に作成したワークスペースはデフォルトでは作成者のみがアクセス可能な状態です。
ワークスペースを同僚に共有するには[ワークスペースの共有]ボタンを使用します。ボタンをクリックすると共有対象のサイトグループを選択するポップアップが表示されます。選択したサイトグループにアクセス権のあるユーザがワークスペースにアクセスできるようになります:
共有ワークスペースでは、ワークスペースがロックされた状態・ロックが外れた状態のいずれの場合でも [共有されたワークスペース] の表示が現れます:
Last updated: