Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

CMS Design Tips?

by Wysardry (Pilgrim)
on Jan 11, 2003 at 00:30 UTC ( #226010=perlmeditation: print w/replies, xml ) Need Help??

Does anyone know of any articles or tutorials that cover the design stages of content management systems for large documentation sites?

I'm not really looking for anything language specific, as I'm more interested in comparisons of design methods than code specifics. It's the structure I want to find out about, not the code. Once I know the best way to do something, I can use the Perl docs or a reference book to find out how to code it if I need to.

I know There's More Than One Way To Do It, so I'm looking for something that compares at least two ways, and explains why one would be chosen over the other. Obviously there are people out there that have already written a CMS and have written articles on what they have learned, but finding them would take more time online than I have available.

My needs aren't necessarily the same as theirs, which is why I'm looking for an explanatory comparison. I was hoping that someone out there had already seen something related on their travels and/or had been researching a similar project.

Most articles seem to concentrate on either building a specific script in a particular language without much explanation as to why they chose to do it that way or they compare existing scripts for usability at an admin level.

Articles on related topics such as ontology, metadata, CVS, etc. would also be useful.

Any suggestions?

Replies are listed 'Best First'.
Re: CMS Design Tips?
by valdez (Monsignor) on Jan 11, 2003 at 01:47 UTC

      Thanks (especially for the very first link). :)

      I've just downloaded documentation or scripts from most of those sites, although I'd already visited CMSWatch. I'll check them out more thoroughly offline.

      I've already bought books on Perl, PHP and MySQL recently, and don't really want to spend any more for a while (techie books aren't cheap).

      My main problem is that I have unusual requirements, which is why I'm having to create the program myself.

      First of all, I don't want to use any non-standard modules if I can possibly avoid doing so. I'm on a tight budget, so my hosting choices are limited. I'll also be developing the system on an NT machine, though once completed it will also be used on a UNIX server.

      Sticking to standard modules should help avoid any nasty incompatibility surprises later.

      Secondly, I need it to build static pages, as the content will be added to a lot more often than it is modified. Pages will therefore be viewed many more times than they are updated, making dynamic delivery a waste of resources.

      I also want deep directory categorization (4 or 5 levels) and the potential to handle several thousand pages. Oh, and user-friendly URLs without resorting to mod_rewrite (not that tough if the pages are "real" HTML documents).

      EasyCMS looked promising, but can't handle deep categories. WebMake would probably be okay if it didn't insist on having custom modules installed.

      Strangely enough, Links 2.0 from Gossamer Threads is probably the closest I've seen so far, but it would need to be modified quite heavily to build other types of pages too.

      I figured it would be easier to start from scratch rather than modify code that is intentionally obscure and designed to make you want to upgrade.

        I don't want to use any non-standard modules if I can possibly avoid doing so.

        By "non-standard modules", I assume you mean modules that must be downloaded from CPAN rather than the core modules that come with Perl. If that is what you mean, then I urge you to reconsider. The huge body of code in CPAN is one of the most compelling reasons for using Perl.

        Consider that when you write your own code, you will be creating modules. What makes those modules more acceptable than the ones you can download from CPAN? The latter will have been peer-reviewed, installed and tested on multiple platforms. Will yours?

        Also, I'm intrigued by your statement that you will develop on NT but deploy on UNIX. Why? You can obtain a Linux distribution at virtually no cost and set up a development environment that closely mirrors production. I would agree though that writing code that will run on multiple platforms is a laudable goal and readily achievable using Perl.

        I think the set of modules that comes with the Windows versions of perl differs from the set that comes with the standard distribution. Your current approach may still end up requiring the installation of modules when you move your code to unix.

        --- print map { my ($m)=1<<hex($_)&11?' ':''; $m.=substr('AHJPacehklnorstu',hex($_),1) } split //,'2fde0abe76c36c914586c';

      I just found a pile of useful articles on content/document management at e-doc magazine which may help someone else out too.

      shorewalker.com also has some helpful articles and links on all sorts of computer/internet related topics.

      I also suggest to buy a copy of Embedding Perl in HTML with Mason.

      For those who don't need a hardcopy, this book is availabe online for free here.

      Update: I'm aware of the points valdez makes below and they are all valid. That's why I linked to the main page and not 'deep' directly to the book. Nevertheless Wyzardry wrote that he can't afford to spend more money on books. What's better: reading a bit in the free online version to realize that this is not what you need or ignoring Mason altogether. I think spreading some knowledge about Mason compared to ignorance is definetly what the authors would prefer.

      -- Hofmator

        Yes, it's true, but please read what they have to say in Why should you buy it when it's free to read online?. Please note also that Perlmonks will get some money if you buy books using the links listed above (read it here, footnote 5).
        It is a nice and simple way to contribute.

        Ciao, Valerio

Re: CMS Design Tips?
by derby (Abbot) on Jan 11, 2003 at 01:29 UTC
Re: CMS Design Tips?
by tomhukins (Curate) on Jan 11, 2003 at 21:34 UTC

    In addition to the resources others have suggested, you might like to read Content Management Design.

    Update: In case anyone is interested, I found this through Column Two, a useful Weblog covering knowledge management and content management.

      Thanks. That looks more like the type of article I've been searching for. :o)

      What sort of search terms did you use to find that? At Yahoo I either got too may unrelated matches or none at all, when using combinations of "content management system" with "design" or "build".

Re: CMS Design Tips?
by synq (Initiate) on Jan 13, 2003 at 22:39 UTC
    I suggest you take a look at WebGUI (http://www.plainblack.com http://www.webgui.nl) before you start coding yourself. Fully written in perl and very feature rich.

      I'd already rejected WebGUI because it needs additional modules on the host server, mod_rewrite to get user-friendly URLs and creates the pages dynamically.

      It would be a good system for a site where the content is changed on a regular basis, but most of my pages will be static.

      I've been right through Hotscripts' Perl Content Management, News Publishing and Portal scripts sections and haven't found anything suitable for my needs. (That isn't to say there aren't decent programs available.)

      I've also checked every other scripts directory I could find, though I didn't find many that weren't already listed at Hotscripts.

      Searching has taken weeks, and I did briefly consider adapting an existing script, but decided I may as well start from scratch.

Re: CMS Design Tips?
by Anonymous Monk on Nov 03, 2004 at 23:19 UTC
    For documentation you can use www.signumsoft.com/htmlnavigator as well. They don't store content on a database but read it directly from html files or Word documents. (Kind of a straight forward approach)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://226010]
Approved by dwiz
Front-paged by BUU
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2021-01-22 04:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?