First of all, I must apologize for my lack of prompt reply to this (and your other emails). I've been traveling, and haven't kept up with ruby-talk as faithfully as I should have. Thanks to daz and others who have replied in my absence.
There are three free standing files: hashslice.rb, crosscase.rb and delimscanner.rb in the redist/ directory. I copied these to the /usr/local/lib/ruby/site_ruby/1.8/ directory. (HashSlice is mentioned on the Online Manual page for Arrow, but I didn't see anything about the other two...any one care to comment on them?)
The only one that is required for normal operation is 'hashslice.rb'. 'delimscanner.rb' is no longer used, so I'll remove it from the redist/ directory. 'crosscase.rb' was only required by 'delimscanner.rb', so I'll remove that, too. Thanks for mentioning this.
0.5 - Then I had to modify the demo.cfg file and add to the path section under applets: - "/etc/arrow/applets" . Also to note that you need to make sure you use 2 spaces to indent each section of the configuration file deeper you go. I used tabs and it didn't work. (This may be a simple YAML requirement? but I have never used YAML so I didn't know)
This has tripped me up in the past, too, but I don't quite know how to detect when it's happened. I'll spend some time with the YAML modules and see if I can't try to warn about this situation.
One thing that would be nice is for better Error documentation on Arrow's errors. I have no clue what "Applet returned false, OK Status = -1" means in the apache error.log file. Is that a missing file? A malformed applet file? etc... Most of the errors were because of my own lack of patience and reading, but I hope that this post will help others.
I've tried to make the actual errors self-explanatory, but I'll continue to work on this. One thing I could improve on is trying to detect and provide suggestions for possible fixes for things that look like errors (like no applets found, invalid YAML, etc.). The message you cited isn't an error, but you're right: the message is sorely lacking in useful content for anyone that isn't familiar with the internals of Arrow.
We intend to alleviate this somewhat by finishing the tutorial part of the documentation. While the "Applet" part of the tutorial does mention the above situation:
"Returning a non-true value causes a DECLINED status
to be sent back to Apache. This can be used to pass
control to a further handler if the action determines
it cannot handle the request."
it assumes you've done mod_ruby development before and know about Apache status codes, which isn't a valid assumption. We'll try to do better. =:)
Also it'd be nice if the README file or the online manual would state how-to run the demo/samples all you need to do are these steps: boom, bang, bing! Then I would be much more inclined to reading the Tutorial page on the Arrow web site and put 2 and 2 together. It is often easier to see an end result and then go back and figure out how it got there, then it is to read about it all upfront and have to figure out how the pieces interact. Just another perspective.
The installation script should do all this for you: it can install demo applets and templates in a directory of your choice, create an appropriate config file for your installation, and then generates and outputs an appropriate section for your httpd.conf. Did this not work for you?
One of the things it doesn't do is attempt to install the stuff in redist/ for you or check your mod_ruby installation. It would appear from your installation attempts as if this might be valuable. I'm a bit leery of doing either because of cross-platform concerns, but I guess I could do it for UNIXish installations and see where that gets us.
I'll also create an INSTALL file with the information from the online manual in it and add that to the distribution.
Thanks so much for your posts to this list. Ease of installation is one of the things I had hoped to work out before the 1.0 release, and your posts have illuminated some of the weak points in the documentation. Any additional suggestions or comments you have would be equally appreciated.
PGP.sig (186 Bytes)
···
On Sep 11, 2004, at 3:20 PM, Zach Dennis wrote:
--
Michael Granger <ged@FaerieMUD.org>
Rubymage, Believer, Architect
The FaerieMUD Consortium <http://www.FaerieMUD.org/>
12383406064495388618631689469409153107.to_s(36).tr('z',' ')