Cameron Laird's personal notes on the Web Scripting Forum

Table of Contents

Introduction

"That's cool." "I've been working six months to develop what you just described in your talk." "I didn't know you could do that."

Those were a few of the comments from the audience at the Web Scripting Language Forum. The Forum was one of the eight tracks of the Developer's Day at the Eight International World Wide Web Conference. As the chairman of the session, I maintain this page to promote the efforts of the participants to get their messages out. On the whole, they were successful.

The only press coverage of the Forum I know appeared in SunWorld Online.

Index to abstracts

Abstracts

Fuller versions of the presentations are available by selecting the titles.

Scripting the web with Python and Zope

Python is a popular, free, cross-platform object-oriented scripting language that's very easy to learn (see www.python.org). Python has many applications on the web, from traditional CGI scripts to all-Python web servers. Guido (Python's creator) will present some of the hottest tools available to the Python programmer for processing and generating HTML, XML and other web data types, as well as for back-end processing. He will then clear the stage for Paul (CEO of Digital Creations, where Zope was born), who will present the Z Object Publishing Environment, a.k.a. Zope (see www.zope.org). Zope is a free, Open Source(tm) web application platform used for building high-performance, dynamic web sites. It is perhaps the ultimate and definitely the coolest Python-based web tool around. Paul will discuss object publishing, defining resources, and object-relational integration, new portal toolkit facilities, and the WebDAV/FTP server.

Creating Dynamic Pages with PHP

The web is growing at a tremendous pace and the demands for content beyond simple static pages keeps increasing. There is a critical shortage of people capable of producing pages with dynamic content. PHP is an html-embedded web scripting language which attempts to lower the bar somewhat and make building dynamic web pages faster and easier for web site developers of all skill-levels.

In this talk we will go over how PHP came to be, its basic features and also discuss how PHP has been used in the real world. The presentation will be made by Rasmus Lerdorf and Stig Bakken, two of the core developers of the language, so the discussion can get as technical and low-level as interest warrants.

Lua and the Web

Lua is a scripting language that combines procedural features with powerful data description facilities and reflexive mechanisms. Instead of providing a myriad of ad-hoc facilities, Lua provides a few powerful mechanisms (e.g. functions as first-class values) that can be used to simulate many different language construct, like classes and inheritance.

CGILua is a CGI application that uses Lua as its language for writing CGI scripts. CGILua supports both templates (static HTML pages with embedded code) and scripts, and allows interesting mixes of these two paradigms. The main design goals of CGILua (most of them shared by Lua) are:

Moreover, CGILua uses Lua as its own configuration language, which makes the tool highly configurable.

Using XHTML with Mozquito

The W3C's public working draft eXtensible Hypertext Markup Language (XHTML) makes it possible to extend HTML with new tagsets. How can we use this today? Note that XHMTL is on schedule to become a Proposed Recommendation in Spring 1999.

Forms Markup Language (FML), a member of the XHTML family of document types we have defined, combines common HTML with an enhanced forms tagset and other interesting new features.

Introducing Mozquito, a large-scale JavaScript application, we demonstrate the implementation of FML in today's fourth-generation- browsers.

Our working examples provide a first impression of the benefits of client-side processing of enhanced forms in the development of web applications.

Tcl in the Scriptics Web Site and E-Commerce System

Tcl is used by some of the largest Web sites on the Internet for dynamic page generation and interactive web publishing. This talk explains why these customers chose Tcl, and goes into detail to describe how Tcl is used on the www.scriptics.com Web site and e-commerce facility.

The Scriptics web site is built with Tcl Httpd, a pure-Tcl implementation of a web server that is available as an open source distribution. The server is extensible, so you can build a single application that presents a Web interface to content, an e-commerce facility, and the backend database infrastructure. Like several other Tcl-based web servers, Tcl Httpd implements Tcl+HTML templates that embed Tcl commands into web pages. These Tcl commands are processed on the server and get replaced their their result, which can be any HTML. A template-based approach to dynamic page generation turns around the standard CGI model. Templates are web pages with small programs in them, and CGI applications are programs that have web pages inside them. It is much more natural for site developers and maintainers to work with dynamic web pages in template form than to work with CGI scripts.

Participants

Paul Everitt

President of Digital Creations; first member of the Python Software Activity.

Stig Bakken

Stig co-authored the paper on PHP, of which he has been a co-developer since 1996.

Ian Graham

Developer's Day Program Chair and co-founder of Groveware

Roberto Ierusalimschy

Roberto is an associate professor at PUC-Rio (the Catholic University of Rio de Janeiro), and co-authored Lua and CGILua. His is the paper on "Lua and the Web".

Cameron Laird

I chair the Forum, and also will present the paper on CGILua and act as proxy chair for the Open Source Forum.

I'm an independent consultant who often implements Web and/or scripted projects. I frequently write for the trade press on scripting.

Rasmus Lerdorf

Rasmus co-authored the paper on PHP, which he originated.

Ellen Olson

Ellen, a marketing consultant for Scriptics, is collaborating on "Tcl in the Scriptics Web Site and E-Commerce System".

Sebastian Schnitzenbaumer

Sebastian co-founded Stack Overflow AG, is a co-leader of the Mozquito programming project, and wrote "Using XHTML with Mozquito".

Guido van Rossum

Guido invented Python.

Malte Wedel

Malte co-founded Stack Overflow AG, is a co-leader of the Mozquito programming project, and contributed to "Using XHTML with Mozquito".

Brent Welch

Brent is the author of "Tcl in the Scriptics Web Site and E-Commerce System", and also Practical Programming in Tcl and Tk, which we believe was the top-selling book on Tcl in 1998.

Audience

The audience count ranged from a couple of dozen to over forty. While the quantity mildly disappointed me (apparently most attendees that day went to learn XML), the quality was as high as we all expected. Folks kept up with the ideas, and seemed generally to be making plenty of connections between the speakers' offerings and their own needs.

Administrative details

Facilities

Ian tells me
The rooms are to be equipped with a digital projector (at least 800x600 resolution), and with a high-end Windows 95/98 PC. The PC will have a direct high-speed internet connection, and will be equipped with CD-ROM and floppy drives (no Zip or other large-format devices). I've requested the following set of preloaded software: If there are other requests for software, please let me know.

Also let me know if someone needs a Macintosh (giving type of machine, and required peripherals/software), and I will try and arrange for one to be available.

You can also plug your own laptops into the display projector -- but note that it may be 800x600, so you may have to drop your resolution to get things to work. There will also be an ethernet drop available for laptops, but if you wish to use that, you should contact me (the day chair) and/or the technical staff at the conference, so that you can properly configure the machine ahead of time.

There will also be an overhead projector (I know, I'm old-fashioned).

To learn more ...

Annotated jump pages

I've prepared pages of useful links and a few personal comments on JavaScript, Lua, PHP, Web scripting with Python and Tcl, and Zope.

[Magazine coverage ...]

"Why no Perl?"

A few listeners found Perl and VBScript conspicuously absent from the schedule, and wondered whether a "political" motive was at work. The answer is, no.

I negotiated with a few potential Perl speakers. The usual constraints of time-space-matter-energy resulted in the particular program we had. I was happy with it.

My goal going in was to make the session memorable. My most political bias is that Perl and VBScript (and, to a lesser extent, JavaScript) have plenty of venues, and lose little by their absence from our session. In any case, as I challenged the audience during my introduction, their opportunity is to distinguish each speaker's ideas, implementing language, and application, and re-combine them to their own best advantage. By "idea", I mean a proposition such as, "Templating and scripting are duals" or "Publishing Web objects is a good model." I was pleased when audience members said afterward that they'd picked up techniques they planned to use with Perl.


Cameron Laird's personal notes on the Web Scripting Forum/claird@phaseit.net