WebKeystone Web Application Software WK
WK
Home | Q&A | Learning Center | Documentation | Members | Download | Related Products | Site Map | Search | Contact Us

WebKeystone Language Reference Manual

Version 2.1

Chapter 1: Introduction

WebKeystone was written to satisfy a need for a CGI-like language that was easy to learn, easy to write in, and powerful enough to do a variety of common CGI-script chores. It had to be both tightly coupled with http requests and secure enough so that applications written in it could be trusted not only to not impinge on other applications and the system, but also to not overuse system resources. It also needed to be able to account for the resources that are used, so that they could be both allocated and billed for correctly.

WebKeystone allows a site to give subscribers access to a powerful scripting language with confidence in the security of the system and the ability to bill for resources used.

Chapter 2: WebKeystone Fundamentals

Chapter 3: Security and Permissions

Security is a major issue in all Internet applications. WebKeystone was designed with security issues in mind. WebKeyscript performs two critically different functions. The first function is an extension of the system functions made available to a user. WebKeystone performs many operations automatically that a CGI script has to do procedurally. It also provides specialized functions and commands unique to WebKeystone that make the processing of form data quicker and more convenient and greatly reduce the development time needed to create an interactive site. The second function that WebKeystone performs is a limitation and restriction upon the system environment in order to increase and enhance the security of the system.

Chapter 4: WebKeystone Expressions and Assignments

WebKeyscript is similar to Python, is written in Python, and is based upon Python, but is NOT the same as Python. On one hand it provides its own set of built-in commands and objects and functions. On the other hand, it seriously limits and prohibits the use of many built-in Python commands. This chapter documents the commands WebKeyscript inherits, the commands WebKeyscript prohibits, and the new commands WebKeyscript introduces.

There are four places where assignments to variables take place in WebKeystone. The first is in forms in the Startfile. All cgi-variables are declared in the forms. The second place is during validation and conversion. Validations and conversions are based upon suffixes of cgi-variables. During the process of conversion new values may be assigned to these variables. There are two places where the form writer can explicitly make assignments to variables in WebKeystone. The first is in the Profile and the second is in the Endfile. Assignments may occur throughout the Profile; the Endfile may begin with an optional header in which assignments can be evaluated. The header is separated from the rest of the Endfile by a line beginning with the two characters "#-". The header is executed and stripped from the Endfile when it is invoked by the RETURN statement. Any file in which substitutions may be performed may contain assignments in a header. This includes files mailed and specified in the BODY command or the ATTACH command. These assignments are only performed if the file is loaded with substitutions. This header feature was added in order to make certain kinds of processing, in particular the display of lists, convenient. It keeps the formatting for the list close to where the list will be displayed, but hides this processing information from users.

Chapter 5: WebKeystone commands