Helma Logo
main list history
previous version  overview  next version

Version 4 by daniel on 25. August 2008, 23:35

I am currently working on improving and extending Helma 1.x. This page serves as a public todo list summing up tasks that should be or could be done (but are no bugs) to improve Helma 1.x.

* HopObject
** deprecate either count() or size(), I'd prefer to deprecate count()
** deprecate invalidate(id), as it can be done as get(id).invalidate()
** rename the magic properties (__id__, __parent__, ...). Some properties currently exist with one underscore in front (_property) as well as with two in front and two at the end (__property__). Some only use one syntax, some are case-sensitive, some others are not.
** move getById(id, proto) to app.getById(proto, id) or remove it as it is unrelated to the HopObject called on, leave Constructor.getById(id) as it is.
** rename getChildElement to onGetChildElement to reflect that it is an event handler
** make getOrderedView() return something else. Currently it returns some object that is similar to a HopObject, but is not a HopObject. Some functions are missing, some throw an "unsupported exception". There should be something like a HopCollection, being extended by HopObject.
** some functions like getOrderedView() throw RuntimeExceptions when called on an incompatible (transient) HopObject, some others just return null. I propose to change all functions to throw exceptions, as one can check with isPersistent() before doing a call that might not be supported.
* Properties files
** As every other directory or file is configurable, the location of the db.properties file should be too. I'd suggest to add dpPropsFile.
* Scripting engines
** Implement a configurable class shutter implementation for Rhino
** Move configuration properties only influencing a specific scripting engine to it's own properties file (i.e. have separated configurations).