サイト内の現在位置を表示しています。

ブログ

OSS貢献活動

Node-RED v3.1新機能紹介 ~エディタを中心に~

2023年6月6日公開

こんにちは、NEC 梶ヶ谷 圭祐です。

2023年5月26日(金)に開催された Node-RED User Group Enterprise のイベント「new window Node-RED v3.1 新機能紹介」において、「Node-RED v3.1 新機能紹介 ~エディタを中心に~」と題した発表を行いました。本記事では、この発表内容を基に、NEC が提案したフローのロック機能を中心にフローエディタ周りの強化について紹介します。

Node-RED は、2023年6月2日現在、v3.1.0-beta.3 がリリースされています。v3.1.0 では、フローエディタの新機能、ノードの新機能等の様々な機能追加や改善が予定されています。

フローエディタの新機能として、コンテキストメニュー機能の強化、フローのロック機能の追加、フローのロックの非表示機能の改善、ワイアリング機能の改善、グループ機能の新たな UX 等があります。これらを順にご紹介します。

コンテキストメニュー機能の強化

コンテキストメニュー機能は、Node-RED のフローエディタのフィールドで右クリックすることで表示されるメニューで、Node-RED v3.0 で導入されました。この機能が Node-RED v3.1 で強化されます。

メニューオプションの増加

一つ目はメニューオプションの増加です。例えば Inject ノードを右クリックした場合、v3.0 に比べ、「ノード」「グループ」「削除と再接続」のメニューが追加されています。また、「選択をグループ化」は「グループ」のサブオプションに移動しています。

kubernetes-001.png
右クリックしたオブジェクトによりオプションが変化する機能

二つ目は、右クリックしたオブジェクトによりオプションが変化する機能です。単一ノード、複数ノード、何もないところを選択した場合、状況に応じてそれぞれオプションが変化します。

kubernetes-001.png
タブのコンテキストメニュー

三つ目は、タブのコンテキストメニューです。タブの上で右クリックすることで、タブ全般に関わるメニューを表示します。この中の「フローの固定」および「フローを非表示」のオプションについては後ほど詳しく説明します。

kubernetes-001.png

フローのロック機能

フローのロック機能は、フローをロック(固定)して、エディタからの編集を不可にする機能です。フローのタブのコンテキストメニューから「フローを固定」を選択することでタブに鍵マークが付き、ノードの追加、編集、結線ができなくなります。解除する場合はタブのコンテキストメニューから「フローの固定を解除」を選択します。

kubernetes-002.png

フローのロック機能の注意点は、これは特定のユーザにフローの変更を禁止するセキュリティ機能ではないことが挙げられます。その目的では (すべてのフローの編集を禁止してしまいますが) 既存のユーザ認証とパーミッション機能を使ってください。現状では誰でもロック/ロック解除が可能であり、フロー更新API (/flows) に直接フローを POST することでロック/ロック解除を含めたフローの更新が可能です。今後、特定のユーザが許可されたフローのみを編集できるような機能が作られる予定があるようです。

フローのロック機能のユースケースとしては、以下が挙げられます。まず、「開発中」フローと「枯れた」フローがある場合に、「枯れた」フロー部分を誤って変更してしまうことを防ぐ目的でロックするケースです。また、複数人でフローを開発している場合に、自分の担当するフローや共通で使うフローが誤って変更されないようにロックするケースです。

フローの非表示機能の UI 改善

Node-RED v2.1 で「フローの非表示機能」が導入されました。これは、沢山のフローを作成した場合に、タブが増えすぎてエディタが見えづらくなることを防ぐ目的でタブを非表示にする機能です。

Node-RED v3.0 までは、タブの右端にマウスカーソルを当てると現れる目のアイコンを押すことでフローを非表示にできました。しかし、意図せずアイコンを押してしまいフローが行方不明になる、という事例が多発しました。このため、アイコンによる非表示は廃止され、タブのコンテキストメニューからフローの表示/非表示ができるようになりました。なお、情報タブから表示/非表示にする機能は引き続き使用可能です。

kubernetes-002.png

複数ノードを単一ノードにワイアリングするアクションの追加

複数ノードを単一ノードに一度にワイアリングするアクションが追加されます。ワイアリングしたい複数ノードを選択してアクションを実行することでワイアリングされます。この際、接続先になるノードは最後に選択します。

kubernetes-002.png

グループ機能の新たな UX

グループ機能周りの UI が見直され、より直感的に操作ができるようになりました。

・グループ内の要素を1回のクリックで選択可能

・グループの境界線をドラッグしてグループ全体を移動

・複数の要素を一度にグループに追加

・グループの要素を ALT+ドラッグでグループから除去

その他のエディタの改善

他にも次のような細かなエディタの改善があります。

フローの変更の通知

変更されたタブに変更通知アイコンが表示されるようになります。

kubernetes-002.png
ワークスペースの拡大

各タブのワークスペースのサイズが 5000x5000 から 8000x8000 へ拡大されます。

ヘルプへのリンク

すべてのノードダイアログのフッターにヘルプボタンが追加されます。

kubernetes-002.png

以上が、Node-RED v3.1で予定されているフローエディタ周りの機能強化のご紹介でした。全体的に、操作が直感的になり、ブラウザ上とは思えない快適なフロー開発ができるようになります。IoT、業務自動化など、興味がある人は是非使ってみてください。

執筆者

梶ヶ谷 圭祐 (Kajigaya Keisuke)
日本電気 (NEC Corporation)
プラットフォームテクノロジーサービス事業部門
テクノロジーサービスソフトウェア統括部

(2023年6月時点の情報)

Kajigaya Keisuke