トピックの抜粋は期待通りに動作していました。つまり、すべてのケースで post_excerpt_maxlength を反映していました。最初は プラグイン で実装し(これは動作しました)、その後 SiteSetting.always_include_topic_excerpts = true の存在を知り、そちらに切り替えました。これも問題なく動作していました。
約 2 日前、おそらく 2.4.0.beta4 を適用した後に、抜粋が 50 文字で切り捨てられるようになりました。非常に不可解です。
SiteSetting.always_include_topic_excerpts の切り替え、プラグインの再インストール、post_excerpt_maxlength の値の変更を試みましたが、変化はありません。依然として 50 文字で固定されたままです。
他の方にも同様の現象が見られますか?他に試せることが思いつきません。
もう一つの点は、新しいトピックのみが影響を受けていることです。長い抜粋を持つ古いトピックでは、まだ抜粋が表示されています。
そのようなトピックに投稿を追加しても抜粋は短くなりません(当然ですが)、最初の投稿を編集すると、抜粋が新たに50文字で切り詰められてしまいます。
したがって、私は確認していません(Discourseの初心者なので)が、抜粋はデータベースのフィールドのようで、切り詰めはレコードの更新時のみ発生しているようです。
LQ
neil
(Neil Lalonde)
4
リンクされたプラグインには、50 がハードコードされています:
https://github.com/hnb-ku/discourse-topic-excerpt-plugin/blob/master/plugin.rb#L8
プラグインをフォークして、50 の代わりに SiteSetting.post_excerpt_maxlength を設定するか、@Johani に更新してもらうことができます。
Johani
(Joe)
5
そのプラグインは約 2 年間更新されておらず、always_include_topic_excerpts 設定の追加以前に作成されたものです。使用すべきではありません。非推奨の通知を追加し、1 週間ほどでそのリポジトリを削除する予定です。
古いプラグインを削除し、always_include_topic_excerpts 設定を有効にした上で、問題が解消されたかどうかをご報告ください。
これで問題が解決したようです。以前は抜粋が表示されていなかったのに、プラグインを適用すると(300 文字の)希望する抜粋が表示されたため、混乱していました。おそらく、ハードコードされた 50 の影響を受けたのは、その後作成されたトピックだけだったのでしょう。
ただ一点、気になる点があります。既存のトピックで 50 文字の抜粋になっているものは、そのまま残っています。これらを post_excerpt_maxlength に合わせるには、それらのトピックの OP(最初の投稿)を何らかの方法で更新する必要があるようです。これを自動化する方法はありませんか?よろしくお願いします。
LQ
Johani
(Joe)
7
新しい制限に従わせるには、投稿を再焼き直しする必要があります。詳細はこちらをご覧ください。
louquillio
(Lou Quillio)
8
これらは現在、本当に互換性があるのでしょうか?
rake posts:rebake
bundle exec rake posts:rebake
最初の rake タスクは問題なく完了しましたが、抜粋の再生成は行われませんでした。それでもサイトは動作していました。
その後、be で試みました。しかし、以下のようにエラーで終了しました:
rake aborted!
PG::ConnectionBad: FATAL: Peer authentication failed for user "discourse"
… に続き、スタックトレースが表示されました。現在、トピックページにはアクセスできません。ホームページにはアクセス可能で、管理画面の大部分もアクセスできますが、管理画面のホームにあるチャートは読み込めません。
rake posts:rebake
… を実行しても問題は解決しません。最終的に droplet を再起動しましたが、状況は変わっていません。ご協力をいただければ幸いです。
LQ
Johani
(Joe)
9
はい、両方試しましたが問題なく動作しました。
$ cd /var/discourse
$ ./launcher enter app
$ bundle exec rake posts:rebake
デフォルトの投稿マークダウンを再構築中
297 / 297 (100.0%)
297 件の投稿が完了しました!
--------------------------------------------------
$ cd /var/discourse
$ ./launcher enter app
$ rake posts:rebake
デフォルトの投稿マークダウンを再構築中
297 / 297 (100.0%)
297 件の投稿が完了しました!
これは、他に問題があることを示唆しています。サイトをセットアップする際に、サポートされているインストールガイドに従いましたか?
louquillio
(Lou Quillio)
10
はい。INSTALL-cloud.md に記載されている通り、正確にインストールしました。
唯一の違いは、OS が 19.04 であることです。gems を手動で更新したり、そのようなことは何も行っていません。
以下が bundle exec rake posts:rebake --trace の完全な出力です。
Johani
(Joe)
11
はっきりとは言えませんが、おそらく2つの別々の問題があると思います。
これをより詳しく特定するために、以下の手順を試してみてください。
- 非公式のプラグインをすべて削除する
- アプリを再構築する
- セーフモードを試して、アプリが読み込まれるか確認する
表示されないページでブラウザのコンソールにエラーが表示されていますか?
louquillio
(Lou Quillio)
12
フッター注釈とチェックボックスプラグインを削除しました。これらが公式かどうかは確信が持てません。再構築しました。セーフモード以外での読み込み時にコンソールエラーは発生していません。サイトは稼働しています。
コンソールエラーを確認するためにセーフモードをテストするメリットはありますか?なければ、それらのプラグインのいずれかと思われます。
Johani
(Joe)
13
はい、それらは公式です。ただし、何らかのフォーク版を使用していないことを確認してください。公式プラグインには、管理画面で名前の横にチェックマークが表示されます。
また、https://github.com/discourse/ 以下でホストされています。
私は最新のバージョンで両方を試しましたが、あなたが直面している「サイトが読み込まれない」という問題を再現できませんでした。
通常モード(セーフモード以外)でエラーがない場合は、セーフモードでも確認する必要はありません。
抜粋はまだ更新されていないのでしょうか?
your.site.com/logs を確認しましたか?
louquillio
(Lou Quillio)
14
いいえ、でもこれは新しいインスタンスなので、気にしません。
はい、特に目立ったことはありません。unattended-upgrades を実行していますが、dpkg が再構築時に実行されていたかもしれません。気にしません。
お手伝いいただきありがとうございます。
LQ