From Touhou Wiki
Jump to navigation Jump to search

My personal design document for the wiki. Ideas and notes for adding/removing/fixing things here. Feel free to discuss on the Talk page.

Feature requests[edit]

On occasion I get requests for certain additional features seen on bigger Mediawiki sites. Such features include:

  • VisualEditor: rich editor available on Wikimedia sites. Requires Parsoid and therefore Node.js functionality.
  • StructuredDiscussions: formerly known as Flow. Discussion and collaboration system for talk pages. Also requires Parsoid, and is an unstable project at the moment.
  • CirrusSearch: advanced search engine used on Wikimedia sites. Requires Elasticsearch and therefore Java.
  • Semantic Mediawiki: a huge extension set that adds structured data to Mediawiki. I'm still considering this, so it's not necessarily a dead idea.
  • Wikia-specific extensions: available only within Wikia and not part of their public codebase.

Since these features depend on so much extra functionality, I try to stay away from adding these to keep the overall configuration of the site as light as possible. If there are features you'd like added that are also light on dependencies we can discuss adding those to the site, although I may also require extraneous features (extensions, etc.) removed in exchange. That way the site remains as lightweight as possible for the features it provides, for better performance, security, and ease of maintenance.


  • New language-independent Lyrics template. Will be an API break with current template. See also: Onsen project.
  • Revamp Community Portal, templates and styles are currently broken.
  • Perhaps a new site-wide theme/style, Vector-based but looking much better.
    • Cleanly-degradable with/without images. EN's mainpage already does this, to a certain very limited extent. (See below.)
    • Resolution/ratio independence. See EN's image sprites.
    • Extend clean-degradability to mobile version, so it's themed (colors) but also very lightweight.
    • Still have to deal with Vector's pesky inline base64 images.
  • Reduce extension dependency, so that some unnecessary extensions can be removed.
  • Complex article editing forms, to make writing articles like Lyrics pages easier. See also: WikiApiary's site submission form.
    • With new Lyrics template and Onsen, can easily mass-convert old pages.
  • Move any user-created content into userspace, including fanfiction. Notify users of their work so they can claim their account if they haven't done so in awhile.


  • Ensure full IPv6 functionality. Done
  • Set up Squid, Probably will look into this or Varnish again, or getting Nginx to do it itself. Also part of Containerization.
  • Attempt setup of LuaSandbox. Using LuaJIT instead. Done; actually set it up. This was actually breaking in certain cases. Jobs are now processed in a different way.
  • Investigate HHVM. Wikimedia sites use it now. See here for current HHVM support. HHVM's PHP support has now been deprecated by Facebook, and the Wikimedia sites now recommend PHP 7 over it.
  • User account rights don't properly share with DE. High Priority. Pretty sure this isn't an issue anymore.
  • Overall site dependency reduction (incl. Frontpage revamp). Not really an issue now.
  • Containerize.
  • Continued MariaDB tweaking. Done. Now able to fit everything into RAM, and config tweaking pretty much done.
  • Clean up any database weirdness so it's as-new. This includes fixing whatever caused old anonymous edits to be assigned to Rukaroa. See also database surgery I had to perform back in the spring. Onsen project depends on this. Note: Don't think the anonymous edit reassignment will work. Updates to Mediawiki added cleaning up old user entries; looks to have been a long-unhandled issue with Mediawiki and is now resolved.
  • Complete Onsen table migration. File uploading is still a big pain. Part of above.
  • SSL certs, enable HTTPS and set as default, enable HTTP2. Done; and cert renewal is working. Wildcard support coming to LE soon which will make things much easier. No it doesn't, it makes things much much worse.

Major Projects[edit]

  • Touhou Wiki Onsen, replacing Pool
    • Get it? Pool? Onsen? Ahahaa~
    • Onsen will be the central file/data repository and interwiki coordination place, equivalent to Wikimedia Commons, Meta, and Wikidata.
    • File uploads must work properly with Onsen. Investigate upload issues.
    • Scribunto does not yet support interwiki transcluded scripting, but when it does, move scripting modules to Onsen.
    • New Lyrics templates could automatically load text data as needed via Onsen (like Wikidata).
    • Automatic interwiki linking (like Wikipedia via Wikidata)
    • I'd like a logo with Suika soaking in an onsen, preferably SD-style. =w=
      • mamizoumobileonsen.gif :3
    • Central interface for wiki admins to monitor/block vandals.
    • A major goal for this is rapid bootstrapping of new wikis with existing structure/data.
  • Onsen taking over shared database tables.
    • Currently EN is managing entire site (remnant of repository unification on Wikia)
    • Onsen should be touhouwiki-touhouwiki_ and EN touhouwiki-touhouwikiEN_ Done.
    • Move shared tables from EN to Onsen. Specifically, doing so and then setting up a 'foreign repo' configuration for the files. Already trialled this successfully on IIRC I've already moved over all but file registration tables; last time I tried the full migration files stopped working, so I'll need to investigate this again.


  • This is out of date.