O que é o Zope Zope é um iservidor de aplicações web de código aberto, ele é escrito com a linguagem Python. Zope significa "Z Object Publishing Environment (Ambiente de Publicação de Objetos)”. Muitas tarefas de administração de um servidor Zope podem ser realizadas através de uma interface web. Os objetos que o Zope publica na Web são escritos em linguagem Python, e tipicamente armazenados num banco de dados orientado a objetos, o iiZODB, que é integrado ao sistema. Objetos básicos, tais como documentos, imagens e templates (modelos de páginas) podem ser criados ou modificados via web. Objetos especializados, tais como wikis, blogs, e galerias de fotos estão disponíveis como componentes adicionais chamados products (Produtos). Suas características são diversas, mas não caberia citar todas. O zope diferente de muitos sistemas é formado por objetos em um banco de dados em vez de arquivos, este tipo de abordagem permite alavancar as vantagens do paradigma de objetos, como encapsulamento. O Zope associa URLs a objetos utilizando a hierarquia de partes (composição), os métodos são considerados como partes dos objetos. O Zope fornece dois mecanismos para a criação de templates: Dynamic Template Markup Language (DTML: Linguagem Dinâmica de Marcação de Templates), e Zope Page Templates (ZPT: Templates de Páginas Zope). DTML é uma linguagem baseada em tags que permite implementar lógica simples em templates, através de laços, condicionais e inserção de variáveis, no entanto, o DTML apresenta alguns problemas comuns às linguagens deste tipo: os templates não podem ser verificados por validadores HTML, e a inclusão indiscriminada de lógica nos templates resulta em código pouco legível e difícil de manter. ZPT é uma uma tecnologia que ataca estes problemas. Templates ZPT são formadas por XML ou HTML válido, nas quais toda a codificação é feita através de atributos dentro dos tags já existentes nestas linguagens. Tais atributos utilizam um espaço de nomes especial, denominado tal: Template Attribute Language (Linguagem de Atributos para Templates), e assim são compatíveis com as especificações do iiiW3C e com as principais ferramentas de edição de HTML. O ZPT proporciona apenas um conjunto limitado de recursos, estimulando os programadores a implementar a lógica em scripts Python à parte, que são apenas invocados (e não incluídos) nos templates, também fornece suporte à internacionalização e localização de aplicativos web, propiciando a substituição de mensagens por versões previamente traduzidas em múltiplas línguas.
i
Servidor é um sistema de computação que fornece serviços a uma rede de computadores. Esses serviços podem ser de diversa natureza, por exemplo, arquivos e correio eletrônico, ou no caso servir páginas de internet. ii Zope Object Data Base (ou ZODB) é um banco de dados transacional orientado a objetos livre usado pelo servidor de aplicação Zope. iii O W3C desenvolve tecnologias denominadas padrões da web para a criação e a interpretação dos conteúdos para a Web. Sites desenvolvidos segundo esses padrões podem ser acessados e visualizados por qualquer pessoa ou tecnologia, independente de hardware ou software utilizados, como celulares (em Portugal, telemóvel), PDAs, eletrodomésticos, de maneira rápida e compatível com os novos padrões e tecnologias que possam surgir com a evolução da internet.