"This chapter of the WebSiphon 2.0 Documentation is intended to provide an overview of what WebSiphon provides to you, the new user. Rather than writing this section myself, I felt it would be more valuable and effective to present this overview written by an active user in the WebSiphon community.Mark Holtz is an avid WebSiphon user and one of the more prominent third party function library developers at the time of this release. It is my hope that this chapter will provide words of encouragement and a window into the WebSiphon community.
Lastly, I would like to both thank and welcome you as a new member of the group of Purity Software customers worldwide. We greatly appreciate your support - without which we could not survive. Thanks again!"
Nathan Nunn
President
Purity Software
Welcome to WebSiphon |
by Mark Holtz (written in 1997)
When an associate of mine first recommended we use WebSiphon on our site, I thought to myself, "Great, another language to learn and another component to throw into the mix of programs running on our server." I figured it, like many other products I had used, would fall short of what we wanted it to do, leaving me to find yet another program to fill the gap.
Boy, was I ever wrong.
WebSiphon is an ACGI application and server plug-in that works with your Mac OS-based web server to provide a powerful, flexible server-side scripting engine within a very reasonable resource budget. The WebSiphon package, in addition to its own copious internal facilities, also includes Verona, a high-speed flat-file database system designed for use with web servers. WebSiphon's scripting language, SiphonScript, provides not only a full complement of features such as looping, local and persistent global variables, case statements, and conditional expressions, but also contains powerful list and string handling capabilities, automatic parsing of CGI arguments, and the ability to create modular script libraries to maximize code reusability. In addition to these features, the WebSiphon implementation model provides a very rapid development cycle, allowing you do bring complex systems on-line in a very short amount of time.
SiphonScript is also extensible through the use of "built-in libraries" which contain SiphonScript functions written in native PowerPC code for increased speed and capability. Purity provides over 200 such built-in functions, providing Date & Time handling, flexible file handling, database interfaces to both FileMaker Pro and Verona, and other powerful features. Plus, if you want to write your own functions in C, Purity provides a WebSiphon SDK for making your own high performance libraries. Several third-party developers are already doing this, bringing even more functionality to WebSiphon.
So, How Does It Work?
Once you've installed WebSiphon and configured your web server, extending
your web pages is a simple task. Simply open your page in the text editor
of your choice. Add in the appropriate SiphonScript for what you'd like
your page to do. Save the file. You've now created a "template",
which is a file containing HTML and SiphonScript. Bring up your web browser,
and hit the corresponding page on your server. WebSiphon will compile the
SiphonScript in your template, execute the commands, and serve back the
appropriate response. It's that simple, but not that limited. WebSiphon
can also run scripts at scheduled times, or as part of another script. And
you don't have to write separate script files and HTML files. You can intermix
both script and HTML within a template. (In fact, I've even combined dozens
of pages into one file using SiphonScript..) Finally, because WebSiphon
only recompiles scripts when changes are made, you can edit your site while
other people are using it. You will not need to restart WebSiphon when you
make changes, giving you the ability to modify your site without taking
it offline.
What Do You Do Now?
As a first step, I suggest you read the rest of this manual. Familiarize
yourself with what WebSiphon can do before you embark on a major scripting
project. You'll find that SiphonScript already has functions for doing a
wide variety of tasks, saving you the hassle of writing the function yourself.
When I started using SiphonScript, I tried a simple example that printed
the results of a calculation as part of the existing home page on my web
server. From there, I started putting counters on my pages, generating web
pages from chunks of data stored in a database, and integrating WebSiphon
with other CGI scripts running on my server. At the present, I've developed an
entire site based on WebSiphon, generating its content in a variety of methods,
all script based. I've also found myself writing SiphonScript built-in libraries
to handle some of the esoteric functionality I've needed. In the end, WebSiphon
has replaced virtually every other content-serving CGI application on my
server.
So what should you do? Anything you want! Start simple, with hit counters, modification dates, integrating that navigation bar into all your pages using only one line of script. The more you use WebSiphon, the more ideas you'll have about things to try. And there are lots of good examples out there! Chat rooms, multi-user forums, banner ad mechanisms, database editors..The list goes on and on.
I've also saved the best feature for last: The WebSiphon User community. No matter if you're just starting out or are a savvy SiphonScripter, you will learn a thing or two from your fellow users. There is the websiphon-talk mailing list, the siphon.scripting.org web site, and several other venues where you can share ideas and get answers. I would encourage you to use this "feature" early on in your development. The people participating in these forums are the people writing, using, and pushing WebSiphon to its fullest. And of course, you want your web site to push the envelope, don't you? (or at least get past the sticky part, right?)
So, Get Going!
In closing, let me just say that you've made a good decision in selecting
WebSiphon. Your web server will appreciate it. Your users will appreciate
it. You'll appreciate it. (Your boss may even appreciate it..) Start out
small, keep your eyes open for new ideas, participate in the WebSiphon community,
and above all, have fun!