リベーキングとは?サーバー移行時に必要か?

rebake 関数に関する情報をご存知の方はいらっしゃいますか?

Discourse サーバーを新しいセルフホスト Linux サーバーに移行した後に実行する必要があるものですか?

投稿の再ベイクは、通常、多数の投稿を再処理するために使用されます。たとえば、ドメイン名を変更した場合です。サイト上の他のトピックにリンクしている多数の投稿が、壊れてしまいます。

そのため、適切な再ベイクプロセスコマンドを使用して、古いドメイン名を新しいドメイン名に置き換えます。

私の理解では、単に別のサーバーに移動するだけであれば、再ベイクは必要ありません。ドメインプロバイダーでサイトを指すIPアドレス情報を更新する必要があります。

以下のリンクは、投稿の再ベイクに関する明確化に役立つはずです。

リベイクとは、基本的に検索と置換の派生名にすぎませんか?

いいえ、検索と置換(必要であれば)を行い、その後、投稿を再ベイクして、生の変更を調理済みの表示バージョンに変換する必要があります。

「いいね!」 2

ここで違いを理解するのに少し苦労しています。そして、WordPress/LAMPの管理者/ウェブマスター志望としての経験から来ていると確信しています。基本的な知識が欠けているのです。

検索/置換はデータベースレベルで変更を行い、再ベイクしないと表示されない、ということで合っていますか(技術的に正しい必要はありませんが、エンドユーザーレベルで正しいという意味で)。

さて、フォーラムには全知全能のAIがいるので、尋ねてみました。

AI: 検索と置換 vs. 再ベイク

フィンランド語でプロンプトを作成し、その後英語の翻訳を依頼しました。そのため、いくつかの…エラーが発生する可能性があります。

Discourseにおける検索と置換 vs. 再ベイク

検索と置換

検索と置換機能は、その名の通り、フォーラムコンテンツ内の特定の文字列を検索して置換します。これは、例えば、サイトのドメインが変更され、古いドメイン名を新しいものに更新する必要がある場合に役立ちます。検索と置換の対象は、リンク、単語、フレーズ、その他の文字列にすることができます。

再ベイク

再ベイクという用語は、Discourseで投稿を再処理するプロセスを指します。再ベイクは、投稿が生テキスト(マークダウン)から最終的なHTML形式に再度変換されるときに発生します。このプロセスは、現在の設定とスタイリングルールに従います。再ベイクプロセスは、rake posts:rebakeのようなコマンドを使用して開始できます。

そのような設定の例として、add_rel_nofollow_to_user_contentがあります。これは、ユーザーが送信したコンテンツ内のすべての外部リンクに「rel=nofollow」属性を追加しますが、内部リンクの場合は除きます。この設定が変更された場合、その変更をこれらの投稿に反映させるには、既存の投稿を再ベイクする必要があります。

なぜ検索と置換だけでは不十分なのか?

  • 一貫性の欠如: 単純な検索と置換を実行しても、変更を適用する必要があるすべてのインスタンスを処理できるとは限りません。リンクは通常のテキスト内に埋もれている場合や、検索と置換がキャッチしないHTMLコード内に隠れている場合があります。
  • 新しいルール: add_rel_nofollow_to_user_contentのような新しいルールや設定がフォーラムに実装された場合、再ベイクなしでは既存の投稿には適用されません。これらの新しい設定を古い投稿に適用するには、新しいルールが考慮されるように再ベイクする必要があります。
  • HTMLフォーマット: 投稿のHTMLフォーマットを変更または更新するには再ベイクが必要です。検索と置換は、再ベイクプロセスほど効果的にHTMLフォーマットを処理しません。

要約

  • 検索と置換: 特定のテキスト文字列を検索して置換しますが、すべてのインスタンスで包括的な変更を保証するものではありません。
  • 再ベイク: 現在の設定とルールに従って投稿を再処理し、すべてのフォーラムコンテンツ全体で一貫性のある包括的な変更を保証します。

少し理解が深まったかもしれません。しかし、AIがすべてを真実を語っていたわけではないような気がします。

その機能の1つとして、特殊な「検索と置換」機能があります。説明は適切です。アフィリエイトプラグインのように、プラグインをインストールする前にサイトに投稿されたすべてのAmazonリンクにアフィリエイトプラグインを適用したい場合は、再ベイクが必要です。

ドキュメントのリンクが機能の説明を十分に明確に記述していない場合は、チームが直接説明を追加する必要があります。

再ベイクコマンドはXに使用され、パターンを置換するために使用する場合、Yを実行するという点で検索と置換とは異なります。

さて、私にも興味が出てきました。組み込みの検索と置換機能があるのですか?そして疑問が生じます。投稿を編集すると、いわゆる再処理されないのでしょうか?もしそうなら、検索と置換は編集して保存するようなものではないのでしょうか?

「いいね!」 1

それはありません😳なぜなら、AIはひどく幻覚を見るからです。

私が完全に間違っている大きなリスクがあります。自分のドメインを変更したのはしばらく前のことです。しかし、検索と置換を実行したと確信しています。しかし、WordPressとDiscourseのものを混同している、または実際にすべてのドメイン参照を変更して再ベイクしたという同じくらい大きなリスクがあります。

「いいね!」 1

データベース内の特定の文字列を「置換」するコマンドラインの方法はありますが、Discourse には「検索と置換」という名前の機能はありません。ですから、あなたの AI は幻覚を見て状況を混乱させていると思います。

技術的には、「posts」データベーステーブルでは、投稿コンテンツは 2 つの方法で保存されています。

  1. 「raw」- これはユーザーが入力したマークダウンです。
  2. 「cooked」- これはコンテンツの HTML バージョンであり、画面にレンダリングされます。

投稿を「ベイク」することは、raw から cooked への変換プロセスです。投稿が作成/編集されるたびに、また「リベイク」するときに実行されます。

「ベイク」プロセスの一部として、アップロードされた画像の「最適化」バージョンが生成されます。スペースを節約するために、これらの最適化されたバージョンはバックアップには含まれません。そのため、バックアップを復元してもリベイクしないと、サイトで画像が壊れて表示されます。これらの最適化された画像を再生成するには、リベイクが必要です。Discourse は、バックアップを復元すると自動的に処理します。

「いいね!」 5

質問をAIに再構成して、検索と置換のような機能があるか尋ねました。その時点で、AIはremapの使用方法を説明しました。その後、あなたが与えたものと非常によく似た回答を得ました。

リード質問はAIを操作する上で非常に基本的なスキルです。しかし、そのトピックについて少なくとも何かを知っている必要があります。

でもありがとうございます!これでremapとrebakeのアイデアと必要性がわかりました。

(ここには#devなどがありますが…Discourseの技術に関する101カテゴリも必要ですね🥴)

「いいね!」 2

discourse.orgホスティングからセルフホスティングに移行する場合、バックアップにアップロードと添付ファイルが含まれていることを確認する必要があります。アカウントをキャンセルするか、バックアップにアップロードを含めるように依頼するまで、バックアップはS3バケットのアップロードを指しますが、アカウントが閉じられた直後に削除されます。

はい、通常、バックアップを復元した後、添付ファイルを含む投稿を再ベイクして、マークダウンメッセージが自分のサーバーの画像へのリンクではなく、それらのサーバーへのリンクに変換されていることを確認する必要があります。

「いいね!」 1