1

Diem は優れた CMF ですが、ミラー サイト間でページ (およびウィジェット) を同期する機能がありません。

Diem ベースの CMS を使用する中規模サイトの主任開発者です。

私たち (約 50 人のグループ、全員が開発者ではなく、ほとんどが開発者ではない) が、サイトの非公開ミラーで主要なコンテンツの変更/更新を準備し、すぐに本番環境にプッシュできれば素晴らしいことです。

私は、多くのインストール間で dmPages を同期する方法について考えてきました (もちろん、同じ db スキーマを使用して)。私は2つの問題を見ました:

  • リンク (ページ:、メディア:) を入力して、新しいインストールで同期後にリンクが機能することを確認する方法
  • ウィジェット アセットを転送および設定する方法。

(これまでのところ存在しない)インポート/エクスポート スクリプトを使用して、そのようなワークフローを見つけました。

  1. export form development install D選択した dmPages、dmWidgets (および該当する場合: ウィジェット アセットおよび所属するカスタム モデル エンティティとそのアセット) を tarball アーカイブにエクスポートします (場合によっては圧縮します)
  2. アーカイブを本番インストールPにインポートし、解凍してアーカイブを解凍し、処理します
    1. ウィジェット/モデル エンティティに接続されているアセットがあるかどうかを分析し、それを適切な Web サブフォルダーにコピーしてから、dmMedia を作成し、その ID を保存します
    2. モデル エンティティがあるかどうかの分析、作成、ID の取得と保存
    3. ウィジェットがあるかどうかを分析します。
      • モデル/show ページでは、作成するウィジェットは 1 つだけです: モデルの表示ウィジェットです。作成し、保存し、ID を取得します。
      • 非モデル ページには、多数のウィジェットが存在する可能性があります。それらを作成し (該当する場合は 2.1 で作成された dmMedia に接続します)、ID を保存します
    4. dmPages を作成し、以前に作成した dmWidgets を接続します
    5. (インポートされたもののみ!) ウィジェットとモデル エンティティを分析して、page:またはmedia:文字列 (これまでのところ開発インストールから)の存在を確認し、本番インストールで ID と一致するようにそれらを変更します。

私の質問は: これまでに dmPages をインポート/エクスポートするソリューションはありますか? そうでない場合 - 私のソリューションの提案されたワークフローに対する提案はありますか?

4

0 に答える 0