Procédure pour mettre à jour les plugins standards

J’ai un petit site Discourse auto-hébergé créé avec une installation Docker standard. J’ai installé de nombreux plugins au fil des ans en modifiant les hooks à la fin du fichier containers/app.yml pour cloner un dépôt de plugin via git clone. J’ai également fait un peu de développement de plugins.

Cependant, il y a quelques mois, de nombreux plugins standard ont été fusionnés dans le cœur de Discourse. Supposons que je crée une fork (une copie) de tout le dépôt Discourse, que je modifie l’un de ces plugins (disons, discourse-math), et que j’obtiens que les changements fonctionnent à merveille dans mon environnement de développement local. Quelle est la procédure pour intégrer ce nouveau plugin dans mon instance Discourse de production ?

par curiosité - pourquoi avez-vous besoin de forker l’un des plugins officiels ?

Dans tous les cas, dans app.yml, vous pouvez exécuter une commande pour supprimer le répertoire de plugin spécifique, puis cloner le vôtre si vous en avez absolument besoin, par exemple :

<in after_code: somewhere >
    - exec:
        cd: $home/plugins
        cmd:
          - rm -r poll
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/myaccount/myplugin-replacement.git

vous pourriez être en mesure de le faire, mais vérifiez :

<in after_code: somewhere >
    - exec:
        cd: $home/plugins
        cmd:
          - rm -r poll
          - git clone https://github.com/myaccount/myplugin-replacement.git

Je n’ai pas été très attentif aux espaces - assurez-vous que l’indentation est parfaite.

2 « J'aime »

Parce que j’espère mettre à jour la version obsolète de MathJax utilisée par le plugin discourse-math.

OK, il me semble que cette ligne est ce qui me manque :

cmd:
  - rm -r poll

Pour être clair, cependant, qu’est-ce que poll ? Je penserais que je devrais supprimer l’ancien répertoire discourse-math pour éviter les conflits que je semble rencontrer. C’est-à-dire, quelque chose comme

cmd:
  - -r plugins/discourse-math

Ne ressemble pas à une commande à exécuter à l’aveuglette. :slight_smile:

Peu importe si vous faites une erreur, reconstruisez simplement si vous en faites une.

Mon exemple concernait le plugin de sondage.

Ne répétez pas le répertoire du plugin.

2 « J'aime »

@merefield Soit dit en passant, je pense que l’animation sur ma page d’accueil pourrait vous plaire : https://discourse.marksmath.org/

J’ai utilisé une partie de votre code dans le processus.

1 « J'aime »

Ha, sympa, maintenant ajoute un clic sur la carte utilisateur ! :slight_smile:

2 « J'aime »

Ceci a fonctionné @merefield - merci beaucoup !!!

1 « J'aime »

Cela pourrait être un changement qui est pr-welcome pour le plugin officiel. Si vous souhaitez essayer cela au bénéfice de tous ceux qui dépendent du plugin, créez un sujet Feature pour le proposer.

3 « J'aime »