Wiki overhaul


#1

With most of the work of updating the forums done it’s now time to look at updating the wiki.

It’s currently running MediaWiki which is far too heavy/complex etc. for our needs, so I’m starting this thread as a place to discuss what we should change.

The three main options mentioned are:

Discourse

Complete integration with the forums.
Discourse has ‘wiki posts’ built in. They can be edited by any user at trust level one or higher.

We could either use existing forum categories as the main category for each page, and the tagging system for additional categories or make a wiki category and just use tags for page categorisation.

It should be pretty easy to write a small script that uses the Discourse API to render wiki pages at their existing wiki.sourceruns.org location.

Downsides are: no [[easy intra wiki links]] (could make a Discourse plugin to do that though), no table of contents, editing is done entirely seperate from the pages themselves.

Wiki.js

https://wiki.js.org/

Looks to be a fairly simple wiki with all the key feature we need.
Shouldn’t be too hard to integrate with the forums for authentication – wiki.js uses passport.js for auth, and there is a passport.js extension for Discourse SSO.

Downsides:

  • Is JavaScript running on a server
  • MongoDB

GitBook

Similar to wiki.js in the sense that it’s markdown files stored in git, but lacks any kind of frontend for editing, because it is built more for static documentation.

Other Options?

There are a million different platforms for running a wiki on, so definitely open to other suggestions…


#2

Gitbook does have an editor, looks like this:

I’d say the main issue with GitBook is that you’re limited to 5 contributors for each project that are able to use the editor directly in the project, anyone that wants to contribute externally/publicly would have to submit a pull request to a GitHub repository connected to the project.

Then that could be a plus depending how you look at it…


#3

Ah my bad. The 5 contributors was the main downside I could remember, but I think you can self-host it which lifts that limit.

I’ve been reading through wiki.js and it looks very simple to integrate authentication with the forums, so I currently think that is the best option.


#4

Replacing MongoDB is in development fo wiki.js so that won’t really be a downside so I think that would be the best option.


#5

Oh cool, just checked dev, Postgres and Redis is the same as the forums, so come 2.0 release I can just make them use the same DB instances as the forum.

Also these days I don’t think Mongo is too bad, but it’s still fun to hate on.

Going to try set up a test instance and make auth work with the forums.


#6

https://opencollective.com/wikijs/updates/wikijs-20-under-development

I vote we wait a month to see whether or not a beta arrives in that time. That way we can build a proper theme that fits in with the rest of the site design and linking logins to the forums will be much easier.

That said, migrating content across is going to take time so maybe I’ll put the test instance I set up yesterday back online so people can start migrating content, that way we can just upgrade to a 2.0 instance when we’re ready to go live.


#7

How do I log in to the existing Wiki right now? I can’t seem to log in now that the forum is using Discourse. The “Log in” button just takes me to a 404.


#8

Oh yeah right. I’ll see if I can make something work today for logging into the old one


#9

Got wiki logins working again, for the time being :+1:


I was wrong.

Mostly because you can’t seem to enable debug logs without setting up a full dev environment for wiki.js.


#10

Thanks, your new wiki-login subdomain is working fine for me :slight_smile:


#11

Just an update on this:

Wiki.js 2.0 is estimated to be released in Q2, currently the auth system is finished, so I’m going to start making a Discourse auth module.

As 2.0 becomes more feature-complete I’ll get a copy up to begin the migration.


#12

I have a copy of wikijs running now. If you’d like access to begin writing pages let me know here or over Discord and I’ll set you up (Or you can write Markdown pages directly if that’s your style)


#13

Popping this in here for future reference. At this point I think its best to go with a single page separate sections for each engine for each trick.

And something else…


Should be able to get to migrating Russian pages soon.