 quick server pages |
Manual page for FAQ(TDH)
Frequently asked questions
How can I tell what QUISP version I am running?
-
-
Use quisputil -ver. Within a script the @QUISP_VERSION variable contains the version number.
SHSQL and QUISP use the same version number.
If you're using quisp_pl, @PLVERSION contains the ploticus version number
(after the #endgraphic statement).
What about installation instructions, troubleshooting tips, and support?
-
-
Check here.
Is it possible to use QUISP as a standalone (ie. without SHSQL)? I just need a cgi interface
that can append entries to a couple of flat files.
-
-
Yes. The quisp Makefile can be set to build without SHSQL.
Is it possible to use SHSQLas a standalone API (ie. without QUISP)?
-
-
Yes. Just go into the ./sqlsrc and do a make, and libshsql.a
only will be built.
Is there a way to connect QUISP page scripts with another SQL database such as MySQL?
-
-
This is discussed
here.
QUISP seems like a nice package, but I'm concerned that eventually I'll run into something
that I'm unable to do, a crippling bug, or some other limitation.
-
-
QUISP is certainly a simpler package than mainstream fullblown systems and the inevitable trade-off
is in functionality and performance. But why expect a single program to do everything including
the kitchen sink? When I run into something QUISP can't do by itself the first thing I consider is
invoking an external program that can do the desired work, capturing the results using #shell
(the performance hit is minimal, unless this is done many times repeatedly).
Another option is writing a custom function in C (this is fairly easy to do). As for other limitations,
this must be decided based on individual project parameters. Some working limitations are summarized
here.
In my own experience the existing parameters are generally sufficient; where they're not,
limits can sometimes be raised by modifying a parameter in a source code header file and rebuilding.
It seems likely that large, performance-critical or enterprise-critical projects will likely not
consider QUISP anyway for other reasons, such as IT standards compliance.
With regard to bugs, QUISP/SHSQL has been powering a medium-duty production system which I maintain,
for several years now and things are working smoothly. I intend to do what I can to address problems
that are reported to me.
How difficult would it be to port a QUISP/SHSQL web site to PHP/MySQL or similar?
-
-
This would involve a thorough review and some rewriting.
While flow-of-control logic would likely be similar between PHP and QUISP page scripts,
the syntaxes and function libraries are quite different. QUISP includes SHSQL, which
resembles standard SQL for basic constructs... but all embedded SQL would need to be reviewed
with some revision likely. The QUISP/SHSQL data is in whitespace-delimited ascii form,
which can be easily moved into other databases if necessary (convert spaces to tabs, and
convert embedded underscores to spaces).
Are there security issues involved when updating a database using a CGI-based system such as QUISP?
-
-
Known security issues are discussed
here.
Can QUISP be used with javascript, XML, or other client-side languages instead of, or embedded with, HTML?
-
-
Yes, QUISP markup can be used with any content. The QUISP markup determines what content will be sent to the
browser client.
How can I get uniform font and background color on all my pages?
-
-
All pages in a project can #include
a common header file. This allows style, layout, etc. to be standardized
across all pages, and also facilitates usage logging, and setting of
"global" variables that are to be available to all pages.
How can I set some variables that will be available to all pages?
-
-
By having all pages include a common preliminary or header file. Another way is to use varvalue
in your config file.
How can I keep a log of all web hits?
-
-
There's no automatic logging feature, however you can easily write log
entries from your header file. The
#write
manual page includes an example that does this.
I have some QUISP script code that needs to be shared by several different pages.
There doesn't seem to be a way to organize script code into procedures so that it can be
shared.
-
-
There is no provision for creating procedures containing QUISP script code (you can
write your own built-in functions in C, see below).
You can, however, use #include to share template code between pages, and pass parameters
by way of variables (which are always global).
I need some math functions that aren't listed in the QUISP functions manual page.
-
-
You can add in your own "C" functions by modifying custom.c and rebuilding.
What's the best way to work with dates?
-
-
The most flexible and compact way to store dates is to convert user input to julian values
for storage, as done in the people3 demo. Another option is to use a date
notation that sorts naturally, such as yyyy/mm/dd. QUISP includes a number of
functions
for working with dates.
How can I set up user access control? I want only certain users to be able to update data.
-
-
With QUISP, all user access control is enforced by the page scripts (the middleware).
SHSQL does not use logins/password, although it does have the IDENTITY command
for setting user identity for purposes of record locking and transaction identification.
More discussion.
How do I set up to do dynamic data displays and plots?
-
-
Use quisp_pl, which is quisp with embedded ploticus graphics. The
graphics man page
describes the process.
Why should I keep two separate QUISP versions, one graphics-enabled and one not?
-
-
Mainly because the graphics-enabled executable is more than twice the size of the other,
so you may get faster performance by using the small standard one for pages that don't
contain graphics.
|

quick server pages
Copyright Steve Grubb
|