Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Looking for a CMS

by calzonia (Initiate)
on Jun 14, 2013 at 13:37 UTC ( [id://1038971]=perlquestion: print w/replies, xml ) Need Help??

calzonia has asked for the wisdom of the Perl Monks concerning the following question:

My site is currently running a lot of Perl CGI scripts using a custom templating system. (LAMP-based). The website also has several thousand SHTML files containing static content. I would like to upgrade to a more robust CMS system, There are way too many scripts to re-write. What is a relatively painless way to move to a CMS without re-writing all of the Perl scripts? Are there script converters that will facilitate such a move? Which CMS is appropriate given this starting point? Is it required for the CMS to be Perl-based, or does this even matter? i.e. is there a way to run Perl scripts from within Joomla? thanks in advance. tom

Replies are listed 'Best First'.
Re: Looking for a CMS
by jeffa (Bishop) on Jun 14, 2013 at 15:36 UTC

    Sounds like you want a Model View Controller framework (MVC) rather than a Content Management System (CMS) which itself could potentially be an MVC. Have a look at Catalyst. I am not a fan of the API for Catalyst, but it's what we got. If you have never worked with an MVC then please understand you have a potentially tremendous learning curve ahead of you. At the very least, the organization, designing and planning involved in porting your existing site will be daunting at best. I recommend identifying the most crucial aspects of your site and work towards rebuilding those in parralel with the maintenence of your existing site. Good luck!

    jeffa

    L-LL-L--L-LL-L--L-LL-L--
    -R--R-RR-R--R-RR-R--R-RR
    B--B--B--B--B--B--B--B--
    H---H---H---H---H---H---
    (the triplet paradiddle with high-hat)
    
Re: Looking for a CMS
by Anonymous Monk on Jun 14, 2013 at 14:09 UTC

    What is a relatively painless way to move to a CMS without re-writing all of the Perl scripts?

    One has nothing to do with the other -- a CMS need not touch the rest of the webserver, or any existing scripts

    Are there script converters that will facilitate such a move?

    No; Actually maybe; Depends on what the scripts do -- if they're just fetching content stuff from a database , you can export the stuff, and import into new cms database -- maybe then convert from markdown to new-cms-format-if-it-doesnt-come-with-markdown-parser

    Which CMS is appropriate given this starting point

    The starting point is generically vague -- its no different than starting from zero -- so pick one, pick two, doesn't matter

    Is it required for the CMS to be Perl-based, or does this even matter?

    Do you require the CMS to be perl based? I don't think it matters, it matters if the CMS has the features you want -- the less work you have to do the less work you have to do, its like less work

    i.e. is there a way to run Perl scripts from within Joomla?

    Is Joomla a webserver? Webservers can run any program, and there is no reason for two program to interfere with each other -- put them in different rooms (paths) and they'll live happily on the same webserver

      Joomla is a PHP CMS. I program in Perl and PHP and I'm a firm believer in saying that just because you can write in both doesn't mean you should!! In any one system it is best to stick to as few languages as possible, ideally just one.

      Someone has mentioned Catalyst, which is a MVC system/framework rather than a CMS, but it may be a good starting point for including older scripts. There are Perl CMS systems built on top of Catalyst, but since I haven't used one I can't make recommendations.

      If you spot any bugs in my solutions, it's because I've deliberately left them in as an exercise for the reader! :-)

        I program in Perl and PHP and I'm a firm believer in saying that just because you can write in both doesn't mean you should!!

        Why?

        The OP doesn't sound like a programmer or technically inclined -- the OP needs to figure out what he wants, the rest is details for someone else

Re: Looking for a CMS
by sundialsvc4 (Abbot) on Jun 14, 2013 at 17:12 UTC

    Pursuing the thought made by Anonymous Monk, maybe the best approach would be to .. at least temporarily .. allow the old and the new to co-exist side by side.   Apache rules (say...) could be used to separate the web requests very precisely, based on the contents of the URL string, so that, g-r-a-d-u-a-l-l-y (and should the need arise, reversibly ...), a different piece of software handles some of them.   (The user will never know the difference.)

    In terms of what that “different piece of software” ought to be, there are really an endless number of choices ... such that “the implementation programming-language” makes no real difference at all.   Those thousands-of SHTML files are obviously crown-jewels because there are “thousands of” them, but, y’know, you say they’re static, and Apache knows how to serve-up a static file with no help whatsoever.   Therefore, the place to start is by identifying what is the business role of this system:   literally, what does it do, and for whom.   That is what you must painlessly replace, no matter how you do it.

    Since there is a lot of real-world experience here, in a great many languages besides just Perl, why don’t you tell us as much as you can about the business requirement?   What do those “too many Perl scripts to replace” actually do, for the business?   What sort of business-rules does it implement?   How is “what this system does” both similar and different to, say, what WordPress does?   (And never mind “how.”   Questions of “how” should not be on-the-radar yet.)

Re: Looking for a CMS
by calzonia (Initiate) on Jun 15, 2013 at 02:20 UTC
    I appreciate the feedback here. we are a domain name registrar. So, the Perl scripts are focused on checking domain name availability against various tlds. if the entered name is available, then the user selects the name and adds it to a shopping cart for payment. There are also scripts for doing renewals, transfers, whois updates, etc. My goal is to improve the overall look-and-feel of the site without requiring a rewrite of the Perl CGI scripts. With the up-coming hundreds of new extensions, there needs to be a lot more educational content and resources made available to help end-users utilize their purchase. This means an efficient way to handle a lot of static content. thanks

      ...

      Sorry calzonia, that is a what, not a how

      Changing the look'n'feel is %90 HTML, so it all depends if those CGI scripts use template engine, uri helpers ... in anyway, changing them will require changing the url, and/or uri helpers manually

      OTOH if you're not using templates and uri helpers/builders, it will be really hard

      I should add that the scripts are just not running in the background or cron jobs. they output html for the users to interact with.
      For the static content, you may not necessarily go for a CMS. A static web site generator might actually be easier. The perl generator Templer can nicely mix old static html with newer input files. This should ease migration.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1038971]
Front-paged by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2024-04-25 14:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found