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

I have a bunch of different web applications built with the cgi:app framework. An auction page, web shops etc. In the past I have made my own small scripts to let different people administrate parts of different pages, for example, News, sale items, informative texts etc. I would like to leave this approach because it's extremly time consuming and very limited. However, I do not fully understand some issues with the CMS archtecture.

Where do I store the information that are editable? What I am guessing is that I store all my variables in a CSV file, with some information assign to it and then I replace them in my template file. Then I could easily use different languages as well.

How is this done? I guess different systems use different approaches
Are there any perl modules that I could use?

Replies are listed 'Best First'.
Re: new to CMS
by dorward (Curate) on Jun 16, 2005 at 09:01 UTC

    CMS isn't an architecture, its just a class of application (like Word Processor).

    Where do I store the information that are editable?

    Anywhere you like, a relational database like MySQL is the normal choice.

    I only want one version of my html pages (template file)

    Template or HTML::Template are the usual choices.

    The webpages should be multilingual

    This makes things more complicated (since you will probably want your CMS to keep things in sync and fire off alerts to translators when a document is changed in one language), but not impossible to handle.

    Need to have a wysiwyg editing tool

    There is no such thing on the web (since HTML is a language for describing semantics and relationships, and CSS is (a) optional and (b) implemented inconsistantly). Graphical editors abound, although they are of variable quality.

    You might want to look into some of the browser based graphical editors. Another option (and I don't know if such tools exist) might be to find an application (along the lines of Dreamweaver) that can work over WebDAV and then write a mod_perl module to handle the WebDAV interface. You could also try convincing users to learn HTML (which is, frankly, pretty trivial - especially if you restrict them to HTML 4.01 Strict (which is all the vast majority of people need)) and have them just write markup.