Admin ist wegen Auto-Minify für Cloudflare nicht zugänglich

Hallo,

Ich habe versucht, ein Plugin in Discourse zu erstellen, indem ich dieser Seite gefolgt bin: Developing Discourse Plugins - Part 1 - Create a basic plugin und ich habe den Plugins-Ordner auf den Server hochgeladen. Danach konnte ich nicht mehr auf die Admin-Seite in Discourse zugreifen.

Als ich die Browserkonsole überprüfte, sah ich die folgende Fehlermeldung:
Fehler: Es gibt keine Route namens admin

Ich habe über SSH die Rolle meines Benutzers überprüft, sie hat Admin-Privilegien. Ich habe auch versucht, die Plugins-Ordner aus Discourse zu löschen, aber ich habe immer noch das gleiche Problem.

Kann mir jemand bei diesem Problem helfen?

Vielen Dank im Voraus!

Möchten Sie Administrator in Ihrer Entwicklungsumgebung oder in einer Produktionsumgebung sein?

Wenn es sich um eine Produktion handelt, können Sie

cd /var/discourse
./launcher enter app
rake admin:create

Für die Entwicklung sollten Sie in der Lage sein, ./bin/rake admin:create aus dem Discourse-Verzeichnis auszuführen.

Administrator-/Root-Berechtigungen auf Ihrem Server-Betriebssystem und in Discourse sind zwei völlig unterschiedliche Dinge.

Ich habe versucht, den Zugriff mit diesem Befehl zu ändern: ./launcher enter app, aber er hat bei mir nicht funktioniert.
Oh, ich meinte, ich habe Admin-Zugriff in Discourse.

Meinen Sie, dass Sie ein Plugin direkt auf Ihrem Server hochgeladen haben?

Discourse muss die JavaScript-Assets des Plugins zuerst kompilieren. Sie sollten das Plugin in ein GitHub-Repository hochladen, app.yml bearbeiten, um es hinzuzufügen, und dann ./launcher rebuild app ausführen.

Wenn Sie das Plugin direkt in den Plugins-Ordner hochladen, ohne es zu kompilieren, findet das Discourse-Frontend die kompilierte Datei nicht und es kommt zu Fehlern.

Wenn Sie Cloudflare für Ihren Server aktiviert haben, denken Sie auch daran, die automatische Minifizierung zu deaktivieren und den Cache zu löschen.

3 „Gefällt mir“

Hallo @Lhc_fl

Vielen Dank für die Hilfe. Es hat bei mir funktioniert, indem ich das automatische Minifizieren für Cloudflare deaktiviert habe.

Da ich neu bei Discourse bin, weiß ich nicht viel über die Arbeit mit Plugins. Ich habe versucht, ein Plugin in den Ordner plugins einzufügen, aber das, was Sie vorgeschlagen haben, hat bei mir funktioniert, indem ich das Plugin auf GitHub hochgeladen und es aus dem GitHub-Repository abgerufen habe.

Darf ich Sie noch etwas fragen? Können Sie mir bitte zeigen, wie ich benutzerdefinierte Felder oder zusätzliche Felder zu einem Thema hinzufügen kann? Ich möchte ein Plugin erstellen, das die Funktionalität von Themen erweitert. Ich möchte benutzerdefinierte Felder für Themen hinzufügen, deren Daten in der Datenbank speichern und sie auf der Detailseite der Themen rendern.

Nochmals vielen Dank!

Dafür sollten Sie ein neues Thema beginnen, und die Frage selbst ist zu allgemein für eine wirkliche Antwort. Sie sollten sich jedoch Developing Discourse Plugins - Part 1 - Create a basic plugin und den Rest ansehen. Sie sollten nach Dingen suchen, die sich auf die Erstellung von topic_custom_fields beziehen und diese zum Serializer hinzufügen. Sehen Sie sich https://github.com/discourse/all-the-plugins an, um alle Plugins zu erhalten, und suchen Sie dann in diesen nach Beispielen.

Sie könnten mehr darüber sagen, was Sie tun, dass benutzerdefinierte Felder erfordert, da es möglicherweise eine andere Möglichkeit gibt, diese Aufgabe ohne benutzerdefinierte Felder und ohne ein Plugin zu erledigen.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.