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

加美川 真由子

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

加美川 真由子

Lightning Review (以下、LR)開発チーム、入社3年目の加美川です。
世間はバレンタインデーですね!
美味しそうなチョコレートがたくさんお店に並ぶようになり、私もお昼休みに色々買ってしまいました。
もちろん、全部自分で食べました😋 美味しいから仕方ないですよね?

LR には、GitHub と SVN のリポジトリ内のフォルダとファイルの一覧や、ファイルのアウトライン解析など、構成管理システムで管理している成果物のレビューを簡単に開始する機能があります。
次のバージョンアップでリリース予定の LR2.5 では GitLab にも対応しますので、今回はその機能のご紹介です。
なお、GitLab の SaaS 版(GitLab をクラウドで利用している場合)・Self-managed 版(GitLab をオンプレミスで利用している場合)の両方でお使いいただけます。

GitHub や SVN を利用している場合と同様に、レビュー前にレビュー対象とする GitLab のリポジトリを登録しておきます。
RepositorySettingForGitLab

リポジトリを登録することで、リポジトリ内のフォルダやファイルを LR 上で一覧できるようになります。
レビュー対象のファイルまたはコミットをレビュー対象のドキュメントとして追加することもできます。
追加したドキュメントのリンクには、選択したコミット時点のファイルのURLが設定されており、そのURLのファイルをローカルにダウンロードしてアウトライン解析を自動で行うため、すぐにレビューを始められます。

AddDocumentFromRepositoryFileOrCommit

この機能の便利な使い方は、以前のブログでも紹介しています。ご興味があればこちらもチェックしてみてください。
Lightning ReviewでGitHubとSVNのファイルを選択してレビューを開始
GitHubとSVNのファイルの変更前後のコミットを選択してレビューを開始

今後は、GitHub や SVN に加えて GitLab の成果物も、LR から簡単にレビューを開始できるようになります。
LR 2.5 をリリースしたら、ぜひ使ってみてください!