The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Kwiki-Kwiki - Kwiki Kwiki is a Wiki

SYNOPSIS

Typical Usage of Kwiki::Kwiki

    > mkdir site
    > cd site
    > kwiki -new
    > kk -init
    # Edit source code list
    > vim kwiki/sources/list
    # Download all the source code
    > kk -src
    # Make lib directory
    > kk -lib
    # Make distribution tarball
    > kk -dist
    # Run built-in Server
    > bin/server

DESCRIPTION

KwikiKwiki is a Wiki distribution toolkit, or framework. It's the best way to spread your own copy of wiki to friends.

Most folks think that Kwiki is wiki software, and in a sense it is. But the main purpose of Kwiki is to be a framework for creating wiki software. In other words, it's a Perl hacker's playground. Most of the energy was put into figuring out how plugins from various folks could play well together, and less thought was put into how to simply run a wiki with the features you'd expect.

This is where KwikiKwiki comes in.

KwikiKwiki ships a "server" script under "bin/" directory. It is a pure-perl http server just for serving this Kwiki directory. Therefore it is suggest to leave the default source list intact, and add more your own.

KwikiKwiki installs a kk script to your system. It's the front-end for build KwikiKwiki distributions. There are four phrases to build a distribution: 1. Create a new Kwiki directory 2. Get the source code, 3. Install to lib dir 3. Create a distribution tarball. kk script works with the kwiki script, you should make sure that current Kwiki directory is runnable and has plugins of your own choice before using kk to create distribution.

There are four arguments to kk : <-init> initialize a kwiki/ directory under current working directory, and you should edit kwiki/source/list for your own need. Plugins are auto-bundled, so you don't have to add them to the list.

The source list file contains information where to find perl modules, lines begin with === are source types, lines begin with --- are sources. There are four possible source types: svn, local, inc, cpan. For svn sources, please give the repository url to the module directory (which should contain a sub-directory 'lib'). For example, http://svn.kwiki.org/ingy/Kwiki. For local sources, please give the path to your module directories. For example, /home/gugod/src/Kwiki-NewStuff/. For inc sources, please give the path of module file names relative to @INC. For example, File/Temp.pm. For cpan sources, just give the full name of that module. For example, Kwiki::Comments. All fetched source are stored under kwiki/ directory, and are excluded in the creation of distribution tarball.

Invoking <-src> argumenets will download all sources, and <-lib> just build a lib directory for all sources. After calling kk -lib, pre-requesties should all be installed to lib.

Calling kk -dist will create a tarball with the same name of current working directory. You should be able to give away this tarball, and people who extract it should be able to run

  bin/server

And have a Kwiki server running on localhost, port 8080.

That's pretty much about the current feature of KwikiKwiki.

SYSTEM REQUIREMENTS

Perl 5.8.4 or higher

Kwiki uses unicode, and unicode didn't really stabilize until Perl 5.8.4. If you try to run Kwiki on older perls, you will likely run into problems. So Kwiki-Kwiki requires 5.8.4 or higher.

Subversion 1.0 or higher

Depending on how you configure Kwiki-Kwiki, you may need subversion. You really want subversion. It makes life so much simpler. If you really can't get it on your machine, that's ok.

A working CPAN configuration.

Kwiki-Kwiki may uses your exist CPAN configuration to install CPAN modules locally under "lib" directory, please make sure your CPAN installation is configured well.

Methods

make_src

Download module source code from remote and extract it locally.

make_lib

Install all .pm files locally under kwiki/lib/

make_cpan_lib

Install all CPAN modules locally under lib/

make_dist

Create a distfile named based on current directory name.

AUTHORS

Ingy döt Net <ingy@cpan.org>

Kang-min Liu <gugod@gugod.org>

COPYRIGHT

Copyright (c) 2006. Ingy döt Net, Kang-min Liu. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html

1 POD Error

The following errors were encountered while parsing the POD:

Around line 164:

Non-ASCII character seen before =encoding in 'döt'. Assuming UTF-8