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

2007-07-14:

[3:10] <midnightmonster> I want to take a look at the gobi source to see what their data model is, but I've never used cvs and haven't a clue how to download the source. (I started version control with subversion.) help?
[3:11] <midnightmonster> (and since I don't think anyone's here, I'm going to sleep. if z or one of you others happens to know how to get the source, please just leave a note and I'll see it later.)
[6:55] <zumbrunn> midnightmonster, regarding getting a check out of the gobi app from cvs:
[6:55] <zumbrunn> http://helma.org/development/cvs/howto/
[6:56] <zumbrunn> If that doesn't help, let me know and I'll make a tar and put it somewhere
[6:57] <zumbrunn> ("Checking-out an app or module from CVS using the shell")
[9:20] <midnightmonster> zumbrunn, thanks--copy-and-paste-able is certainly good enough for me
[9:21] <zumbrunn> unless you do not have cvs installed at all
[9:21] <zumbrunn> (on windows)
[9:21] <midnightmonster> i don't, but it's on my server and I got it there
[9:21] <zumbrunn> but on the server it should definitely be there
[9:21] <zumbrunn> :-)
[9:21] <midnightmonster> :-)
[9:22] <midnightmonster> also, thanks for mentioning the built-in db again
[9:22] <zumbrunn> yes...
[9:22] <zumbrunn> there are no docs for that because you do not need any
[9:23] <midnightmonster> I looked into jackrabbit and it tasted too much like java. so I was going to just use a db, and then I looked again and realized what you just said--there's nothing to document: you just use the xml db transparently
[9:23] <zumbrunn> if you do not mapp a prototype to a relational db, Helma automatically used the built in db
[9:23] <midnightmonster> which is amazing
[9:25] <midnightmonster> which is exactly the sort of flexibility I want, and getting it so easily leaves plenty of time to (e.g.) hook up lucene for myself instead of having it built-in to jackrabbit
[9:26] <midnightmonster> so now I'm digging into gobi to see how they implemented versioning
[9:27] <zumbrunn> Regarding Lucene... you probably already saw these Helma modules...
[9:27] <zumbrunn> http://helma.zumbrunn.net/reference/helma/Search.html
[9:27] <midnightmonster> yes
[9:28] <zumbrunn> http://helma.zumbrunn.net/reference/jala/IndexManager.html
[9:28] <midnightmonster> not yet
[9:29] <doublec> Hello, I'm new to using helma and thought i'd pop in and say hi
[9:30] <midnightmonster> hi. what other environment did/do you usually use?
[9:31] <zumbrunn> Hi doublec, I saw your javascript on the server-side blog post recently
[9:31] <doublec> I use Factor (a fairly obscure programming language) and a scheme based system
[9:31] <doublec> hi zumbrunn, yes that was me
[9:31] <zumbrunn> :-)
[9:31] <midnightmonster> link?
[9:31] <doublec> http://www.bluishcoder.co.nz/2007/07/javascript-on-server.html
[9:32] <midnightmonster> (going from PHP I feel like I'm going into uncharted wilderness, but after factor, scheme moving to javascript on the server side sounds positively mainstream)
[9:32] <doublec> it was the comments in that post that motivated me to take a look at helma :)
[9:32] <doublec> hehe
[9:34] <midnightmonster> ah--I read that one, too. just didn't notice the name in fine gray type.
[9:43] <midnightmonster> it's not really time to wake up here--I was just up with the baby--so I'm headed back to sleep. thanks again, zumbrunn. welcome & good luck, cc
[9:44] <doublec> cya
[16:36] <midnightmonster> do I use type.properties if I'm using the xml db?
[16:36] <midnightmonster> and do collections still exist w/ the xml db?
[16:50] <zumbrunn> yes, you can still have collections
[16:51] <zumbrunn> and yes, you still need the type.properties, for example to define the prototype chain using _extend
[16:52] <zumbrunn> http://adele.helma.org/source/viewcvs.cgi/welcome/code/HopObject/type.properties?rev=1.1&content-type=text/vnd.viewcvs-markup
[16:53] <zumbrunn> http://adele.helma.org/source/viewcvs.cgi/welcome/code/Root/type.properties?rev=1.2&content-type=text/vnd.viewcvs-markup
[16:54] <midnightmonster> ok... I think enlightenment is beginning to dawn
[16:59] <midnightmonster> _children is a *special* collection, right? HopObject.add/get/etc modify _children? can I have other collections, and how do I manipulate them>
[17:01] <zumbrunn> yes you can
[17:01] <zumbrunn> the collection should show up as a property by that name
[17:02] <zumbrunn> (am I making sense?)
[17:03] <zumbrunn> hobj.mycollection.list() instead of hobj.list()
[17:04] <midnightmonster> ok, say I want to have a page object w/ a collection of child pages and a separate collection of past revisions of this page
[17:05] <midnightmonster> _children = collection(Page)
[17:05] <midnightmonster> _children.accessname = name
[17:06] <midnightmonster> revisions = collection(Page)
[17:06] <midnightmonster> revisions.accessname = revisionid
[17:06] <midnightmonster> name
[17:06] <midnightmonster> revision
[17:06] <midnightmonster> text
[17:06] <midnightmonster> something like that?
[17:07] <zumbrunn> looks correct
[17:08] <midnightmonster> now the url /myPage/something maps to the Page object in the _children collection of myPage that has name='something', right?
[17:08] <zumbrunn> yes
[17:08] <midnightmonster> does /myPage/revisions/3 map automatically, too, or do I have to do something more?
[17:08] <zumbrunn> I'm not sure if you can also mount the revisions at the same time
[17:09] <zumbrunn> never tried that
[17:09] <midnightmonster> you lost me
[17:09] <midnightmonster> mount?
[17:09] <zumbrunn> interesting if that works
[17:09] <zumbrunn> revisions.accessname...
[17:09] <midnightmonster> oh, ok
[17:10] <zumbrunn> does it work?
[17:10] <midnightmonster> dunno--I haven't tried it yet either. I'm still working on the concepts
[17:11] <zumbrunn> no, don't think that works...
[17:12] <zumbrunn> you can only get to the revisions through the scripting environment
[17:13] <zumbrunn> probably myPage.revisions['3'] in that case
[17:14] <zumbrunn> actually using a number shouldn't work at all there
[17:14] <zumbrunn> numbers are not legal Javascript identifiers
[17:15] <zumbrunn> ehm... I mean strings that start with a number
[17:15] <zumbrunn> hmm... I have to test this myself :-)
[17:17] <zumbrunn> ok numbers are working fine
[17:20] <midnightmonster> [strings starting with] numbers aren't legal variable names, but they're find for array and object indexes
[17:20] <zumbrunn> thank god
[22:51] <rjb> hi again
[22:51] <midnightmonster> welcome back
[22:52] <rjb> i got my first cheesy toy helma app to work ;) somewhat at least
[22:53] <midnightmonster> cool. I've done the tutorial and wrote an action that sorts a word list into anagrams.
[22:53] <midnightmonster> Monday I'm jumping in to doing a real site
[22:53] <rjb> i pushed the output thru the w3c validator
[22:54] <rjb> and found 1 funny thing: helma's skin rendering appended 2 null bytes at the end of the html
[22:54] <rjb> or so it seems
[22:54] <midnightmonster> weird
[22:54] <rjb> they're not in my skin, that's for sure
[22:55] <rjb> so of course the validator complains about illegal character data
[22:55] <rjb> outside of the root element as well
[23:00] <rjb> well helma.org seriously fails validation itself, though for other reasons
[23:01] <midnightmonster> I haven't had a chance to test this. did you try what happens if you just res.write some html directly? (i.e., is it the skins or something more fundamental)
[23:02] <rjb> hmm waitaminute
[23:04] <rjb> i changed renderSkin("html"); to res.write(renderSkinAsString("html"));
[23:04] <rjb> but it made no difference
[23:05] <midnightmonster> what if you just write a string of html?
[23:05] <midnightmonster> I mean that you make yourself without the skin
[23:07] <rjb> no null bytes then
[23:08] <rjb> they're coming from skin rendering
[23:17] <rjb> for the record, this is helma-1.5.3
[23:17] <rjb> and the url that demonstrates it: http://bobo.fuw.edu.pl/fotw/
[23:19] <rjb> the output comes from a simple call to renderSkin("html") in main.hac
[23:19] <rjb> time to sleep, g'nite

 

 

In the channel now:

Logs by date: