Je suis de plus en plus proche de transformer PfaffManager en un véritable produit. Mon MVP consiste simplement à remplacer https://www.literatecomputing.com/discourse-installation-packages/ par Discourse, afin que les utilisateurs puissent acheter une installation (comme ils le font actuellement via WordPress). Cela déclenchera l’installation dans Discourse (fonctionnel), où ils pourront en outre suivre en temps réel l’avancement de l’installation (fonctionnel), puis cliquer sur un bouton pour lancer une reconstruction (fonctionnel) pendant une certaine période.
J’ai utilisé add_model_callback(GroupUser, :after_save) pour vérifier que lorsqu’un utilisateur est ajouté au groupe CreateServer, cela crée le serveur (dans le modèle ajouté par mon plugin) et le retire du groupe (afin qu’il puisse, théoriquement, acheter une autre installation de serveur). Je pense que cette technique pourrait être utilisée pour faire de discourse-subscriptions un système de paiement assez polyvalent.
Quelques éléments que je remarque dès maintenant :
le titre <h1> et le bouton partagent la même clé discourse_subscriptions.subscribe.title. J’aimerais que le <h1> affiche quelque chose comme « Acheter une installation ou un service » pour l’en-tête, et que le bouton indique « Payer maintenant ».
si le <h1> avait une classe subscription-title, je pourrais utiliser du CSS pour masquer le titre existant et le remplacer par un ::before, ce qui pourrait résoudre le problème mentionné ci-dessus.
j’aimerais ajouter une navigation vers /pfaffmanager/servers quelque part sur cette page, dans un en-tête ou un pied de page, mais je ne vois aucun moyen de le faire. J’ai essayé d’ajouter quelque chose comme {{~raw-plugin-outlet name="subscription-header-before"~}} dans le modèle s.hbs, mais ce n’est pas aussi simple.
Je pense qu’il est raisonnable de souhaiter un peu plus de classes spécifiques aux abonnements dans le plugin d’abonnement, mais je suis encore trop mauvais en CSS pour être certain d’avoir raison ou de savoir exactement à quoi cela devrait ressembler.
Ah ! Plutôt que de souhaiter des sorties de plugin dans le plugin d’abonnement, ne devrais-je pas plutôt créer mon propre modèle qui appelle toujours les fonctionnalités Stripe du plugin d’abonnement ? Est-ce que cela aurait du sens ?
J’accepterais une PR pour ces modifications. Elles sont assez simples.
Vous devriez pouvoir ajouter un {{plugin-outlet}} dans ce fichier. J’accepterais également une PR s’il existe un cas raisonnable pour cela. Les emplacements de plugin sont suffisamment légers. Un emplacement de plugin brut ne fonctionnera pas car il ne s’agit pas d’un fichier brut.
Est-ce que cela semble correct ? S’il n’y a rien de vraiment stupide ici, alors je pense que je suis sur la bonne voie pour pouvoir soumettre une PR cohérente.
Merci. J’espère « terminer » cette tâche actuelle, puis voir comment ajouter ces points de sortie de plugin ou d’autres similaires.
Et je pense qu’avec ces éléments en place, un composant de thème pourrait (avec un peu de réglages fastidieux) ajouter les liens par abonnement que je souhaite.