
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
titletag)
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 workingNeeds to be cleaned up and moved into the Engine classInternal 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” interstitialBetter 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:
- The Index needs better handling of Chinese characters
- No BackLinks plugin
- No LikePages plugin
- No WantedPages plugin
- No RelatedPages plugin
- No SubPages plugin
- No ThickBox plugin
- No Timeline plugin
- No Chart plugin (have to choose between this, this or something else)
- No Graph plugin (have to follow up on this. Since this is too complex, closest to what I want so far is this although the old version seems to work in Safari)
- 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:
- Need to draft a Credits page
- Need to draft some notes on the Internals
- The Storage Format needs a few more notes
- Plugins need better descriptions
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)