NAME

CGI::Wiki - A toolkit for building Wikis.

DESCRIPTION

Helps you develop Wikis quickly by taking care of the boring bits for you. You will still need to write some code - this isn't an instant Wiki.

This module has now been renamed Wiki::Toolkit and no further development will take place under the CGI::Wiki name. Please upgrade at your earliest convenience.

SEE ALSO

Tom Insam's CGI::Wiki::Kwiki is however an instant wiki, running on a CGI::Wiki backend.

SIGNIFICANT RECENT CHANGES

0.63 27 September 2006

        Marked as obsolete and added pointers to Wiki::Toolkit.
        No other changes

0.49 23 September 2003

Added "ignore_case" option to ->list_nodes_by_metadata

0.47 29 August 2003

Added metadata_was and metadata_wasnt options to ->list_recent_changes

0.45 11 August 2003

Removed dependency on Class::Delegation.

0.43 10 July 2003

Added metadata_isnt constraint to ->list_recent_changes.

SYNOPSIS

      # Set up a wiki object with an SQLite storage backend, and an
      # inverted index/DB_File search backend.  This store/search
      # combination can be used on systems with no access to an actual
      # database server.

      my $store     = CGI::Wiki::Store::SQLite->new(
          dbname => "/home/wiki/store.db" );
      my $indexdb   = Search::InvertedIndex::DB::DB_File_SplitHash->new(
          -map_name  => "/home/wiki/indexes.db",
          -lock_mode => "EX" );
      my $search    = CGI::Wiki::Search::SII->new(
          indexdb => $indexdb );

      my $wiki      = CGI::Wiki->new( store     => $store,
                                      search    => $search );

MAJOR METHODS

write_node

          $wiki->write_node($node_name, $content, $checksum);
          $wiki->write_node(
              "Calthorpe Arms",
              "A rather nice pub on Gray's Inn Road",
              $checksum,
              { category => [ "Pub", "Pub Food", "Bloomsbury" ] }
          );

format

my $cooked = $wiki->format($raw);

delete_node

$wiki->delete_node($node_name);

list_all_nodes

my @node_names = $wiki->list_all_nodes;

list_backlinks

my @links_to_me = $wiki->list_backlinks($node_name);

list_nodes_by_metadata

          my @pubs = $wiki->list_nodes_by_metadata(
              metadata_type  => "category",
              metadata_value => "Pub" );

list_recent_changes

          my @last_week_edits  = $wiki->list_recent_changes( days => 7 );
          my @last_ten_changes = $wiki->list_recent_changes(
                                                  lastnchanges => 10 );

node_exists

print "Got wombats" if $wiki->node_exists("Wombats");

retrieve_node

my $homepage_content = $wiki->retrieve_node("Home Page");

          my %node_data = $wiki->retrieve_node( $node_name );
          print "Last Modified:    $node_data{last_modified}\n";
          print "Current Version:  $node_data{version}\n";
          print "Current Checksum: $node_data{checksum}\n";
          print "Current Content:  $node_data{content}\n";
          print "Categories:       "
              . join(", ", @{$node_data{metadata}{category}}) . "\n";

verify_checksum

my $asileft_it = $wiki->verify_checksum( $node_name, $checksum );

search_nodes

my @nodes = $search->nodes( "camel" );