this wikit

This wikit is a port of the wikit db code to Wub. It's multithreaded.

Problems - is the bug database where one needs to report bugs with this wikit implementation (there are bound to be bugs.) There is information at WubWikit Problems, but please report the bugs at the bug database.

Other problems (some fixed)

  • There seems to be a problem with aggressive caching of /4 Recent Changes. Some bugs in Cache (wrt caching 404, and setting expiry) fixed. Maybe this will fix cache aggressiveness. Fixed (provisionally)
  • There may be a problem with ram resource exhaustion (on this modest virtual linux box) leading to sigsegv. I've doubled swap, see if the problem goes away. It seems to have abated. Fixed
  • x-system bogus internal file type being returned for some File domain files ... specifically images. Fixed? think it was due to the next problem.
  • some browsers send Accept: */* when they don't mean it. In any case, sending x-system is probably not a good idea. Needs to default to something sensible. - Confirmed fixed on Safari - only when browsing on this site with no page number at all, does it still happen -jcw Fixed
  • didn't protect against multiple connections from a given source, which allowed unreasonable numbers of parallel connections. This has been prevented by configuring a maximum number of connections. Some bastard actually tried to DoS us like that. Fixed with reservations ... the fix wasn't quite correct, and could deny some people access. Seems ok now, keeping eyes open.

Visible Changes

  • prepend _ to active domain names (save, edit, ref, etc) to avoid collision with search space. Done

To Do ... things that might be nice to have, but are not hugely important

  • image handling - I think we're resolved that all images should be stored elsewhere (ie: outside the wikit.) - hopefully someone can provide pointers to sites where people can host screenshots, etc. since not all web sites permit users to put up images to be used elsewhere (yahoo is particularly bad about that).
  • add a convenient way to change debugging levels in worker and other threads.
  • remove ::env() references by unsetting and recreating ::env(), precluding environmental influence on db.tcl etc, but also increasing efficiency (hate that ::env())

Showstoppers ... what is preventing us from going live right now?

  • hosting - decisions and provisions and revisions there will be time to prepare a face to meet the faces that you meet (etc)
  • revisions - need to write the CVS interface. - would be useful to provide continuity, and mandatory to provide interim safety for content. Mandatory ... set up history logging using existing wikit facilities. Done (pro tem) generates history, doesn't allow access yet.
  • code to load pages 0-11 ... Needs extension
  • fix UTF-8 errors in wikit content, using kbk's fixer. Add fixer as a scan phase for updates, discarding stuff that doesn't pass. trialed cleansing need a string to replace broken stuff with.
  • better/proper/final/simple identity/login solution - what is that solution? I'm happy to go along with what we have. We could easily enough add the anti-spoofing measures, but they are largely pnambic. Decision required
  • Harden the server: banning, iptables interface, honeypot etc. on-going never-ending fun, but needs as much as practical before going live. Soft requirement, more is better
  • provide the compressed database download facility as per the old wiki
  • soft-shutdown facility - switch into a mode where no new connections are accepted and all existing connections close, leaving system in a known state.

I see a variety of topics above that mention need extensions/decisions, etc. It would be worthwhile to discuss requirements, so that the decisions and designs made happen in an integrated, consistent manner.

It's wonderful to see a wikit back up and operational. As soon as people are satisfied it is working properly, the wikignomes are prepared to go to work bringing some of the pages up to date (if that still remains to be done).