PowerCMS X本体を格納しているディレクトリ、もしくは別のディレクトリに案件固有のファイルを格納するディレクトリ(例:user_customized_files)を作成し、その中にモデル定義(models)・プラグイン(plugins)・代替テンプレート(alt-tmpl)を格納するディレクトリを作成します。その後、下記のようにconfig.jsonにパスを追記します。
"model_paths" : ["/var/www/app/user_customized_files/models"],
"tmpl_paths" : ["/var/www/app/user_customized_files/alt-tmpl"],
"plugin_paths": ["/var/www/app/user_customized_files/plugins"],
これにより案件固有のファイルを独自ディレクトリで管理できるようになり、user_customized_filesやconfig.json、db-config.phpファイルを除いたディレクトリ・ファイルを入れ替えるだけでPowerCMS Xのアップデートが可能になります。アップデート時にファイルを消失する恐れもなくなるので安心です。
コツは代替テンプレートのパス+ファイル名が標準のパス+ファイル名より長くなるようにすることです。代替テンプレートはパス+ファイル名が長いものが優先されるためです。
プラグインでアセットを読み込む場合の注意点
user_customized_filesディレクトリをドキュメントルートの外に設置した場合、user_customized_files/plugins以下に配置したプラグインでJavaScriptやCSS等のファイルを読み込むには工夫が必要です。例えばuser_customized_files/plugin_assetsディレクトリにJavaScriptやCSS等を配置し、ウェブサーバーでalias設定をする方法が考えられます。