プラグインまたはテーマの有効性を確認する

Discourse プラグインやテーマの GitHub リポジトリを約 200 件収集しました。最新の Discourse バージョンとの互換性を確認する方法はありますか?

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/Fakebook
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-brand-header
          - git clone https://github.com/discourse/discourse-knowledge-base-theme
          - git clone https://github.com/discourse/discourse-characters-required
          - git clone https://github.com/discourse/discourse-solved
          - git clone https://github.com/discourse/discourse-voting
          - git clone https://github.com/discourse/discourse-calendar
          - git clone https://github.com/discourse/discourse-styleguide
          - git clone https://github.com/discourse/discourse-assign
          - git clone https://github.com/discourse/discourse-yearly-review
          - git clone https://github.com/discourse/discourse-sitemap
          - git clone https://github.com/discourse/discourse-custom-header-links
          - git clone https://github.com/discourse/discourse-fingerprint.git
          - git clone https://github.com/discourse/wp-discourse
          - git clone https://github.com/discourse/discourse-translator
          - git clone https://github.com/discourse/discourse-tooltips
          - git clone https://github.com/discourse/discourse-knowledge-explorer
          - git clone https://github.com/discourse/DiscoTOC
          - git clone https://github.com/discourse/discourse-chart
          - git clone https://github.com/discourse/discourse-social-share
          - git clone https://github.com/discourse/discourse-users-nav
          - git clone https://github.com/discourse/discourse-algolia
          - git clone https://github.com/discourse/discourse-whos-online
          - git clone https://github.com/discourse/discourse-amazon-sns
          - git clone https://github.com/discourse/discourse-login-with-amazon
          - git clone https://github.com/discourse/discourse-reply-template-component
          - git clone https://github.com/discourse/discourse-azure-blob-storage
          - git clone https://github.com/discourse/discourse-header-submenus
          - git clone https://github.com/discourse/discourse-push-notifications
          - git clone https://github.com/discourse/discourse-affiliate
          - git clone https://github.com/discourse/discourse-backup-s3-uploads
          - git clone https://github.com/discourse/Discourse-Tiles-image-gallery
          - git clone https://github.com/discourse/discourse-placeholder
          - git clone https://github.com/discourse/discourse-plugin-office365-auth
          - git clone https://github.com/discourse/discourse-topic-group-button-component
          - git clone https://github.com/discourse/discourse-topic-author
          - git clone https://github.com/discourse/discourse-alt-logo
          - git clone https://github.com/discourse/discourse-like-column
          - git clone https://github.com/discourse/discourse-linkify-words
          - git clone https://github.com/discourse/discourse-optional-title-mobile-header
          - git clone https://github.com/discourse/discourse-expand-collapse-banner
          - git clone https://github.com/discourse/discourse-full-width-banner
          - git clone https://github.com/discourse/discourse-two-columns-banner
          - git clone https://github.com/discourse/Discourse-nav-links-component
          - git clone https://github.com/discourse/twitter-profile-link
          - git clone https://github.com/discourse/plugin_discourse_dynamic_sidebar
#          - git clone https://github.com/discourse/discourse-zendesk-plugin
          - git clone https://github.com/discourse/discourse-prometheus-alert-receiver
          - git clone https://github.com/discourse-pro/df-paypal-buy-now
          - git clone https://github.com/discourse/discourse-steam-login
          - git clone https://github.com/discourse/discourse-graphviz
          - git clone https://github.com/discourse/discourse-backup-uploads-to-s3    
          - git clone https://github.com/discourse/discourse-focused-sidebar
          - git clone https://github.com/tshenry/discourse-blog-post-styling

##       https://github.com/procourse/    
          - git clone https://github.com/procourse/discourse-mlm-daily-summary
          - git clone https://github.com/procourse/discourse-house-ads
          - git clone https://github.com/procourse/procourse-installer
          - git clone https://github.com/procourse/procourse-static-pages
          - git clone https://github.com/tshenry/discourse-versatile-banner

##       https://github.com/paviliondev/    
          - git clone https://github.com/paviliondev/discourse-pavilion
          - git clone https://github.com/paviliondev/discourse-question-answer
          - git clone https://github.com/paviliondev/discourse-follow
          - git clone https://github.com/paviliondev/user-card-directory
          - git clone https://github.com/paviliondev/discourse-wikimedia-auth
          - git clone https://github.com/paviliondev/discourse-advanced-ticketing
          - git clone https://github.com/paviliondev/discourse-locations
          - git clone https://github.com/paviliondev/discourse-landing-page
          - git clone https://github.com/paviliondev/discourse-ratings
          - git clone https://github.com/paviliondev/discourse-topic-previews
          - git clone https://github.com/paviliondev/discourse-multilingual          
          - git clone https://github.com/paviliondev/discourse-team-timezones       
          - git clone https://github.com/paviliondev/discourse-custom-wizard
            
# https://github.com/mozilla
          - git clone https://github.com/mozilla/discourse-email-all
          - git clone https://github.com/mozilla/discourse-post-read-email
          - git clone https://github.com/mozilla/discourse-mozilla-iam
          - git clone https://github.com/mozilla/discourse-category-categorization
          - git clone https://github.com/mozilla/discourse-tldr
          - git clone https://github.com/mozilla/discourse-group-category-notification    
          - git clone https://github.com/mozilla/discourse-mozilla-theme
#pfaffman
          - git clone https://github.com/pfaffman/discourse-ucf-to-account-page
          - git clone https://github.com/pfaffman/discourse-add-to-summary
#merefield
          - git clone https://github.com/merefield/discourse-sign-in-with-apple
          - git clone https://github.com/merefield/discourse-discord-bot
          - git clone https://github.com/merefield/discourse-onebox-assistant
#programmersforum
          - git clone https://github.com/programmersforum-reborn/discourse-simplify-category-list
          - git clone https://github.com/programmersforum-reborn/discourse-hide-category-selector
          - git clone https://github.com/programmersforum-reborn/discourse-disable-onboarding-overlay
          - git clone https://github.com/programmersforum-reborn/discourse-adjust-emoji-sizes


          - git clone https://github.com/ilikourou/discourse-ads
          - git clone https://github.com/AtakanYildirim1/esporintheme
          - git clone https://github.com/crbothe/discourse-wizard

          - git clone https://github.com/sylque/dcs-discourse-plugin
          - git clone https://github.com/jjaffeux/discourse-group-checklist
          - git clone https://github.com/markschmucker/digest_webhook
          - git clone https://github.com/tshenry/discourse-agreement-banner
          - git clone https://github.com/Daemonite/discourse-material-theme
          - git clone https://github.com/hnb-ku/discourse-checkout

          - git clone https://github.com/rimian/discourse-subscriptions
          - git clone https://github.com/roblox-dev-forum/discourse-definitions
          - git clone https://github.com/roblox-dev-forum/simple-flags
          - git clone https://github.com/eviltrout/discourse-no-nazis

          - git clone https://github.com/anythingagency/discourse-cm-theme
                      
          - git clone https://github.com/RobertFULL30/Discourse-Beer-Component-
          - git clone https://github.com/dfuzr/libra-discourse-category-banners
          - git clone https://github.com/iunctis/discourse-boutons-extras

          - git clone https://github.com/openSUSE-zh/discourse-cjk-text-spacing
          - git clone https://github.com/aksoforever/discourse-hello
          - git clone https://github.com/tshenry/discourse-last-seen-user-card-theme-component
          - git clone https://github.com/murayuki/Discourse-Keyboard-Text
          - git clone https://github.com/lionel-rowe/unformatted_code_detector
          - git clone https://github.com/anythingagency/discourse-cm
          - git clone https://github.com/bbardin/c.f-discourse-easy-footer
          - git clone https://github.com/Ebsy/discourse-nationalflags
          - git clone https://github.com/angusmcleod/discourse-tickets

          - git clone https://github.com/communiteq/discourse-multiple-hostnames
          - git clone https://github.com/featheredtoast/discourse-pushover-notifications
          - git clone https://github.com/lingokids/discourse-video-url
          - git clone https://github.com/mcwumbly/discourse-slackdoor
          - git clone https://github.com/davidtaylorhq/discourse-media-recorder-theme

          - git clone https://github.com/angusmcleod/discourse-layouts

          - git clone https://github.com/chrisbeach/discourse-camera-icon

「いいね!」 1

まず、それらの多くはテーマであり、app.yml ファイル経由でインストールすべきではありません。

次に、Discourse ではデフォルトでどのプラグインもインストールすべきではありません。ディスカッションフォーラムに必要な機能はメインソフトウェアにすべて含まれています。プラグインは、追加機能のメリットが複雑性の増加を上回るかどうかを慎重に検討した上で、追加するべきです。

「いいね!」 9

はい、可能です。単に再ビルドして、すべてが正常に動作するかテストしてください。

もしそのような質問をしているのであれば、あなたにとって意味のある回答を提供することは現実的ではありません。

プラグインは、問題を解決する必要がある場合にインストールすべきであり、すべてをインストールしてから修正を試みるべきではありません。

一部のサイトでは、CDCK のスタンダードプランやビジネスプランに含まれるプラグインセットを自動インストールしています。しかし、多くのユーザーにとってさえ、それが常に良い選択とは限りません。

私の提供するプラグインのいずれも、おそらく必要ないでしょう。それらは、非常に特殊で奇妙な要件を持つコミュニティにのみ役立ちます。

「いいね!」 2

わかりました。
2点目として、何かあった場合に彼らがどのように対応するのかを知りたいです。似たようなソリューションがあることは承知しています。

それなら、それらを説明しているトピック、プラグインの README、またはコード自体を確認する必要があります。「これら 50 のプラグインは何をするのか?」と尋ねても意味がありません。

私のことを誤解されています。
まず、ドキュメントを読むことについておっしゃいましたが、
次にすべきは、実際にインストールして、どのようなものかを確認することです。
私がやりたいのはそれです。
シンプルなフォーラムで、プラグインやテーマのプレビューを無効化や有効化を通じてすべて確認できるようにしたいのです。現在はプレビューがあるものもあれば、ないものもあり、また、どのテーマが合うのか現時点ではわかりません。

同じルートを使用するプラグインが多数存在し、競合を引き起こす可能性があります。プラグインをインストールする最善のアプローチは、コミュニティが Discourse のコア機能では提供されていない解決策を必要としていると感じた場合のみ、その時に限って行うことです。私はクライアントのために約2ダースのコミュニティをデプロイしましたが、そのうち実際にプラグインを採用したのはわずか6つです。これらは、Discourse に既に搭載されている機能以上のものを必要とするユースケースだったためです。ほとんどのコミュニティでは、ビジュアルの強化のみが必要であり、これはほぼ常にテーマを使用することで実現できます。

「いいね!」 1

はい、多くの競合が発生しています。Ruby にはあまり慣れておらず、コードを読むのもためらわれます。要件に応じて選択できる、すでに実証済みのプラグインとテーマの互換性はありますか?Discourse コミュニティの参加者にとって、時間の節約になります。

最新との互換性を最も重視する場合、最も安全な選択肢は公式プラグインを使用することです。これらは比較的大規模なユーザーベースによって Discourse との動作がテストされており、問題が発生した場合に迅速な修正が提供される可能性が非常に高いからです。

この原則は知っていますが、時としてコミュニティの成長を妨げることがあります。

これはリリースされたプラグインではなく、サポートもされていません。これは単に Apple からの変更を待っている作業中の(WIP)リポジトリです。状況が許せば、引き続き取り組む予定ですが、まだリストに残っています。
もしリリースしていたなら、使い方を説明する専用のトピックが存在していたはずです。

動作するサードパーティ製プラグインには、通常、#plugin カテゴリ内に使い方を説明する独自のトピックが存在します。これが欠けている場合は、非常に警戒すべきです。

Falco のアドバイス通り、まずはベータ版のソフトウェアから始め、どうしても必要な機能を追加する場合にのみプラグインを追加してください。さらに、そのプラグインの履歴から、十分にサポートされていることが確認できる場合に限ってください。なぜなら、すべてのアップグレードがサイトの正常な動作を妨げるリスクを伴うからです。

したがって、以下のいずれかに該当する場合は、プラグインのインストールをお勧めしません。

  • #plugin に「リリース済み」であることを明記した専用トピックが存在しない
  • トピックが #plugin:broken-plugin に移動されている
  • 最近のコミットが表示されていない(Discourse との互換性を維持するための更新や、バグ修正のための積極的なサポートを示すものではない)
  • そのプラグインが機能的に何を行うのか理解できない
「いいね!」 3

より多くのプラグインを追加することが、どうにかして成功したコミュニティを生み出すという期待は、残念ながら非常に一般的な誤解です。

「いいね!」 4

単なるアイデアですが、テストだけを単独で実行することは可能でしょうか?

spitball: プラグインをインストールして実行することなく、リポジトリからテストをインストールする方法はありますか?

「いいね!」 1

開発環境のインストールに関する howto トピックでは、テストの実行方法が説明されており、それらのテストはインストールされたすべてのプラグインに対して実行されると考えられます。多くのプラグインにはテストが存在しないか、Discourse の動作を変更する設計になっている場合、テストが失敗する可能性があります。

また、(Superseded) Set up plugin continuous integration tests on Travis CI には、各コミットで特定のプラグインのテストを実行できる方法が記載されています。

Travis 上で特定のプラグインセットに対して完全なテストを実行し、競合がないことを確認する方法について知りたいと考えています。いずれそのトピックを作成する予定です。

上記のすべてのプラグインのテストが失敗することは確実であり、失敗することを知っても誰の役にも立ちません。

「いいね!」 2

はい、物流面は確かに daunting です。置換とは、n が個々の値の数である 2n のようなものを指すのでしょうか?

とにかく、事前リソースとして、たとえアドオンが30個しかない場合でも、可能な組み合わせは10億通りを超えます。これはある時点での「スナップショット」におけるものであり、バージョンが更新されるごとにその意味は薄れていきます。

オンデマンド型サービスとして提供する場合、すべての可能性を提示する適切な UI を思い浮かべることができません。また、リポジトリのインストール状況が制御されていない場合、UI を大幅に制限してもセキュリティリスクが生じます。

不可能または非現実的だと言っているわけではありません。どのような収益モデルとコスト構造が機能する可能性があるのか、私にはわかりません。

「いいね!」 2