Zope QuickStart

Welcome to Zope - a new generation of software that we call a web application platform. Like web application servers, Zope provides very high performance and a strong framework for dynamic applications.

This QuickStart is built with Zope objects -- take a look!

Zope, though, is distinguished by its integrated object database which, when combined with a revolutionary object model, provides a completely unique facility for servicing content managers and web application developers. This outline, implemented in Zope, talks about the various strengths of the Zope platform and some of the other products available for it.

Start working in the management screens

- Database Integration
- A Basic Example
Consider the following basic personnel report. This report highlights (in red) anyone whose last raise was more than 25%.

Personnel Report

Plutonia Company - Marketing Department peronnel listing as of 1/1/98:

Employee Number Name Department Email Current Salary Last Raise (%)
SJ34 Jones, Steve Marketing stevej@plutonia.com [SEND]
$50,995
27%
JD334 Doe, James Marketing doej@plutonia.com [SEND]
$43,995
24%

Example Code - The SQLMethod

This is implemented with two basic objects. The first object is the SQL Method (which we've named qryAllMarketingEmployees as follows:

SELECT * from PlutoniaEmployees WHERE
department = '<!--#var department-->'

You should note that this SQL statement is actually an SQL statement template. The variable department will be inserted into the SQL statement when the query is run. In the example above the variable department is equal to MARKETING. Thus, when this SQL template is rendered the following SQL statement is sent to the database for evaluation/execution:

SELECT * from PlutoniaEmployees WHERE
department = 'MARKETING'

An SQL Method returns a sequence of items which can be interated over inside other queries or in HTML document templates. In this particular example, this query returns the following results:

employee_id last_name first_name department emailaddress salary precent_raise
SJ34 Jones Steve Marketing stevej@plutonia.com 50995 27
JD334 Doe James Marketing doej@plutonia.com 43995 24

Example Code - The Document Template

The second object is the Document Template required to render the HTML page. The table above was created with the following DTML:

<!--#var standard_html_header-->
<h3>Personnel Report</h3>
<p>
Plutonia Company - Marketing Department peronnel listing as of 1/1/98:
</p>

<table border="1">
  <tr>
    <th>Employee Number</th>
    <th>Name</th>
    <th>Department</th>
    <th colspan="2">Email</th>
    <th>Current Salary</th>
    <th>Last Raise (%)</th>
  </tr>

<--#in qryAllMarketingEmployees-->

  <tr>
    <td><!--#var employee_id--></td>
    <td><!--#var last_name--></td>
    <td><!--#var department--></td>
    <td><!--#var emailaddress--></td>
    <td><a href="mailto:<!--#var emailaddress-->">[SEND]</a></td>
    <td><center>$<!--#var salary-->;</center></td>
    <td>
      <!--#if expr="percent_raise > 25"-->
        <font color="FF0000">
        <!--#var percent_raise-->%
      </font>
      <!--#else-->
        <!--#var percent_raise-->%
      <!--#/if-->
    </td>
  </tr>

<--#/in-->
</table>

Take note of the <!--#in QUERY_NAME--> tag which allows you to loop through a section of document template once for each "record" or item in the sequence. Also note that the percent_raise value was highlighted in red (using the HTML <FONT> tag). This was done using the Document Template expr tag which allows us to evaluate arbitrary expressions. In this case, if percent_raise is less than 25 no highlighting is done. If, however, the percent_raise is greater than 25 the value highlighted.

These are only a few of the powerful capabilities in Aqueduct! If this looks interesting, read on!


+ High Performance
+ Multi-Platform
+ SQL and HTML in Harmony
+ Multi-Tiered
+ Multiple Data Sources
+ Publish Databases
+ Content Management
+ Application Development
+ Web to Objects