WPS

Contents - Part I

BACKHOMENEXT
MENU
-

Part I contains chapters 1 through 9.
Part II contains chapters 10 through 20.

1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * TOP
-

Chapter 1: The Common Gateway Interface and the Basics of CGI Programming

The Hidden Life of HTML

What Is the Common Gateway Interface?

The CGI Specification:Extending HTTP

  • A Cast of Environment Variables
  • Accessing CGI Variables
    • AUTH_TYPE
    • CONTENT_LENGTH
    • CONTENT_TYPE
    • GATEWAY_INTERFACE
    • HTTP_*
    • PATH_INFO
    • PATH_TRANSLATED
    • QUERY_STRING
    • REMOTE_ADDR
    • REMOTE_HOST
    • REMOTE_IDENT
    • REMOTE_USER
    • REQUEST_METHOD
    • SCRIPT_NAME
    • SERVER_NAME
    • SERVER_PORT
    • SERVER_PROTOCOL
    • SERVER_SOFTWARE
  • The CGI Command Line
  • CGI Data Input
  • CGI Data Output

CGI Input and Output

A Different Sort of Input Method

  • GET It While You Can
    • Using the GET Method
  • They’re at the POST!

The Ins and Outs of <FORM> Data

  • <FORM> Tags and Attributes
  • An Example Form

The Inside Scoop on CGI Output

Summary

1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * TOP
-

Chapter 2: CGI Programming Languages and Resources

Choosing a CGI Programming Language

  • The Five Primary Considerations
    • Public source code repositories
    • Language support
    • Your level of knowledge and understanding
    • Desirable data throughput
    • Desirable "ilities"
  • Compiled CGI Programming Languages
    • C
    • C++
  • Interpreted CGI Programming Languages
    • Perl
    • UNIX shell scripting languages
    • Tcl
    • Python
    • The Virtual Reality Modeling Language (VRML)
  • Compiled/Interpreted CGI Programming Languages
    • Java

Locating CGI Resources

  • Going Straight to the Internet Sources
    • Internet resource types
    • For every resource type, there’s a search method
  • CGI-Related Newsgroups
  • CGI-Related Mailing Lists
  • Parties Interested in CGI
  • CGI-Focused Groups and Organizations
  • CGI-Related Publications and Off-Line Resources
  • Searching for Satisfaction

Summary

1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * TOP
-

Chapter 3: What’s the Problem? (The Case for an HTML & CGI Form Generator)

  • The Monotony of HTML Forms Programming
  • You Have Your Form, Now What?

HTML Programming Methods

  • HTML Editing by Hand
  • Text Editor Converters, Templates, and Extensions
    • Internet Assistant for Microsoft Word 6.0 for Windows
    • WordPerfect 6.1 Internet Publisher for Windows
    • The Ant HTML Tools for Word 6.0
    • Limitations and benefits of extensions, templates, and converters
  • HTML Editing Applications
    • HoTMetaL Pro
    • Adobe PageMill
    • BIprotocol Page EDitor (BIPED)
    • HotDog and HotDog Pro
    • Benefits and limitations of HTML editing applications

What about CGIs?

  • Lack of Third-Party CGI Development Tools
    • Spider Technologies
  • What’s in Store?
  • Our HTML & CGI Form Generation Tool
    • It creates HTML forms and CGIs to serve them
    • Programmatic creation
    • Quick programming of popular tags
    • Easy to get forms or scripts onto the server
    • View the form from a server with a standard browser
    • Highly and easily extensible feature set
    • Provides for HTML validation
    • Being on the Web makes the Tool portable
    • Web-Based access means it can be centralized

Summary

1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * TOP
-

Chapter 4: Designing an HTML Form Generator

The Design Process

  • On Limitations
  • Brainstorming
  • The Feature Set
    • How much HTML?
    • Flexibility/extensibility
    • Perl's portability
    • The HTTP advantage
    • Words into reality, or, feet in our collective mouths?
    • Basic functionality: The cycle of creation
    • Beginning the begin
  • The Meat of the Matter: Creating the Body of the Form
    • There’s form and there’s format
    • Pie in the sky: Super features
    • Tying up loose ends
    • Validated HTML is good HTML
    • Going a step further: Creating a CGI to serve the form
    • Wrap it up, I’ll take it
  • Interface
    • Toolbar approach
    • ...Now entering the winner’s circle...
    • How did I get here?
    • Exit sStage right
  • Implementing Design

Summary

1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * TOP
-

Chapter 5: Setup, Initialization, and Interactivity in the Form Generator

Installing on Your Web Server

  • Uploading the Distribution Archive
  • Extracting the Archive
    • Localization
    • Security
    • Testing the Form Generator
  • Debugging Mode

Behind the Wheel

  • Creating the Second Half of the Form
  • Finishing Your Sample Form
    • View source online
    • Downloading the form document
    • Receiving the form in e-mail
    • Installing your form online
  • Integrating the Form into a CGI
  • Last Step: Validating Your HTML

Summary

1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * TOP
-

Chapter 6: The Form Generator's Behavior and Internal Workings

Initialization: The Script Wakes Up

  • POST or GET, the Eternal Question
    • The Welcome Form
  • They’re at the POST!
    • The BUILD variable
    • The first step in creating a new form
    • Toolbar equals Element Selection Form
    • The Undo command
    • Create Element
    • The form tree
    • HTML elements
    • Bipartisan end note
  • Committing the Form Element to Disk
    • Open the file
    • The table option
    • Element-specific tags and option translation
  • Line Breaking
  • More Complex Element Handling
  • The Horizontal Rule
  • Finding Closure
  • View Source
  • WYSIWYG Preview
  • Completing the User Experience
    • Beginning to end: The preparatory steps to finish the form
    • Cash or Perl?
    • Stitching it together
    • Ending the ending
    • The View Method
    • The Download Method
    • Mail delivery
    • Install it here

Summary

1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * TOP
-

Chapter 7: Extending the Generator’s Output

Customizing the Tool’s Features

Enhancements to the Tool Within Existing Framework

  • Minor Surgery
    • Step One: Examine existing options
    • Step Two: Create the extra field
    • Not just a pretty face
    • Taking the bandages off
  • Teaching an Old Tool New Tricks
    • Adding a new element
    • The option selection form
    • Insert Tab A into Slot B
    • Batteries not included
    • Protecting users from themselves
  • Adding New Features
    • New feature evaluation and selection
    • Our short list
    • Renovation: Creating new structures within an existing framework

Happy Coding!

1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * TOP
-

Chapter 8: Making Things Work: Installing & Testing Your Forms and CGIs

Retrieving the Form

Installing an HTML Form

  • Finding a Home
    • Should it have a home of its own?
    • Ownership and permissions
  • Putting It There
  • Making the Form Visible
    • A Form by Any Other Name

Testing an HTML Form

  • Testing the Form Fields
  • Troubleshooting
    • Content-type problems
    • Incorrect or invalid file locations
    • Broken HTML
    • Permissions problems

Integrating the HTML Form into an Existing HTML Document

  • Tag Considerations When Integrating
  • No Forms Within Forms

Serving the HTML Form

  • Forms Libraries
    • Where to find them
    • How to use them
    • Ask your ISP
  • Your CGI Program

Installing the Form/CGI Combination

  • Where To Put the Script
    • Involving your sysadmin or ISP
    • Uploading the CGI Script
    • CGI ownership and permissions

Testing the Form/CGI Combination

  • Testing the CGI Script from the Command Line
    • Permissions/ownership problems
    • Problems accessing Perl
    • Perl compilation errors
  • Testing the CGI from a Web Browser
    • Dealing with the bad news

Making Your Form Your Own

  • Giving It a Touch-Up: Modifications to the Form
    • Changing backgrounds
    • Text modifications
    • Format changes with tables
  • Souping It Up: Additions to the Form
    • Help text
    • Boilerplate items
    • Exotic data

Extending the CGI Program

  • Adding to and Modifying the Embedded HTML Form
  • Customizing Your Form CGI’s Action
    • Where to begin?
    • Extension by example

Summary

1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * TOP
-

Chapter 9: Our Development Environment and Some Useful Tools

Basic Assumptions

  • For Better or Worse, Our Platform Is UNIX
  • Our Language of Choice Is Perl4
  • We'll Work with Either CERN or NCSA httpd
  • We Take Good Tools Wherever We Can Get Them!

Putting Theory (and Advice) into Practice

The Major CGI Libraries

Looking for CGI Nirvana

  • Round Up the Usual Suspects
  • Ask an Expert!
  • Do Some Reading

Some Select CGI Sites

Using CGI Programs Effectively

Publish and/or Perish!

Summary

1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * TOP
-

HTML 2.0 Checked! E-Mail: Web Programming Secrets at wps@lanw.com
URL: http://www.lanw.com/wps/contents.htm
Authors: Tittel, Gaither, Hassinger, & Erwin.
Web Copyright © 1996, LANWrights & IMPACT Online.
Revised -- March 15th, 1996 [James Michael Stewart]
BACKHOMENEXT
MENU

Netscape Now This site is best when served over Netscape 2.0.