Hopbot log for 2007-08-19 - Helma IRC channel: #helma on irc.freenode.net

2007-08-19:

[13:00] <cluelesss> howdy, anybody awake?
[13:01] <zumbrunn> maybe, maybe not ;-)
[13:01] <cluelesss> hey ho
[13:01] <cluelesss> I've spent the last like 6 hours looking at various SSJS servers
[13:02] <cluelesss> and I really got excited when I read whitebeam's website describing their code
[13:02] <cluelesss> and then I went to downloads and they're not developing for Windows anymore... and the link to the download was broken... and I still haven't gotten it working
[13:03] * cluelesss is a windows kind of guy :P
[13:03] <cluelesss> so after it all, I have a few questions for you
[13:03] <cluelesss> if you would happen to know
[13:03] <cluelesss> How many people have you run into using Helma?
[13:04] <zumbrunn> define "run into"
[13:04] <zumbrunn> I hope I haven't actually literally run into any one of them
[13:05] <zumbrunn> if I have, my apologies to them ;-)
[13:05] <cluelesss> heh well
[13:05] <cluelesss> I wonder how many people depend on Helma for their personal or business applications
[13:05] <zumbrunn> there is a concentration of Helma users in Vienna, Austria
[13:06] <zumbrunn> then there are more in Austria, Germany and Switzerland
[13:06] <zumbrunn> and more around the world
[13:06] <zumbrunn> it's hard to say in actual numbers
[13:07] <cluelesss> hm
[13:07] <cluelesss> do you have a link to example scripts?
[13:08] <zumbrunn> http://dev.helma.org/wiki/Related+Projects/
[13:08] <zumbrunn> do you have something specific in mind?
[13:09] <cluelesss> I want to read data out of an XML file, reformat it, and serve it as HTML
[13:09] <zumbrunn> one interesting new approach that comes to mind would be using e4x
[13:10] <cluelesss> does Helma implement e4x?
[13:10] <zumbrunn> and there is the built-in Xml object
[13:10] <zumbrunn> http://helma.zumbrunn.net/reference/Xml.html
[13:11] <zumbrunn> yes, although the current release version contains a rhino.jar with a e4x bug
[13:11] <cluelesss> hm
[13:11] <zumbrunn> http://helma.zumbrunn.net/downloads/rhino16r6patched/
[13:12] <zumbrunn> that's the patched version
[13:12] <cluelesss> nice... where do I put it
[13:12] <zumbrunn> it replaces the rhino.jar in the ./lib folder of your helma install
[13:12] <cluelesss> ah I see it now
[13:15] <zumbrunn> beyond e4x and the old built-in Xml object, there are of course many java libraries that allow you to work with XML
[13:15] <zumbrunn> and java libraries are really easy to use in Helma
[13:17] <zumbrunn> http://zumbrunn.com/mochazone/Rhino+1.6R6+with+E4X+fix+and+patches+for+Helma/
[13:20] <cluelesss> hm
[13:22] <cluelesss> oh sweet, I can get this thing to work with Apache
[13:25] <cluelesss> so what's the difference(s) between Helma and OpenMocha?
[13:25] <zumbrunn> OpenMocha is a soft-coding framework
[13:25] <zumbrunn> it runs on top of Helma
[13:26] <cluelesss> soft-coding, as in...
[13:26] <zumbrunn> it's basically a Helma app that can be customized/scripted through the web browser
[13:27] <zumbrunn> soft-coding as in "customizing the running application on the fly"
[13:28] <zumbrunn> the current release version is out of date, though
[13:28] <cluelesss> hm
[13:28] <zumbrunn> I really need to spend some time finishing the new version I've started
[13:28] <zumbrunn> it's going to be a complete rewrite
[13:28] <zumbrunn> much much simpler and smaller
[13:28] <cluelesss> at the moment I can't think of any purpose (or procedure) for soft-coding an app in the browser
[13:29] <zumbrunn> leveraging e4x and new Helma features that were not available at the time
[13:30] <cluelesss> wait let me think about that
[13:32] <cluelesss> ok the problem I'm running into is that I don't understand it
[13:32] <cluelesss> by the description on the site
[13:34] <zumbrunn> yes, the new simpler version will likely also be simpler to describe ;-)
[13:34] <cluelesss> what you need on your website is a link describing the _why_ of it, that goes a little more in depth than the front page
[13:35] <zumbrunn> a key element in Openmocha's soft-coding approach is that you can override the behavior of the application at any point in your content hierarchy
[13:35] <cluelesss> ok I didn't get that
[13:36] <zumbrunn> it adds a layer of "hierarchical inheritance" that overrides the prototype inheritance built-in to Javascript
[13:36] <cluelesss> or that
[13:36] <zumbrunn> the new version will focus more on that
[13:37] <cluelesss> how many people are involved with the development of Helma and OpenMocha?
[13:37] <zumbrunn> Openmocha is just me
[13:38] <zumbrunn> Helma is mainly Hannes
[13:38] <zumbrunn> http://www.henso.com/
[13:39] <zumbrunn> with changing additional contributors over time
[13:39] <zumbrunn> The ORF is heavily invested in moving Helma development forward
[13:39] <cluelesss> ORF?
[13:40] <zumbrunn> the Austrian broadcast corporation http://www.orf.at/
[13:40] <cluelesss> ah
[13:40] <zumbrunn> so is Knallgrau
[13:40] <zumbrunn> http://www.knallgrau.at/
[13:41] <zumbrunn> and systemone
[13:41] <zumbrunn> http://www.systemone.at/en/
[13:42] <cluelesss> well afaik there aren't any other comparable SSJS frameworks
[13:42] <zumbrunn> whitebeam, like you said
[13:42] <zumbrunn> but it's C not Java
[13:43] <zumbrunn> and it focuses more on XML based templating
[13:43] <zumbrunn> and Phobos from Sun
[13:43] <cluelesss> yeh, that's the thing that really attracts me to whitebeam, its integration with XML
[13:45] <zumbrunn> but it isn't as light weight and again has more of a traditional "page centric" development approach (phobos that is)
[13:47] <cluelesss> oh, another thing that attracts me to Whitebeam is how much sample code and information they have upfront :P
[13:47] <cluelesss> only problem is, I'm not a unix user and I don't know how to port stuff over
[13:48] <zumbrunn> what kind of sample code do you think we should have available more easily?
[13:49] <cluelesss> the simplest of stuff
[13:49] <zumbrunn> like a simple CRUD app?
[13:49] <cluelesss> um... yes.
[13:49] <cluelesss> when you're not even sure whether you want to commit yourself to a framework, it's nice to see at least something upfront that's simple
[13:49] <cluelesss> a hello world app
[13:51] <zumbrunn> the introductions don't do a good job with that?
[13:51] <zumbrunn> http://helma.zumbrunn.net/intro/applications
[13:52] <zumbrunn> (the local welcome app that comes in the default install)
[13:54] <zumbrunn> basically what is inside the HopObject folder of the welcome app should be pretty interesting starting point
[13:56] <cluelesss> why's that
[13:57] <zumbrunn> let me go and take a look myself quickly...
[14:01] <cluelesss> hm, so basically a HobObject is an individual "page"
[14:02] <zumbrunn> no, not at all...
[14:02] <zumbrunn> that's one concept that Helma tries to get away from
[14:03] <zumbrunn> HopObject is the "main" prototype that your "pages" will inherit from
[14:04] <zumbrunn> oh, well, yes...
[14:04] <zumbrunn> an individual HopObject instance is kind of like a page
[14:05] <cluelesss> hm
[14:07] <cluelesss> how about this
[14:07] <cluelesss> When I go to http://localhost:8080/ , what file defines the action to display that splash page?
[14:08] <zumbrunn> ./apps/welcome/Guide/main.hac
[14:10] <zumbrunn> In the "welcome" application's code repository at ./apps/welcome/code/ for example, you will find directories for the HopObject, Root and Guide prototypes. Both the Root and Guide prototypes inherit automatically any code from the HopObject prototype. Additionally, the Root prototype also inherits from the Guide prototype, due to the "_extends" property that is configured in ./apps/welcome/code/Root/type.properties
[14:10] <zumbrunn> http://helma.zumbrunn.net/intro/prototypes
[14:10] <zumbrunn> by default, Root would inherit from HopObject
[14:11] <zumbrunn> so it would be the main.hac in Root or if that doesn't exist in HopObject
[14:12] <zumbrunn> in the welcome app it's the one inside Guide because the type.properties in Root specify that it should inherit from Guide
[14:12] <zumbrunn> _extends = Guide
[14:12] <cluelesss> why does Helma go to apps/welcome/ to find its splash page in the first place?
[14:12] <zumbrunn> the config in apps.properties
[14:12] <zumbrunn> http://helma.zumbrunn.net/intro/applications
[14:13] <cluelesss> welcome.repository.0 = apps/welcome/code/?
[14:13] <zumbrunn> welcome.mountpoint = /
[14:13] <zumbrunn> welcome.repository.0 = apps/welcome/code/
[14:13] <zumbrunn> yes
[14:13] <zumbrunn> those two
[14:13] <cluelesss> oh hmm
[14:13] <cluelesss> sweet
[14:14] <cluelesss> I think I'm actually starting to kinda sorta get the idea
[14:14] <zumbrunn> if you modify the files you should immediately see the effect of your changes
[14:15] <cluelesss> yeah I changed mountpoint to blah/
[14:15] <zumbrunn> (after you safe, of course)
[14:15] <cluelesss> what does welcome.repository.1 = modules/helmaTools.zip do?
[14:15] <zumbrunn> but you don't need to restart helma
[14:15] <zumbrunn> it add the code inside that zip file
[14:15] <zumbrunn> like if it would be inside the first listed repository
[14:16] <zumbrunn> code in repositories with lower numbers override code in repos with higher numbers
[14:17] <zumbrunn> (for example, if your would define a Guide/main.hac in both repos)
[14:21] <cluelesss> and all these pieces fit together somehow
[14:22] <zumbrunn> yes, that way you can split your code into modules that you can reuse
[14:23] <zumbrunn> plus use libraries such as those in ./modules/helma ./modules/core and jala
[14:23] <zumbrunn> dev.orf.at/trac/jala/
[14:23] <zumbrunn> http://dev.orf.at/trac/jala/
[14:24] <zumbrunn> you can also load more code into a running app at runtime using the app.addRepository method
[14:25] <zumbrunn> http://helma.zumbrunn.net/reference/app.html#addRepository
[14:28] <cluelesss> I'm definitely gonna have to review all this stuff when I have time sometime
[20:04] <mho> ich glaub da kann wer deutsch...
[20:46] <earl> ein, zwei menschen vielleicht ;)

 

 

In the channel now:

Logs by date: