Barracuda - Todo List
barracuda.gif (11456 bytes) Here's the official Barracuda TODO list. Feel free to pitch in and contribute if you see something you'd like to do...

If you have questions or comments about some of these items, please post to the Barracuda mailing list.


Version 1.0: (Final)

  • Woo-Hoo! Barracuda 1.0 is complete!!!

Version 1.1:

  • Component Framework -
    • Javascript component support (need to be able to add Scripting actions BAction component)
    • what about a BCache component?
    • might want to consider adding a "Go no deeper" directive which primarily be used as a performance measure to tell the template parser not to process any child nodes below the current node
    • make template renderer support directives embedded in processing instructions as well as class attributes
    • Performance optimizations
      • eliminate use of NodeLists (there are only 3 instances)
      • make BTemplate smart enough to only parse as deep as it needs to
      • consider making element factory lazy loading
  • Event Model -
    • Create a scheduled event mechanism
    • look at how to add role based security to the event model (ie. users must be of a certain role in order to fire a given event)
    • Need to create an appbuilder that makes it easy to define event gateways, events, and event handlers through a GUI drag & drop tool
  • Form Mapping & Validation -
    • need to get Locale information into validators so they can generate localized error messages
  • Localization -
    • there is a serious flaw in the way we are doing localization, and the problem/solution is discussed here. We need to rework the whole localization taskdef.
    • some folks would like to extend the localization layer so localized text could also be stored in one master properties file
    • would be nice to be able to put the localization properties files into another directory (since the templates are often stored in one directory and then compiled into another). This would allow the app and the template to more easily share the same properties file
    • there is room for improvement in the way the localization taskdef looks up values in the property files. This is a relatively easy fix...see the localizeNode() method in org.enhydra.barracuda.taskdefs.Localize for detailed explanation
  • BConfig -
    • when changing DefaultLogging sometimes the screen doesn't update properly--it looks like the value didn't change, but if you toggle between tabs you see that it did in fact do so
  • XMLC -
    • upgrade to new version of XMLC, which will give us newest version of Xerces
    • migrate the changes we made to core.util.dom.io package back into XMLC (see MarkD)
  • Documentation / Tutorials -
    • create a Form Mapping tutorial (like the component's Hello World tutorial)
    • create an Event Model tutorial (like the component's Hello World tutorial)

Version 1.2: (No schedule yet)

  • Component Framework -
    • Skins support
    • WML support
      • need to modify FormatType to register the proper domCl for WML DOM
      • need to create renderers for all major components
      • need to extend ViewUtil.getClientType to recognize user-agents that correspond to specific WML browsers
    • XML Support
      • what about XML renderer for list components?
    • Javascript components
      • create client side validation components
    • ideas for reusible components:
      • Login comp
      • BConfig comp
      • Slideshow comp
      • Survey comp
      • etc
    • what about template renderer support for directives embedded in processing instructions as well as class attributes?
    • would be nice to provide some kind of way to programatically determine what kind of elements a particular component can be bound to, and what properties that element supports
    • what about extending XMLC to automatically generate a method to return a list of all the nodes in the doc that have ids or directives? This would make it possible for the template helper to just iterate through those nodes, rather than throught he entire document...would improve performance
  • Event Model -
    • consider a scheduled event mechanism?
    • look at how to add role based security to the event model (ie. users must be of a certain role in order to fire a given event)
  • Form Mapping & Validation -
    • more advanced validators
      • DateValidator - make sure value is a valid date (ie. disallow Feb 29 if it's not a leap year, etc. Would also be nice to provide some utility functions:
        • T = today
        • 3D = 3 days from now
        • -30D = 30 days previous
        • +3M = 3 months from now
        • 1Y = 1 year from now
        • etc
      • CharacterValidator - make it possible to allow/disallow certain alphanumeric characters
      • CreditCardValidator - make sure a number is a valid credit card (this could be simple to start with, later could actually be tied to code that would really validate the number)
      • EmailValidator -
      • PhoneValidator -
  • Tidy Enhancements -
    • upgrade to the newest version of Tidy
    • we need to figure out how to call Tidy so that it will not insert spaces into <td> cells that contain only images and no text. If we can do this, then we can update the taskdef to generate localized templates with pretty printing turned on. Also, we can update the pretty printing code in DefaultDOMWriter
    • Tidy also breaks apart <textarea> elements, and it shouldn't
  • Documentation / Tutorials -
    • create a Form Mapping tutorial (like the component's Hello World tutorial)
    • create an Event Model tutorial (like the component's Hello World tutorial)
  • Misc -
    • what about a Newapp utility?
    • what about a Component packaging utility? (ie. for BConfig)

For all the latest information on Barracuda, please refer to http://barracuda.enhydra.org
Questions, comments, feedback? Let us know...
Copyright 1997-2002 Lutris Technologies, Inc. All rights reserved.