| |
| <html> |
| <head> |
| <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> |
| <title>Websh - Welcome</title> |
| <script language="JavaScript" src="buttons.js"></script> |
| <link href="websh.css" rel="styleSheet" type="text/css"> |
| <meta name="description" content="Websh - the rapid development environment to build powerful web applications."> |
| <META NAME="keywords" CONTENT="websh, Websh, e-commerce, web application, apache, perl, php, asp, cold fusion"> |
| </head> |
| |
| <body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0" |
| bgcolor="#ffffff" link="#006699" alink="red" vlink="#006699"> |
| |
| <map name="grafik_navi"> |
| <area href="mailto:websh-dev@tcl.apache.org" coords="94,2,154,26" shape="rect"> |
| <area href="./" coords="4,2,64,26" shape="rect"> |
| <area href="contact.html" coords="184,2,244,26" shape="rect"> |
| </map> |
| <table border="0" cellpadding="0" cellspacing="0" width="100%" height="76"> |
| <tr valign="top"> |
| |
| <td width="500" bgcolor="#006699"><img height="50" width="300" src="images/grafik_navi_home.gif" alt="" border="0" usemap="#grafik_navi"><img height="50" width="200" src="images/grafik_index.gif" alt=""></td> |
| |
| <td><img height="50" width="270" src="images/logo.gif" alt="Websh"></td> |
| <td width="5000" bgcolor="#000000"> </td> |
| </tr> |
| <tr> |
| <td width="500"> |
| <table border="0" cellpadding="0" cellspacing="0" width="500" height="40"> |
| |
| <tr bgcolor="#006699"> |
| <td><a href="/websh/product.html" onmouseover="swap('prod','b_prod_b')" onmouseout="swap('prod','b_prod_a')"><img height="20" width="120" src="/websh/buttons/b_prod_a.gif" name="prod" border="0" alt="product description"></a></td> |
| <td><a href="/websh/docu.html" onmouseover="swap('docu','b_docu_b')" onmouseout="swap('docu','b_docu_a')"><img height="20" width="100" src="/websh/buttons/b_docu_a.gif" name="docu" border="0" alt="documentation"></a></td> |
| <td width="70"><br></td> |
| <td><a href="/websh/resources.html" onmouseover="swap('ress','b_ress_b')" onmouseout="swap('ress','b_ress_a')"><img height="20" width="110" src="/websh/buttons/b_ress_a.gif" name="ress" border="0" alt="resources and links"></a></td> |
| <td><a href="/websh/download.html" onmouseover="swap('down','b_down_b')" onmouseout="swap('down','b_down_a')"><img height="20" width="100" src="/websh/buttons/b_down_a.gif" name="down" border="0" alt="download"></a></td> |
| </tr> |
| <tr height="20"> |
| <td width="120" height="20"><img height="20" width="120" src="images/title.gif"></td> |
| <td width="100" height="20"><img height="20" width="100" src="images/title.gif"></td> |
| <td width="70" height="20"><img height="20" width="70" src="buttons/b_supp_c.gif"></td> |
| <td width="110" height="20"><img height="20" width="110" src="images/title.gif"></td> |
| <td width="100" height="20"><img height="20" width="100" src="images/title.gif"></td> |
| </tr> |
| |
| </table> |
| </td> |
| <td><img height="40" width="270" src="images/logo_strich.gif"></td> |
| </tr> |
| </table> |
| |
| <div style="padding: 15px; color:#fff; background-color: #069; font-weight: bold; width: 730px; margin: 5px;"> |
| We are sorry but we discontinued Websh support and development for lack of resources. |
| Also the discussion mailing list was closed, so if you're interested in taking up this subproject within the Apache Tcl project to bring it back into life please contact private@tcl.apache.org |
| </div> |
| |
| <table border="0" cellpadding="0" cellspacing="0" width="770"> |
| |
| <tr height="30"> |
| <td width="10" valign="top"></td> |
| <td width="150" height="30"></td> |
| |
| <td width="455" height="30"> |
| <h1>frequently asked questions</h1> |
| </td> |
| <td width="10" height="30"><br> |
| </td> |
| <td width="145" height="30"> |
| |
| </td> |
| |
| </tr> |
| |
| <tr valign="top"> |
| |
| <td width="10"><br></td> |
| <td width="150"> |
| <table border="0" cellpadding="0" cellspacing="0" width="141"> |
| |
| <tr valign="top"> |
| <td width="10"><img height="11" width="10" src="images/pfeil.gif"></td> |
| <td class=nav> |
| <a href="/websh/support.html"><b>support</b></a><br> |
| |
| <br></td></tr> |
| |
| |
| <tr valign="top"> |
| <td width="10"><img height="11" width="10" src="images/pfeil.gif"></td> |
| <td class=nav> |
| <b>faq</b><br> |
| |
| - <a href="/websh/faq.html#generic">generic questions</a><br> |
| |
| - <a href="/websh/faq.html#technical">tech questions</a><br> |
| |
| <br></td></tr> |
| |
| <tr valign="top"> |
| <td width="10"><img height="11" width="10" src="images/pfeil.gif"></td> |
| <td class=nav> |
| <a href="/websh/subscribe.html"><b>mailing list</b></a><br> |
| |
| <br></td></tr> |
| |
| |
| <tr valign="top"> |
| <td width="10"><img height="11" width="10" src="images/pfeil.gif"></td> |
| <td class=nav> |
| <a href="http://issues.apache.org/bugzilla/"><b>bug tracking system</b></a><br> |
| |
| <br></td></tr> |
| |
| </table> |
| </td> |
| |
| <td width="455"> |
| <a name="toc"></a><a name="generic"><h1>Contents</h1> |
| |
| <p> |
| <a href="#generic"><b>1 Generic Questions</b></a><br> |
| <a href="#whatis">1.1 What is Websh?</a><br> |
| <a href="#version">1.2 What is the current version?</a><br> |
| <a href="#price">1.3 What does Websh cost?</a><br> |
| <a href="#download">1.4 Where can I download Websh?</a><br> |
| <a href="#why">1.5 Why should I use Websh?</a><br> |
| <a href="#mailinglist">1.6 Is there a mailing list?</a><br> |
| </p> |
| <p> |
| <a href="#technical"><b>2 Technical Questions</b></a><br> |
| <a href="#logging">2.1 How do I use the logging facility?</a><br> |
| <a href="#mod_websh">2.2 How do I setup mod_websh?</a><br> |
| <a href="#apache">2.3 How do I configure mod_websh for Apache 1 or Apache 2 repectively?</a> |
| </p> |
| |
| <a name="generic"></a><a href="#toc"><h1>1 Generic Questions</h1></a> |
| |
| <a name="whatis"></a><a href="#toc"><h2>1.1 What is Websh?</h2></a> |
| |
| Websh is a rapid development environment for building powerful and |
| reliable web applications. It is a standard Tcl extension and is |
| released as Open Source Software. Websh is versatile and handles |
| everything from HTML generation to data-base driven one-to-one page |
| customization. Netcetera has been using it for years in many customer |
| projects, which typically are E-commerce shops or even electronic banking |
| applications. |
| <p> |
| In addition, Websh provides mod_websh, an Apache module for the Apache 1.3 |
| and Apache 2 web server. |
| |
| <a name="version"></a><a href="#toc"><h2>1.2 What is the current version?</h2></a> |
| |
| Currently, version 3.6 of Websh has been released as Beta (but fully working |
| version). Check the <a href="download.html">download area</a> to get the |
| latest version. |
| |
| <a name="price"></a><a href="#toc"><h2>1.3 What does Websh cost?</h2></a> |
| |
| Nothing. It's free. Websh is released as Open Source. |
| |
| <a name="download"></a><a href="#toc"><h2>1.4 Where can I download Websh?</h2></a> |
| |
| The latest release of Websh is available for download in the |
| <a href="download.html">download area</a> of this site. |
| |
| <a name="why"></a><a href="#toc"><h2>1.5 Why should I use Websh?</h2></a> |
| |
| In today's E-commerce environment, flexibility and short |
| time-to-market are key characteristics for successful |
| business. E-commerce, in other words, calls for a solid basis on which |
| applications can be built. For exactly this purpose we have designed |
| Websh. |
| <p> |
| Websh helps you to create high-quality web applications with light |
| time constraints. It is fast, versatile, scalable, and easy to learn. |
| With Websh, you have a win-win situation for developers and |
| customers. |
| |
| <a name="mailinglist"></a><a href="#toc"><h2>1.6 Is there a mailing list?</h2></a> |
| |
| Sure. Visit the <a href="subscribe.html">subscribe</a> page on this site to get more information. |
| |
| <a name="technical"></a><a href="#toc"><h1>2 Technical Questions</h1></a> |
| |
| <a name="logging"></a><a href="#toc"><h2>2.1 How do I use the logging facility?</h2></a> |
| |
| Before Websh sends a message to a log destination, the message |
| needs to pass two filters. That's why you need to specify a level when |
| you issue a log message. First, Websh decides whether or not to |
| handle the log message. Then, it scrolls through the list of |
| registered log destinations and compares the log message level against |
| the filter of each log destination. The message is sent to the log |
| destination only if the message passes the second filter. |
| |
| <br><br> |
| A log level consists of a tag and a level, separated by a dot. |
| Possible levels are |
| <ul> |
| <li>alert</li> |
| <li>error</li> |
| <li>warning</li> |
| <li>info</li> |
| <li>debug</li> |
| </ul> |
| The tag is free text. Typically, it is the name of the application, |
| say "foo". |
| |
| <br><br> |
| Before log messages can reach their destination, you have to |
| "open up" the log destination, in two steps: |
| <pre> |
| web::loglevel add foo.warning-debug |
| web::logdest add foo.warning-info file foo_warn.log |
| web::logdest add foo.debug file foo_dbg.log |
| </pre> |
| |
| This sequence of commands tells Websh to handle all messages |
| in the range "warning" to "debug", if the level string is |
| "foo", and to discard any other messages. Messages of level |
| "debug" are then written to file "foo_dbg.log", while |
| the other messages end up in file "foo_warn.log". |
| |
| <br><br> |
| Issuing a message is easy: |
| <pre> |
| web::log foo.info "Hello, world !" |
| </pre> |
| |
| <p> |
| A sample logging setup for a script in mod_websh looks like this: |
| |
| <pre> |
| web::initializer { |
| web::logdest add user.-debug file -unbuffered /tmp/test.log |
| web::logfilter add *.-debug |
| web::log info "initializing interp" |
| } |
| |
| web::command default { |
| web::log info "command default call number [web::interpcfg numreq]" |
| web::putx "file /tmp/dummypage.html" |
| } |
| |
| web::finalizer { |
| web::log info "shutting down interp" |
| } |
| |
| web::dispatch |
| </pre> |
| |
| This will setup logging when the interpreter is created (during the |
| first request it handles) and later, this logs can be used during the |
| requests. Note that only log levels and log destinations created in the |
| initializer code are accessible in the finalizer. Configurations created |
| during a request is discared when the rquest ends. |
| |
| <a name="mod_websh"></a><a href="#toc"><h2>2.2 How do I setup mod_websh?</h2></a> |
| |
| If you compile and install mod_websh, a sample setup for mod_websh is |
| also installed. Please refer to the README file in your installation directory. |
| |
| |
| <a name="apache"></a><a href="#toc"><h2>2.3 How do I configure mod_websh for Apache 1 or Apache 2 repectively?</h2></a> |
| |
| Websh will automatically detect whether the header files of Apache 1 or |
| Apache 2 are present and compile accordingly. There is no manual change |
| needed to compile with a specific version. (However a compiled version will |
| only run with the Apache version it was compiled with.) |
| </td> |
| </tr> |
| </table> |
| |
| <table border="0" cellpadding="0" cellspacing="0" width="770" height="45"> |
| <tr valign="top"> |
| <td colspan="2"> |
| <hr noshade size="1"> |
| </td> |
| </tr> |
| <tr valign="top"> |
| <td width="10"></td> |
| <td width="760"> |
| <a href="product.html">description</a> | <a href="docu.html">documentation</a> | <span class="blue">support</span> | <a href="resources.html">resources</a> | <a href="download.html">download</a> | <a href="credits.html">credits</a> | <a href="copyright.html">copyright</a> |
| </td></tr> |
| <tr valign="top"> |
| <td colspan="2"> |
| <hr noshade size="1"> |
| </td> |
| </tr> |
| <tr valign="top"> |
| <td width="10"></td> |
| <td width="760"> |
| <span class="klein"><b>© Websh - an <a href="http://tcl.apache.org">Apache Tcl</a> project - part of the <a href="http://www.apache.org/">Apache Software Foundation</a></b></span></td> |
| </tr> |
| </table> |
| </body> |
| </html> |
| |