概要
Spotfire Server 12.0 LTSからライブラリバージョン履歴機能(Library version history)が新規追加されました。
この機能を利用することで、ライブラリに保存されているファイルの変更履歴が残るようになり、前のバージョンに復元することができます。
動作検証環境
この記事は以下の環境で動作検証を行ったうえで作成しております。
- Spotfire Server 12.0.4 LTS
- Spotfire Analyst 12.0.3 LTS
バージョン履歴機能の動作概要
バージョン履歴機能が有効になっている場合、ライブラリにファイルを(上書き)保存するたびに変更履歴が残ります。
- ファイルを前のバージョンに復元する、またはバージョン履歴を削除することができます。
- 各バージョンのファイルの全体(前のバージョンとの差分ではなく)がリポジトリDB内に格納されます。
- ライブラリファイルを利用(閲覧、編集)する際には常に最新のバージョンが利用対象になります。
- ファイルをライブラリから削除するとすべてのバージョン履歴も一緒に削除されます(復元不可)。
- 前のバージョンに復元した場合には該当ファイルへのアセス権限は復元前の最新バージョンへの設定に従います。
- 各バージョンが対応しているファイルのすべてがリポジトリDB内に格納されますので頻繫に(上書き)保存を実施するとリポジトリDBのサイズが膨大する可能性があります。
- DXPファイルがほかのライブラリファイル(例えばインフォメーションリンク、データ接続、データ関数、Modなど)を参照している場合、DXPファイルのみを前のバージョンに復元しても完全に前の動作にならない可能性があります。完全に前の動作に戻した場合はDXPファイルおよびそれが参照しているすべてのファイルも同じタイミングのバージョンに復元してください。
- 機密情報を誤って分析に埋め込んで保存した場合、該当機密情報を削除して上書き保存しても前のバージョンには残ったままとなるため注意が必要です。
バージョン履歴の確認
新規インストールした12.0LTS環境ではバージョン履歴機能がデフォルト設定で有効になり、前のバージョンからアップグレードしてきた環境の場合はデフォルト設定では無効になります。アップグレードで構築された12.0LTS環境でバージョン履歴機能を利用するには事前に手動で有効に設定する必要があります(後述参照)。
Analystでライブラリから分析を開いて、メニュー「ファイル」の下に「バージョン履歴を表示」項目が存在している場合、バージョン履歴機能が有効になっています。該当メニュー項目が存在しない場合はバージョン履歴機能が無効になります。
※バージョン履歴機能を有効に設定しても一部特定の種類(例:DXP)のファイルを除外することができますが(後述参照)、除外設定の有無に関わらずバージョン履歴機能が有効になっていれば該当メニュー項目が必ず存在します。
上記の「バージョン履歴を表示」を押すと以下のブラウザ画面が開かれ(ブラウザではログインが必要)、対象ファイルのバージョン履歴を確認できます。また、直接ブラウザからSpotfire Serverへログインして「Library」画面を開いてファイルのバージョン履歴を確認することも可能です。
※対象ファイルがバージョン履歴機能から除外されていてもブラウザ画面でバージョン履歴(1つのみ表示)が表示されます。
バージョン履歴は変更(上書き保存)時間の降順で一覧表示され、最新のバージョンが最も上に表示ます。
画面右側のバージョン履歴のタブは「Library」画面にて青い「i」のアイコンを押して表示・非表示を切り替えできます。
バージョン履歴のメニューから「ビュー情報」を押して該当バージョンの作成日時、作成者やファイルサイズなどを確認できます。
メニューから「名前とコメントを編集」を押して各ファイルのそれぞれのバージョン履歴に名前を付けて、またはコメントを記入することができます。また、バージョン履歴を削除する際には名前やコメントを検索条件として使用することも可能です。
前のバージョンに復元する手順
前のバージョンに復元するにはブラウザ画面にて実施します。Analystでは実施できません。
下記のように「Library」画面の「バージョン履歴」タブにて前のバージョンのメニューから「復元」を押して該当バージョンに復元します。
復元後にはバージョン履歴が1つ増えて、対象のバージョンが最新のバージョンとして保存されます。
このバージョンは元のバージョンを参照しているためリポジトリDBのサイズが増えません。
下記のように「バージョンを新しいファイルとして保存」を実施することで、前のバージョンを新しいファイルとしてライブラリに保存することもできます。新しいファイルは元のファイルとは別々でバージョン管理されます。
「バージョンを新しいファイルとして保存」を実施した後に、元のファイルと同じフォルダに新しいファイルが作成され、ファイル名の後ろに「(copied from previous version)」が付きます。
このファイルも元のバージョンを参照していますので、リポジトリDBのサイズは増えません。
バージョン履歴機能の有効・無効の切り替え
以下の手順(Switching off library versioning)でバージョン履歴機能を有効・無効を切り替えることができます。
1.Spotfire Server端末内でOS管理者権限でコマンドプロンプトを起動してSpotfire Serverのインストール先フォルダ(下記例)へ移動してください。
・C:\tibco\tss\12.0.X\tomcat\spotfire-bin
2.以下のコマンドを実行して現行設定をエクスポートしてください。
※コマンド実行時にConfiguration Toolのパスワードが必要です。
config.bat export-config -f
設定内容は同フォルダの下で「configuration.xml」ファイルにエクスポートされます。
・引数「-f」は既存ファイルを強制的に上書きすることを指示します。
エクスポートされたファイル「configuration.xml」をテキストエディタで開いて以下の部分(<library><versioning><enabled>)の設定値をご確認ください。
・<enable>true</enable>:有効
・<enable>false</enable>:無効
・<versioning>が存在しない:有効(<enable>true</enable>に相当)
例:
3.以下のコマンドを実行してバージョン履歴機能を無効に設定できます。
config.bat set-config-prop -n library.versioning.enabled -v false
・設定変更が上記でエクスポートしたファイル「configuration.xml」に反映されます。
代わりに以下のコマンドを実行してージョン履歴機能を有効に設定できます。
config.bat set-config-prop -n library.versioning.enabled -v true
また、バージョン履歴機能を有効に設定した場合、一部種類のファイルのみを除外することも可能です。除外された種類のファイルが変更される際にはバージョン履歴が残りません。
config set-config-list-prop --name="library.versioning.disabled-types" --item-name="type" -Vspotfire.sbdf -Vspotfire.mod
引数「-Vタイプ名」を1つまたは複数個を記載して、除外対象のタイプ名(タイプ名一覧)を指定します。上記例ではSBDFファイルとModファイルを除外しています。
4.以下のコマンドを実行して変更後の設定ファイル「configuration.xml」をインポートします。
config.bat import-config -c "disable library version history"
・引数「-c」の後ろには任意文字列でコメントを記載します。
5.Spotfire Serverサービスを再起動して設定変更を反映させてください。
・TIBCO Spotfire Server 12.0.X LTS
6.バージョン履歴の無効化を実施した場合には、Spofire Serverの管理画面にアクセスし、ダッシュボードの設定の中から「バージョン履歴を表示」が表示されていないことを確認してください。
一方で、バージョン履歴の有効化をした場合には、上記の画面から「バージョン履歴を表示」が表示されている、あるいは本ページに記載した「バージョン履歴の確認」の項で示している画面を閲覧することができることを確認してください。
バージョン履歴の削除
ブラウザの「Library」画面にて「バージョン履歴」タブから対象バージョン履歴(最新のバージョンを含む)を1つずつ削除することができます。バージョン履歴を複数個チェック入れて画面上部にある「削除」を押して一括削除することも可能です。
※バージョン履歴は少なくとも1つ以上残る必要があります。
管理者はSpotfire Server端末内でコマンドラインツール(config.bat delete-library-versions)を利用して複数のバージョンを一括で削除することもできます。
※このコマンドでは最新のバージョンを削除しません。
例:
・ファイル名が「exptest」に完全一致しているファイルのバージョン履歴を削除します。(名前やコメント付きのバージョン履歴は削除しません)
config.bat delete-library-versions -u admin -q "title::exptest"
・2023-05-06 12:56:13(日本時間)までに作成されたファイルのバージョン履歴を削除します。(名前やコメント付きのバージョン履歴は削除しません)
config.bat delete-library-versions -u admin -q "created:<\"2023-05-06T12:56:13JST\""
・すべてのファイルのすべてのバージョン履歴(名前やコメント付きのバージョン履歴を含む)を一括で削除します。
config.bat delete-library-versions -u admin -q "*" -n false -c false
引数の説明:
・-u value、--user=value(必須):削除の実施ユーザー(Spotfireアカウント)を指定します。このユーザーはライブラリ管理者権限(ビルトイングループ「Administrator」または「Library Administrator」に所属)を持っている必要があります。
・-q value、--search-query=value(必須):検索条件を指定してライブラリからファイル(すなわち最新バージョンのみ)を検索します(後述参照)。バージョン履歴を検索するものではありません。
・-n <true|false>、--keep-named-versions=<true|false>:削除対象のバージョン履歴を制限します。名前が付いているバージョン履歴を削除するかどうか(true:残す/削除しない※未指定時のデフォルト、false:残さない/削除する)を指定します。
・-c <true|false>、--keep-commented-versions=<true|false>:削除対象のバージョン履歴を制限します。コメントが記入されているバージョン履歴を削除するかどうか(true:残す/削除しない※未指定時のデフォルト、false:残さない/削除する)を指定します。
・-a value、--keep-created-after=value:削除対象のバージョン履歴を制限します。英語表記で指定された日時範囲(例:"2 weeks ago"、後述参照)以内に作成されたバージョン履歴のみを削除します。この引数は「-q value」で指定できる「created::"2 weeks ago"」にほぼ相当しますが、違いとしては先頭と後ろの秒が含まれません。※引数の名前は実際の動きとは少し異なっております。
補足:Spotfire Server 12.0.5 LTSにてこの引数の動きが変更されました。該当バージョン以降の場合はISO 8601形式で日時("2 weeks ago"のような表記は使えなくなった)を指定してください。これで該当日時より前に作成された履歴のみが削除対象になります。
・-s value、--keep-smaller-than=value:削除対象のバージョン履歴を制限します。指定されたサイズ(例:10/10KB/10MB/10GB)以上のバージョン履歴のみを削除します。
上記の各引数(-n/-c/-a/-s)を使って削除対象のバージョン履歴の制限条件を複数個指定している場合はすべての条件に満たしているもののみを削除します。
コマンド実行時には指定された条件に満たしているすべての履歴が一覧表示され、削除を続行するかどうかが聞かれます。「Y」を入力した場合は削除が実施され、「N」を入力した場合は中止されます。
例:
引数「-q value」で指定する検索条件はAnalystメニュー:ツール⇒ライブラリーの管理画面で指定できる検索条件と同じになりますので、Analyst側で事前に検索結果を確認することを推奨します。
検索条件の例:
・id::76f9ff91-8a22-4bc6-927b-6336883eab89:ライブラリIDが完全に一致しているファイルを検索。
・type::dxp:DXPファイルのみを検索。
・title:abc:ファイル名に文字「abc」が含まれているものを検索。
・created:>"2023-05-06T12:56:13JST":指定日時(ISO 8601形式、JSTは日本時間を示す)以降に作成されたファイルを検索。
・created::"this month":今月中に作成されたファイルを検索。
ISO 8601形式(yyyy-MM-dd'T'HH:mm:ssz)で日本時間を指定する例は以下です。
・2023-05-06T12:56:13JST
・2023-05-06T12:56:13+09:00
・2023-05-06T12:56:13Asia/Tokyo
・2023-05-06T12:56:13Japan
検索条件内で利用できる演算子は以下です。
演算子 | 説明 | 例 |
---|---|---|
: | 含む(部分一致) | title:abc |
:: | 完全一致 | title::abc |
:> | 以上 | created:>"2023-05-06T12:56:13JST" |
:< | 以下 | modified:<"2023-05-06T12:56:13JST" |
::> | より大きい | accessed::>"2023-05-06T12:56:13JST" |
::< | より小さい | content_size::<10MB |
and ※省略可 | 前後の両方とも一致 | type:dxp and created_by:admin、type:dxp created_by:admin |
or | 前後のいずれかに一致 | type:dxp or type:sbdf |
not | 後ろの条件に一致しない | not type:dxp |
( ) | 優先度高で計算 |
デフォルトの優先順位(not > and > or)以外に計算の優先順位を調整できます。例: ・(type:dxp or type:sbdf) and created_by:admin |
item_type:<type>で指定できるファイル種類は以下です。
種類 | 説明 | 種類 | 説明 |
---|---|---|---|
dxp | 分析ファイル | datasource | ILデータソース |
folder | フォルダ | query | インフォメーションリンク |
sbdf | SBDFファイル | procedure | ILプロシージャ |
dataconnection | データ接続 | join | IL結合要素 |
connectiondatasource | データ接続用データソース | filter | ILフィルター要素 |
datafunction | データ関数 | column | ILカラム要素 |
colorscheme | カーラースキーム | asjob | ASジョブファイル |
mod | Modファイル |
引数「-a value」、または「created::"this month"」において、英語表記で日付範囲を指定した場合はUTC時間になりますので、日本時間とは9時間の差があります。
例:created::"this month" ⇒ 2023年05月01日 09時00分00秒 JST ~ 2023年06月01日 08時59分59秒 JST
上記で利用できる英語表記は以下になります。
・today / yesterday
・this week / this month / this year
・a/an/N(Nは0以上の整数) + seconds/minutes/hours/days/weeks/months/years(最後の「s」は省略可) + ago
例(現在日時:2023/05/06 16:50:00での例です):
英語表記 | 説明 | 実際の日時範囲(日本時間) |
---|---|---|
today, 0 days ago | 本日中 | 2023/05/06 09:00:00 JST ~ 2023/05/07 08:59:59 JST |
yesterday | 昨日中 | 2023/05/05 09:00:00 JST ~ 2023/05/06 08:59:59 JST |
this week | 今週中 | 2023/04/30 09:00:00 JST ~ 2023/05/07 08:59:59 JST |
this month | 今月中 | 2023/05/01 09:00:00 JST ~ 2023/06/01 08:59:59 JST |
this year | 今年中 | 2023/01/01 09:00:00 JST ~ 2024/01/01 08:59:59 JST |
1 day ago, a day ago |
昨日中 | 2023/05/05 09:00:00 JST ~ 2023/05/06 08:59:59 JST |
2 weeks ago | 2つ前の週 | 2023/04/16 09:00:00 JST ~ 2023/04/23 08:59:59 JST |
3 months ago | 3つ前の月 | 2023/02/01 09:00:00 JST ~ 2023/03/01 08:59:59 JST |
1 years ago | 昨年の一年間 | 2022/01/01 09:00:00 JST ~ 2023/01/01 08:59:59 JST |
5 seconds ago | 5秒前 | 2023/05/06 16:49:55 JST ~ 2023/05/06 16:49:55 JST |
6 minutes ago | 6分前の1分間 | 2023/05/06 16:44:00 JST ~ 2023/05/06 16:44:59 JST |
7 hours ago | 7時間前の1時間 | 2023/05/06 09:00:00 JST ~ 2023/05/06 09:59:59 JST |
さらに、「-q value」で各種演算式で「created/modified/accessed」に「2 hours ago」を指定した場合の計算結果は以下です。
・現在日時:2023/05/06 16:50:00で、「2 hours ago」は「2023/05/06 14:00:00 JST ~ 2023/05/06 14:59:59 JST」になります。
検索条件 | 実際の計算結果 |
---|---|
created::"2 hours ago" created:"2 hours ago" |
2023/05/06 14:00:00 JST <= 作成日 <= 2023/05/06 14:59:59 JST |
created::<"2 hours ago" ※より小さい | 作成日 < 2023/05/06 14:00:00 JST |
created:<"2 hours ago" ※以下 | 作成日 <= 2023/05/06 14:59:59 JST |
created::>"2 hours ago" ※より大きい | 作成日 > 2023/05/06 14:59:59 JST |
created:>"2 hours ago" ※以上 | 作成日 >= 2023/05/06 14:00:00 JST |
実際の計算結果は以下のように示します。
また、上記のほかにdepends_on(<expression>)、required_by(<expression>)など、または専用属性(説明文字、キーワードなど)やインフォメーションリンク特有の検索条件なども利用できますので、詳細については製品マニュアルをご参照ください。
参考資料
Spotfire Server 12.0.0 LTSリリースノート
SPOT1491 12.0.0 Spotfire library version history
It is now possible to utilize version history in the Spotfire library. With history enabled, you can view previous analysis versions and go to any previously-saved version (either to restore the version, or to save a previous version as a new file).
For new installations, library version history is enabled by default and a new version is created each time a file is updated in the library.
Version history is available, not only for analysis files, but for all visible Spotfire library items, like data sources, data functions, color schemes, SBDF files, mods, etc. As an administrator, you can disable version history entirely, or for certain item types only.
You can view and manage the version history of a library item. From the Library, right click the item and select View version history. From the Version history tab, you can delete, restore, or save a copy of a specific version.
For easier identification of versions and for change management, you can add a version name and a comment for any specific version.
Note: Each version is a complete copy of the item, not an incremental one. Depending on your Spotfire usage, the Spotfire storage (the Spotfire database or object storage) utilization might increase very fast (for example, if you have many users who frequently save their analyses with embedded data, or if you have frequently running Automation Services jobs). For such situations, automated pruning using the delete-library-versions command is strongly recommended. For TIBCO Cloud™ Spotfire®, all versions are kept at least 30 days. Nonnamed versions can be deleted after this period.
Spotfire Server 12.0.5 LTSリリースノート
TSS-32551 12.0.5 The --keep-created-after argument of the delete-library-versions command is not interpreted as intended (specifying it will lead to all versions being kept).
以上