#set TITLE = "Overview"

#include top

.ig >>


<center>
<table cellpadding=2 width=550 >

<tr bgcolor=FFFFFF><td>
<font size=+1><b>QUISP (quick server pages)</b></font> is a simple, complete solution for developing database-driven dynamic web sites.
It includes its own embedded SQL database which stores data in ascii text files,
and optionally can include an embedded data charting package (<a href="http://ploticus.sourceforge.net">ploticus</a>).

<br><br>
QUISP is a template processor that lets you generate HTML on the fly.  You create your
HTML in a text editor, then add directives such as <tt>#include</tt>, <tt>#if</tt>, 
<tt>#for</tt>, <tt>#while</tt>, <tt>#sql</tt>, or <tt>#shell</tt>.  When a user accesses
your page, QUISP loads your page code, evaluates embedded QUISP directives, and sends pure HTML out to the
user's browser.  Your web site will likely have a number of
pages, and you can organize them into directories if you want.

<br><br>

<h3>What existing problems does QUISP attempt to address?</h3>
<li> Currently available dynamic web platforms (such as MySQL / PHP) are complex and require significant 
time and expertise (as well as system privileges) to install, administer, and upgrade.
For some projects, especially smaller ones or prototypes, this sometimes seems like overkill.
<li> Dependency on such large underlying systems can cause delays in getting started, and
when these underlying systems are upgraded applications can break.
<li> Applications written for MySQL/PHP (etc.) cannot be delivered and deployed on remote systems unless
those systems are running compatible versions of MySQL and PHP.
<li> Dynamic content systems that are tightly coupled to the web server can be cumbersome to
customize or upgrade.
<p>
QUISP has been developed as a simpler unified
model that has no external DBMS or middleware dependencies, requires no root privileges,
and can be extended and customized by an average "C" programmer.


<br><br>

<h3>What makes QUISP special?</h3>
<li> QUISP depends on <b>no</b> other packages (such as a DBMS) at runtime
//<br><br>
<li> QUISP is a CGI and works with any generic unix- or linux-based web server 
//<br><br>
<li> easy to install.. no root privilege is generally needed to install or deploy applications
//<br><br>
<li> easy to copy, clone, or move QUISP web sites
//<br><br>
<li> extensible.. your "C" language functions can be easily incorporated; it's also
easy to execute shell programs and capture the results.  
//<br><br>
<li> QUISP's integrated SQL database (<a href="../../sqlman/html/shsql_home.html">shsql</a>) stores data in ordinary ascii text files..
you can edit data with a text editor or easily import into other software 
//<br><br>
<li> nice HTML forms and SQL interface capabilities
//<br><br>
<li> an optional integrated data graphing engine (<a href="http://ploticus.sourceforge.net">ploticus</a>)
//<br><br>
<li> "list-centric" features-- small-scale vectorization can be handled by <a href="commalist.html">comma-delimited lists</a>
//<br><br>
<li> nice "web-aware" features such as timeout record locking and comparison operators for intuitive search 
//<br><br>
<li> QUISP uses a syntax that contrasts nicely to HTML or XML, which can help with code readability
//<br><br>
<li> QUISP reduces project complexity by eliminating the need for full-scale DBMS and middleware



<br><br>
<h3>Who should consider QUISP?</h3>
Developers of small- or medium- scale systems on unix/linux platforms who:
<br><br>
<li> don't have a platform such as MySQL/PHP solidly available, or choose not to use it
<li> wish to deploy or deliver dependency-free dynamic web site solutions 
<li> want easy access to their own "C" functions or shell commands
<li> want an easy way to add dynamic <a href="http://ploticus.sourceforge.net">ploticus graphics</a> into their web pages
<li> want to manage data without going through SQL all the time
<li> can work within the parameters and limitations of <a href="specs.html">QUISP</a> and
	<a href="../../sqlman/html/specs.html">SHSQL</a>.

<br><br>
<h3>Who should avoid QUISP?</h3>
<li> developers whose needs are best met by the functionality, performance, and complexity 
provided by packages such as MySQL/PHP
<li> situations where adherance to existing IT standards is mandatory or where 
  creativity, experimentation, and trying new things are prohibited



<br><br>
<h3>Prerequisites</h3>
You'll need to be on a system with a working web server (but you don't need to have control
over that web server).  In addition, you should be comfortable with:
<li> creating basic HTML pages on your system using a text editor
<li> URLs and the difference between a URL and a file pathname
<li> CGI basics, and how to install CGIs that will be accessible to your web server
<li> Unix skills such as setting file permissions modes, creating setuid executables, and creating 
soft links.



</td></tr>
</table>

.>>

#include bottom
