メインコンテンツまでスキップ

加美川 真由子

Lightning Review (以下、LR)開発チーム、入社4年目の加美川です。
そろそろ梅雨は明けてもいいと思いませんか!?
前回のブログで『梅雨も真っ盛り』と言いましたが、まさかまだ明けていないとは思いませんでした。
次回のブログでは、『夏も真っ盛り! 名古屋の夏は例年通り過酷です!』とか、書きたいものですね。

さて、前回、前々回に引き続き、今回も弊社が開発・リリースしている次世代設計ツール『Next Design (以下、ND)』と LR とが結びついた新機能をご紹介します!
前回の記事では、現在開発中の「ND-LR 連携」機能のうち、ND の成果物のレビューをより実施しやすくなる機能についてご紹介しました。
しかし、ND-LR 連携には便利な機能がまだまだあります!
今回は、LR で ND の成果物をレビューした結果を ND の画面上で分析できる新機能についてご紹介します。

複数のレビューファイルの指摘をインポートする

分散開発の現場では、1つの ND のプロジェクトファイルで色々な人が設計やレビューを行います。
また、設計のレビューを複数回実施することで、レビューファイルが複数できることも多くあると思います。
複数のレビューファイルを横断して、「指摘は、どのモデルに何件ついているんだろう?」「どんな指摘が多いんだろう?」ということを確認したいときには、[選択モデル以下の指摘をインポート]機能が役立ちます!

[選択モデル以下の指摘をインポート]機能では、関連づいたフォルダで管理しているレビューファイルの指摘を集計し、ND のモデルのエラーとして表示することができます。

選択モデル以下の指摘をインポートできる

ND の画面上に指摘が表示されるため、どのモデルにどんな指摘が何件ついているかを、レビューファイルを探したり開いたりすることなく確認できます。
もちろん指摘のステータス(未修正・修正済み・確認済み)も表示するので、修正が済んでいない指摘があるかどうかも一目でわかります。
さらに、ND上から簡単にLRの指摘にジャンプすることができるので、気になる箇所があればすぐに詳細を確認することもできます。

これにより、「指摘の多いモデルがどれか」や「どのモデルの指摘が修正されていないか」などが、レビューファイルを開かなくてもボタンひとつでパッと確認できます。

複数のレビューファイルのレビュー状況を集計する

表示できるのは指摘の状況だけではありません!
ND のプロジェクトファイルを成果物とするレビューの進捗状況は、[選択モデル以下のレビュー状況を集計]機能で一目で確認できるようになります。

[選択モデル以下のレビュー状況を集計]機能では、関連づいたフォルダで管理しているレビューファイルのレビュー状況をNDのエラーとして表示することができます。
こちらは、[選択モデル以下の指摘をインポート]機能とは異なり、レビューファイルに記録されている指摘の修正・確認状況をもとにレビューファイル1件につき1件のエラーを表示します。
これにより、モデルのレビューが確認まで完了しているか、逆にどのモデルのレビュー指摘修正が進んでいないかなどが、NDの画面上ですぐに把握できます。

選択モデル以下のレビュー状況を集計できる

[選択モデル以下の指摘をインポート]機能と、[選択モデル以下のレビュー状況を集計]機能は、組み合わせて利用することも可能です。
例えば、[選択モデル以下のレビュー状況を集計]機能でレビュー状況を確認しているときに、「ずっとレビュー指摘の修正確認が終わらないモデルがある!」など、詳細が気になるモデルが見つかることもあると思います。
そんなときには、対象のモデルを選択して[選択モデル以下の指摘をインポート]機能を使えば、そのモデルに対する指摘を ND の画面上でエラーとして表示できます。
よって、レビュー状況を確認した結果気になったモデルがあっても、指摘の詳細をすぐに確認することができます。

今回は LR で ND の成果物をレビューした結果をレビューファイル横断で分析できる新機能についてご紹介しました。
前回の記事でご紹介したレビューを開始する機能で作成したレビューファイルは、もちろん今回ご紹介した分析機能を利用したインポート・集計が可能です。

ND の成果物のレビューの実施から分析までを、ND-LR 連携は強力にサポートします。
是非、フル活用していただきたいです!

これまで3カ月にわたってご紹介してきた、ND と LR の連携機能ですが、来月が最後のご紹介になります。
来月は「指摘表示のカスタマイズ」機能をご紹介します。
これまでご紹介してきたレビューの実施・分析機能が、さらに便利に使えるようになる機能です。ご期待ください!

加美川 真由子

Lightning Review (以下、LR)開発チーム、入社4年目の加美川です。
梅雨も真っ盛りですね!
出勤時は晴れているのに、退勤時には雨が……ということが多く、しばしばどしゃ降りの中を自転車で突っ走る羽目になっています。
えっ、傘は持っていないのかって?
今までに何本の傘をなくしたか、もう覚えてないんですよね……

さて、今回も、弊社が開発・リリースしている次世代設計ツール『Next Design (以下、ND)』と LR とが結びついた新機能をご紹介します!
前回の記事では、LR で ND のプロジェクトファイルをドキュメントに登録、アウトライン解析できる機能についてご紹介しました。
ですが、せっかく同じ会社のツール同士、もっと強力に連携したい!
というわけで、現在 LR チームでは ND の成果物のレビューをより効率的にする「ND-LR 連携」機能を開発しています!
今回はそんな「ND-LR 連携」機能のうち、ND の成果物のレビューをより実施しやすくなる機能をご紹介します。

レビューを開始する

LR を利用した成果物のレビューを始めるとき、レビューファイルを作って、レビューイやレビューアをメンバに追加して、レビュー対象の成果物をドキュメントに登録して……という手順を踏むと思います。
そんな毎回のレビュー準備が、ND-LR 連携の[レビューを開始]機能でサクッと完了できるようになります!

レビュー対象の ND のモデルとレビューのテンプレート、レビューファイルの保存先を選択すると、選択したレビューのテンプレートをもとに、レビュー対象のモデルをドキュメントに登録、アウトライン解析したレビューファイルが作成されます。

[レビューを開始]機能でスムーズにレビューファイルを作成

もちろん、レビューのテンプレートは現場のプロセスに沿ったものをお使いいただけます。
すぐにレビューを開始できるレビューファイルがたったこれだけの手間で完成するため、ND の成果物のレビューを格段に早く準備できるようになります。

指摘を追加する

ND-LR 連携は ND の成果物のレビュー実施・指摘修正も強力にサポートします!

まず、指摘の追加が ND の画面上から行えるようになります。
[指摘を追加]ボタンを押すと、LR の指摘を登録するウィンドウが表示され、指摘画像のキャプチャや指摘内容の入力ができます。
そして指摘を追加すると、LR 上で指摘したモデルに対応するアウトラインに指摘が登録されると同時に、ND 上でも追加した指摘がエラーとして表示されます。
これにより、ND からレビューファイルに指摘を追加しながら、どのモデルにどんな指摘がついているのかをリアルタイムに確認できます。

[指摘を追加]機能で ND の画面上から指摘を追加できる

指摘を修正する

レビュー後に指摘を修正するときもスムーズです。
[レビューを開く]機能でレビューファイルを開くと、指摘が ND の画面上に表示されます。
そして指摘を修正し、レビューファイルに修正内容を記載してステータスを[修正済み]に変更すると、ND の画面に表示した指摘のステータスも同期して変わります。
ND 上で指摘箇所や指摘内容を確認しながら修正できますし、どこまで修正したかも一目瞭然です。

LRで変更した指摘のステータスが同期する

今回は ND の成果物を LR でレビューしやすくなる新機能についてご紹介しました。
LR を使ってレビューを実施することで、以前ご紹介した 構成管理システムとの連携機能スクリプトによる指摘情報の収集など、LR のレビュー支援機能を利用したより効率的なレビューの実施や分析もできるようになります。

しかし、ND-LR 連携の機能はこれだけではありません!
来月はレビューの分析機能についてご紹介する予定です! ご期待ください!

加美川 真由子

Lightning Review (以下、LR)開発チーム、入社4年目の加美川です。
少しずつ出社している人が周りに増えてきた気がします。
今までは出社しても誰もいなくて、しょんぼり仕事をしていることが多かったのですが、最近は他のチームの人と会話する機会もできて嬉しいです
仲良くなれた人も増えたかな……? 増えたはず。きっと。たぶん……。

さて話は変わり、この度 LR も弊社で開発している 『Next Design』 というツールと仲良くなることになりました。
現在、Next Design のプロジェクトファイルが LR でアウトライン解析可能になる新機能を開発しているので、ご紹介します!

Next Design (以下、ND)は、 弊社で開発・リリースしている、システムとソフトウェア開発のための次世代設計ツールです。
設計情報の構造と関連を定義した「メタモデル」と設計情報の見せ方を定義した「ビュー」を現場のプロセスに合わせてカスタマイズすることで、これまで Word / Excel や UML / SysML で表現していた仕様書・設計書など、開発現場固有の設計手法・プロセスを整理し、ツール化できます。
ND について、より詳しい情報は製品サイトをご覧ください。

LR では、Word、Excel、PowerPoint、PDF、ソースコード、Markdownのアウトライン解析が可能でした。
今回は、新たに ND のプロジェクトファイルをアウトライン解析できるようになります。
以下のGIF画像のように、ND のモデルのツリー構造がそのまま LR のアウトラインになるため、他のドキュメントに指摘するときと同様にモデルに対して指摘を追加したり、ワンクリックで指摘のあったモデルにジャンプして確認したりすることができます。
これにより、ND を利用して設計業務を行っているチームも、LR を使って直感的に日々のレビューを実施できるようになります。

NDのプロジェクトフ�ァイルをアウトライン解析し、アウトラインにジャンプする

今回は LR で ND の成果物がレビューできる新機能についてご紹介しました。
そして現在、LR を利用した ND の成果物のレビューを、もっと強力に支援する連携機能を開発中です。
今後のブログにてご紹介していきたいと思います。ご期待ください!

近藤 匠真

Lightning Review (以下、LR)開発チーム、入社2年目になりました近藤です!
WBC 大いに盛り上がりましたね!!! とても感動しました😭
栗山監督は村上選手へ、ずっと「最後はお前で勝つんだ」と言って最後まで信じていたと話していましたね。
自分も信頼し、信頼される人になれるよう邁進していきたいと思います!!

さて今回は、LR 2.5 に搭載された新機能「ScriptEditor」の便利な活用例の紹介、第二弾!
スクリプトのコマンドライン実行を使った LR の指摘情報の自動収集を紹介します!

前回は、スクリプトのコマンドライン実行により、簡単に LR の操作を自動化できるところを紹介しましたが、コマンドライン実行が可能になったことで、タスクスケジューラを用いた定期実行も可能となりました!
今回は、タスクスケジューラを活用して、LR の指摘データを収集して JSON ファイルに出力するスクリプトを定期実行します。
以下はその様子です。便宜上、タスクスケジューラから手動で実行した際の動きをお見せします。

スクリプトのコマンドライン実行のデモ画像

JSON ファイル形式で出力された指摘情報は、BIツールなどの分析用のツールで読み込み可能となります。
例えば、取得した指摘情報を、下図のように Excel の機能を利用して表形式に変換できます。

JSON ファ�イルを使用して分析に活用

上図のように Excel に出力先のデータを接続しておくことで、グラフの出力をする等、お好みの形に合わせて分析に活用していただけます。
つまり、タスクスケジューラで定期実行することで、手間なく最新の指摘情報を取得して、分析に利用できます!

今回も前回同様、 ScriptEditor を用いて LR の指摘データを収集して JSON ファイルに出力するスクリプトを実装しました。
完成したコードは以下になります。
※ 今回はサンプルのため、集計データの出力先と集計対象のフォルダはデスクトップとしています。

// 本スクリプトは、コマンドラインからスクリプトを実行する想定であり、
// 任意のフォルダ以下のレビューファイルの指摘データを集計し、JSONファイルを出力する。
// 出力したJSONファイルは、BIツールなどで読み込んで分析する対象とする。

// 結果を出力するファイルを指定(サンプルとしてデスクトップに Output.json を出力)
var outputPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Output.json");

// 指摘のデータのうち、出力対象とするフィールドを定義したクラス
class IssueData
{
// 指摘ID
public string Id {get; set;}
// ステータス
public string Status {get; set;}
// 重大度
public string Importance {get; set;}
// 検出工程
public string DetectionActivity {get; set;}
// 原因工程
public string InjectionActivity {get; set;}
// 修正者
public string AssignedTo {get; set;}
}

// 指定フォルダ以下のレビューファイルの指摘データを集計する(サンプルとしてデスクトップ以下のレビューファイルを集計)
var folderPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var reviewFilePaths = System.IO.Directory.GetFiles(folderPath, "*.revx", SearchOption.AllDirectories);
var issueDataList = new List<IssueData>();
var service = App.GetReviewFileService();
foreach(var reviewFilePath in reviewFilePaths)
{
try
{
var review = service.OpenReview(reviewFilePath);
foreach(var issue in review.GetAllIssues())
{
issueDataList.Add(new IssueData()
{
Id = issue.Id,
Status = issue.Status,
Importance = issue.Importance,
DetectionActivity = issue.DetectionActivity,
InjectionActivity = issue.InjectionActivity,
AssignedTo = issue.AssignedTo,
});
}
service.CloseReview(review);
}
catch
{
// 例外が起きたファイルは何もしない
}
}

// JSONにシリアライズしてファイル出力する
var serializer = new JsonSerializer()
{
Formatting = Formatting.Indented,
};

using(TextWriter writer = File.CreateText(outputPath))
{
serializer.Serialize(writer, issueDataList);
}

// レビューファイルを開いていない、かつ、ダーティ状態でない場合は、
// スクリプトの実行のためにレビューウィンドウを起動したと判断してレビューウィンドウを閉じる
var window = App.ActiveReviewWindow;
if(window != null && string.IsNullOrEmpty(window.Review.FilePath) && !window.Review.IsDirty)
{
App.Quit();
}

次に、タスクスケジューラから[タスクの作成]-[操作]-[新規作成]を選択し、下図の赤枠内に以下のコマンドを設定します。

"C:\Program Files (x86)\Denso Create\Lightning Review\LightningReview.exe" --run "{作成したスクリプトのファイルパス}"

タスク7スケジューラの設定

任意の期間で定期実行することで、指定した集計対象フォルダ以下の指摘情報の自動収集が可能になります。

実際に実行した際の動作は冒頭の動画をご確認ください。

いかがでしたか? ScriptEditor を利用すれば、簡単に LR の操作を自動化できます!
今回は、スクリプトの定期実行によって、日々の LR を利用したレビューで貯まっていく指摘の情報を、自動で定期的に取得する方法を紹介しました!
上記の説明を参考に、ぜひ使ってみてください!

以下のリンク先にて、スクリプトのサンプルを公開しています。よろしければこちらもご確認ください。
https://docs.lightning-review.com/help/extensions/script-editor/sample-list

近藤 匠真

Lightning Review (以下、LR)開発チーム、入社1年目の近藤です!
新人です!!と言いたいところですが、気付けばもう次の新人が入社する季節となりました。あっという間です。
日々、 頼れる LR メンバーの先輩たちに囲まれ、楽しく開発しています。ほんと感謝しかないです。😭
自分もそんな先輩になれるように努めます!!!

さて今回は、LR 2.5 に搭載された新機能「 ScriptEditor 」の便利な活用例として、誰でも簡単にできるスクリプトのコマンドライン実行を紹介します!

とはいえ、何のことやら??と思う方もいらっしゃると思います。
以前のブログでは、 ScriptEditor で LR の操作を自動化できることをご紹介しました。  
実は、バッチファイルを用意することで、 ScriptEditor を起動しなくても、作成したスクリプトを実行できてしまうんです!  
今回は、「たった10行のコードを書くだけで、指摘を重大度"高"でフィルタする機能が作成できて、いつでも実行できる!」ところをお見せします。
実際に作成したスクリプトを、バッチファイルにより実行している様子がこちらです。

スクリプトのコマンドライン実行のデモ画像

では実際に、上記画像の重大度"高"でフィルタするスクリプトを ScriptEditor 上で作成していきましょう。

大まかな流れは以下のようになります。
1 レビューファイルに関連する指摘の一覧を取得
2 指摘情報から重大度が高の指摘IDを取得
3 取得した指摘でフィルタ

まずアクティブなレビューウインドウを取得して LR への操作を可能にします。
下記画像のようにインテリセンスが効いているので、わざわざ公開されている LR の API を見に行かなくとも必要な情報を取得できます。

スクリプトのインテリセンス

次に、フィルタするために指摘の一覧を取得します。
review.GetAllIssues() で指摘の一覧を取得できます。

そして、指摘の一覧から重大度高の指摘IDを取得します。
インテリセンスをみると「重大度 本プロパティの・・・ Low 低 Middle 中 High 高」と表示されています。
従って、issue.Importance が High に一致する指摘の ID を取得すればよいですね。
重大度の情報

もし、優先度高によるフィルタを作成したいなと考えれば、issue.Priority が High に一致する指摘の ID を取得すればよいです。
優先度の情報

このようにインテリセンスを活用することで、簡単にフィルタしたい指摘を選択できます。
優先度"高"かつ重大度"高"のフィルタなど、用途に合ったオリジナルフィルタも作成できますね!
最終的に完成したコードは以下。

// アクティブなウインドウのレビューを取得する
var review = App.ActiveReviewWindow.Review;

// 重大度高の指摘のIDをカンマ区切りの文字列として設定する
var issueIds = string.Empty;
foreach(var issue in review.GetAllIssues())
{
 if (issue.Importance == "High")
 {
  issueIds += "," + issue.Id;
 }
}

// フィルタを適用する
App.ActiveReviewWindow.ApplyIdFilter(issueIds);

たった10行のコードでフィルタ機能が作れるのです。ものすごく簡単ですよね。

では、作成したスクリプトを実行するバッチファイルを、作成しましょう。
以下のように、実行したいスクリプトのファイルパスをコマンドラインの引数に設定したバッチファイルを作成します。

set exePath="C:\Program Files (x86)\Denso Create\Lightning Review\LightningReview.exe"
%exePath% --run "{作成したスクリプトのファイルパス}"

作成したバッチファイルを任意の場所に保存し、実行すると、冒頭の動画のようなフィルタが可能になります!

ScriptEditor を利用すれば、簡単に LR の操作を自動化できます!
上記の説明を参考に、ぜひ使ってみてください!

以下のリンク先にて、スクリプトのサンプルを公開しています。よろしければこちらもご確認ください。
https://docs.lightning-review.com/help/extensions/script-editor/sample-list