Antville’s Fork of Helma Object Publisher https://helma.js.org
Find a file
2020-03-21 15:47:19 +01:00
gradle/wrapper chg: replaced ant with gradle 2020-03-21 14:39:59 +01:00
launcher Fixed deprecation issues. (cherry picking from commit b50bfdfd00b380061c6baa3dab1d7d5c89e616a3) 2020-03-21 14:40:00 +01:00
licenses Replace GPLed Diff with BSD licensed java-diff from incava.org. The class is patched to provide the same interface as the old class, both for backwards compatibility and because it is slightly easier to work with. 2009-09-22 17:23:16 +00:00
modules fix: some syntax errors with the help of eslint 2020-03-21 15:35:25 +01:00
src Merge branch 'helma-js' into helma-🐜 2020-03-21 15:46:12 +01:00
.editorconfig chg: replaced ant with gradle 2020-03-21 14:39:59 +01:00
.eslintrc fix: some syntax errors with the help of eslint 2020-03-21 15:35:25 +01:00
.gitignore chg: replaced ant with gradle 2020-03-21 14:39:59 +01:00
build.gradle add: support for importing code using require() method (commonjs) 2020-03-21 14:40:26 +01:00
gradle.properties add: parameter for running commandline task 2020-03-21 14:39:59 +01:00
gradlew chg: replaced ant with gradle 2020-03-21 14:39:59 +01:00
gradlew.bat add: gradle files 2016-12-04 15:55:19 +01:00
LICENSE.md chg: replaced ant with gradle 2020-03-21 14:39:59 +01:00
README.md chg: slightly edited 2020-03-21 15:47:19 +01:00
settings.gradle chg: replaced ant with gradle 2020-03-21 14:39:59 +01:00

How to Helma

TL;DR

  • Make sure you have Java 1.6 or higher installed
  • Download and unpack the latest release
  • Invoke ./bin/helma, resp. ./bin/helma.bat, depending on your platform
  • Direct your web browser to http://localhost:8080

Introduction

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, which has only recently come into vogue with other web frameworks. 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 now.

Although Helma became a Grande Dame of server-side JavaScript already decades ago when she performed in cozy Finnish clubs, she appears somehow retired nowadays. Nevertheless, she is here to stay for those last ones out there still tinkering with this nostalgic and wonderful piece of software.

System Requirements

You need a Java virtual machine 1.6 or higher to run Helma.

Please consult the documentation of your platform how to obtain and install Java.

You also can directly download a Java runtime or development kit from Oracle.

Helma is built with Gradle, the build task depends on the binaries rsync and npx being installed on your system.

Development

Clone this repository to your machine and start the build process with ./gradlew install. The build script is going to ask you if you want to update the installation, enter y.

⚠️ Please be aware that this step is going to overwrite files in the installation directory escpecially at a later time when there might be substantial changes. Should this happen by accident you find the previous installation in the backups directory.

After compilation start Helma by invoking ./bin/helma.bat or ./bin/helma, depending on whether you are on Windows or Linux / Unix / OS X, respectively. If the java command is not found, try setting the JAVA_HOME environment variable to the location of your Java installation.

You can adjust server-wide settings in the server.properties file. For example, you could set the smtp property to the name of the SMTP server that Helma should use to send e-mail. Applications can be started or stopped by editing the apps.properties file through the web interface using the management application that is part of Helma.

After startup you should be able to connect your browser to http://localhost:8080 port 8080 on the local machine, that is.

Helma comes with a version of Jetty, a lightweight yet industrial strength web server.

While Jetty works well for development and in fact deploying real web sites, you might want to run Helma with the web server you are already using. This is most easily done by proxying Helma. Please consult the documentation of your web server how to achieve this.

Finally, Helma can be plugged into Servlet containers using Servlet classes that communicate with Helma either directly or via Java RMI. Be warned that these options may be harder to set up and maintain though, since most of the recent development efforts have been geared towards a proxied setup.

Documentation and Further Information

After installing and running Helma, you will be able to access introductions to the features of Helma and the various included development tools. Further information you will find on the helma.org website:

😿 Unfortunately, the Helma website disappeard in the meantime. However, with some archeological web digging and thanks to the great search engines and archive services out there it is still possible to find useful resources.