1

ページをスケジュールして置き換えるためのアイデアやプラグインを知っている人はいますか?

前文

現在、新しいプロジェクトのさまざまなコンテンツ管理システムを評価しており、たとえば「メンテナンスリリース」の一環として、新しいページを作成し、既存のページを更新しています。

PHP(できれば)またはC#のいずれかを使用します

問題

ユーザーには、既存のページの新しいリビジョンを作成して保存し、将来的に公開日時を設定してもらいたいと考えています。この日時に、既存のページを置き換えてページを公開したいと考えていますが、すべてのリンクページ、URLなどは同じになります。

現在

2つの別々のインストールがあり、cronジョブといくつかのmysqlクエリを実行するPHPスクリプトを使用してページの更新をスケジュールします。これは、実行に失敗した過去の重大な時期に失敗しました。

最後に

おそらく、これを自分たちで、独自のCMSで、または既存のCMSへのプラグインとして書くことができます-単純に:

 SELECT latest_revision from posts_pages_table 
 WHERE publishable='yes' 
 AND max(revision_date);

しかし、既存のCMSでこれを経験したことがある人や、技術的な観点から問題を予測している人はいますか?

たとえば、ワードプレスのバックエンドで、ページがまだ「ライブ」になっていない場合、ユーザーはページの最新バージョンを更新していることをどのように確認しますか。

既存のすべてのCMSを調べてGoogleを検索しましたが、ページの更新をスケジュールすることはめったにないように思われるため、信頼できるSO群衆からのガイダンスに依存しています。

ありがとう

4

2 に答える 2

2

PHP に問題がない場合は、SilverStripeを使用できます。あなたが求めていることを達成するには、CMS ワークフローモジュールを使用します。

SilverStripe CMS には、ライブとドラフトの 2 つのステージが組み込まれています。公開する準備ができるまで非公開のままであるドラフト バージョンを作り直すことができます。通常のシナリオでは、ライブにプッシュするだけです。

CMS ワークフローがインストールされている場合は、変更が公開される日付 (「エンバーゴ」) を追加で選択できます。これにより、「後で」ドラフト バージョンが保存され、選択した日付にのみ公開されます (これは cron ジョブを介してプラグインされます)。

ページに設定できる「有効期限」もあり、その時点でページは公開されなくなり、公開されなくなります。

エンバーゴ、有効期限、および公開操作はページの URL や ID に影響を与えないため、CMS を介してページを修正している間、すべての関係はそのまま残ります。

参考文献:

于 2012-03-29T20:08:53.423 に答える
1

Joomla には、コードを一切変更せずにすぐに使用できる方法があります。これが私がそれを行う方法です-

  1. 置き換えられるページのカテゴリを作成します
  2. そのカテゴリを指すメニュー項目を作成します。日付の新しい順に 1 項目のみを表示するように設定する
  3. カテゴリ アイテムが記事の詳細ページのように表示されるように、テンプレートの上書きを作成します。
  4. 表示開始日を決定する公開開始日で新しい記事を作成する

基本的に、カテゴリを表示しますが、記事のように見えます。公開開始日に達した最新の記事を常にプルします。投稿するすべてのバージョンのコピーがあり、更新ごとに最後の編集のコピーを作成するだけなので、簡単に追跡できます。

おそらく、同じことを達成するために何かカスタムを作成することもできますが、テンプレートのオーバーライドで簡単に実行できるのに、時間と労力を費やす必要はありません。

于 2012-03-28T12:46:02.277 に答える