QUERY_RESULT_MAX_LIMITをオーバーライドするプラグインの作成

プラグインを作成しようとしましたが、うまくいきません。これは初めての試みで、数年前にプラグインチュートリアルを試した以外は経験がありません。DataExplorerモジュールの制限をオーバーライドしようとしています。

このアプローチは正しいでしょうか、それとも完全に間違っていますか?

注意:カスタム制限が有効になっているかテストしやすくするために、QUERY_RESULT_DEFAULT_LIMIT1 に設定しています。

ここではプラグインの使用はお勧めしません。

代わりに、グローバル設定(環境変数でサポートされる)を追加するPRを提出してください。

「いいね!」 5

過去2年間、これは誰にとっても最優先事項ではなかったようですが、今日これが必要になり、コンテナ内でファイルを直接編集することで解決しました。

回避策として、app.yml に以下のようなものを追加します。

  after_bundle_exec:
   - replace:
        filename: "/var/www/discourse/plugins/discourse-data-explorer/plugin.rb"
        from: /QUERY_RESULT_MAX_LIMIT = 10_000/
        to: QUERY_RESULT_MAX_LIMIT = 100_000

しかし、PRは plugin.rb に以下を追加するようなものになるようです。

GlobalSetting.add_default(:query_result_max_limit, 10000)

そして、上記のモジュールを以下のように変更します。

  QUERY_RESULT_MAX_LIMIT = GlobalSetting.query_result_max_limit || 10_000

それで十分でしょうか?

「いいね!」 2

閉じる…

定数を使用するのをやめ、代わりに GlobalSetting.query_result_max_limit をすべてで使用することをお勧めします。デフォルトを設定済みなので、二重に設定する必要はありません。

しかし、GlobalSetting を設定しない場合のデフォルトが必要ですよね?

plugin.rbで設定します。

オーーーー。 「add_default」は実際にデフォルトを追加するということですね。 :person_shrugging:

しまった。

したがって、デフォルトのGlobalSettingを追加し、古い定数へのすべての参照をGlobalSettingに置き換えます。

わかりました。

やってみます。