Users can arrive at Discourse in two ways. Either by going straight to the site itself, or through SuttaCentral.
On SC, we’ll have a Discourse button on the sidebar. This will take you to the relevant Topics in Discourse, based on the tagged ID of the sutta. So the page for MN 1 Mulapariyaya will have the Discourse URL:
/tag/mn1. Like this. Since this ID also underlies the basic URL/navigation structure of SuttaCentral, there will be a fundamental parallelism between the two.
There are a fixed number of Categories for discussions about suttas. For the moment, they are:
When you go to the tagged page, we can either have automagically generated blank Topics for these, or else leave it to the user to create them, but they must be forced to assign each Topic to one of these Categories.
I’ve given some starter examples for these, and created a description for each Category.
Each Topic for a particular Sutta is automatically assigned three tags: ID, Title, and Language.
There is a fairly basic tags plugin, which I have installed (yay!). Tags may only be created by Very Important People, so puthujjanas can’t create tag soups.
(Essays should maybe also be given an author tag. This is because the person uploading the essay will usually not be the author of the text. We can supply a list of possible authors, but the user may not create their own. If an Essay is uploaded without an author tag, we should add one.)
One Discourse concept that will be useful here is Archetypes. It is, in theory, possible to create different ways of handling Topics. For example, one could design Questions so that rather than being displayed in chronological order, the most “liked” questions go to the top. An example of such an Archetype has already been developed. That same article, however, also highlights the problems with the notion of archetypes in Discourse, which seem to be underbaked at the moment.
Some things that could be done with archetypes:
- Word number: Limit word number for Q&A, and Discussions, but expand it for Commentaries.
- Expand HTML: Enable more complex HTML for Essays. Tables, for example, will never be supported in either HTML or Markdown for the basic Discourse, but a plugin might make it possible. It may even be possible to enable a more capable editor, so that whole Word docs could be pasted in, but whether we want that is another thing. Certainly it will be good to constrain Discussions, Q&A, and Notes to simple Markdown.
- Expand and Linkback Notes: This is probably more pipe-dreamy, but what I’d like for the notes is a little more complex. Discourse already enables auto-expansion of certain kinds of links via Oneboxing, so that if I paste a Wikipedia link, it displays the first paragraph or so, with a photo and nice formatting. Sweet! Wouldn’t it be nice if we could paste an SC paragraph number and it would quote the whole paragraph as a blockquote? So I just paste a URL: http://suttacentral.net/pi/mn1#3, and that paragraph appears. I can then write my notes underneath. Even better, I could add my notes as links to the quoted paragraph. So that would look something like this. Even better, how about if such notes could be back-ported to SC itself, so that you could hit “Notes” on the sidebar, and it would display any notes added on Discourse?
How is all this to be implemented? I’m guessing that we may want to write our own plugin for Discourse.