MojoMojo

MojoMojo is a Perl open-sourced web application that combines the features of a wiki, content management system and blog. MojoMojo builds on top of the Catalyst web framework and uses DBIx::Class as the ORM. It is an example of an MVC application, and the most complex Catalyst-based open-source application to date. One of MojoMojo’s distinguishing features is that it uses tree hierarchies to store pages, a corresponding hierarchical data model to store page content and a nested set model for fast page retrieval.

History

The project was started by Marcus Ramberg and David Naugton in 2005 and has at the moment 44 contributors, 47 watchers on GitHub and 15 code forks. The initial release of MojoMojo occurred on August 29, 2007, after which it was mentioned at the French open source conference Mediterranean Day of Free Software, 2007. In early January 2009, the lead author, Marcus Ramberg, gave a presentation of MojoMojo to the Oslo Perl Mongers. At YAPC::North America 2009, MojoMojo was presented to an audience of 38. In July 2009, MojoMojo was the only 3rd party Catalyst application having a section dedicated in the book The Definitive Guide to Catalyst.

Architecture

MojoMojo has a modular architecture and makes extensive use of CPAN modules; as such, it was listed as #2 among projects with heavy CPAN dependency chains. Currently, MojoMojo is the largest individual project on CPAN in terms of dependencies, being preceded only by meta-modules (modules that simply aggregate other modules for convenience and do not offer specific functionality).

Key Features

MojoMojo has a combination of features which make it unique among wiki software:

Hierarchical page structure

One of MojoMojo’s distinguishing features is that it uses a tree hierarchy to store pages. By contrast, most other wikis use a flat page structure, which necessitates disambiguation pages. The difference can be visualized in the table below:

Other features

Below are more of MojoMojo’s features :

References

  1. ^ MojoMojo contributors
  2. ^ GitHub – MojoMojo watchers
  3. ^ MojoMojo Changes on CPAN
  4. ^ Aperghis-Tramoni, Sébastien (2007). “Perl, langage d’aujourd’hui et de demain” (in French). Journée Méditerranéenne du Logiciel Libre 2007. pp. 21. http:maddingue.free.fr/conferences/jm2l-2007/perl-now-and-then/. Retrieved 2009-07-14. 
  5. ^ Ramberg, Marcus (2009-01). “Introduction MojoMojo”. Oslo Perl Mongers. http:www.slideshare.net/marcusramberg/mojomojo-talk-presentation. Retrieved 2009-07-14. 
  6. ^ Dascalescu, Dan (2009-06-23). “MojoMojo – the Elegant Wiki, Catalyst-powered”. YAPC 10 – Pittsburgh, PA. http:yapc10.org/yn2009/talk/2002. Retrieved 2009-07-14. 
  7. ^ Diment, Kieren; Trout, Matt S (2009). “Catalyst Cookbook”. The Definitive Guide to Catalyst. Apress. pp. 278-281. ISBN 978-1430223658. http:www.amazon.com/Definitive-Guide-Catalyst-Maintainable-Applications/dp/1430223650/. 
  8. ^ use.perl.org – Announcing the “CPANTS Heavy 100″ index
  9. ^ CPAN Top 100 – Heavy 100
  10. ^ Wikimatrix.org – MojoMojo features page
  11. ^ MojoMojo on the c2.com wiki

External Links

Source