To Do List

Just a hashing of what needs to be done on Alt Framework.

Alt Framework Core (JavaScript)

  • SQueaL
    • Rewrite needed!
    • SQL Schema
      • Finalize XML format
      • SQueaL types
    • Delight
      • Generalizing database connection (HSQL/Derby support?)
      • SQueaL types
      • Data validation functions
      • JNDI Database pooling
  • Onion ML
    • Finalize format for data processing and attributes
    • Form control (along with SQueaL types/Dictator)
  • Dictator
    • Documentation!
    • Form control (along with SQueaL types/Onion ML)
    • Cache control
    • Static file sending/custom file pushers
    • Refinements to API
  • JSDoc
    • Further improvements to display
    • Parse .js files and display actual function definitions with comments
      • Find jsdoc comments for file/module overview?
      • Find jsdoc comments for member properties?
    • Switch to using Onion ML
    • Caching
    • File generation for web site
    • Control over display
  • Mail
    • JavaMail support?
  • JavaScript output
    • Compressed/obfuscated scripts
    • Versioning/caching

AltServlet (Java)

Some of these were pulled from a chat conversation, hence the more casual writing style. :-)

  • Timeout /Thread killing code
    • Currently using Future/ThreadPool to run the scripts on a delayed timeout, which doesn't work.
      • It kills the script to the browser, but the javascript still runs in the background.
      • It is also restrictive since I have to set the timeout in the config file.
    • Control timeout from javascript:
      • E.g., "request 5 more seconds of time" if you know you're going to do a slow operation
      • Ability to catch timeout inside Javascript (to display a custom error, for example).
    • Rhino has a method for counting byte codes. It only works in interpreted mode, but you could pretend these errors only happen in development environment. Or we can always run in interpreted mode.
  • Detecting user abort
  • Fixing Rhino optimizer?
  • Ability to enable/disable runtime file modification time checking
    • Ability to optimize this runtime checking to speed it up?
    • Ability to flush cache? Detect updates?
  • Refine script/class loaders
  • Finalize Java Servlet folder structure
    • Where do scripts go?
    • How to JavaScript modules work?
  • Security manager/isolation/jailing code
    • Lock down the AltServlet to prevent certain actions such as System.exit
    • Potentially lock down socket/file access
    • Allow privilege elimination from JavaScript for running "insecure" code
    • Look at Rhino/JavaScript security manager features as well?
  • Continuations
    • Support for Jetty's continuations features, with some kind of means to pause scripts during runtime while waiting for some event.
    • This would be useful for long running scripts with lots of wait/blocking time.
    • We could combine this with Rhino's continuation support and allow proper continuations.
  • Debugger
    • Rhino has a graphical debugger thing, but it is kinda crufty and does not work well with the whole servlet mechanism.
    • It would be nice to integrate some kind of debugger, but I am not sure what the best approach here is.
      • AltGUI could be revamped to integrate some form of debugger.
      • One cool idea is to somehow inject into the standard java/eclipse debugger. So that you can debug both java and javascript in the same standard interface. (IDEAL!)

Other/Misc.

  • Ant build script to generate releases
  • Improved AltGUI
  • Benchmarking/profiling/optimization
    • Compare interpreted/optimized modes
    • Profile to see where the bottlenecks actually are
page last updated: Thursday, February 14, 2008

copyright © 2006 cellosoft