The Composer Help Button plugin, developed by cpradio, adds a customizable help button to the composer window that opens a modal displaying content from a specified public topic URL. Initially built to assist new users, it includes admin settings for configuration and requires the target topic to be publicly accessible to avoid access errors. The plugin was updated to fix compatibility issues after Discourse’s Ember upgrade, notably resolving a broken modal load by adjusting file extensions and paths cpradio. Later, settings were moved to the plugin tab for better organization cpradio, improving multisite compatibility riking. Users can customize modal size via CSS cpradio, as demonstrated by yadlabus. Despite these fixes, users on Discourse 3.2.0.beta2+ reported the button failing with an “ajax is undefined” error denvergeeks, suggesting a dependency or import issue in the plugin’s JavaScript. The plugin remains functional for older versions via a dedicated release branch cpradio. Suggestions for content include linking to Markdown guides like CommonMarkTerrapop and simplifying help text with links to advanced features and keyboard shortcuts EricGT. Recent reports indicate the plugin may still be broken for newer Discourse versions, awaiting further updates.
The only caveat, is that you need to store the Topic in a publicly accessible location so ALL of your members can see it. Otherwise, they’ll get an access denied error.
Something I should mention. By default the button will not appear until a URL is entered in the Admin Setting. So you won’t have a broken button out of the box
I feel like I’m close! I just can’t get the ajax loaded content to appear in the body of the modal window. I feel like I’m missing something, but I’m not getting any errors to indicate what I’m missing.
Can one of you take a peek and push me in the right direction? I’d really appreciate it!
nm. Seems I figured it out (not sure how though… I simply renamed the composer-help.js.handlebars to composer-help.hbs and took it out of the plugin.rb. Then I fixed the showModal call and it started working!
Merging to main branch soon so this plugin is at least functional again.
Yeah, it seems to be the ember upgrade, I’m trying to debug it, but running into problems, as it almost seems the plugin’s front-end isn’t being loaded at all.
There are a couple of things going on, first was the change that moved the composer window from #wmd-button-row to .wmd-button-row, now the second is far more confusing, as it states it can’t load discourse/controllers/controller…
As an FYI
With this change, you will need to re-enable the plugin and re-enter the URL for the modal window (so you might want to copy the URL before upgrading).
I found difficult to write the message that would display when clicking the help button, and I ended up posting a table with formatting ↔ code equivalences, quite larger than the pop-up window.
Is there a way to resize the modal window so that my table fits completely inside it?
Does someone have a good post or documentation that explains all the markdown, bbcode, and html tags in discourse? This can be used for the composer help button.
IMHO that is a lot to give to all users in one post.
If it were me I would break it down and post just the basics on the popup and include links to more advanced features. Also don’t forget to note the Keyboard Shortcuts which is on Discourse by default and accessed under the hamburger menu.