Helma Logo
main list history
previous version  overview  next version

Version 9 by hannes on 14. April 2008, 10:36

Some vague feature ideas for Helma 1.7

=== New Persistence API implemented in JavaScript

Try to decouple helma.objectmodel from the rest of the framework, and start layering a javascript interface on top of it so it can be used in stand-alone/explicit fashion.

=== Alternative Session Implementations

Start using SessionManager to actually implement different session management schemes.

* db persistence
* client based persistence
* replication/load balancing

=== Allow skins to extend/inherit from each other

This is a very useful idea to take from *Django|http://www.djangoproject.com/documentation/templates/*. Extending a skin would have the same effect as partially overriding a skin from another repository: Some subkins may be overridden, the others are inherited from the base skin.

What about syntax? The natural thing would be to just use <code><% extends foo %></code>, but that would clash with ordinary macros. Maybe borrow the # from subskins and use <code><% #extends foo %></code>?

=== Library and Modules

* Extend and enhance helma.File.js and other modules
* Start removing core extensions in favor of modules?

=== Varargs Support for res.write() and consorts

Allow to pass 0..n arguments to res.write(), res.writeln(), res.debug() and similar methods. My proposal is to write out arguments separated by a single whitespace like print does in python.

=== More Ideas

* Provide full configurability when running Helma in embedded (tomcat) mode.
* Support *Jürg Lehni's rhino extensions|https://dev.scriptographer.com/*
* <strike>Support *JSAdapter|http://blogs.sun.com/sundararajan/entry/self_javascript_and_jsadapter*</strike> already in helma 1.6.2
* allow apps.properties extensions to be defined in app.properties (without the "appname." prefix)
* Rewrite helmadoc to rewrite with standard rhino (no more token patch)
* Drop helma.doc package, maybe in favour of jsdoc-toolkit, or get token parsing funcitonality accepted into rhino cvs.
* Debian/Ubuntu package for Helma