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
- 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
|