静的ファイル同期機能を提供するプラグイン SiteSync ver.2.0 の提供を開始します。新しいバージョンではツリー表示の差分(新規・更新・削除)フィルタの追加、ファイルの更新ステータスの可視化、システム配下のスペースのファイルを含んだ同期に関する問題の修正などを行っています(このプラグインは別売のオプションプラグインです)。
ver.2.0 リリースノート
ステージング環境・本番環境のURLを指定可能に
- ステージング・本番それぞれのサイト URLをプラグイン設定で指定可能にしました。
- ステージングサイトURL指定のある時本番同期画面のツリーのURLをステージング環境のURLになるようにしました。
- これらの設定がある時、同期実行後の実行結果にリンクを追加し、同期結果を確認できるようになりました。
環境変数「sitesync_workspaces_in_system」指定のあるときの振る舞いの改善
環境変数「sitesync_workspaces_in_system」を指定すると、システムの同期画面に配下のスペースの URLを含んでツリーを表示し、一括で同期を行うことができます。
一括同期を行うためには、以下の条件が必要です。
- スペースのサイトURL及びサイト・パスがシステムのサイトURL及びサイト・パスの配下に設定されていること
- スペースのプラグイン設定で、ステージングと本番それぞれのサイトURL及びサイト・パスがシステムのプラグイン設定で指定されているそれぞれのパスの配下に設定されていること
この機能について、ver.2.0 で以下の改良を行いました。
- 設定のないスペース及び権限のないスペースのURLをツリーに表示されないようにしました。
- システムスコープから配下のスペースの URLを同期した時、システムの同期先を起点としたパスに同期されてしまう問題を修正しました。
- プラグイン設定の保存時、アップグレード時、ツリー生成時、同期実行時にスペースの設定がシステムのパスと整合性があるかどうかをチェックするようにしました。
- 尚、この設定時にシステムのスコープから同期を実行する場合、除外設定などはシステムの設定のみが適用されます。
更新フィルタの追加
- 画面見出し横にボタンが表示され、更新差分表示とすべての表示を切り替えられるようになります。
- 環境変数「sitesync_only_newer」を trueとすると、初期状態が更新差分表示になります(初期値 true)。
ファイルの新規・更新・削除の状態の可視化
- ファイルが新規・更新・削除されている場合にツリーの項目名の右側に 新規 更新 削除 の各バッヂを表示するようにしました。
環境変数「sitesync_get_object_label」の追加
- falseを指定するとツリー内の URLにオブジェクトのラベルを表示しないようにします(結果としてツリー表示のレスポンスを高速化します)。
- その他、ディスクのファイルチェックの回数を減らすなどの細かな改善を行いました。
環境変数「sitesync_assets_base」の追加
- 「PowerCMSX/plugins/」以外の場所にプラグインを設置している時「PowerCMSX/plugins/SiteSync/assets」への URLまたはルート相対パスを指定することができるようになりました。
同期処理後のコールバックの追加
- 同期処理後のコールバックを追加し、プラグインなどでカスタマイズや拡張を行えるようになりました。
- モデル名「sitesync」コールバック名「sync_staging」: ステージング環境への同期後にコールされます。
- モデル名「sitesync」コールバック名「sync_production」: 本番環境への同期後(Mirroring設定のある時は Mirroring実行後)にコールされます。
コールバック引数
1. $cb : コールバック配列
- 'mode' : staging または production。
- 'type' : 値なし(即時実行), 'reserve'(予約) または 'queue'(予約されたジョブの実行)。
- 'change_note' : 「変更メモ」欄に入力された値。
- 'component' : SiteSync クラスオブジェクト。
- 'log' : 保存されたログオブジェクト。
- 'job' : ジョブの実行時のみ、ジョブオブジェクト。
- 'mirroring' : Mirroring実行時のみ lftpコマンドの実行結果の配列
- 'mirroring_error' : Mirroring実行時のみ lftpコマンドがエラーを返した時のエラー文字列
- 'errors' : エラーの配列。エラーをセットして falseを返却すると画面にエラーを返すことができますが、実行後のコールバックのため実行のキャンセルはできません。
2. $app : クラス Prototype オブジェクト
3. $results : 実行結果の配列
- キー「success」「error」に成功・失敗したURLの配列(URLをキーに、値のキー「file」にファイルパス、キー「op」に操作内容「update」「create」「unlink」のいずれか)。