tobias.schaefer | 1 Mar 19:20
Picon
Favicon

Announcing Jala 1.1

Hello, again!

It's hardly one month past ORF.at's initial public release of Jala [1], and here
already comes the next version. (Not to mention our bugfix interlude 1.0.1 which
probably might not caught everyone's attention...)

Please give a happy mouse click for Jala 1.1, now available for download and
for free at your favorite Internets!

https://opensvn.csie.org/traccgi/jala/wiki/Download#LatestRelease1.1

Among the usual bug fixes and general improvements this uber-version brings to
you:

 * Manfred's DNS client for retrieving name server records
 * Very flexible renderers for date editors and collection-based calendars
 * Utilites for object diff'ing and patching
 * A nifty password generator

-- but most of all (and we're *really* proud of this one):

 * Robert's fantastic Jala unit test environment [2], introducing unit testing
   for Helma for the very first time!

Of course, we also provide you with a bunch of unit tests for many of the Jala
modules; and we're already working on the missing ones. (Well, as long as there
actually *is* a way to test each and every one of them.)

Finally, I'd like to hint you on the mailing list [3] we have set up so
unselfishly for communicating your burning questions and enthusiastic
contributions and for your convenience. Maybe you wanna subscribe in the
meantime, while you're preheating your modems...?

(Anyway, the Jala noise level on the Helma lists is going to decrease
plentifully in the next time, we promise.)

Thus, apologies for the distraction and thanks for listening.


Best regards,

Tobi Schäfer


--
[1] https://opensvn.csie.org/traccgi/jala/roadmap?show=all
[2] https://opensvn.csie.org/traccgi/jala/wiki/JalaUtil/Test
[3] https://opensvn.csie.org/traccgi/jala/wiki/MailingList

_______________________________________________
Helma-user mailing list
Helma-user <at> helma.org
http://helma.org/mailman/listinfo/helma-user
Julian Tree | 2 Mar 03:17
Picon

Re: Saying hi

Chris, there used to be this project called gobble at (http://adele.helma.org/download/gobble/), but the link doesn't work anymore.  Any ideas guys?  It is a kernel for building various types of websites on top of the Helma object publisher contributed by Hannes.  However that example does not take advantage of the most current helma features.  Users are constantly contributing new features (such as afterRequest, beforeRequest triggers) which can significantly change the way how a web application is structured.  With these newly added features, web application can be structured more efficiently. I don't think there is an example out there that fully take advantage of the the latest feature Helma has to offer.
  
Here are few things I would recommend from my personal experience.

Use Juegen's Template.js (http://dev.helma.org/wiki/JavaScrip+Template+Engine/) instead of the default Helma skin. It will save you a lot of hassle when dealing with lists and loop data.  I believe this type of templating will be adopted as the default skin in Helma 2. 

Create a dummy app as a Javascript lib repostory, so some common javascript functions can be shared amongst your applications. Try to div the lib into

1. functions that can only be used on the server side  
2. functions that can be used only on the client side (these probably will be served statically)
3. function that can be used both on the client side and server side functions

Checkout Jala, a cool helma library,  contributed by Tobi. (https://opensvn.csie.org/traccgi/jala/wiki/Download#LatestRelease1.1) Check out the helma mailing list every once in a while for goodies like that.

Just remember there is definitely more than one way to skin a cat in Helma.   Helma is intended for experienced web developers who want flexibility instead of having a standardize way of developing web applications.  The best way to approach Helma is to learn the basic behavior of Helma and then try to develop a example application yourself. This doc written by Michael Platzer (http://helma.org/docs/docbook/) is a good place to get little bits and pieces of HOWTO like user authentication, type mapping.

Hope that helps. 

Julian 



On Jan 18, 2007, at 5:50 PM, Chris Esler wrote:

Hi all.

My name is Chris. I use javascript a lot in my web development, and
found out about Helma using Javascript for the server-side scripting
and thought I would give it a shot.

Took some time, but I managed to get an initial build running on a
Xampp installation in Ubuntu through mod_jk. Initially, it comes off
to me as very fast. And the ability to plug in Java resources is
great. So needless to say, I'm hooked.

I was wondering if there is a more definitive resource for viewing
examples and/or tutorials. I've about exhausted looking through google
for "helma" as most of the results are only there because of the
'powered by helma'. And most are not in English so I wouldn't know if
it was a resource r not anyways.

At any rate, I'll keep poking at the code and see what else I can learn.

-- 
Best regards,
Chris Esler
_______________________________________________
Helma-user mailing list

Julian Tree


_______________________________________________
Helma-user mailing list
Helma-user <at> helma.org
http://helma.org/mailman/listinfo/helma-user
Chris Zumbrunn | 2 Mar 03:42
Gravatar

Re: Saying hi


On Mar 2, 2007, at 3:17 , Julian Tree wrote:

Chris, there used to be this project called gobble at (http://adele.helma.org/download/gobble/), but the link doesn't work anymore.  Any ideas guys?  

It's now called "gobi": 


"Gobble renamed to Gobi":

_______________________________________________
Helma-user mailing list
Helma-user <at> helma.org
http://helma.org/mailman/listinfo/helma-user
Rowan Kerr | 7 Mar 00:37

Helma docs and first-restarts

Hey, all.

I keep coming back to Helma every few months to build some little toy  
apps just for fun, and I find myself continually having the same  
problems which leads to a bunch of extra time hunting down all the  
docs I read previously.

My main pitfalls are things like .. expecting objects to be exposed  
at URLs..
i.e. with a Root/main.hac and Page/main.hac ... going to "/" will run  
Root/main.hac
but going to "/page/" will not run Page/main.hac

Maybe something could be added to the docs that explains how Helma
matches its URls to objects inside an app, and how to properly trigger
actions on different objects.

Or maybe that documentation is already written and I just keep  
forgetting where to find it. :)

One day I'll spend enough time with Helma to write a production app..  
and I won't need to keep searching for the same answers  over and over.

Thanks,
-Rowan
Chris Zumbrunn | 7 Mar 01:10
Gravatar

Re: Helma docs and first-restarts


On Mar 7, 2007, at 0:37 , Rowan Kerr wrote:

> Hey, all.
>
> I keep coming back to Helma every few months to build some little toy
> apps just for fun, and I find myself continually having the same
> problems which leads to a bunch of extra time hunting down all the
> docs I read previously.
>
> My main pitfalls are things like .. expecting objects to be exposed
> at URLs..
> i.e. with a Root/main.hac and Page/main.hac ... going to "/" will run
> Root/main.hac
> but going to "/page/" will not run Page/main.hac
>
> Maybe something could be added to the docs that explains how Helma
> matches its URls to objects inside an app, and how to properly trigger
> actions on different objects.
>
> Or maybe that documentation is already written and I just keep
> forgetting where to find it. :)
>
> One day I'll spend enough time with Helma to write a production app..
> and I won't need to keep searching for the same answers  over and  
> over.

Hi Rowan,

Three major aspects play into how URLs are resolved in Helma:  
Actions, HopObjects and Prototypes.

 From the prototypes introduction page mentioned below...

"Root" is the prototype of the application's root object. The root  
object of the "welcome" application therefore uses the combined code  
from these three prototypes, with code in "Root" overriding code from  
"Guide", which in turn overrides code from "HopObject".

When Helma receives a request to http://localhost:8080/ it will look  
for a "main" action to handle the request. Since it will not find one  
in "Root", it will use the one defined at ./apps/welcome/code/Guide/ 
main.hac. Requests pointing to a generic HopObject such as http:// 
localhost:8080/first/ on the other hand will use the main action  
defined at ./apps/welcome/code/HopObject/main.hac.

...and here are some pointers to the relevant sections in the docs:

The short introductions:

http://helma.org/docs/guide/introductions/prototypes/
http://helma.org/docs/guide/introductions/actions/

And the longer treatment:

http://helma.org/docs/guide/framework/#prototypes
http://helma.org/docs/guide/framework/#renderframework

Do these sections contain what you were looking for?

Chris
Chris Zumbrunn | 7 Mar 01:19
Gravatar

Re: Helma docs and first-restarts


On Mar 7, 2007, at 1:10 , Chris Zumbrunn wrote:

>  From the prototypes introduction page mentioned below...
>
> "Root" is the prototype of the application's root object. The root
> object of the "welcome" application therefore uses the combined code
> from these three prototypes, with code in "Root" overriding code from
> "Guide", which in turn overrides code from "HopObject".

Ooops, I don't want to confuse you even more instead of helping...  
You need to read the above paragraph in context of the page I copied  
it from:

http://helma.org/docs/guide/introductions/prototypes/

The reason why Root inherits from Guide is because it was defined  
that way in the Root/type.properties file, using "_extends = Guide".

Anyway, the pointers to the docs I provided below should be relevant.

Chris

> When Helma receives a request to http://localhost:8080/ it will look
> for a "main" action to handle the request. Since it will not find one
> in "Root", it will use the one defined at ./apps/welcome/code/Guide/
> main.hac. Requests pointing to a generic HopObject such as http://
> localhost:8080/first/ on the other hand will use the main action
> defined at ./apps/welcome/code/HopObject/main.hac.
>
>
> ...and here are some pointers to the relevant sections in the docs:
>
> The short introductions:
>
> http://helma.org/docs/guide/introductions/prototypes/
> http://helma.org/docs/guide/introductions/actions/
>
> And the longer treatment:
>
> http://helma.org/docs/guide/framework/#prototypes
> http://helma.org/docs/guide/framework/#renderframework
>
> Do these sections contain what you were looking for?
>
> Chris
>
>
>
>
>
>
> _______________________________________________
> Helma-user mailing list
> Helma-user <at> helma.org
> http://helma.org/mailman/listinfo/helma-user
Rowan Kerr | 7 Mar 01:31

Re: Helma docs and first-restarts

On 6-Mar-07, at 4:19 PM, Chris Zumbrunn wrote:
> http://helma.org/docs/guide/introductions/prototypes/
>
> The reason why Root inherits from Guide is because it was defined
> that way in the Root/type.properties file, using "_extends = Guide".

Thanks. Yeah, I've read that stuff a bunch of times but I'm still left
not being quite sure how to get at other objects in my app by URLs.
(I'm not interested in extending things, just accessing pre-existing  
objects).

I guess Root needs a bunch of .hac's for any URLs that I want...
but for some reason I keep having this strange idea that going
to "/page/" will call the main action of a "Page" object if there is  
any.
(for example).

Oh, and in the discussion of prototypes in the guide...
http://helma.org/docs/guide/framework/#prototypes
"Helma has a few prototypes that are present in all applications.  
These are the root, user, hopobject and global prototypes."

It would be cool to be able to see all the default properties and  
methods of each object (if any). I know HopObject has its own page,  
but seems to be missing properties .. and lists only the methods.

-Rowan
Chris Zumbrunn | 7 Mar 01:45
Gravatar

Re: Helma docs and first-restarts


On Mar 7, 2007, at 1:31 , Rowan Kerr wrote:

> On 6-Mar-07, at 4:19 PM, Chris Zumbrunn wrote:
>> http://helma.org/docs/guide/introductions/prototypes/
>>
>> The reason why Root inherits from Guide is because it was defined
>> that way in the Root/type.properties file, using "_extends = Guide".
>
>
> Thanks. Yeah, I've read that stuff a bunch of times but I'm still left
> not being quite sure how to get at other objects in my app by URLs.
> (I'm not interested in extending things, just accessing pre-existing
> objects).
>
> I guess Root needs a bunch of .hac's for any URLs that I want...
> but for some reason I keep having this strange idea that going
> to "/page/" will call the main action of a "Page" object if there is
> any.
> (for example).

The simplest configuration would be to only add your actions to the  
HopObject prototype. If you do that, Root will automatically inherit  
anything you define there and so will any other page, since in Helma  
every "page" is a HopObject (or inherits from it).

> Oh, and in the discussion of prototypes in the guide...
> http://helma.org/docs/guide/framework/#prototypes
> "Helma has a few prototypes that are present in all applications.
> These are the root, user, hopobject and global prototypes."
>
> It would be cool to be able to see all the default properties and
> methods of each object (if any). I know HopObject has its own page,
> but seems to be missing properties .. and lists only the methods.

This should be complete:

http://helma.zumbrunn.net/reference/HopObject.html

Which kind of properties were you looking for? What feels missing?

Chris
Rowan Kerr | 7 Mar 01:56

Re: Helma docs and first-restarts

On 6-Mar-07, at 4:45 PM, Chris Zumbrunn wrote:
> The simplest configuration would be to only add your actions to the
> HopObject prototype. If you do that, Root will automatically inherit
> anything you define there and so will any other page, since in Helma
> every "page" is a HopObject (or inherits from it).

So for, eg: "/page/edit" ... "page" would be a property of Root, and
"edit" would be Page/edit.hac?

Or does edit.hac have to be added to HopObject and then check
for the type of object that's being edited each time it's called?

(I know I set up a demo of this stuff a long time ago but my memory  
is fuzzy).

>> It would be cool to be able to see all the default properties and
>> methods of each object (if any). I know HopObject has its own page,
>> but seems to be missing properties .. and lists only the methods.
>
> This should be complete:
>
> http://helma.zumbrunn.net/reference/HopObject.html

That looks much beefier :)

> Which kind of properties were you looking for? What feels missing?

Several places in the handbook/guide mention properties that are
required, or automatic such as _id, _name ... but those aren't reflected
in the docs.

Actually, I don't see the User or Root objects on your reference site...

It's silly stuff I guess, but it's stuff I keep stumbling over.
Thanks.

-Rowan
Picon

Re: Helma docs and first-restarts

Hi Rowan,

I think I may understand what your queston is getting at.

I think what might be confusing you is that the "Root" object (and Root
prototype) are special - there is only one object of the Root prototype
and its defined for you by default to be at the url
http://hostname/myapp/

BUT for any other prototypes, for example say you define a Page
prototype, there is NO default mapping to a url, so even if you have a
Page/main.hac, typing in a url like:
http://hostname/myapp/page/ or http://hostname/myapp/Page will not do
anything.

In order to get the result you want, you need to create a mount-point
for your Page protoype in the Root prototype (which as I said is defined
by default already for you), so in Root/type.properties you would have
something like:

page = mountpoint(Page)

Which would then run Page/main.hac when you use the url
http://hostname/myapp/page/ 

See the doc here: http://helma.org/docs/guide/mapping/mountpoint/  for a
fuller explanation. 
You will also see it talks about referencing objects of the protoype you
are using (in your case Page) because helma is like javascript;
object-oriented and so you normally would have multiple objects of a
particular prototype:
Eg.
Prototype: Users
Objects: homer (id=1), marge (id=2), bart(id=3)
Eg. Url: http://hostname/myapp/users/1/display
Would cause the Users/display.hac action to be executed with the "homer"
user object as its context.

Please note that you can safely ignore the whole object-oriented info
above if you just want a simple dynamic application without data
storage.

Hope that helps,

Maks.

________________________________

From: helma-user-bounces <at> helma.org [mailto:helma-user-bounces <at> helma.org]
On Behalf Of Rowan Kerr
Sent: Wednesday, 7 March 2007 11:56
To: Helma User Mailing List
Subject: Re: [Helma-user] Helma docs and first-restarts

On 6-Mar-07, at 4:45 PM, Chris Zumbrunn wrote:
> The simplest configuration would be to only add your actions to the
> HopObject prototype. If you do that, Root will automatically inherit
> anything you define there and so will any other page, since in Helma
> every "page" is a HopObject (or inherits from it).

So for, eg: "/page/edit" ... "page" would be a property of Root, and
"edit" would be Page/edit.hac?

Or does edit.hac have to be added to HopObject and then check
for the type of object that's being edited each time it's called?

(I know I set up a demo of this stuff a long time ago but my memory 
is fuzzy).

>> It would be cool to be able to see all the default properties and
>> methods of each object (if any). I know HopObject has its own page,
>> but seems to be missing properties .. and lists only the methods.
>
> This should be complete:
>
> http://helma.zumbrunn.net/reference/HopObject.html

That looks much beefier :)

> Which kind of properties were you looking for? What feels missing?

Several places in the handbook/guide mention properties that are
required, or automatic such as _id, _name ... but those aren't reflected
in the docs.

Actually, I don't see the User or Root objects on your reference site...

It's silly stuff I guess, but it's stuff I keep stumbling over.
Thanks.

-Rowan

_______________________________________________
Helma-user mailing list
Helma-user <at> helma.org
http://helma.org/mailman/listinfo/helma-user

Gmane