Helma Logo
main list history
previous version  overview  next version

Version 1 by zumbrunn on 22. January 2008, 17:16

As mentioned in the *Additional Filename Conventions* proposal,  I've been experimenting for some days with the JOMP patch for Rhino and using more filename conventions to map hard-coded files with soft-coded properties of content objects.

What I came up with, is basically a new and experimental core for a complete rewrite of Openmocha.

The soft-coding allows modifications and development work from the "inside" of the running web application. The behavior of the web application can be changed in ways that closely relates to the hierarchical content structure of the resulting website, without the need to "hard-code" these changes in code files.

Every content object becomes "sovereign" and can define its own behavior, overriding what it would inherit from the hard-coded prototypes or from other soft-coded objects higher up in the content structure hierarchy.

The e4xd objectengine leverages naming conventions for hard-coded filenames and soft-coded object property names to overlay the hard-coded and soft-coded properties and methods and determine the behavior of an object at runtime.

Internally, these conventions follow the existing ones of the Helma framework, but expand that philosophy, adding additional conventions and accomodating to the needs of the soft-coding environment.

The jhino sub-project provides an additional layer of conventions, resulting in a basic scaffold for a working base application with CRUD type functionality and access control. Basically, jhino already provides a fully working soft-coding environment, but requires the standard Helma development tools such as the shell and inspector to do the actual "soft-coding".

The e4xd javascript server-side currently requires a patched version of Helma and Rhino. In the case of Rhino, e4xd depends on the JOMP patch and Helma needs to be modified to do the additional file suffix mapping required by e4xd.

* *Comparison of JSAdapter and JOMP*
* *http://dev.helma.org/static/files/2302/helma.txt*

=== to take a look at this... ===

* *download Openmocha|http://code.google.com/p/e4xd/downloads/list* (or just the jhino modules and place the files in the right places yourself)
* extract the downloaded archive
* execute ./start.sh (or start.bat on Windows)
* create an admin account at http://localhost:8080/exampleapp/register
* copy the authentication code to the server.properties file
* register/login at http://localhost:8080/exampleapp/login

The source for this is also at *http://e4xd.googlecode.com/*