Is anyone working on a Discourse Wiki?

There are definitely some low-hanging fruit that could be picked for a “wiki category” update or plugin.

“Auto-wiki of first posts” and “always scroll to top” would be a great start.

1 Like

Buy an enterprise hosting contract is the main way to move forward. None of our customers are asking for this. Not opposed to it but we have other priorities based on our paying customers at the moment.

4 Likes

This one has been spec’d out and currently has a “bounty”:

3 Likes

If you want to split the requests, that probably could be done through another feature:

Topic templates commands. So we could issue a command to turn it into wiki. Not sure if this have been considered yet, or why not. If it haven’t, I’m probably posting this in the wrong place… :stuck_out_tongue:

1 Like

Just to throw in my 2 cents. I love Discourse, and a Wiki option would be AWESOME! I too feel like most wiki software is stuck in 2005 or earlier.

1 Like

To be clear “Wiki” functionality exists:

Perhaps it’s not an exact replacement for Wikipedia’s MediaWiki - but the base functionality to a large degree exists and works.

6 Likes

It’s a solid foundation that could be much improved with a little bit of work:

In a “wiki category” :

  • All new topics are wikified by default
  • Author attribution is suppressed
  • Always go to first post when viewing a topic
    (option to hide replies on separate page)

And made into a “proper” wiki with some more detailed and involved work:

  • Table of contents generation with [contents] object and headers
  • Create links to other topics by “tagging” them ie. &PageTitle
  • Create new topics by tagging a non-existant page eg. &NewTopic
9 Likes

I happened to be looking at this today in another context. While it’s a little convoluted, it is actually possible to pass non-default parameters (such as wiki) to new posts. It took me a little while to figure this out, so someone else may find it useful. There are four things you need to do:

  1. Set wiki to true when creating the post record in the store.
  2. Add wiki to the serialized composer properties via Composer.serializeOnCreate.
  3. Use PostRevisor.track_topic_field(:wiki) to add wiki as a permitted param in the posts_controller.
  4. Save the wiki opt to the Post using the post_created event.
6 Likes

I’ve been trying to decide which official Wiki to create a plugin with MediaWiki Classic of the new FederatedWiki.

Thank you so much for posting your experience.

Wiki pages on a forum are a great idea, kudos to Discourse. The revisions system works well. The editor is great.

But there’s a massive gap in functionality from my PoV.

If two people edit concurrently, one person’s work is lost

We’ve not had much use of the wiki feature on my forum (1000 visits/day) but we’ve already seen multiple edit clashes.

Suggested solutions in order of preference (preferred first):

  1. Live collaboration (show where the editors’ cursors are, as per google docs).
  2. Lock a post to other editors when it’s being edited
  3. Allow conflicts to be merged by the last editor.
2 Likes

I haven’t tested this locally, but are both revisions available in the edit history modal?

(BTW you posted an incomplete URL to the example of the problem)

2 Likes

I believe both revisions are there in the history, yes. The link is just to the forum. The conflicts were in our private staff area. The issue is easily reproducible.

Yes, both are visible – but the second person to make the edit usually won’t notice that they reverted the previous person’s changes. :frowning:

2 Likes

I’ve not tried this myself, but I think the Pages theme for Grav (a flat file CMS) could serve as a wiki. Additionally, Grav has support for Discourse comments via the JS Comments plugin.

The official Grav docs use the same theme.

1 Like

This discussion is several years old, but I came upon it after realizing that organizing my forum as a wiki would be really cool. @peternlewis has captured well what I would have in mind too. It’s not just allowing wiki functionality in individual posts–its having my discourse site act like a wikipedia like wiki. Like he said:

Is this possible with discourse?

1 Like

Would this be it? https://meta.discourse.org/knowledge-explorer

4 Likes

You can install DiscoTOC - automatic table of contents on any plan

You can embed runnable code using Codepen or https://repl.it/

3 Likes

Thanks.

To be more specific I think we are on one of the open source plans and probably this one in particular: Free Hosting for Open Source v2 | Blog

As an admin I checked to see if I could install DiscoTOC and it was not in the list of available plugins. :slightly_frowning_face:


Thanks but sadly we are Prolog programmers, specifically SWI-Prolog (Discourse forum) and while there is some ability to do some Prolog with CodePen, it is no where near what can be done with Prolog and since it was not specifically SWI-Prolog, it was not used. SWI-Prolog does have an online tool called SWISH, but even this is handicapped for security reasons from doing what can be fully done with Prolog; if you know how much you can do with LISP being homoiconic then you get the idea. I did try to integate SWISH with an Iframe and some other ideas but could not get any of them to work as desired; I did get something working but it was not practical, screen width IIRC.

Again, thanks for the feedback it was much appreciated.

It’s a theme component

2 Likes

what were you referring to there?