App-ZofCMS reviews

RSS | Module Info

App-ZofCMS (0.0224)

Author Review:

I've been using App::ZofCMS on personal and work sites for about half a decade now.

It works well for sites where individual pages don't offer too much functionality. It's fine if the functionality is spread over several pages: the largest app I wrote with ZofCMS is over 100,000 lines of code written in 132 pages.

Several plugins—ImageGallery, HTMLMailer, QuickNote, UserLogin and it's companion plugins—turn a semi-ardious coding task into simply setting a few parameters and copy/pasting a few lines of code from the docs.

Very easy to deploy on limited hosts where you can't SSH or install modules.

Notable problems:
-- Current plugin system is very poorly designed in regard to running the same plugin several times on the same page. On some complex pages I found myself going all over the template trying to figure out what the code does. To work around this, I either split functionality across several pages, or code a separate module that I then use in the ZofCMS Template.

-- Many plugins try to be overly flexbile and overly configurable. This clutters up their documentation and makes it more difficult to remember what format of configuration to use, so unless you're comfortable with the plugin already, it can be annoying trying to read all those docs.

-- The framework uses HTML::Template for templates, and I always find my templates looking like a giant mess. The template variables blend in with HTML code and become hard to spot. Lack of switch{} statement (or if / elsif /else) can clutter up your template quickly with nested ifs. Global ZofCMS Template variables (or the ones in {t} special key) are not present in HTML::Template loops, which can be really annoying when you're trying to set one global variable and end up stuffing it into loops in your code over a dozen pages.

-- No effort has been made to benchmark the performance of this framework. The most oft-visited site on ZofCMS that I have gets about 10,000 visits a month and is located on a shared server where I can't even run cpan due to memory constrains. So far no trouble, but would the same hold true for 20,000 visits? 50,000? I have no idea.