HOME

TheInfoList



OR:

Discourse is an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
Internet forum system released on August 26, 2014. It was founded by Jeff Atwood, Robin Ward, and Sam Saffron. The client side application is written in EmberJS. The server side is written in Ruby on Rails and backed by a
PostgreSQL PostgreSQL ( ) also known as Postgres, is a free and open-source software, free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transaction processing, transactions ...
database and
Redis Redis (; Remote Dictionary Server) is an in-memory key–value database, used as a distributed cache and message broker, with optional durability. Because it holds all data in memory and because of its design, Redis offers low- latency reads ...
cache. The
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
is distributed under the GNU General Public License version 2.


Features


Categorization

Similar discussions can be organized under categories. Admins can create categories, add category descriptions and logos, and control access to topics in the category. Discourse provides granular control over read/write permissions. Discourse also supports sub-categorization or nested categories. Subcategories are categories in themselves so they can be controlled in the same manner as parent categories. The only difference is the parent-child relationship.


Tagging

Tags are a lightweight alternative to categories, but they can also be used in conjunction.


Topics

Conversations in Discourse are organized into topics. Users are able to create new topics or reply to existing ones. Categories and tags can be assigned to topics which makes them follow the security rules for those if applicable. A topic consists of the initial post as well as any subsequent replies to it. Replies in Discourse follow a flat chronological order as opposed to being threaded. The Discourse core developers believe that threading replies is detrimental to the health of the overall discussion. Users can interact with each post independently. They can take actions such as reply, like, bookmark, quote or flag for moderation.


Trust levels

The user trust system is a "fundamental cornerstone of Discourse". Discourse's trust levels sandbox new users so that they cannot accidentally hurt themselves or other users, while granting experienced users more rights over time so that they can help maintain and moderate the community. The five trust levels are New, Basic, Member, Regular, and Leader. As users become more experienced, their trust level is raised, granting more rights and access to more features.


Discourse narrative bot

Discobot is a customizable bot that introduces new users to many of the platform's features like bookmarking a topic, embedded link previews ("oneboxing"),
emoji An emoji ( ; plural emoji or emojis; , ) is a pictogram, logogram, ideogram, or smiley embedded in text and used in electronic messages and web pages. The primary function of modern emoji is to fill in emotional cues otherwise missing from type ...
s, mentions, basic formatting, uploading images, flagging posts, and searching.


Personal messages

In addition to public and private topics, users on Discourse have the ability to send personal messages to other members in the community. Users receive notifications for personal messages and can add or remove members to a message at any time. Each user has a personal inbox that contains all of their sent and received messages.


Groups

Admins can create groups and add members to them. Groups can be used to manage access to certain categories, and for group mentions and group messages. When Discourse is installed, it creates automatic groups for administrators, moderators, staff, and the five trust levels. Custom groups can set to either public or private. Users can add themselves to a group or request to be added by the group owners. Users can also be automatically added to a group during signup based on their email address.


Editor

Discourse features a rich-text editor (the "composer"). It supports plain text, markdown, and
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
. The composer features a toolbar which includes formatting, quoting, and upload buttons. The preview panel in the composer allows users to see a live preview of the post. It supports
drag and drop In computer graphical user interfaces, drag and drop is a pointing device gesture in which the user (computing), user selects a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object. In general, i ...
image and file uploads. The composer supports OpenGraph and oEmbed.
URL A uniform resource locator (URL), colloquially known as an address on the Web, is a reference to a resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identi ...
s from external websites that support those standards will automatically expand to provide a summary of the URL. One of the key features of the composer is its ability to save drafts prior to publishing them. Certain actions in the composer are triggered based on user input. The "@" character brings up a panel for mentioning other users. The "#" character brings up a similar panel for categories and tags. The composer also features configurable JIT educational panels with the goal of promoting civilized discussion.


Admin interface

The administration dashboard's settings section allows control of appearance and behavior of the software, including fields for information about the community. The dashboard also provides an overview of the health of the community, via charts showing signup numbers and other health metrics. The localization section allows admins to change any text used in the interface.


User directory

The "Users" page in Discourse serves as a leader-board with search functionality. It includes statistics such as posts created, posts read, likes received, and days visited for a given time frame. Users can be sorted according to any of those metrics. Admins can optionally add more metrics.


Plugins

Discourse is extendable via plugins. Plugins create the ability to modify both the server and client sides of the application. Some examples of plugins include * Discourse Math, which adds support for math rendering. * Chat integrations, which integrate Discourse with popular chat platforms. * BBCode, which adds support for BBtags. The Discourse team maintains a list of both official and community contributed plugins on the official support forum.


Themes

The Discourse theme system allows admins to customize the client side application. Themes can modify the layout of pages, add new functionality, and add additional styles to any element in the interface.


API

Discourse has a REST API. The developers maintain a getting-started guide on the support forum as well as documentation for the API endpoints.


Security

The developers welcome peer audits of the
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
code and encourage reporting security issues. They maintain a vulnerability disclosure program at Hacker One.


DiscourseHub

DiscourseHub is the official,
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
Discourse application for Android and
iOS Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
devices. It allows users to keep track of new and unread posts and notifications across multiple Discourse sites. Real-time push notifications are native for officially hosted Discourse forums.


History

Co-founder Jeff Atwood announced in 2013 that Civilized Discourse Construction Kit, Inc. had obtained initial venture capital funding from First Round, Greylock, and SV Angel. In May 2017, he said in an interview that the company was generating approximately $120,000 per month. With the money, the company pays salaries for its full-time employees who maintain the software and develop new features. This is an example of an open source software business model where a company sells professional services to willing customers. As of March 2022, the developers shared that more than 3000 businesses or instances have chosen the official Discourse hosting which CDCK provides as
software as a service Software as a service (SaaS ) is a cloud computing service model where the provider offers use of application software to a client and manages all needed physical and software resources. SaaS is usually accessed via a web application. Unlike o ...
. In August 2021, Civilized Discourse Construction Kit announced it had secured US$20 million in Series A Investment by Pace Capital and First Round Capital. On February 1, 2023, Jeff Atwood stepped down as CEO and assumed the role of Executive Chairman. He was succeeded by Sam Saffron and Sarah Hawk.


Development and support

The Discourse project is developed and maintained by the developers at Civilized Discourse Construction Kit, Inc. (CDCK).


See also

* Comparison of Internet forum software * List of blog comment hosting services


References


External links

*
Official API documentation

Official discussion forum
* {{github, discourse/discourse, Discourse Internet forum software Free Internet forum software Free software programmed in Ruby