Helma Logo
main list history
previous version  overview  next version

Version 18 by philmaker on 19. November 2007, 08:18

Philip Weaver created this document on November 19, 2007. This is a private rough draft. It is intended to cover Helma 1.6. I intend to describe getting up and running with Helma very concisely and quickly and I will present many simple statements of FACT. I intend to initially focus on using the internal XML database, explain how HopObjects work in relation to page requests and in relation to data persistence in the internal database, explain the workings of the properties files, explain conventions, etc. And more. If there are areas where the documentation is already obvious or sufficient or it is a non-core feature, I may link: such as skins, macros, etc.

Questions (I'm new to Helma so some of these may be misguided):
Can each session have it's own Root object? Need more info on how session-based HopObjects work.
Is session.data a HopObject? Can it be a HopObject? Why or why not?
If a create a custom object which needs to extend HopObject - how does that all get wired? Is it automatic? (yes?) Is it via type-properties? Only via type properties?
In the included HopObject demo, would it be better to have the HopObject directory have some other name - to avoid confusion? Or is it necessary that it be named 'HopObject' for that demo? Is the HopObject dir making additions to the HopObject prototype?
is main.hac always the default entry action for / ? Can this be altered via property files?
When do you have JS code in an actual JS file instead of in an hac action file? And why?
If each directory automatically becomes a HopObject, what are the drawbacks of creating a HopObject directly in code or - as in the HopObject generation demo example.

Point out:
intro.applications maps to intro/applications and why? Will intro/applications also map to intro/applications?

Notes: if you add a new HopObject to an already persisted HopObject, that new HopObject will persist automatically. However, it you update the values of a HopObject, you must call persist().
I read this document: http://helma.org/docs/guide/introductions/hopobjects/
and I'm sorry but it really tells me nothing. :-) We need more concrete verbiage about what in the heck are HopObjects.

Fact from http://helma.org/docs/guide/introductions/prototypes/
"Every directory that you create inside your application's code repository becomes automatically a prototype by that name and will inherit the methods, actions, macros and skins that the HopObject prototype provides." What are the methods, actions, macros and skins that the HopObject prototype provides?
Phil's note: so does this indeed mean that a HopObject directory extends the basic HopObject prototype?
What if instead I wanted to extend HopObject in code? And why would I ever want to do that?

This looks important: http://dev.helma.org/wiki/Config+in+Code/
Does it jive with Helma 1.6 or just 2.0?

Code snippets: in the code snippets area, we need more basic examples.

Outline
1
2
3

[Basic Scaffolding]

     removed
     added