Ich habe naiv versucht, ein Plugin zu erstellen (was ich noch nie zuvor getan habe, außer vor einigen Jahren das Plugin-Tutorial durchgearbeitet zu haben), um die im DataExplorer-Modul festgelegten Limits zu überschreiben. Es funktioniert jedoch nicht.\n\nBin ich auf dem richtigen Weg oder ist dies ein völlig falscher Ansatz?\n\nhttps://github.com/tkrunning/x-discourse-data-explorer-max/blob/master/plugin.rb\n\nHinweis: Ich setze QUERY_RESULT_DEFAULT_LIMIT auf 1, um leichter testen zu können, ob die benutzerdefinierten Limits wirksam werden.
Ich empfehle hier kein Plugin.
Reichen Sie stattdessen einen PR ein, um eine globale Einstellung hinzuzufügen (die durch die Umgebung unterstützt wird).
Anscheinend hatte dies in den letzten 2 Jahren keine hohe Priorität für irgendjemanden, aber ich brauchte dies heute und habe es gelöst, indem ich die Datei manuell im Container bearbeitet habe.
Eine Problemumgehung wäre etwas wie das Folgende in 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
Aber es sieht so aus, als ob der PR etwas wie das Hinzufügen zu plugin.rb wäre:
GlobalSetting.add_default(:query_result_max_limit, 10000)
und dann die obige Modul zu etwas wie ändern
QUERY_RESULT_MAX_LIMIT = GlobalSetting.query_result_max_limit || 10_000
Ist das alles, was es brauchen würde?
Schließen…
Ich würde die Konstante nicht mehr verwenden und stattdessen überall GlobalSetting.query_result_max_limit verwenden. Sie konfigurieren bereits einen Standardwert, warum sollten Sie ihn zweimal konfigurieren?
Aber es muss einen Standardwert geben, wenn sie die globale Einstellung nicht festlegen?
Sie legen es in plugin.rb fest.
OHHHHHH. Ich schätze, “add_default” fügt tatsächlich einen Standard hinzu. ![]()
Ups.
Füge also den Standard GlobalSetting hinzu und ersetze alle Verweise auf die alte Konstante durch die GlobalSetting.
Verstanden.
Ich werde sehen, was ich tun kann.