blob: bbcf1e3a95a7eeeee7b1968db196980dcd370321 [file] [log] [blame]
Guido van Rossum132e1891997-05-26 20:15:09 +00001FAQ Wizard
2----------
3
4Author: Guido van Rossum <guido@python.org>
Guido van Rossumf1ead1a1997-08-28 02:38:01 +00005Version: 0.8
6Date: 27 August 1997
Guido van Rossum132e1891997-05-26 20:15:09 +00007
8
9This is a CGI program that maintains a user-editable FAQ. It uses RCS
10to keep track of changes to individual FAQ entries. It is fully
11configurable; everything you might want to change when using this
12program to maintain some other FAQ than the Python FAQ is contained in
13the configuration module, faqconf.py.
14
Guido van Rossumdafce6d1997-06-02 23:10:06 +000015Note that the bulk of the code is not an executable script; it's an
16importable module. The actual script in cgi-bin is minimal.
Guido van Rossum132e1891997-05-26 20:15:09 +000017
18Files:
19
20faqw.py executable script to be edited and installed in cgi-bin
21faqwin.py main module, lives in same directory as FAQ entry files
22faqconf.py main configuration module
23faqcust.py additional local customization module (optional)
24
Guido van Rossumdafce6d1997-06-02 23:10:06 +000025Setup Information
26-----------------
27
28This assumes you are familiar with Python, with your http server, and
29with running CGI scripts under your http server. You need Python 1.4
Guido van Rossumf1ead1a1997-08-28 02:38:01 +000030or better.
31
32Select a place where the Python modules that constitute the FAQ wizard
33will live (the directory where you unpacked it is an obvious choice).
34This will be called the SRCDIR. This directory should not be writable
35by other users of your system (since they would be able to execute
36arbitrary code by invoking the FAQ wizard's CGI script).
Guido van Rossumdafce6d1997-06-02 23:10:06 +000037
38Create a dedicated working directory, preferably one that's not
Guido van Rossumf1ead1a1997-08-28 02:38:01 +000039directly reachable from your http server. This will be called the
40FAQDIR. Create a subdirectory named RCS. Make both the working
41directory and the RCS subdirectory wrld-writable. (This is essential,
42since the FAQ wizard runs as use nobody, and needs to create
43additional files here!)
Guido van Rossumdafce6d1997-06-02 23:10:06 +000044
45Edit faqconf.py to reflect your setup. You only need to edit the top
46part, up till the line of all dashes. The comments should guide you
47in your edits. You can also choose to make your changes to faqcust.py
48and leave faqconf.py alone.
49
50Don't forget to edit the SECTION_TITLES variables to reflect the set
51of section titles for your FAQ!
52
53Next, edit faqw.py to reflect the pathname of your Python interpreter
Guido van Rossumf1ead1a1997-08-28 02:38:01 +000054and the values for SRCDIR and FAQDIR that you just chose. Then
55install faqw.py in your cgi-bin directory. Make sure that it is
56world-executable. You should now be able to connect to the FAQ wizard
57by entering the following URL in your web client (subsituting the
58appropriate host and port for "your.web.server", and perhaps
59specifying a different directory for "cgi-bin" if local conventions so
60dictate):
Guido van Rossumdafce6d1997-06-02 23:10:06 +000061
62 http://your.web.server/cgi-bin/faqw.py
63
64If you are unable to get this working, check your server's error_log
65file. The documentation for Python's cgi module in the Python Library
66Reference Manual gives plentyu additional information about installing
67and debugging CGI scripts, including setup debugging. This
68documentation is repeated in the doc string in the cgi module; try
69``import cgi; print cgi.__doc__''.
70
Guido van Rossumf1ead1a1997-08-28 02:38:01 +000071Assuming this works, you should now be able to add the first entry to
Guido van Rossumdafce6d1997-06-02 23:10:06 +000072your FAQ using the FAQ wizard interface. This creates a file
73faq01.001.htp in your working directory and an RCS revision history
74file faq01.001.htp,v in the RCS subdirectory. You can now exercise
75the other FAQ wizard features (search, index, whole FAQ, what's new,
Guido van Rossumf1ead1a1997-08-28 02:38:01 +000076roulette, and so on).
Guido van Rossumd7918fb1997-05-30 12:01:24 +000077
Guido van Rossum132e1891997-05-26 20:15:09 +000078--Guido van Rossum (home page: http://www.python.org/~guido/)