Helma Logo
main list history
previous version  overview  next version

Version 17 by hannes on 02. April 2009, 13:38

Some vague feature ideas for Helma 1.7

=== Decouple Objectmodel API

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.

* *HopObject-less Helma applications|http://groups.google.com/group/helma/browse_frm/thread/fc079ea32378a1db/c57991bca6c4c331?lnk=gst&q=pure+javascript#c57991bca6c4c331*
* *Programmatically defined HopObject mappings|Defining HopObject mappings programmatically*

=== Alternative Session Implementations

Start using SessionManager to actually implement different session management schemes.

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

Status: nothing so far

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

This is a very useful idea to take from *Django|http://www.djangoproject.com/documentation/templates/*. This allows developers to create a base.html template with the shared XHtml boilerplate code, and let sub-templates fill in the actual content.

The subskins feature *introduced in Helma 1.6|new skin features in helma 1.6* are a perfect fit for this. Extending a skin would have the same effect as partially overriding a skin from another repository: Some subkins may be overridden, the others (and usually the main skin) are inherited from the base skin.

Status: Still trying to come *come up with a syntax for this this|http://helma.pastebin.com/f2ffec49* that is neither ugly nor breaks existing code.

=== Library and Modules

* Extend and enhance helma.File.js and other modules
* Url.js that parses all fields (rfc3986) and allows to set them. examples: *python like urlparser|http://snipplr.com/view/10139/urlparse--pythonlike-url-parser-and-manipulator/* or *minimalistic parseUri|http://blog.stevenlevithan.com/archives/parseuri*

* Start removing core extensions in favor of modules?

* Some work done on *helma.File|http://dev.helma.org/bugs/show_bug.cgi?id=636* and *helma.Mail|http://dev.helma.org/bugs/show_bug.cgi?id=540*.
* No decision yet on removal of core extensions.

=== 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.

Status: pending due to performance considerations regarding java varchar.

=== 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