Check plugin or theme validity

i have collected about 200 github repos for discourse plugin /themes,is there any way to check the compatability with latest discouse version ?

          - 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 Like

First, a lot of those are themes, and shouldn’t be installed via the app.yml file.

Second, you shouldn’t install any plugin in Discourse by default. Everything you need to have a discussion forum comes included in the main software. Plugins should be added only after careful consideration, if the increased complexity overweight the added features.

8 Likes

Sure. Just rebuild and test that they all work.

It’s pretty much the case that if you’re asking that question that there isn’t really an answer that can be provided that will make sense to you.

You want to install plugins when they solve a problem, not install everything and then try to fix them.

For some sites I auto install sets of plugins that are included with the cdck standard or business plans. For lots of people, even that isn’t always a good idea.

You almost certainly don’t want either of the plugins from me. They are useful for a very specific community with bizarre needs.

2 Likes

i got it
sencond just want to know what they do in case what happens i know there is a similar solution

Then you need to look at the topic that described them, the plugin Readme, or the code itself. It doesn’t make sense to ask “what do these 50 plugins do?”

you have mistaken me
first is what you said to read doc
second should be to install and check what is really look like
that is what i want to do
a simple forum you can see all avaliable plugin or themes preview through disable or enable ,right now pretty much have previews and not all ,at the same time we dont know whether fit one of themes

There are a lot of plugins that use the same route and can cause clashes. The best approach to installing a plugin is to only do it if and when you feel that Your community needs a solution that discourse doesn’t ship in the core. I have deployed about 2 dozen communities for my clients and only half a dozen have actually really opted for some plugins since their use case requires something more than what is already shipped in discourse. Most communities only need visual enhancements which can almost always be achieved by using themes.

1 Like

yes i do got a lof clashes and i am not quite familiar ruby and quite reluctant to read code.so I wonder if there is already proven plugin and theme compatibility between them when you do have a requriment you can choose ,it do save a lot of time for participants of discourse community

The safest choice when You’re looking for most up to date compatibility is to use official plugins as those are often the ones tested to work with discourse by a relatively large user base and are more than likely to receive quick fixes in case something goes wrong.

i do know this pricinple but it sometime prevent the growing of our community

This is not a released plugin and not supported. This is just a WIP repo awaiting changes from Apple. It’s still on my list to get back to it when conditions allow.
Had I released it there would be a dedicated Topic on how to use it.

Working third-party plugins usually have their own Topic in the #plugin Category, describing how to use them. If this is missing I would be very wary.

As per Falco you should start with the vanilla software and only add a plugin when it adds features you simply must have and only if you can tell from its history that it is well supported as every upgrade risks your site not being able to work properly.

So I would not recommend you install a plugin if:

  • it does not have a dedicated Topic in #plugin stating explicitly that it has been released
  • its Topic has been moved to #plugin:broken-plugin
  • it doesn’t show recent commits (that are likely to reflect updates to maintain compatibility with Discourse or active support to fix bugs)
  • you don’t understand what it does functionally.
2 Likes

Expectation that adding more plugins will somehow create a successful community is, unfortunately, a very common misconception.

4 Likes

Just a thought. Might it be possible to run tests alone?

spitball: a way to install the tests from the repository without installing and running the plugin?

1 Like

The development install #howto topics describe how to run tests and I believe that those tests will run against all installed plugins. Many plugins have no tests or might be written such that they would cause tests to fail if it’s designed to change how discourse works.

Also, there is Setting up plugin continuous integration tests on Travis CI which will allow you to run tests for a given plugin at every commit.

I would be interested to know how to have Travis run a full test against a particular set of plugins to confirm that there are no conflicts. One day I’ll get around to creating a topic about that.

It is certain that tests of all of the plugins mentioned above will fail and knowing that it fails won’t be of any use to anyone.

2 Likes

Yes, the logistics are daunting. What’s permutation, something like 2n where n is the number of individual values?

Anyway, if as a resource “ahead of time”, even with only 30 addons there’s more than a Billion possible combinations. And this for any given “snapshot” in time, with each version change moving closer to moot.

If as a service “on demand”, I can’t think of a good UI for presenting all possibilities, and even severely limiting the UI would introduce a security risk if not under control of what repos are installed.

I’m not saying it’s impossible or not viable. I don’t know what income and expense model might work.

2 Likes