Apologies in advance. This should have been in Meditations and not Seekers. My bad, guys.
First off I would like to say that I hope this sparks a productive conversation more than anything.
Being that I've fancied myself a Perl fan for ~ 10 years the most basic question that always crosses my mind when knee-deep in a project is: why isn't there a better way?
I was recently contracted to build a custom website with specialized user functionality and a single item that would turn up for each user role at a different price, a second item that would show up only for one specific role, and a checkout/payment process to sell them.
After basically completing the site in Catalyst the client then scrapped a lot of the custom portions of the site. Thus wasting 3 weeks of my time having taken the site from soup to nuts and then reworking it (also included in this time were 3 major change orders for the layout). Basically every time they got feedback from a silent partner they changed their mind from what we agreed upon in the beginning.
But I digress. This isn't about clients.
The solution I settled upon became a Catalyst app using Handel for the cart and a couple of the Business:: modules for shipping and payment.
However with solutions like Drupal and WordPress being so popular in deployments these days I am at a difficult crossroads.
I love Perl. I started 10 years ago with it writing custom CGI's for small-business clients such as a dispatching system for tomato trucks that printed triplicate handbills, stashed all the information in a database, and made daily reports for the yard masters.
It was an exercise in tedium for me back then to be sure!
I've deployed a couple of very basic, plain sites with the help of modules like Mason which worked very good for me. Under mod_perl it was silly fast and wicked reliable.
On this latest project however I feel that Catalyst falls short. Having all of cpan available really helps to add functionality but much like Django or Rails you still have to get your hands dirty and hack together some kind of interface. Nothing "just works" right out of the box.
So the real question comes down to this: why isn't there a Perl CMS platform like Drupal?
After years of seeing books on Drupal, Joomla, Rails, etc. on the shelves of my local book stores I decided to give it a shot and see what all the fuss is about.
I liked the simplicity of rails and felt it was too simple. I just didn't like it. It felt like an alien language that was just too primitive. I felt I could do more and do it more efficiently with Perl so I left it alone.
This week I tried out Django. Again much like Rails it was very simple, and much like Perl it's very powerful being that it's written in Python. But personally I dislike Python syntax and despise the indentation requirements in certain files...
And this brings me to Drupal and the real heart and soul of my frustration with Perl.
Why is there no Perl CMS platform like Drupal?
I love the idea of Drupal. It just works out of the box.
Everything is easy to install. The modules, the themes, etc.
I dropped in the Commerce Kickstart add-on last night and currently find the most difficult part of this whole process is simply recoding template files to migrate my own layouts into Drupal themes.
I don't see why something like this couldn't be achieved with a framework that is simpler and less bloated than, say, Catalyst with the power of something like Mason.
Cause I'll tell ya. Running Catalyst under FCGI is a b*** on shared hosting!
It took a week to get the dang thing live because of all the dependencies and the host support not having any idea what I was trying to accomplish. In the end I had to solve all of the problems myself because support was useless.
And the worst part is, the way the chosen provider sets up their Apache, the app is killed and re-launched every time the site is hit. Thus it's VERY slow.
So I ask the question. One last, desperate time, why don't we have something like Drupal? Where it JUST WORKS and it's wicked easy to configure and install?
None of this myapp_create.pl controller nonsense!
The Drupal approach is really straight forward to the user and make s a lot of sense. It's something I've thought over and over 'there should be something like this' when working on Perl projects.
Perhaps it's the paralysis of analysis caused by browsing CPAN but maybe it's time to cherry pick the best ideas and stuff them all in the same box...
Thanks all for listening to the rant ;)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] |