Helma logo
main list

Helma is an open source web application framework for fast and efficient scripting and serving of your websites and Internet applications.

Helma is written in Java and employs Javascript for its server-side scripting environment, removing the need for compilation cycles and reducing development costs while giving you instant access to leverage the whole wealth of Java libraries out there.

Helma pioneered the simple and codeless mapping of application objects to database tables. In addition, an embedded object-oriented database performs automatic data persistence of unmapped objects.

Helma has proven itself to be stable and fast, capable of serving high traffic sites with hundreds of thousands of dynamic pages per day. The Austrian Broadcasting Corporation, popular weblog hosting sites such as antville.org, twoday.net, and blogger.de, among many others, have successfully been deploying Helma for several years.


Helma Meeting Spring 2008

The Helma Meeting Spring 2008, a real-world gathering of Helma users and developers, will take place on May 6th at werkzeugH in Vienna, Austria.

Let's get together and talk about upcoming Helma 1.7 features, exchange ideas for the future of the Helma project and discuss anything else that needs to be addressed.

Join us if you can!

link | zumbrunn 2 weeks ago

Helma 1.6.2 ready to download

This new version adds req.uri and req.actionHandler to better support continuation and callback functionality. It contains a new Rhino snapshot from 2008-02-05 with the default JS language version now set to 1.7 and added support for JSAdapter. Several bugs were fixed, including some related to starting and stopping applications, one that kept repositories from working when deploying Helma through Tomcat, and some related to debugging Helma applications.

See the Helma 1.6.2 Changelog for more details and - most importantly - go download Helma 1.6.2!

link | tags: helma 1.6 | zumbrunn 1 month ago

Continuations for the masses

Check out experimental continuation support in today's Helma subversion snapshot, and get a fresh Rhino 1.7R1 release candidate build for free on top!

link | tags: continuations | hannes 3 months ago

Helma Update: Javascript 1.7 default in svn, better error pages

Today I committed a fresh Rhino CVS snapshot to the Helma subversion repository and set the default Javascript language version to 1.7. So working with the new Javascript 1.7 features becomes as simple as doing a svn update and ant build. Thanks go to Chris Langreiter for doing the groundwork!

Also today, I committed a feature to improve information on error pages generated by Helma. If the debug = true is set in app.properties, default error pages will now include Javascript and Java stack traces if available. Custom error pages can also display this information using the res.scriptStack and res.javaStack properties. The actual Java Exception object can be examined via res.exception property.

link | tags: helma 1.7 | hannes 3 months ago

JSAdapter: Helma's missing link?

One of the bigger technical issues Helma has struggled with over the years has been that all of the framework code is implemented in Java, and therefore inaccessible to Javascript and the quick experimental evolution that comes with it. Although Javascript/Rhino has some features that allow for some forms of metaprogramming, implementing a framework such as Helma mainly in Javascript was not really an option so far.

This may change with something like the JSAdapter, which basically provide everything needed to implement Javascript host objects directly in Javascript. For an example, look at the MapAdapter from the Phobos project, which "masks" a java.util.Map as a Javascript object (scroll down towards the end of the file - the actual MapAdapter class is really short). Things like these typically had to be implemted in Java, requiring quite a bit more code and much less flexibility.

JOMP provides similar functionality as JSAdapter, with the added benefit of working on any Javascript object and not requiring another adapter/wrapper.

I did some testing with JSAdapter and committed it to Helma HEAD today as an experimental feature. I'm pretty sure that something like this or JOMP will allow us to shift a lot of existing Java code to Javascript over the next releases.

link | tags: metaprogramming | hannes 4 months ago

Update to Helma 1.6.1

Besides a few new features, like the newly added res.resetBuffer() method and the ability to name type.properties files after their prototype, this update brings bug fixes in many different areas. See the changelog for the detailed list of fixes.

The new 1.6.1 version of Helma also includes an updated version of Rhino, with some E4X related fixes. The new packages now also include the jala modules and updated documentation.

Don't hesitate! Go download it! It's good for you!

link | tags: helma 1.6 | zumbrunn 4 months ago