intro.html   [plain text]


<html>
    <head>
        <title>Introduction</title>
    </head>
    <body bgcolor="white">
<h1>Introduction</h1>

<h2>Twisted</h2>       
<a name="prerequisites"></a><h3>Prerequisites</h3>
<p>
In order to follow this tutorial and run the example, you will need to
download and install the latest version of twisted from cvs. Also, as Twisted
is on the bleeding edge of Python development, you should be running the
latest official release from <a href="http://www.python.org/download">www.python.org</a>.
</p>

<p>
Twisted is being aggressively developed and improvements and bugfixes are
being made on a daily basis, so it would behoove you to have the latest copy.
To download the source from anonymous cvs:
</p>

<pre class="shell">
    $ cvs -d:pserver:anon@cvs.twistedmatrix.com:/cvs login
    CVS Password:   #(Just press enter)

    # NOTE: the -z6 is *IMPORTANT* as we're getting the server for free!
    $ cvs -z6 -d:pserver:anon@cvs.twistedmatrix.com:/cvs co Twisted
</pre>

<p>
then run the install program 
</p>

<pre class="shell">
    $ cd Twisted
    Twisted $ python2.3 setup.py install
</pre>

<h2>What is Woven?</h2>
<h3>Overview</h3>
<p>
Woven is a framework for building web applications using Python and the Twisted
framework. It is designed to allow a programmer to separate the web <q>skinning</q>
html, from the application logic. This has always been a problem when using JSP or ASP, 
as careless web designers can easily break the logic that's co-mingled with the html. 
Woven allows your web designers to design to their heart's content, and not worry about
breaking something important. Another goal of Woven is to allow pages to be 
<em>composable</em>, large complex pages are able to be constructed out of many
small independent parts which have no knowledge of each other. This greatly improves
code-reuse, makes debugging simpler, and allows for a high degree of flexibility.
</p>

<p>
Woven is a nice way of building powerful web applications using Python, that integrate
seamlessly with the Twisted web server.
</p>

<h3>Required Reading</h3>
<p>
Before you go through this tutorial, I highly recommend you read the 
<a href="http://www.twistedmatrix.com/documents/howto/woven">Twisted Woven How-To</a>, 
it was invaluable in writing this tutorial. It will explain some things in much
more depth than I will cover here. It would also be of great use to you to know
how the http protocol works, especially the request/response cycle.  
</p>

<h3>Tutorial Structure</h3>
<p>
The topic at hand is broad and deep, there's a lot in here to get familiar with 
and to understand. I'll be taking you through an example application, and I'll do my
best to do it in a logical fashion. Before each section, I'll explain breifly the topics
we'll cover, and give an overview of the program flow through the code we're going to be
looking at. Then there'll be a code listing, and discussion about each method and what it
does. The application will be available to you <!-- where? -->, so I reccomend that you 
play with it while reading this. Feel free to borrow and steal and improve from this source,
it was written for <em>your benefit</em>, so make use of it.
</p>

<!-- Navigation Links ------------------------ -->
<p>
<table cellpadding="" cellspacing="5" border="0">
    <tr>
        <td>
           <a href="woven_links_intro.xhtml">next</a>  
        </td>
        <td>
           <a href="acks.xhtml">prev</a>  
        </td>
        <td>
            <a href="toc.xhtml">toc</a>
        </td>
    </tr>  
</table>
</p>
</body>
</html>