in reply to Re: CMS Design Tips?
in thread CMS Design Tips?

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.

Replies are listed 'Best First'.
Re: Re: Re: CMS Design Tips?
by grantm (Parson) on Jan 11, 2003 at 09:28 UTC
    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.

Re: Re: Re: CMS Design Tips?
by pfaut (Priest) on Jan 11, 2003 at 14:42 UTC

    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';

      grantm: Yes, when I wrote "non-standard modules" I did mean modules that are not included in the standard distribution.

      The main reasons for the restriction are that I would have no control over which modules the web host has installed, I hope to use it on more than one host/site and if it turns out to be really useful I may make it available to others.

      My own modules, if used, would reside in the same directory as the program, would not need root access to install and would only contain code that would actually be used by the main program.

      Perhaps they wouldn't as thoroughly tested on multiple platforms, but they would be unlikely to contain anything platform specific anyway considering they will be developed on one O/S for use on another.

      Perhaps Linux is free, disk space however is not, and I only have a 6Mb drive on the laptop I will be using. It is also doubtful that I could easily find all the hardware drivers I would need.

      I have considered setting up some sort of UNIX O/S on a desktop machine I rarely use, as that has much more disk space, but only has a P133 CPU (and an aging monitor). It is not connected to the Internet however, and I have no experience of using UNIX at the command line, making that one more thing I'd have to learn.


      pfaut: The modules included with the Windoze version of Perl do differ slightly, but luckily I have a book that lists the ones common to both. I can always use PerlDiver on the host to make sure they are there at least.