Introduction
    Pike
    RXML
    CGI and SSI
    Java
  CGI and SSI
  <pike> tag
  Pike script
  Modules
  Parser modules
  Location modules
  Other module types
  Request information object
  Responses
  Library methods
 
Introduction

When creating web applications the web browser and web server provides a framework for the application. Development becomes a lot easier than creating client based GUI applications, since the programmer can take advantage of this framework. Any web application becomes truly platform independent, it can be accessed from any computer or appliance containing a web browser.

The web gives the programmer freedom to choose any programming language and environment. To the end user the application appears as a web page, what lies behind the scenes doesn't matter. This freedom means that almost every existing programming language have been used to make web applications, and that some scripting languages has been invented for the sole purpose of making web applications.

Roxen Challenger is of course an example of this, being written in Pike. Challenger is written to be extended, the modules that make up Challenger do not differ from modules made by third parties. But Challenger is not limited to be extended by modules; it supports standards like CGI and Java Servlets, to ensure that the programmer can chose the most suitable programming environment.

In fact Challenger makes it possible to integrate applications written in several languages and environments. Its own scripting language, RXML, is designed to make it possible to combine output from several applications or databases on each HTML page.

This programmers manual will describe the different ways to make web applications, and how they can be integrated to take full advantage of the power of Challenger.

Introduction
This introduction chapter.
CGI and SSI
How to use the CGI and SSI standards with Challenger.
Pike Tag
How to use the <pike> tag, writing code directly in the web pages.
Pike scripts
How to use Pike scripts.
Modules
How to write Challenger specific modules.
Tag modules
How to write modules that create their own RXML tags.
Location modules
How to write location modules, such as file systems.
Other modules
How to write other types of modules.
ID Object
Information about the request id object.
Responses
What responses can be sent from a module.
Library Methods
Library Methods available within Challenger.
Databases
How to connect to and use databases.
Appendix