2

I learn best by taking apart something that already does something and figuring out why decisions were made in which manner.

Recently I've started working with Perl's CGI::Application framework, but found i don't really get along well with the documentation (too little information on how to best structure an application with it). There are some examples of small applications on the cgi-app website, but they're mostly structured such that they demonstrate a small feature, but contain mostly of code that one would never actually use in production. Other examples are massively huge and would require way too much time to dig through. And most of them are just stuff that runs on cgiapp, but isn't open source.

As such I am looking for something that has most base functionality like user logins, db access, some processing, etc.; is actually used for something but not so big that it would take hours to even set them up.

Does something like that exist or am i out of luck?

Mithaldu
  • 2,393
  • 19
  • 39

4 Answers4

4

CGI::Application tends to be used for small, rapid-development web applications (much like Dancer, Maypole and other related modules). I haven't seen any real examples of open-source web apps built on top of it, though perhaps I'm not looking hard enough.

You could look at Catalyst. The wiki has a list of Catalyst-powered software and there are a large number of apps there - poke around, see if you like the look of the framework. Of this, this is Perl, so some of those apps will be using Template::Toolkit, some will use HTML::Mason... still, you'll get a general idea.

rjh
  • 49,276
  • 4
  • 56
  • 63
  • 1
    That is not what I am looking for and I am honestly confused how you could think your answer fits my question. Let me reword this so it's hopefully a bit more clear: I am looking for real-life applications of CGI::App, not proof-of-concept examples that are minimalist and never meant to be used in production as is. These applications should be in the form of full implementations of CGI::App-based web applications. – Mithaldu Mar 28 '10 at 15:43
  • 1
    My answer was a WIP, I spent a long time looking for CGI::App-based web apps before finishing it. – rjh Mar 28 '10 at 15:54
  • Alright, that makes sense. Thanks for the effort. I'm not particularly interested in moving to catalyst yet, as the application I'm working on is of decent size already. Not going to accept your answer yet either, as I'm still hoping someone else knows an example. If that doesn't happen though, i'll mark yours. – Mithaldu Mar 28 '10 at 16:01
2

Try looking at Miril CMS. Although I don't know in which state it is.

Alexandr Ciornii
  • 7,346
  • 1
  • 25
  • 29
  • It's not perfect, but it's the right size to gain some inspiration without being overwhelmed, thanks. :) – Mithaldu Mar 29 '10 at 18:23
2

I am the same with code, and had the same request. When I did not find a solution I created my own. which is https://github.com/alexxroche/Notice

I hope that it is a good solution to this request.

Notice demonstrates:

CGI::Application
CGI::Application::Plugin::ConfigAuto
CGI::Application::Plugin::AutoRunmode
CGI::Application::Plugin::DBH
CGI::Application::Plugin::Session;
CGI::Application::Plugin::Authentication
CGI::Application::Plugin::Redirect
CGI::Application::Plugin::DBIC::Schema
CGI::Application::Plugin::Forward
CGI::Application::Plugin::TT

It comes with an example mysql schema, but because of DBIC::Schema it can be used with PostgreSQL, (or anything else that DBIx::Class supports.)

I use Notice in all of my real life applications since 2007. The version in github is everything except the branding and the content.

Alexx Roche
  • 3,151
  • 1
  • 33
  • 39
1

Check out the Krang CMS.

friedo
  • 65,762
  • 16
  • 114
  • 184