Wiki Perl module called CGI::Kwiki

apps

#1

Well, I’m feeling pretty stupid right now having thoroughly confused myself trying to work through an install dependancy issue with this pkg. perldiver.cgi reports all the requisite modules for the kwiki engine in Perl module called CGI::Kwiki (http://www.kwiki.org) are installed, and things seem to go very well at first with the install (as described on http://www.perl.com/pub/a/2003/05/14/kwiki.html?page=1), but it seems there is a remaining dependency issue.

when the index.cgi is run from the command line via telnet, I receive the error message:


Software error: Undefined subroutine &CGI::Kwiki::I18N::gettext_lang called at /home/joeaic/public_html/kwiki/lib/site_perl/5.6.1/CGI/Kwiki/I18N.pm line 26.

For help, please send mail to the webmaster (webmaster@xxx.com), giving this error message and the time and date of the error.


I have some clue as to what the problems is from a “faq” page" () excerpted below:

Q. Software error:
Undefined subroutine &CGI::Kwiki::I18N::gettext_lang called at
/usr/local/lib/perl5/site_perl/5.6.1/CGI/Kwiki/I18N.pm line 26.

– Author name here

A: You can fix this by installing Locale::Maketext.

As you can see in the source it’s require’d from the file CGI/Kwiki/I18N.pm - but the makefile.PL should be updated to check for the dependency.


The search for a solution has a couple of other clues at:
http://www.kwiki.org/index.cgi?InstallingKwikiOnAHostedServer
but I got rather lost in the discussion.

I’, particularly confused in that the module that “can’t be found” is reported by perldiver.cgi as being installed!?
(http://search.cpan.org/search?module=Locale::Maketext), see http://rlparker.com/perldiver.cgi for details.

For a workaround, It would seem as though I could install the whole CGI:Kwiki module locally, and set up all my own dependancies to get this thing to work but:

  1. The module’s own install routines would make it so easy to implement for users, and

  2. I hate to have to symlink or copy the whole modules’ code to other directories to implement additional wikis.

From all the traffic I’ve seen on this board re. wikis, I think if we can get a methodology to install this one which is already on the dreamhost servers in the perl distribution, it would be a breeze to point others to an easily installed and powerful wiki.

I would very much appreciate any of your DH sysadmin wizard types out there taking a look at this and sharing with me/us the best way to install this puppy…

feeling even stoopider now then when I started this post …

Regards,

Robert Parker


#2

Just an update for anyone who has read this thread:

Thanks to Dreamhost tech support staff, certain of the requisite modules for Cgi-Kwiki have now been installed at Dreamhost and the beast works like a charm. The problem was the result of Cgi-Kwiki’s dependance on a missing I18N module, which Dreamhost has now installed.

The end result is that the process of installing a pretty full featured wiki (it even includes a blog function!) on Dreamhost is now a three step process, in a telnet or ssh session, that requires no file transfers at all!:

  1. create a directory in your web accessable space
  2. CD into that directory and type “kwiki-install”
  3. set that directory’s permission back to 755 (the install program changes it to 775, which does not play well with Dreamhost)

Once these things are done, just go to the directory in your browser and, Tah Dah!, enjoy your wiki!

There are other option, modifications, etc that you can do to change or enhance the operation of your wiki, but all these steps are optional.

I hope this information is of use to some; if there is interest, I’ll prepare a more full-featured tutotrial on using kwiki on dreamhost and put it on the web to be linked from this thread. Anyone have an interst in this? If so, just reply to this thread and I’ll follow-up.

rlparker


#3

Holy cow. Doesn’t get much easier than that!


#4

This was so convenient to set up. Wikis are strangely fun. I do have a question. Attempts to delete pages result in a lock failure. Apparently a known bug, with a fix, even. But, uh, where do I find edit.pm and database.pm to apply the fixes? Or at least look at them to see if what to do is obvious. Or do these have to be fixed by an admin? Here’s the fix:

http://www.kwiki.org/index.cgi?PatchDeleteUnlockBug

[code]— Database.pm.orig 2003-10-28 09:02:31.000000000 -0500
+++ Database.pm 2003-10-28 09:36:51.000000000 -0500
@@ -36,6 +36,7 @@
sub unlock {
my ($self, $page_id) = @_;
my $lock_handle = $self->lock_handle;

  •   return unless -e $lock_handle;
    

flock($lock_handle, LOCK_UN)
or die “Can’t unlock $page_id\n:$!”;
close $lock_handle;
— Edit.pm.orig 2003-08-25 16:45:05.000000000 -0400
+++ Edit.pm 2003-10-28 09:53:40.000000000 -0500
@@ -144,12 +144,11 @@
}

sub delete {

  • note: locking still exists outside this in the save() sub

my ($self) = @_;
my $page_id = $self->cgi->page_id;

  • $self->database->lock($page_id);
    $self->database->delete($self->cgi->page_id);
    $self->cgi->page_id(’’);
  • $self->database->unlock($page_id);
    }

1;
[/code]


#5

Support blew me off when I asked for the patch to be applied ("…doing custom software installs is a bit beyond the scope of our support. Unfortunately, so is patching your scripts")

Well, no argument there. For the life of me I can’t find database.pm or edit.pm in the paths available to me after using the automated install. I suppose they are there somewhere I’m not looking, but I’m clueless. If someone could point me to the path I am happy (as mentioned previously) to attempt to patch them myself.


#6

The sitewide ones seem to be here:
andor: 11:32pm# locate Database.pm
/usr/share/perl/5.6.1/CGI/Kwiki/Database.pm
andor: 11:32pm# locate Edit.pm
/usr/share/perl/5.6.1/CGI/Kwiki/Edit.pm

If you’re applying the patch to the version you’ve installed, it should be in the location mentioned by Bob. (I’d be careful about pasting it directly from the forum, as the spacing may get screwed up). You may need to use a “use lib” statement or something so that the program sees your version rather than ours.


#7

I thought I was asking for the site-wide one to be patched. As I understand it I did not install Kwiki itself, I used the already installed version’s ‘Kwiki-install’ to create an instance of a kwiki, back-ended by the sitewide install.

Using the automated install does not unpack a distribution into a local directory. It appears to instead create a handful of wrapper files, a config file, and three .cgi files, all pointing back to the sitewide modules. That’s what makes it so convenient to create multiple wiki’s. As far as I can see I don’t have any paths like ./CGI-Kwiki-0.18/lib/CGI/Kwiki/Database.pm

I’m at work but will triple-check those paths again when I get home.


#8

Follow-up: Support has patched the file(s) and you can now delete a wiki page without an error. Tx!


#9

A kwiki tutorial would be MORE than insanely welcome, and much appreciated! I’d been trying to get a wiki working on my site for months, to no avail. Last night I ran across your posting and within an hour (I had to figure out how to SSH) I had three wikis up and running.

Anything you know about configuring special features, etc., would be greatly welcome.

Thanks!
J

PS…for anyone using Mac OS X who is unfamiliar with SSH, you don’t need a special program to use it. Just fire up the Terminal and go. You’ll need to know some basic UNIX commands to navigate around your directory structure, but you do NOT need to be an expert by any means.

  • love / honor / glory *