はじめに
ブラックボックスツールになってしまって開発した人以外誰も変更ができない!とならないようにするために、きちんとWorkflowにメモを残してあげることが大事です。そこで今回は綺麗に共有するポイントをまとめたいと思います。
今回、簡単なのですが重要なので、長くなると思います。ポイントだけ拾っていってください!
やりたいこと
1.Nodeの名前を変更する
まずはDefaultの名前"Node XX"を説明文に変えます。
2.Nodeにコメントをつける
Node上にマウスを持っていくと、自動的にコメントが表示される設定をします。
3.Workflowにコメントを付ける
Workflowにテキストボックスのようにコメントをつけていきます。
(色は気にしないでください笑)
4.複数Nodeを一つにまとめる
複数のNodeを一つにまとめていきます。見やすくなりますね。
5.Nodeを自動的に並び替える
Nodeがめちゃくちゃに並んでいたとします。(スパゲッティ状態)
これをいい感じに並び替えてくれる機能を紹介します。
覚えてほしいこと
開発するときにメモを残す癖をつける
Metanodeを作ることは階層を作ること
逆行禁止!Nodeは左から右に流れるように配置する
1.Nodeの名前を変更する
結果
設定方法
これは簡単ですね。Nodeの名前の部分をダブルクリックするだけで編集を開始できます。文字の変更だけでなく、太字やテキストボックスの塗りつぶしなど、色々機能があります。
おすすめ使用頻度
私はここでの文字編集は最小限に抑えることをお勧めします。文字ばかりでもWorkflowは見づらいですからね。
短くていいので、一個一個名前を付けていく癖をつけていくといいと思います。
Developerの人は一個一個名前を命名するなんて面倒だと思うと思います。でも後から非常に力を発揮します。受け取り側がConfigureを一個一個見て処理内容を確認するなんてNodeが増えていくとやってられないですから。
2.Nodeにコメントをつける
結果
次にNodeにコメントをつけていきます。このコメントは、普段は見えませんがマウスを上に置くと出てきます。
設定方法
コメントを書きたいNodeを選択して右クリックします。"Edit Node Description"を選択しましょう。
出てきた下のような画面に、表示したいコメントを入力したら完了です。
おすすめ使用頻度
これは、必要に応じてでいいと思います。設定上、注意が必要なNodeによく設定します。
私の場合、よくJava Nodeや、Rule based Nodeを使用した時に使用します。Configureに自由度があり、初級者では使い方が分かりづらそう・一目で理解されづらそうなNodeに注意点や使い方を説明するために使ったりします。
3.Workflowにコメントを付ける
結果
Workflowにコメントボックスのようなものを挿入する方法です。
設定方法
まずはテキストボックスを挿入したい任意のWorkflowの場所を選択して、右クリックしましょう。"New Workflow Annotation"を選択してください。
次に場所と大きさを指定します。もちろん後からでも変更可能です。
次にこのテキストボックスをダブルクリックすると、テキストボックスの編集ができるようになります。文字を挿入したり、枠線や塗りつぶしを行ってみたりしましょう。これで完了です!
おすすめ使用頻度
このAnnotationはよく使います。
単体のNodeの説明では補足できない情報を書く目的、Workflowを大きな役割ごとに分ける目的など様々です。
複数Nodeで大きな機能を果たしているときに使用したり、次に説明するMetanodeのInput portの補足説明を書くのに使うこともあります。
多すぎてもWorkflowが見づらくなることがあるので、中くらいの機能を説明するのに記述するのと、大機能ごとに色を分けてあげる目的として使用するのがいいかもしれません。
4.複数Nodeを一つにまとめる
結果
Metanodeというのを使うと、複数Nodeを一つのNodeとして見せることができます。階層を作っていくイメージです。このMetanodeをダブルクリックすると中身のNodeが別のタブで見えるようになります。
設定方法
まずはまとめたいNodeを複数選択してください。
複数選択の方法は、ctrlを押しながら1つ1つ選択していくでもいいですし、マウスで範囲を指定して一気に選択してもいいです。
そのあと、選択したNodeの1つの上で右クリックをすると、"Create Metanode.."というメニューが選択できます。
Nodeが緑色(実行完了状態)になっていた場合はResetするかどうか聞かれます。Resetしてしまいましょう。
次にMetanodeの名前を設定します。まとめたNodeに名前を付けてください。
この名前はMetanode上部に表示されるものなので、比較的短めにつけましょう。
はい、以上でMetanode完成です!ダブルクリックすると、展開されて元々のNodeが見れますよ!
Metanodeを実行すると、Metanodeに含まれているNodeが実行されることになります。
おすすめ使用頻度
Metanodeを作るということはすなわち階層を作ることになります。
どうしても複雑なWorkflowになればなるほど、Nodeが増えていってしまうため、ある程度のところでMetanodeにしていくことをお勧めします。そうすることで、最初にWorkflowを開いたときに全体で大枠何を行っているかが一目瞭然です。
ただし、Metanodeの中にMetanodeを作りすぎるのもダメです!階層が深くなると、どれがどれだかわからなくなってしまいます。2階層くらいにしておきましょう。
この考え方はコーディングでサブルーチンを作る概念に似てますかね。
5.Nodeを自動的に並び替える
結果
たまに好き勝手に並べる開発者がいます笑
私はこれをスパゲッティ状態と呼んでいます。まず大前提として、Workflowは左から右へ流れるものと認識してください。線が右から左に流れるような置き方はやめましょう。
見やすさが全然違うと思います。逆行禁止!です。
設定方法
さて、スパゲッティ状態を自動的に解消してある程度綺麗に並び替えてくれる方法があるので紹介します。
まずは並び替えたいNodeを複数選択してください。
複数選択した状態で、白い点と線が三角形に並んでいるアイコンをクリックしましょう。
(縦や横に並んでいるアイコンは個人的にあまり使わないです)
はい、これだけでいい感じ並べ替えてくれます。
おすすめの並び替え方法
並び替え時の注意点は、。NodeとNodeをつなぐ接続線に着目した下記の3点です。
- 接続線が、左から右に流れるようにNodeを配置
- 接続線ができるだけ交差しないようにNodeを配置
- 接続線がクネクネして何度も曲がらないようにする
できるだけ読みやすいように配置していきましょう。
私もこの配置についてはあまり得意ではないのですが、、
ちょっと一言
Metanodeその他のメニュー
Metanodeについて、上で解説しきれなかった部分を触れていきます。Metanodeを右クリックすると、Metanodeにはその他のメニューがあることが分かります。ここからもう少しMetanode自体を編集できます。それぞれの意味は下記の通りです。
- Open:展開(ダブルクリックと同じ)
- Expand:解除(元の複数Nodeの状態に戻す)
- Reconfigure:名前 / Input・Outputポートの変更
- Convert to Component:Componentに変換(上級編)
- Share:MetanodeをExport(上級編)
上級編のオプションは気にしなくていいです。主に使用するのはExpandとReconfigureでしょうか。
Metanode - Reconfigure
特にReconfigureについてもう少し触れます。
開発を続けていくと、
- 変数のOutput ポートも増やしたい!
- 最初に決めたMetanodeの名前を変更したい!
- ポートの位置を変えたい!
といったことが出てきたりします。そんな時に使うのがReconfigureです。
変数のOutput ポートを増やす
例として、変数のOutputポートを増やしてみましょう。
Out Portの方で"Add..."を押します。するとPort Typeを選べます。変数のPort を選んでOKを押していきましょう。
Finishを押せば、Outputポートが増えていることが分かるかと思います。
ちなみにポートの順番を変えたいときは、上の図でUPやDownを選択していけば自動的に変わります。
空のMetanodeの作り方
上では、元々Nodeがある場合を想定してMetanodeを作りましたが、空のMetanodeを先に作ることも可能です。
四角の中にプラスがあるアイコンを押してください。
すると、Metanodeを作る画面になります。 好きなOutputポートのあるテンプレートを選択してFinishを押しましょう。もし、カスタムで作りたい場合はCustomを押してください。上のReconfigureの画面と同じ画面が現れます。
Node接続線の通過点指定
Nodeが接続している線ですが、杭のように通過点の位置を指定することができます。
線をクリックすると黒い点が出てくると思います。これを動かしてあげることで、通過点を指定できます。
動かすとこんなこともできます。
おわりに
サブテーマのわりにだいぶ長く書いてしまいました。見やすいWorkflowを開発 して、どんなに小さな自動化ツールでも、ブラックボックスツールにしないように心がけましょう。
ブログ書くの、慣れないせいか時間かかります、、
コロナがなかったら全然書けないで終わってましたね~
コメント等いただけると大変励みになります。ではまた!
余談
ブラックボックスとメモということで今回紹介するのは、殺し屋と少女の物語「レオン」です。これ不朽の名作ってやつだなと思います。殺し屋のレオンが本当にいいやつで、、
殺し屋のブラックボックス感と、最後に出てくる「メモ」の部分でまさにこれがピッタリだと思います。文字が読めなかったレオンに渡したメモから、助け出すシーンが後半に出てくるのですがそれがまた感動です。内容忘れてしまった方もぜひ。
参考リンク
- KNIME TV annotation:
- KNIME Meta Nodes: