はじめに
この投稿は、RPA ツールの UiPath のフロー実装例 の記事です。
この投稿は、UiPathのコミュニティ「UiPath Friends」が企画する「UiPathブログ発信チャレンジ2021サマー」の 12日目の投稿になります。
企画の内容は こちら 。カレンダーのURLは こちら です。
設定ファイルのオーバーライドとは?
オーバーライド=「上書き」という意味です。
UiPathでは 設定ファイルをExcelで用意し、処理の最初で値を読み込む
という実装が多いですが、今回はその読み込んだ値を 上書き して動作させる方法について書きます。簡単に言うと
- A)設定ファイル.xlsx :正規の設定ファイル
- B)設定ファイル.override.xlsx :ローカル実行用の設定ファイル。ファイルがなければ無視
という2つのファイルを読み取って、マージ(※)した設定を使用するというものです。
※ AとBで同じ項目名があればBの値で上書きします
この実装には、以下のメリットがあります。
1)開発が楽になる
Local実行用の設定は「.override.xlsx」に書けば良い
2)リリース作業が楽になる
リリース(パブリッシュ)時に設定ファイルを差し替えなくて良い(特にARの場合)
3)リリース事故が減る
「本番用」の設定ファイルを誤って修正する事がない
デメリットは下記があげられます。
1)仕組みがわからないと混乱する
2)「本番用」の設定ファイルの修正を忘れてしまうことがある
以下で「実装例」で紹介します。
参考)システム開発では、この「overrideパターン」を利用した実装があります。異なる環境向けファイルを用意し、上書きマージすることで環境差異を吸収します。
dockerで言えば「docker-compose.override.yml」という「上書き専用ファイル」を読み込む仕様があります。
実装例
以下は、設定ファイルのオーバーライドをする際の実装例です。ReFrameworkで言えば「InitAllSettings.xaml」の処理にあたります。
処理の前半は設定ファイルを読み込み、後半で上書きファイルで内容を上書きしています。
注意点・コメント
1)「上書きファイルにしか無い項目」は無視しています。
これは「予期せぬ事故(上書きファイルにだけ項目を追加してしまった)」を防ぐためです。
2)上書きファイルの置き場所は「デスクトップ」にしています。
敢えて「パブリッシュ時に同梱されない場所」を指定し、管理しやすくしています。
内容を確認しやすいように、xaml形式に切り出したものを用意しました。
終わりに
いかがでしたでしょうか。実装例として役立てば幸いです。
この記事が参考になったら、 LGTMをお願いします。閲覧ありがとうございました。