CGILua
Building Web Scripts with Lua

Overview

CGILua is a tool for creating dynamic Web pages and manipulating input data from Web forms. CGILua allows the separation of logic and data handling from the generation of pages, making it easy to develop web applications with Lua.

One of advantages of CGILua is its abstraction of the underlying Web server. You can develop a CGILua application for one Web server and run it on any other Web server that supports CGILua, even if using a different launching model.

CGILua can be used with a variety of Web servers and, for each server, with different launchers. A launcher is responsible for the interaction of CGILua and the Web server, for example using ISAPI on IIS or mod_lua on Apache. The reference implementation of CGILua launchers is Kepler.

CGILua is free software and uses the same license as Lua 5.0.

Status

Current version is 5.0.1

Download

CGILua source code can be downloaded from its LuaForge page

History

Version 5.0.1 [20/Sep/2006]
  • Uses Compat-5.1 Release 5.
  • Caches Lua Pages template strings.
  • New configuration examples.
  • Improvements in the Session library.
  • Removed the debug package from the user scripts environment.
  • POST handling bug fixes (related to the text/plain content type).
Version 5.0 [23/Jul/2005]
  • CGILua distribution includes now only the Lua files, the launchers have been moved to Kepler.
  • The Stable library is now distributed with VEnv.
  • Fixed a file upload bug in the CGI and Xavante launchers.
  • cgilua.lp.include() now accepts an environment to run the preprocessed file in it.
Version 5.0 beta 2 [23/Dec/2004]
  • Distribution bug fix: stable.lua was missing
Version 5.0 beta [15/Dec/2004]
  • New ISAPI and Servlet Launchers.
  • New Error Handling features.
  • New persistent data feature (Stable).
  • Uses the package model for Lua 5.1.
  • Simpler User Session API.
  • Small bug corrections
Version 5.0 alpha 3 [8/Jun/2004]
Version 5.0 alpha [21/Apr/2004]

Incompatibility with previous CGILua versions (4.0 and 3.x)

  • CGILua 5.0 uses Lua 5.0.
  • The cgi table now allows table values. See Receiving parameters for a more detailed explanation.
  • The template tags have changed. See Lua pages for a more detailed explanation.
  • The use of getenv calls to obtain CGI variables should be replaced by cgilua.servervariable calls.

Credits

CGILua 5.0
CGILua 5.0 was completely redesigned by Roberto Ierusalimschy, André Carregal and Tomás Guisasola as part of the Kepler Project. The implementation is compatible with Lua 5.0 and was coded by Tomás Guisasola with invaluable contributions by Ana Lúcia de Moura, Fábio Mascarenhas and Danilo Tuler. CGILua 5.0 development was sponsored by Fábrica Digital, FINEP and CNPq.
CGILua 4.0
Ana Lúcia de Moura adapted CGILua 3.2 to Lua 4.0, reimplemented some code and added a few improvements but this version was not officially distributed.
CGILua 3.x
CGILua was born as the evolution of an early system developed by Renato Ferreira Borges and André Clínio at TeCGraf. At the time (circa 1995) there were no CGI tools available and everything was done with shell scripts!
However, the main contribution to CGILua 3 was done by Anna Hester, who consolidated the whole tool and developed a consistent distribution with versions 3.1 and 3.2 (the number was an effort to follow Lua version numbers). This version was widely used on a great variety of systems.

Contact us

For more information please contact us. Comments are welcome!

You can also reach other CGILua developers and users on the Kepler Project mailing list.

Valid XHTML 1.0!

$Id: index.html,v 1.54 2006/09/20 13:11:32 carregal Exp $