A la hora de programar cualquier aplicación en Zope, debemos tener claras algunas (o todas) de estas herramientas:
DTML. Es el lenguaje de scripting por excelencia de Zope. Consiste en embeber las sentencias DTML dentro del HTML para generar páginas dinámicas de manera sencilla (de una manera parecidad al PHP). A la hora de programar con DTML, conviene tener muy claros los conceptos de "espacio de nombres DTML" y "adquisición" (ver el ZopeBook).
ZPT. Es el lenguaje de scripting introducido recientemente en Zope, que nos permite crear paginas web dinamicas a traves de la programacion de plantillas con ZPT. El codigo generado con ZPT (un HTML especial) puede modificarse graficamente a traves de aplicaciones WYSIWYG como Dreamweaver, ya que utiliza una serie de tags XML especiales, que aunque no son interpretables por la herramienta de diseño utilizada, sí que las reconoce como tags válidos y no las modifica. Dreamweaver es un buen ejemplo de herramienta de diseÃo con la que podemos hacer uso de ZPT y WebDav (Distributed Authoring and Versioning). Gracias a ZPT podemos separar de manera totalmente independiente la programación lógica de la página web de lo que es el diseño.
ZSQLMethods y Database adapters. Gracias a estos mecanismos podremos acceder a bases de datos relacionales dentro de nuestro entorno Zope
Python scripts. Son objetos Zope que ejecutan operaciones de scripting, normalmente aquellas que no pueden realizarse directamente desde DTML (p.e. manejo de expresiones regulares). ANo todos los modulos de una distribucin python standard estan accesibles por defecto desde estos python scripts, por motivos de seguridad; aunque podemos activar cualquiera de ellos si los necesitaramos.
La API de Zope. Es la API de acceso a los objetos de la base de datos. Muy interesante si vamos a almacenar información dentro de la base de datos Zope, o si vamos a gestionar usuarios Zope.
Interacción con Emacs Si no nos gusta el intefaz web con el que manejamos el Zope, tenemos la posibilidad de modificar nuestros scripts desde nuestro editor favorito :) de una manera sencilla. Existe la posibilidad de editar nuestros objectos con cualquier otro editor de textos, siempre que tengan implementado el acceso por ftp o por webdav.