gfsd-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gfsd]Free Software Directory script hacking


From: Bradley M. Kuhn
Subject: [gfsd]Free Software Directory script hacking
Date: Wed, 27 Jun 2001 16:25:49 -0400
User-agent: Mutt/1.3.18i

The three of you, Sergey Bratus, Dave Levin, and Guinevere Nell have all
volunteered to work on our web interface to our Free Software Directory
(http://www.gnu.org/gnulist/production/index.html), which as you can see,
needs work.

Also, very needed is a web form that will let people fill out information
on a new program, and send that information in an email to the directory
maintainer <address@hidden>.



This is a message that explains what is needed, and how to get started
volunteering on the project.  Feel free to let me know if you have any
questions.

The software is not very advanced, and needs much work.  To get started,
please register yourselves on the savannah system,
http://savannah.gnu.org, and request to be added to the
gnulist (https://savannah.gnu.org/projects/gnulist/) project.  There is
some software there, both in Perl and C, to do some basic things.  All
software relating to the Free Software Directory should be put under the
auspices of that project.

Also, you'll want to know about the of the Free Software Directory project
(https://savannah.gnu.org/projects/directory/), and anonymously check it
out, although you don't necessarily need to be part of that project:
that's just the data.

Finally, you should all likely subscribe to <address@hidden>, where
discussion about this software for the Free Software Directory is done.
You can subscribe at http://mail.gnu.org/mailman/listinfo/gfsd-hackers/ or
by emailing <address@hidden>.


As far as technical vision, this is what I would like to see:

   * An OO-ish interface to the directory, so I can say:

     my $directory = new GNU::FSD($file);

     print $directory->{PROGRAM}{FIELD} if defined
     $directory->{PROGRAM}{FIELD};

     I don't see any reason to be able to *add* things to the directory
     from Perl; it's done in CVS with separate text files


   * A much better HTML generation of the pages.  The pages should be
     generated statically, with a script that can be run each night.

     Currently, there is script is in the 'gnulist' project and called
     makelist.pl.  It is a very simple hack that works, but I'd like to
     see the job done in a more modular and general way so that the look
     of the pages and the browsing can be changed in the future easily.

     And, the HTML presentation needs work and the browsing of the
     different areas of the directory should be worked on.

     I want to be able to tell the script on the command line what
     top-level directory to dump the HTML to, and it should use relative
     paths for links.

     The HTML needs to be much nicer, and the site needs to be navigatible
     well (better than it is now).  Make sure, though, that the HTML works
     fine in the at least the following browsers:
          lynx, Mozilla, links, Emacs/w3

     Please read http://www.gnu.org/server/standards/ and the files it
     links to, so you know our server HTML standards.

     BTW, please leave 'makelist.pl' as it is---it's our working solution.
     Please pick a new name for a new script to do this job.


   * The "entry submit script" that I mentioned should be a separate CGI.
     It can call /usr/lib/sendmail locally, or a Mail module, as long as
     you taint input well and worry about the canonical security issues.
     Please work on it locally, and let me know when you need it
     installed, and we'll figure out the details of installation on our
     server.


   * Anything else Janet Casey <address@hidden>, the manager of the
     directory, mentions would be good, should be done.


Thanks for volunteering.  Happy hacking!

Please let me know if you have additional questions.


   -- bkuhn

Attachment: pgp2dZXKQS7x7.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]