はじめに
プリザンターの本体コード開発を進める上で一番のネックになってくるのが、Parametersフォルダの管理です。プロジェクト単位でまとめて管理したいアイテムではありますが、既存のレポジトリの配下に入ってしまっているため管理が面倒ではあります。今回はそれを解決する方法を紹介します。
解決方法
一番の解決方法はParametersフォルダをレポジトリの外に出してしまって個別管理をする方法です。実はこれを実現する機能がプリザンターには組み込まれています。
Env.jsonの作成
Implem.Pleasanter/App_Data/Parametersの配下にEnv.jsonを作成します。内容は次の様なものです。
{
"ParametersPath":"D:\\repos\\Implem.Pleasanter.Parameters"
}
上記例には私の環境のパスを書いていますが、実際には外出ししたParametersフォルダのフルパスを指定します。
このJSONを追加することで、Parametersの外出しを実現することが可能です。あとはこのフォルダをGitレポジトリにするなどしてチーム間で共有すればOKです。
レポジトリからの除外
環境固有のファイルになるので本体のレポジトリからは除外対象としてしまうのが正解です。.gitignoreをチェックしてみましょう。
実はちゃっかり組み込まれてしまっています。ということで、ユーザサイドでは特段除外の処理は必要ありません。
おまけ:実装をみてみる
せっかくなのでEnv.jsonをどうやって実現しているか実装も見てみましょう。
Env.jsonの読み出し
プリザンターのParameters配下のJSONファイルはImplem.DefinitionAccessor/Initializer.csでまとめてロードされています。その中でEnv.jsonを読み出しているのは
ここになります。Readで実際の読取り操作をおこなっているのは同一ファイル内に記述がある
ここになります。このようなマップ用のクラスが用意されているので
マップ処理をおこなっています。
ParametersPathのセット
ParametersPathは下記の場所で既定値がセットされています。
見慣れたいつもの場所ですね。これを先ほどのEnv.jsonの読み出し後にEnv.json/ParametersPathに有効な値がセットされているなら上書きしています。
こんな感じですね。
まとめ
今回はParametersフォルダを外出しする方法を紹介しました。本体コードを頻繁に触るときは外出しをしてしまえば、かなり開発が楽になるので、是非試してみてください。