Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Jul 1999 15:25:31 +0100
From:      Nik Clayton <nclayton@lehman.com>
To:        chris@calldei.com, doc@FreeBSD.ORG
Subject:   Re: docproj/current.html, 'Rewrite cvsweb.cgi' -- Why?
Message-ID:  <19990716152531.T2353@lehman.com>
In-Reply-To: <19990607203117.M57174@holly.dyndns.org>; from Chris Costello on Mon, Jun 07, 1999 at 08:31:17PM -0500
References:  <19990607203117.M57174@holly.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Chris,

On Mon, Jun 07, 1999 at 08:31:17PM -0500, Chris Costello wrote:
>    I've found an RCS module (under cpan as 'Rcs') and am
> considering rewriting the cvsweb script with it.  But I don't
> understand one thing:  What's wrong with the existing script?

Good question.  I think Wolfram was the one that originally suggested
this, and he hasn't replied yet.  I don't know what he had in mind.  
However, here are some suggestions based on seeing over Web/CVS 
implementations on other projects.

KDE has a nice interface.  A bit too colourful for my tastes, but from
a directory listing you can jump straight to the latest revision of a 
file (which ours doesn't do).  It also shows the last person to work
on the file, and a few sentances from the last log entry.  

Also, the "Jump directly to latest revision" option is useful.

Once you're viewing the log for a particular file, you can also choose
to see an "annotated" version, which has change bars showing the version
and committer that committed each change.  It's certainly nice, but 
I don't know how useful people would find it.

You can also choose to show only those files that have particular tags on
them, which could be useful.

KDE's CVSWeb can be seen at http://kdecvs.stud.fh-heilbronn.de/cvsweb/.

Given that it's based on our cvsweb.cgi in the first place, it's
probably just a drop in replacement (or close to).  

I'm taking a brief look at the source code now, and with my JAPH hat on

  * It doesn't use "-w" or "use strict".

  * Lots of global variables.

  * Lots of "print '....';", and not enough "print <<EOM...EOM;"

  * The output format is hard coded in to the program.  It would be 
    nice if instead there was support for creating an HTML template
    outside the app, which it would then read, fill in as necessary, 
    and then output.

    You'd need a number of templates ("show-directoy", "show-revhistory",
    "show file-contents", and so on) for this to work.  But you could 
    then change the output look and file relatively easily.

  * Poorly commented.

You could offer to rewrite cvsweb.cgi, and feed it back to the maintainers,
(see http://linux.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi/) or you could 
write something new, but including some of the new features.

Hope that gives you something to think about.

N  
-- 
--+==[ Systems Administrator, Year 2000 Test Lab, Lehman Brothers, Inc. ]==+--
--+==[      1 Broadgate, London, EC2M 7HA     0171-601-0011 x5514       ]==+--
--+==[              Year 2000 Testing: It's about time. . .             ]==+--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990716152531.T2353>