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.barracudamvc.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)
|