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

NAME

MojoMojo - A Catalyst & DBIx::Class powered Wiki.

SYNOPSIS

  # Set up database (be sure to edit mojomojo.conf first)

  ./script/mojomojo_spawn_db.pl

  # Standalone mode

  ./bin/mojomo_server.pl

  # In apache conf
  <Location /mojomojo>
    SetHandler perl-script
    PerlHandler MojoMojo
  </Location>

DESCRIPTION

Mojomojo is a sort of content management system, borrowing many concepts from wikis and blogs. It allows you to maintain a full tree-structure of pages, and to interlink them in various ways. It has full version support, so you can always go back to a previous version and see what's changed with an easy AJAX- based diff system. There are also a bunch of other features like built-in fulltext search, live AJAX preview of editing, and RSS feeds for every wiki page.

To find out more about how you can use MojoMojo, please visit http://mojomojo.org or read the installation instructions in MojoMojo::Installation to try it out yourself.

cache_ie_list

Include/exclude list accessor

cache_hook

Dont cache if CATALYST_NOCACHE is set or if the path is excluded from, based on the value cache_ie_list.

Proxy method for the MojoMojo::Formatter::Wiki expand_wikilink method.

wikiword

Format a wikiword as a link or as a wanted page, as appropriate.

pref

Find or create a preference key, update it if you pass a value then return the current setting.

pref_cached

Get preference key/value from cache if possible.

fixw

Clean up wiki words: replace spaces with underscores and remove non-\w, / and . characters.

prepare_path

We override this method to work around some of Catalyst's assumptions about dispatching. Since MojoMojo supports page namespaces (e.g. '/parent_page/child_page'), with page paths that always start with '/', we strip the trailing slash from $c->req->base. Also, since MojoMojo indicates actions by appending a '.$action' to the path (e.g. '/parent_page/child_page.edit'), we remove the page path and save it in $c->stash->{path} and reset $c->req->path to $action. We save the original URI in $c->stash->{pre_hacked_uri}.

base_uri

Return $c->req->base as an URI object.

uri_for

Override $c->uri_for to append path, if a relative path is used.

SUPPORT

If you want to talk about MojoMojo, there's an IRC channel, irc://irc.perl.org/mojomojo. Commercial support and customization for MojoMojo is also provided by Nordaaker Ltd. Contact arneandmarcus@nordaaker.com for details.

AUTHORS

Marcus Ramberg marcus@nordaaker.com

David Naughton naughton@umn.edu

Andy Grundman andy@hybridized.org

Jonathan Rockway jrockway@jrockway.us

A number of other contributors over the years.

COPYRIGHT

Copyright 2005-2009, Marcus Ramberg

LICENSE

You may distribute this code under the same terms as Perl itself.