Brýden - an (accidental) MoinMoin fork #2133
dvdkon
started this conversation in
Show and tell
Replies: 1 comment 3 replies
-
|
Interesting, thanks for sharing! There was some recent work here to make the whoosh search (and general response times) faster. But whoosh seems to be a bit in a zombie state, which also led me to thinking about going postgresql (#715, but was never realized). Is your postgresql storage able to deal with large binary items efficiently and how good is the search? |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
we've been maintaining an internal MoinMoin fork for a few years now, and I think it's time I finally shared it with you, along with our reasons for doing so.
Around 2021, we decided to make a new wiki for our faculty. There was a previous, abandoned one based on MediaWiki, but we had bigger ambitions than just reviving it. The only software that matched our requirements was XWiki and MoinMoin v2; we chose MoinMoin, mostly because XWiki seemed too large for us to use and modify.
When testing, we made a few changes (mostly a new theme), and almost everything worked fine. Sadly when we imported the old wiki's content, page loads slowed down to a crawl - multiple seconds per page. Our efforts to speed up the Whoosh index by at least an order of magnitude failed, so we decided to replace it by Postgres.
The first attempt, which kept most of the code intact and changed just the indexing middleware, never quite worked right. The second attempt, a complete rewrite of storage (and much more), finally finished last year. The result is a codebase that'll probably be familiar to you in a few places (converters and HTML templates), but is very different elsewhere (storage, views). This improved performance drastically (50ms average page load time with 40k+ revisions on a busy server) and the code now works better with IDEs due to static typing. We also removed a lot of features to make the switch manageable. (In our defence, though, most of those were half- or fully broken.)
The original plan was to look through our changes and contribute the site-agnostic ones upstream in small PRs, but we've now changed the code so much, it's probably no longer possible. I'd love it if our work could be useful to people outside our single faculty, possibly reused by upstream MoinMoin; I also see you've made some nice changes to MoinMoin proper. If you have any ideas on this, let me know.
You can see the source code on our faculty's GitLab instance, and look at the resulting wiki.
Beta Was this translation helpful? Give feedback.
All reactions