MojoMojo - A Catalyst & DBIx::Class powered Wiki.
# 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>
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.
Include/exclude list accessor
Dont cache if CATALYST_NOCACHE is set or if the path is excluded from, based on the value cache_ie_list.
cache_ie_list
Proxy method for the MojoMojo::Formatter::Wiki expand_wikilink method.
Format a wikiword as a link or as a wanted page, as appropriate.
Find or create a preference key, update it if you pass a value then return the current setting.
Get preference key/value from cache if possible.
Clean up wiki words: replace spaces with underscores and remove non-\w, / and . characters.
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}.
Return $c->req->base as an URI object.
Override $c->uri_for to append path, if a relative path is used.
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.
arneandmarcus@nordaaker.com
Marcus Ramberg marcus@nordaaker.com
marcus@nordaaker.com
David Naughton naughton@umn.edu
naughton@umn.edu
Andy Grundman andy@hybridized.org
andy@hybridized.org
Jonathan Rockway jrockway@jrockway.us
jrockway@jrockway.us
A number of other contributors over the years.
Copyright 2005-2009, Marcus Ramberg
You may distribute this code under the same terms as Perl itself.
To install MojoMojo, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MojoMojo
CPAN shell
perl -MCPAN -e shell install MojoMojo
For more information on module installation, please visit the detailed CPAN module installation guide.