L'administration n'est pas accessible à cause de l'auto-minification pour Cloudflare

Bonjour,

J’essayais de créer un plugin dans Discourse en suivant cette page : Developing Discourse Plugins - Part 1 - Create a basic plugin et j’ai téléchargé le dossier des plugins sur le serveur. Après cela, je n’ai plus pu accéder à la page d’administration de Discourse.

Lorsque j’ai vérifié dans la console du navigateur, je vois l’erreur suivante :
Erreur : Il n’y a pas de route nommée admin

J’ai vérifié dans SSH, le rôle de mon utilisateur a les privilèges d’administrateur. J’ai également essayé de supprimer les dossiers de plugins de Discourse, mais je rencontre le même problème.

Quelqu’un peut-il m’aider avec ce problème ?

Merci d’avance !

Essayez-vous d’être administrateur dans votre environnement de développement ou dans un environnement de production ?

Si c’est en production, vous pouvez

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

Pour le développement, vous devriez pouvoir faire un ./bin/rake admin:create depuis le répertoire discourse.

Avoir des privilèges d’administrateur/root sur votre système d’exploitation serveur et dans Discourse sont deux choses entièrement différentes.

J’ai essayé de changer l’accès en utilisant cette commande ./launcher enter app mais cela n’a pas fonctionné pour moi.
oh, je voulais dire que j’ai un accès administrateur dans Discourse.

Voulez-vous dire que vous avez téléchargé un plugin directement sur votre serveur ?

Discourse doit d’abord compiler les ressources JavaScript du plugin. Vous devriez télécharger le plugin dans un dépôt GitHub, l’ajouter dans app.yml, puis exécuter ./launcher rebuild app.

Télécharger directement le plugin dans le dossier des plugins sans compilation entraînera l’impossibilité pour le frontend de Discourse de trouver le fichier compilé et provoquera des erreurs.

De plus, si vous avez activé Cloudflare pour votre serveur, n’oubliez pas de désactiver la minification automatique et de vider le cache.

3 « J'aime »

Salut @Lhc_fl

Merci beaucoup pour votre aide. Cela a fonctionné pour moi en désactivant la minification automatique pour Cloudflare.

Comme je suis nouveau sur Discourse, je ne sais pas trop comment travailler avec les plugins. J’essayais donc d’ajouter un plugin dans le dossier des plugins, mais j’ai essayé ce que vous avez suggéré, qui a fonctionné pour moi en téléchargeant le plugin sur GitHub et en le récupérant depuis le dépôt GitHub.

Puis-je vous demander encore une chose, pouvez-vous me guider sur la façon d’ajouter des champs personnalisés ou des champs supplémentaires à un sujet ? En fait, je veux créer un plugin qui améliore la fonctionnalité des sujets. Je veux ajouter des champs personnalisés pour le sujet et stocker ses données dans la base de données et les afficher sur la page des détails du sujet.

Merci encore !

Vous devriez démarrer un nouveau sujet pour cela et la question elle-même est trop vague pour une réponse concrète, mais vous devriez jeter un œil à Developing Discourse Plugins - Part 1 - Create a basic plugin et au reste. Vous voudrez rechercher des informations sur la création de topic_custom_fields et leur ajout au sérialiseur. Voir GitHub - discourse/all-the-plugins pour obtenir tous les plugins, puis vous pourrez y rechercher des exemples.

Vous pourriez en dire plus sur ce que vous faites qui nécessite les champs personnalisés, car il pourrait y avoir une autre façon d’accomplir cette tâche sans champs personnalisés et sans plugin.

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