Fetching contributors…
Cannot retrieve contributors at this time
56 lines (40 sloc) 2.1 KB



  • Cache invalidation in KS

    • In Django, set kuma:modified:{full path hash} = modified whenever a Document is saved
    • In KS, store cached-at times for everything cached
    • Consider KS cached data invalid if the cached-at time is older than the modified-at time of the page on which the cached data is based.
  • Problem with kuma page slugs containing spaces

  • Problem with HTML encoding, can't use an URL with ampersands as the parameter to a macro.


  • Revisit Sandbox, or some kind of process separation for executing templates

  • Implement stale-while-revalidate for response caching?

    • When cache content available but stale, respond with stale content but kick off a fresh response in the background for future requests.
    • Shortcircuit for Cache-Control: no_cache and max-age=0
  • Use StatsD

  • Scripting jig to allow template editing and macro evaluation on the fly

    • 3 panes: Template source editor, test document editor, execution result
  • Move the test server base URLs to test-utils?

    • The constants are sprinkled hard-coded everywhere.
    • ie. http://localhost:9000 and http://localhost:9001
  • Cascading template loaders

    • Like Django. If template not found, fall back to the next in the list
    • eg. HTTP -> file -> local hash
  • Multiple template loaders, selectable by document type

    • Switch loader classes by Content-Type of template resource
    • Switch loader based on a custom header from the template resource GET
  • Switch doc parser from PEG.js to [Jison][]?

    • Not that there's a known problem, but CoffeeScript uses Jison.
    • PEG grammar is much more readable, though, IMO.
  • Demote contents of lib/kumascript to just lib and update package.json

  • Move run.js to bin/kumascript

    • Add a bin section to package.json