Helma logo
helma.org » Home > changelog > Version 1.4.0-rc1

Version 1.4.0-rc1

  • Split semantics of hopobject["property"] and hopobject.get("childname"). The first will only return properties, while the latter will only return child objects whereas before, the two were largely synonymous.
  • Improve Rhino error reporting: Always print an error message if something inside a prototype is broken.
  • Allow raw, un-prototyped JavaScript objects as macro and action handlers
  • HopObject.remove(HopObject) is renamed to HopObject.removeChild(HopObject) and does not actually delete the child object from db, but just releases it from the parent. HopObject.remove() without argument is used to delete the object.
  • Rename res.pushStringBuffer() and res.popStringBuffer() to res.push() and res.pop()
  • Add HopObject.getById() to retrieve a child object by ID regardless of its accessname
  • Switch to Jakarta Commons Logging and adapt our own logging classes to fit in
  • Add collection.logicalOperator=AND|OR|XOR in type.properties to allow setting the logical operator for combining multiple constraints on collections and references.
  • Implement aggressive loading of object references. If object.loadmode = aggressive is set for an object reference, the objects will always be loaded in one join query with the referring object. Works now also for Oracle < 9.
  • Implement parsed filters in type.properties that allows to include values from the current object in a collection's filter string:
    collection.filter = foreign_column_1 = ${local_column_2}
  • Add collection.filter.additionalTables to allow to include other tables in the select string's FROM part. This is useful in conjunction with the parsed filters feature.
  • Add support for SQL query hints by using the folliwing in type.properties:
    _children.hints = /*+ INDEX(table_name, index_name) */
  • Include classes from classpath in Helma's ClassLoader. Allow them to be excluded using the -Dhelma.exludeSystemClasses=true switch
  • Use upper case prototype names such as Root, User, HopObject by default, but remain compatible with lower case names
  • Add two options for application entries in apps.properties for directory indices and index pages:
    <app>.staticIndex = true
    <app>.staticHome = index.html, default.htm
    Default values are (false) for directory listings and "index.html, index.htm" for index pages.
  • Add CommandlineRunner class to execute a function from a Helma application from command line. The command line syntax is
    java helma.main.launcher.Commandline appname.functionname
  • Add experimental res.forward() to forward a request to a local (static) resource. The base resource must be mounted as <app>.protectedStatic in the apps.properties file.
  • Add rootId application property to set the id of the root object to something else then 0
  • Fix and improve line break encoding in format() functions.
  • Add formatParagraphs() that uses

    tags rather than
    to encode line breaks

  • Lots and lots of fixes on the objectmodel/persistance code
  • Lots and lots of fixes in Rhino scripting engine prototype handling
  • Various fixes in Mail object
  • Implement Xml.get() and Xml.getFromString(), which have been missing
  • Add dispose() function to Image object to aid immediate garbage collection
  • Add application/text to MIME types recognized as text
  • Return an ordinary JavaScript Array from HopObject.list() rather than a wrapped Java array
  • Implement HopObject.ist(start, length) to return a slice from the object's child objects
  • Allow character codings other than ISO-8859-1 in text inputs of multipart/form-data (file upload) forms
  • Implement hrefSkin and hrefFunction in app.properties, which have been missing
  • Disable check if a port we're trying to listen to is already in use, so the failure will be slightly less elegant
  • Disable Response compression as this is not available on Jetty 4.2
  • Add Unix/Linux service startup script to distribution
  • Upgrade to Jetty 4.2.17
  • Upgrade to Rhino ~ 1.5 Release 5 (CVS snapshot from 2004/02/11)
  • Make Helma compile on Java 1.5


Up: Change Log
Previous: 29. 07. 2001 Next: Version 1.4.0-rc2


Page last modified on 2004-02-13 16:59 by hns