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
+ High Performance
+ Multi-Platform
- SQL and HTML in Harmony

Here's a common problem... The people that are experienced and talented in the development of efficient SQL queries are often not the people that have the best eye for aesthetics and presentation. Similarly, an organization's best graphics specialists and HTML authors might not be qualified to write efficient SQL. What to do?!

The combination of Zope and Aqueduct allows website managers to segregate the responsibility for the SQL queries from the responsibility for developing a visually attractive and appealing interface. Consider the following SQL query (note the template variable substitution is highlighted in red:

SELECT
parts.part_id, description, price,
order_number, quantity, shipped,
customers.name, customers.address
FROM parts, orders, customers
WHERE
parts.part_id = orders.part_id
AND
orders.customer_id = customers.customer_id
AND orders.order_number = <!--#VAR order_number-->
ORDER BY order_number

This query is certainly not the most complex or complicated query that's ever been devised. However, it does involve joining two relational tables and sorting/ordering the output. So, while not terribly complex, it might very well be beyond the expertise of an HTML developer or graphics artist. No problem! Just get your local SQL guru to create a Zope SQL Method that implements this SQL query. Let's call it qryListOrderInformation.

With the qryListOrderInformation object created our HTML developers and graphics artists can do what they do best... make the site look visually appealing. Our graphic designer can now access the data returned from the query using the Document Template Markup Language (DTML) as follows:


<table>
  <tr>
    <th>Order<br>Number</th>
    <th>Quantity</th>
    <th>Shipped</th>
  </tr>

  <!--#in qryListOrderInformation-->
    <tr>
      <td><!--#var order_number--></td>
      <td><!--#var quantity--></td>
      <td><!--#var shipped--></td>
    </tr>
  <!--#/in-->
</table>

When the query was run, it would return data which would, in turn, be merged with the template to produce the folllwing HTML:

<table>
  <tr>
    <th>Order<br>Number</th>
    <th>Quantity</th>
    <th>Shipped</th>
  </tr>

    <tr>
      <td>2</td>
      <td>4</td>
      <td>3</td>
    </tr>

    <tr>
      <td>3</td>
      <td>6</td>
      <td>0</td>
    </tr>

</table>

Which when rendered in a browser would appear as follows:

Order
Number
Quantity Shipped
2 4 3
3 6 0


+ Multi-Tiered
+ Multiple Data Sources
+ Publish Databases
+ Content Management
+ Application Development
+ Web to Objects