summaryrefslogtreecommitdiff
path: root/AppPkg/Applications/Python/Python-2.7.2/Tools/faqwiz/README
diff options
context:
space:
mode:
Diffstat (limited to 'AppPkg/Applications/Python/Python-2.7.2/Tools/faqwiz/README')
-rw-r--r--AppPkg/Applications/Python/Python-2.7.2/Tools/faqwiz/README114
1 files changed, 114 insertions, 0 deletions
diff --git a/AppPkg/Applications/Python/Python-2.7.2/Tools/faqwiz/README b/AppPkg/Applications/Python/Python-2.7.2/Tools/faqwiz/README
new file mode 100644
index 0000000000..e566e79de0
--- /dev/null
+++ b/AppPkg/Applications/Python/Python-2.7.2/Tools/faqwiz/README
@@ -0,0 +1,114 @@
+FAQ Wizard
+----------
+
+Author: Guido van Rossum <guido@python.org>
+Version: 1.0
+Date: 6 April 1998
+
+
+This is a CGI program that maintains a user-editable FAQ. It uses RCS
+to keep track of changes to individual FAQ entries. It is fully
+configurable; everything you might want to change when using this
+program to maintain some other FAQ than the Python FAQ is contained in
+the configuration module, faqconf.py.
+
+Note that the bulk of the code is not an executable script; it's an
+importable module. The actual script in cgi-bin is minimal.
+
+Files:
+
+faqw.py executable script to be edited and installed in cgi-bin
+faqwiz.py main module, lives in same directory as FAQ entry files
+faqconf.py main configuration module
+faqcust.py additional local customization module (optional)
+move-faqwiz.sh Script to move faqwiz entries.
+
+
+What's New?
+-----------
+
+Version 1.0 corrects some minor bugs and uses tab-agnostic
+indentation; it is otherwise unchanged from version 0.9.0.
+
+Version 0.9.0 uses the re module (Perl style regular expressions) for
+all its regular expression needs, instead of the regex and regsub
+modules (Emacs style). This affects the syntax for regular
+expressions entered by the user as search strings (with "regular
+expression" checked), hence the version number jump.
+
+
+Setup Information
+-----------------
+
+This assumes you are familiar with Python, with your http server, and
+with running CGI scripts under your http server. You need Python 1.5
+or better.
+
+Select a place where the Python modules that constitute the FAQ wizard
+will live (the directory where you unpacked it is an obvious choice).
+This will be called the SRCDIR. This directory should not be writable
+by other users of your system (since they would be able to execute
+arbitrary code by invoking the FAQ wizard's CGI script).
+
+Create a dedicated working directory, preferably one that's not
+directly reachable from your http server. This will be called the
+FAQDIR. Create a subdirectory named RCS. Make both the working
+directory and the RCS subdirectory wrld-writable. (This is essential,
+since the FAQ wizard runs as use nobody, and needs to create
+additional files here!)
+
+Edit faqconf.py to reflect your setup. You only need to edit the top
+part, up till the line of all dashes. The comments should guide you
+in your edits. (Actually, you can also choose to add your changes to
+faqcust.py and leave faqconf.py alone. This is essential if you are
+maintaining multiple FAQs; see below.)
+
+Don't forget to edit the SECTION_TITLES variables to reflect the set
+of section titles for your FAQ!
+
+Next, edit faqw.py to reflect the pathname of your Python interpreter
+and the values for SRCDIR and FAQDIR that you just chose. Then
+install faqw.py in your cgi-bin directory. Make sure that it is
+world-executable. You should now be able to connect to the FAQ wizard
+by entering the following URL in your web client (subsituting the
+appropriate host and port for "your.web.server", and perhaps
+specifying a different directory for "cgi-bin" if local conventions so
+dictate):
+
+ http://your.web.server/cgi-bin/faqw.py
+
+If you are unable to get this working, check your server's error_log
+file. The documentation for Python's cgi module in the Python Library
+Reference Manual gives plentyu additional information about installing
+and debugging CGI scripts, including setup debugging. This
+documentation is repeated in the doc string in the cgi module; try
+``import cgi; print cgi.__doc__''.
+
+Assuming this works, you should now be able to add the first entry to
+your FAQ using the FAQ wizard interface. This creates a file
+faq01.001.htp in your working directory and an RCS revision history
+file faq01.001.htp,v in the RCS subdirectory. You can now exercise
+the other FAQ wizard features (search, index, whole FAQ, what's new,
+roulette, and so on).
+
+
+Maintaining Multiple FAQs
+-------------------------
+
+If you have multiple FAQs, you need a separate FAQDIR per FAQ, and a
+different customization file per FAQ. The easiest thing to do would
+be to have the faqcust.py for each FAQ live in the FAQDIR for that
+FAQ, but that creates some security concerns, since the FAQDIR must be
+world writable: *if* someone who breaks into your system (or a
+legitimate user) manages to edit the faqcust.py file they can get
+arbitrary code to execute through the FAQ wizard. Therefore, you will
+need a more complex setup.
+
+The best way is probably to have a directory that is only writable by
+you for each FAQ, where you place the copy of faqcust.py for that FAQ,
+and have a world-writable subdirectory DATA for the data. You then
+set FAQDIR to point to the DATA directory and change the faqw.py
+bootstrap script to add FAQDIR/.. to sys.path (in front of SRCDIR, so
+the dummy faqcust.py from SRCDIR is ignored).
+
+--Guido van Rossum (home page: http://www.python.org/~guido/)