A new and experimental core for a complete rewrite of Openmocha.
I've been experimenting for some days with the JOMP patch for Rhino
[1] and using additional filename conventions to map hard-coded files
with soft-coded properties in Helma [2].
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.
[1]
http://dev.helma.org/wiki/Comparison+of+JSAdapter+and+JOMP/
[2]
http://dev.helma.org/static/files/2302/helma.txt
to take a look at the result...
- go to
http://code.google.com/p/e4xd/downloads/list
- download the openmocha package (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
Cheers,
Chris