S T A T U S
===========
$Id$


Known Issues/Bugs:
    - see http://issues.apache.org/jira/browse/VELTOOLS


Documentation Wishlist:
   - Complete user guide.
   - Improve documention of any or all of the view tools and the 
     commons-logging/LogSystem bridges (either xml/dvsl or javadoc)
   - Create a developer's guide (how to write tools, tips on extending VVS, etc.)


Proposed Features/Upgrades:
    General:
        - finish/fix/improve Maven2 build support
        - add automated testing of tools
        
    Generic tools:
        - add a library of general-use velocimacros
        - Template debugging tool(s)/support
        - Add support for ValueParser to use a properties file as a source

    VelocityView:
        - add a library of velocimacros for use with these tools
        - Improve standalone toolbox management support
        - Pluggable toolbox manager in VelocityViewServlet
        - Pluggable toolbox loading (i.e. from props or something instead of xml)
        - Support for reading toolbox from properties files
        - Tool pooling/cleanup support (use commons-pool probably)
        - look into supporting arbitrary layout depth (sort of a "tiles lite")
          for the VelocityLayoutServlet (cf. Niall's work with Simple)
        - support for JSP tags
        - adopt VelocityTag and add toolbox support
        - develop Tiles2 compatible TilesTool

    VelocityStruts:
        - add a library of velocimacros for use with struts tools
          (ideally these would be roughly parallel to struts tags to ease transition)
        - move dynamic javascript generation from java (ValidatorTool) to templates
          (this would probably work in concert with the velocimacro libraries)


Example Ideas:
   - Struts 1.3 example(s). Take the existing Struts 1.3 examples and replace 
     the view layer with Velocity. (show off Tiles, modules, Validator, etc.)
   - a FooShop-type demo app (i.e. something closer to real-world use)

