blog

archives

COVID-19 and Discourse

Jeff Atwood April 2, 2020

The world is in the midst of a global pandemic. I’m sure you’ve seen a lot of these messages, so we’ll get right to the point.

As a completely free open source tool for coordinating online work, Discourse can possibly help:

  • For accredited schools, universities, doctors, and any other credentialed experts who are working to combat COVID-19 we are offering a three month free business hosting trial. Please email us at team@discourse.org to ensure eligibility first. At the end of that three month free period we’ll work with you to make sure things go smoothly. We’re here to help.
  • If you need assistance setting up or operating your COVID-19 Discourse community, read through the Calling Out for Volunteer Community Managers topic. Feel free to PM a volunteer near your time zone for possible assistance — but remember you can’t PM until you achieve trust level 1, which will take a bit of reading.
  • If you wish to host yourself, Discourse is forever 100% free open source software. The minimum system requirements are a $5 per month VPS. If you would prefer someone else take on setup, follow the links at the bottom of our 30 minute setup guide.

If we work together, we can all get through this.

We hope you stay safe with your loved ones.

0 comments

Discourse 2.4 released!

Jeff Atwood February 25, 2020

Today we release Discourse 2.4, building on Discourse 2.3 from last year. For post 2.0 releases we’ve chosen a new set of codenames based on the history of human communication; this release is Cuneiform.

Hardware Security Keys

We shipped support for authentication apps in prior releases of Discourse, but nothing defeats hacking and phishing as definitively as hardware security keys.

Now that browser support is finally mature we’re proud to ship full support for the U2F / Fido security key standard in Discourse.

Register (and give cute pet names to) as many security keys as you want for your account. You can also make second factor authentication required for staff only or all users via the enforce second factor site setting.

Strict CSP On By Default

We started down the CSP road with Discourse 2.2, making CSP standard for all new Discourse installs, but not enforcing it on existing older installs. As of this release, we’ve forced the strictest CSP mode for all Discourse installations — so your site, and your users, will enjoy the absolute highest level of protection from hacking and exploits.

See Mitigate XSS Attacks with Content Security Policy for full details on CSP.

Revamped User Menu

The user menu is now tabbed. Enjoy direct access to notifications, bookmarks, and messages right from your user menu.

Clicking or tapping your username lets you jump into your summary, activity, messages, preferences — or log yourself out.

Bigger, Badder Emojis

One of the general principles in Discourse is that posting a link on a line by itself causes magic to happen … in the form of oneboxing. We’ve decided to emulate common chat applications and extend that concept to the glorious world of Emoji!

When 1-3 emoji are typed on their own line, they’re now automatically made LARGER.

Better Insert Hyperlink

When inserting a hyperlink from the composer, all you could do is paste in an URL. How dull! Now you can dynamically search for existing topics directly from that very same field. Just start typing to begin your search!

Tag Enhancements

Tags, the more flexible, lightweight cousins of categories, gained a bunch of new functionality in this release:

  • Set default tracking, watching, muted, and watching first post state for tags across all your users.

  • Require that a topic contain at least one tag from a tag group.

  • Synonym support: similar tags, common tag mis-spellings, colloquialisms, and more will now be automatically combined.

  • Tags can be easily merged at will.

  • Search now returns tags, if a tag matches your search term — and you can search within a tag group by typing #tag-group in search. It’s also possible to search for tagged or untagged topics using in:tagged or in:untagged.

Improved API Key Security

The Discourse API is a powerful tool for interacting with a Discourse site. We’ve made major improvements to security and functionality for API keys in this release:

  • Users can now create more than 1 API key, so individual keys can be revoked if compromised.
  • API keys can now include a description, letting you keep track of what each key is for.
  • Keys can be revoked, preventing them from being used, without fully deleting them.
  • Unused API keys will be deleted after 6 months without use. This is configurable via the revoke_api_keys_days site setting.

Poll improvements

Polls can now be presented as pie graphs, and restricted to voting by specific groups.

Polls can be set to close at a certain date and time, and Staff can also export poll data with a single click for further analysis if needed.

Award a badge to a set of users

People kept asking us if there was a way to award an arbitrary badge to an arbitrary set of users. Indeed, there wasn’t an easy way to do this.. until now!

Press the “Bulk Award” button to trigger a badge award to a simple CSV list of usernames or email addresses. See this topic for more details.

And So Much More!

We work hard to make every release amazing, and there’s just too much to cover in one blog post! View the release-notes tag to get a detailed account of changes in every beta leading up to this release, or see the full release notes.

Easy One Click Upgrade

If you are on our hosting, you’re already upgraded. Otherwise, upgrading is as easy as clicking the Update button linked from your Discourse dashboard.

Discourse Admin Dashboard, version upgrade notice

We have a public exploit bounty program at Hacker One as a part of our security policy. Being secure by default is a core value at Discourse, and we always follow up on any security concerns brought to us. There are several important security fixes in 2.4, so we urge everyone to upgrade to it as soon as possible.

If you don’t have a Discourse to upgrade, why not? Install it yourself in under 30 minutes, or start an absolutely free, no strings attached 14 day hosting trial!

Thank You

First, thanks to our customers. We’re able to build a better Discourse every single day with your direct financial support.

Second, it’s not open source without code contributions! Thanks for the pull request contributions in this release from:

xrav3nz
angusmcleod
kimardenmiller
LeoMcA
pfaffman
hooopo
localjo
schungx
sbernhard
adamcapriola
fzngagan
rimian
majakomel
mrfinch
AhmadFCheema
mjrbrennan
ermolaev
jasquat
LS80
and0x000
rolabrie
SidVal
danielhollas
nylen
Arkshine
muhlisbc
jcalvento
rrooding
cryzone
ryan-boder
nachocab
hectorbus
dandv
JuanitoFatas
yosiat
xronos-i-am
Stanzilla
benny-burkhart
FunnyHector
sgerrand
vijayanandnandam
rajkumarkandasami
rafaeldriutti
kirylpl
merefield
kairyou
rjherrera
nepeat
Manningham
samamorgan
janko
discourse-plugins
YesThatAllen
aakarsh12345
yarons
barreeeiroo
fushnisoft
discoursehosting
chrispanag
RubenHoms
recursivecodes
ranjan-purbey
eshpakovsky
anle1337
AndrewSverdrup
dickmao
dominic-berta
anythingagency
jesus2099
ranss
joshmoore
Arkweid
SantosGuillamot
julienma
nedbat
eduardopoleo
mabras
jacobherrington
qrush
curiousdannii
xfix
jelly
owalk
bhipple
jwjwyoung
AlexP11223
rizka10
mintsaxon
adqm
brechtm
mdoggydog
artemv

Many thanks to the translators who generously contributed their time and effort translating Discourse into dozens of languages for this release.

As always, thanks to the greater Discourse community for posting support / bug request / feedback topics on meta.discourse and helping us improve Discourse. If you operate or support a Discourse community, we would love to hear from you!

Wondering what’s coming up next for Discourse in version 2.5 and beyond? Visit the releases category to get a sneak preview of what we’ll be working on next.

6 comments

Discourse for Science and Academia

Rishabh Nambiar January 30, 2020

A sizable number of Science and Research communities rely on Discourse for their discussion needs; let’s take a deeper look and figure out why.

We’ve spoken to an assortment of customers and self-hosted sites to learn more about their use cases and determine the role of Discourse in the success of these remarkable communities.

How does Discourse add value to your organization?

For our physicists and developer community, Discourse is the place to get nearly instantaneous support, with an obvious, friendly interface. It allows us to multiply our few developers in two ways: users actively help other users and any post remains for the future as part of a knowledge base. This scales so well that tens of developers can support tens of thousands of users worldwide. It gives us an enormously efficient way to not spend time on coding but on physics – and we love it! It has now caught fire: while we remain the biggest instance at CERN (likely in all of high energy physics), lots of CERN projects adopted it now, too.

~ ROOT, CERN

…we initially tried a few other forum systems including PHPbb and NodeBB but a after trying Discourse, we never looked back. The user experience on Discourse is superb, and this makes it fun to participate in discussions and help out the community, which I think helps draw people from proprietary forums over to us. Our forum has attracted an incredibly kind, knowledgeable bunch of researchers, practitioners, and experimenters who are keen to share experiences and help each other.

~ NeuroBB

Our organization is dedicated to improving the ways we use computational models to study social-ecological systems – improving the way we design, develop, document, share, analyze, and ultimately archive our computational models. Discourse provides a fantastic out-of-the-box experience and was easy to integrate into our science gateway with SSO. In addition to general forums functionality we embed it on our community submitted job postings, events, and archived computational models.

~ ComSES Net (Network for Computational Modeling in Social and Ecological Sciences)

What are your favorite things about Discourse?

The top 3, ordered by how many respondents mentioned it:

Incredibly robust spam protection
“Forums that we’ve run on other platforms have eventually been overrun with spam posts and bots. Discourse does a superb job of repelling unwanted content, which makes our job a whole lot easier.”

Tight email integration
“Users who like mailing lists can interact with a Discourse forum as if it was just a mailing list, while the rest of us can interact with it as a slick JavaScript app.”

WYSIWYG and Markdown support
“It also has the nice side-effect of teaching my students Markdown, given how the formatting buttons simply add Markdown formatting to the existing text. That’s quite nice.”

Also mentioned were many of the usual suspects:

  • Easy to upgrade, maintain and good plugin system
  • Responsive developer support on meta.discourse.org
  • Thoughtful touches like post-notices for first-time posters and time gap notices for replies to old posts are appreciated by users
  • Dynamic, live updates and notifications without reloading
  • Easy for new users to get started with; Clean and simple interface
  • Informative admin dashboard that gives us a window into the site’s operations

Feature & Plugin Showcase

In this section, we’d like to talk about a few popular Discourse features and plugins that can be very relevant for Science and Research-type communities. Both MIT-licensed plugins are available on all our hosting plans and any features mentioned here are included in the core Discourse feature set.

Discourse Math

Have you ever wondered if Discourse could help you do math? Our Math Plugin adds support for rendering mathematics within posts using LaTeX. Math can be added inline with text or displayed separately in a dedicated block.

Discourse Solved

Great answer? The Solved plugin allows users to accept solutions to their topics. Solved topics are marked with a check on the topic list, and the solution is automatically displayed at the bottom of the first post.

Highlighted code blocks

Need to post a ton of code snippets? No problem.

Highlight your code by clicking the </> button in the Discourse composer and type it in between the back-ticks.

Behind the scenes, Discourse uses the highlight.js library for syntax highlighting but the default code lang, autohighlight all code and highlighted languages settings can be used to tweak things further.

Auto-formatted tables

When copy-pasting tables from external spreadsheets directly, you’ll see that they retain formatting in the Discourse composer. This makes it much easier to showcase results right inside posts.

What are some things that would make Discourse better?

  • Adding sitemap support by default or getting list of post URLs by categories will help in building general tools.
    While the former can be added only through the discourse-sitemap plugin, the latter can be achieved through a custom Data Explorer query. If you need help with this, feel free to ask us for help on meta.discourse.org.
  • The biggest feature that would help us would be a category where students could post, instructors and staff could browser and read posts, but students couldn’t read each others posts. This would allow us to help students with their source code without allowing other students to see their submissions.
    We’ve seen this request a few times before but it’s not on the roadmap as of now! A perfect workaround for this is to ask students to send the assignments to the staff group through a personal message. This can be configured through the Who can message this group? setting.
  • Some of our users are joining only to participate in one specified category. It could be easier to mute everything, e.g. easy access to a list of all categories where one can check the categories to mute vs follow. Similarly would it be useful to enable following of specified tags.
    Yes, the default_mute_all site setting does exactly what your looking for! Besides that, users can control this in their preferences at Notifications > Categories and Notifications > Tags.
  • We have private boards we use to collect emails, as a quasi email help desk system. These emails come from people who might not have Discourse account. It would be nice if replying to one of these posts would automatically send the user the reply as an email.
    We added support for support inboxes and staged accounts a while ago through the email in setting. Once you enable that, head over to /groups > <group_name> > Manage > Interaction and fill in the “Custom incoming email address“ field. To make this clearer, we plan to update this space with a #howto topic for using Discourse as a support inbox.

Wondering if there are any educational discounts on our official hosting plans?

Sure! If you are legally recognized as an educational institution we offer an 85% discount on the Standard & Business plans. See the FAQs on our pricing page for more details.

Image result for scientists vector"

As always, we’re immensely thankful for having users that willingly engage with us to improve Discourse.

Big ups to ROOT (CERN), University of Illinois, OpenGenus, NeuroBB, The Materials Project, The Network for Computational Modeling in Social and Ecological Sciences (ComSES Net) and the Institute for Globally Distributed Open Research and Education (IGDORE).

1 Comment

For more blog posts, visit the archives