以前、System Center Orchestratorの統合パック(Integration Pack)の開発について書きましたが、開発したRunbookにアイコンを設定する方法について書こうと思います。
以前の記事(System Center Orchestrator Integration Pack(IP)を開発する)にてRunbookを開発してみましたが、その際のアイコンが以下の画像のようになっていたと思います。これはToolkitの中にデフォルトで用意されたものになります。
System Center OrchestratorはIT運用プロセスを自動化するのと同時に、自動化されているプロセスを後から視覚的に確認できることも強みの一つとなっています。同じアイコンが並んでいたのでは何をやっているか視覚的にはわからず、強みの一部を消してしまっていることになります。そこで今回は自分の作ったRunbook毎にアイコンを設定する方法を書きます。
アイコン用の画像ファイル準備
まずはアイコンを作成していきます。
自分でイチから作成してもいいのですが、今回は分かりやすいようにSystem Centerのロゴを使って手順を説明したいと思います。
必要なアイコンは[16px✕16px]と[32px✕32px]のビットマップです。作り方は色々あると思いますが今回はWindows標準のペイントを使おうと思います。
まず、適当なイメージファイルを用意してペイントで読み込みます。
イメージから「サイズの変更」を選択します。
ここでサイズを調整できます。
画面では32px✕32pxに画像サイズを調整してます。
できた画像をbmp形式で保存すれば画像ファイルの準備完了です。
[16px✕16px]と[32px✕32px]のサイズのBMPを準備しましょう。
リソースファイルの作成
今度は作成した画像ファイルを含むDLL形式のリソースファイルを作成します。
Visual StudioからC++のWIn32プロジェクトを新規作成します。
この際に.Netのバージョンを.NET Framework 4に設定します。
ウィザードの中でアプリケーションの種類をDLLとします。
ソリューションエクスプローラーにリソースファイルというフォルダがあるので、
右クリックして追加>リソースを選択します。
Bitmapを選択して、インポートをクリックします。
先ほど作成したBMPファイルをインポートします。
ここでBMPファイルを編集することもできます。
System Center OrchestratorのアイコンではBlack (0,0,0)は透明と認識されます。背景を透過にしたい場合は、以下のように背景を黒く塗りつぶします。
黒が透過と認識されてしまうので、アイコンに黒を使いたい場合は、
黒に近いNear-Black (15,15,15)を使用することが推奨されてます。
画像ファイルの調整が完了したら、
<ProjectName>.rcファイルを右クリックでコードの表示を選択します。
ここでBitmapの項目を見つけて、左側の宣言の部分を、
XXX_16
XXX_32
と最後を「_16」または「_32」という形で終わるように書き換えます。
この「_16」または「_32」という文字列をRunbook Designer上で識別して、
16✕16で表示される場合は_16のアイコンが、
32✕32で表示される場合は_32のアイコンが使用されます。
ここまでできたらプロジェクトをビルドして、DLLファイルを生成します。
統合パック(IP)へのリソースファイル取り込み
前の記事でも書いた手順でOIPファイルを作成するのですが、
Resource fileの部分で先ほど生成したDLLファイルを指定します。
その上でCategory IconのModifyボタンをクリックします。
今回作ったアイコンが選択できるようになります。
これでカテゴリのアイコンが今回準備した画像ファイルになります。
同じように個別のRunbook Activityにもアイコンを設定できます。
Runbook Designerで見るとこんな感じです。
右側の一覧Viewで使われるのが_16で指定された、16✕16の画像ファイルのアイコンです。
その中でもフォルダのアイコンには上で指定したCategory Iconが使われます。
今回は画像の背景を黒くしたので、透過背景になってることがわかります。
この記事の詳細はこちらに書いてあります。
http://msdn.microsoft.com/en-us/library/hh855058.aspx