[phpwiki]
!Pre-requisites
The first part of the install was mainly influenced by the need to install
ruby and rails, the platform for yubnub. This was fairly painless on fc3
after some poking around and getting familiar with ruby.
Did a subversion co of:
http://svn.yubnub.org/svn/yubnub
Installed ruby with up2date on fc3 and installed the "gem" tool that seems
to be the equiv of cpan and pear. During my install I also found that I
was missing irb and rdoc which are two ruby tools. After some more poking
I realized I could install them with up2date and that cleared up the ruby
problems. This link gave me the hint I needed:
http://www.oreillynet.com/cs/user/view/cs_msg/64120
I had trouble with the rake build due to problems with the mysql.sock path
and fixed that in the file:
/usr/lib/ruby/gems/1.8/gems/activerecord-1.11.1/lib/active_record/vendor/mysql.rb
with a manual edit. Don't know why it wasn't accurate.
!On to Yubnub Issues:
The first yubnub specific error was that rake in the yubnub dir wanted to
use all the database defaults for the active_record plugin. Created the
db and user that were expect and this got me past the issue. These
settings seem to be controlled by config/database.yml.
I had to manually install the databases before attempting rake from the
db/developement.sql file cause other wise they don't get installed and the
file content disappears.
After this point I was able to start yubnub with the webbrick engine.
There was an error in using yubnub, though. I don't remember the text of
the error but it was basically a crash of yubnub. The cause of this,
though, was that there were no commands in the initial database. Yubnub
didn't seem happy to find a empty result set I guess.
Adding commands to the database fixed the SQL errors. The main command is
"g" for google. This is where you go if the command is unrecognized.
Yubnub seemed to fairly sensitive to missing data. The local ls command
wouldn't work because the creation_data field was null. Using the create
command to create the missing initial commands takes care of inserting all
the needed data. Basically, start with
http://expample.com/yubnub/command/new?create=
and go from there.
Point of interest: the other features on yubnub like ls and create are
just commands themselves that activate yubnub pages. These can be added
as relative urls so they get constructed accurately. Seems that all
commands are implemented under the url /kernel/command_name and that they
are given to the url /parser/parse?command=command_name to start with.
This is a very nice naming convention.
!Making Yubnub the main page
To get yubnub to work off the standard rather than through the webbrick
engine I had to add the execute bit to the yubnub.cgi and change the path
of the ruby interpreter. It was set for a dos environment.
The scripts seem geared toward running off the document root as I have to
specify the full path for the command names. During the testing under
Apache and under a deeper url path, I had to change the create command
from /create to /yubnub/public/create. Using a bare "create" doesn't
seem to give relative commands paths for local machine.
After using yubnub as the root of myvocs, the default command paths work
nicely. It might be nice to have a way to config the base url so that
there is no need to change the actual command definitions.
In order to use the post plugin, I had to add the get2post.php script from
the yubnub contrib to the public dir and modify the ruby file that
referenced the url for the script. This is the glue that binds the two
together.
Yubnub now works nicely as the front end to myvocs: a collaboration
environment.
http://myvocs.org
!Some other misc notes:
* I can't seem to mix %s with named arguments. The parser seems to glob
the rest of the command line with the most recent argument.
* It would be good to have an alias function to let people supply
alternate names for a command. Good names will become more popular.
* Yubnub commands need manual pages via a wiki so that documentation can
build up over time and that it can be more elaborately formated. No need
to build this into yubnub though.

