Current Bugs

Design/Layout:

  • No JavaScript highlighting of Google search results.
  • Current CSS sucks (needs tweaking or outright re-definition). Upgraded to latest K2, a test page is in order.
  • The print CSS needs tweaking:
    • Change title
    • Change fonts
    • Hide navigation
  • SeeAlso needs some formatting fixes

Base Navigation:

  • urlencoding of some page names gives funky results (must check cache)
  • EmptyPage does not contain a RelatedPages plugin.
  • Search works OK now, but form and LiveSearch needs to be implemented properly.
  • Breadcrumbs don’t seem to update properly occasionally (and have an incorrect prefix added to the title tag)

Wild Wild Web:

  • No SEO
  • rel=nofollow isn’t being used anywhere yet
  • no referrer tracking – now working partially
  • No Technorati tags or pinging.

Engine:

  • Rendering exceptions aren’t caught and wrapped into a nice HTML error message
  • Markdown isn’t re-processed by BaseURI for some reason.
  • Page render cache isn’t purged automatically (yet, I need the cache as-is for debugging)
  • Indexing isn’t being scheduled via the Snakelets TaskScheduler plugin (yet, plays havoc with debugging the rest for now)
  • Redirection via metadata headers isn’t working Needs to be cleaned up and moved into the Engine class
  • Internal redirection needs to be handled a bit better (null snakelet output)
  • Page requests performed during server startup aren’t (yet) redirected to a “please wait” interstitial
  • Better control of content caching and ageing via HTTP headers (had to set headers on a Ypage)

Plugins:

  • TOC plugin generates invalid URLs
  • Several traditional Wiki plugins are still missing:
  • Mindmaps cannot refer to Wiki nodes using relative URLs (re-parse the mindmap?).

Performance:

Despite there being no real performance issues with the pre-caching approach, there are a few things I shouldn’t forget:

  • Overload protection and automatic Coral caching.
  • Structure things so that it is easy to switch between on-disk and on-RAM caching (eventually)
  • Enable psyco (or similar) on Intel architectures
  • Check the sendfile() module
  • Minimize page store hits
  • Chech etag handling
  • gzip encoding (Snakelets does that by default, but must check again for custom handlers)

Management:

Counters are to be exposed via plain text pages. Graphing them via RRDTool may be a bit overkill, but some kind of graph would be nice indeed.

  • Hit counters (already implemented by Snakelets, merely a matter of exposing them properly)
  • RAM and disk usage counters

Documentation:

Won’t Fix:

  • Textile and Markdown can’t cope with Chinese text (HTML will have to do)
  • No WYSIWYG editing (only when Safari does it properly, no point in supporting kludgy editors)
  • No Multi-user support (doesn’t make sense, but can be bolted on later)
  • No versioning (no point in using it when you can back up the entire Wiki using Subversion)
  • No auto-linking support for CamelCase (I loathe it and find it an anachronistic nuisance)
  • No comments (will use Haloscan instead to save server CPU)
  • Acronyms plugin does not remove span tag from around unlisted acronyms (but I need to fix the cursor in CSS)
  • HTTP 1.1 not supported (will run through lighttpd in production)

© 2008 Pradeep Kishore Gowda (C-C by SA 2.5-IN) ◊ Made with python, YUI on a mac.