Material produzido pela Equipe STC do Programa Interlegis. Funda mentos do Zope



Documentos relacionados
Construindo portais com Plone. Módulo 3 Templates

Manual de Utilização do PLONE (Gerenciador de página pessoal)

MANUAL DO ANIMAIL Terti Software

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Procedimentos para Reinstalação do Sisloc

Scriptlets e Formulários

Desenvolvendo Websites com PHP

Acessando um Banco de Dados

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Manual do Painel Administrativo

Google Drive. Passos. Configurando o Google Drive

Manual Captura S_Line

Instalando o WordPress em localhost

Iniciação à Informática

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

NetEye Guia de Instalação

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7)

Introdução ao Tableau Server 7.0

02 - Usando o SiteMaster - Informações importantes

Restauração do Exchange Server.

Procedimentos para Instalação do Sisloc

Trecho retirando do Manual do esocial Versão 1.1

Lazarus pelo SVN Linux/Windows

Manual de Instalação

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

2 echo "PHP e outros.";

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Logo abaixo temos a Barra de Menus que é onde podemos acessar todos os recursos do PHP Editor.

2. INSTALAÇÃO E CONFIGURAÇÃO

Guia do Usuário. idocs Content Server v

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

Introdução a Banco de Dados

Manual do usuário. v1.0

Manual de Instalação. SafeSign Standard (Para MAC OS 10.7)

Manual de Administração DPS Printer 2.1 NDDigital S/A - Software

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

MANUAL DE UTILIZAÇÃO

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

GUIA BÁSICO DA SALA VIRTUAL

JDBC Java Database Connectivity

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta:

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Manual do Visualizador NF e KEY BEST

GUIA INTEGRA SERVICES E STATUS MONITOR

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

SSE 3.0 Guia Rápido Parametrizando o SISTEMA DE SECRETARIA Nesta Edição Configurando a Conexão com o Banco de Dados

CAPÍTULO 35 Como utilizar os componentes ColdFusion

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

MANUAL DO PVP SUMÁRIO

Orientação a Objetos

Introdução à Linguagem

Portal da Prefeitura de São Paulo SECOM. MANUAL DO WARAM v. 1.5 Secretarias

2. O AMBIENTE DE PROGRAMAÇÃO EM C

MySQL Query Browser. Professor Victor Sotero SGD

Lógica de Programação

Resumo da Matéria de Linguagem de Programação. Linguagem C

V 1.0 LINAEDUCA - GUIA DE USO

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

Manual Administrador - Mídia System

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Algoritmos e Programação Estruturada

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Guia Site Empresarial

Manual de Atualização Versão

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

Adapti - Technology Solutions Leonor cardoso nº 331 Fone : (041) Curitiba - PR MANUAL DO USUÁRIO

Manual de Instalação do Agente Citsmart

SISTEMA DE BANCO DE IMAGENS MANUAL DE USO

Instalação e utilização do Document Distributor

Instalando o Internet Information Services no Windows XP

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

SCPIWeb. SCPIWebDespRec Aplicação Web para Consulta de Despesas e Receitas ( Lei Complementar nº 131 de 27 Maio de 2009 )

Guia Sphinx: instalação, reposição e renovação

BH PARK Software de Estacionamento

AULA 06 CRIAÇÃO DE USUÁRIOS

Portal do Senac: Área Exclusiva para Alunos Manual de Navegação e Operação

Segurança de Acesso a Banco de Dados no MS SQL Server

Manual Integra S_Line

Manual do Plone (novo portal do IFCE)

Instalando o IIS 7 no Windows Server 2008

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

Atualizaça o do Maker

Instalando o IIS 7 no Windows Server 2008

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Banco de Dados Microsoft Access: Criar tabelas

Manual AGENDA DE BACKUP

PHP Material de aula prof. Toninho (8º Ano)

Manual do sistema SMARsa Web

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Criando um script simples

Transcrição:

Fundamentos do Zope Material produzido pela Equipe STC do Programa Interlegis 1

Índice geral Funda men to s do Zope...4 Web Applications...4 O que o Zope é?...5 Instalação...5 Resumo...7 Iniciando...8 Preparação...8 A tela de gerenciamento...9 Objetos...11 Gerenciamento de Objetos...20 Aquisição de Objetos...20 Resumo...20 As guias do Zope...21 A barra de guias do Zope...21 O botão Import /Export...27 O link Help...28 O painel de controle do Zope...29 Resumo...31 ZPT...32 Problemas com DTML...32 TAL Template Attribute Language...32 Python...38 Introdução ao Python...38 Delimitação de Blocos...38 Variáveis e Identificadores...38 Tipos de Dados Internos...39 Estrutura de Dados...40 Estruturas de Controle de Fluxo:...44 Funções:...47 Módulos e pacotes:...49 Classes:...50 Métodos:...50 Construtor:...51 Atributos:...51 Atributos e métodos privados:...51 Variáveis Estáticas:...52 Python e Zope...54 Python Script...54 Métodos Externos...55 O que é um Produto?...55 Criando um pacote...55 Criando um Produto...56 Subclasses de classes Zope...59 Zope e Banco de Dados...61 ZODB...61 RDBMS...61 2

Zope e o Gadfly...62 Métodos ZSQL...64 Resumo...66 A linguagem DTML...67 Fundamen tos...67 Namespace...67 A sintaxe do DTML...68 Tags e mais Tags...69 Resumo...76 File System Product...77 O que é um Produto?...77 Criando um pacote...77 Criando um Produto...78 Subclasses de classes Zope...80 3

1 Fundamentos do Zope Este capítulo introdu z o uso do Zope para desenvolvimento servidor de aplicações e gerenciador de conteúdo Web. Web, como Web Applications A World Wide Web (WWW) já não é mais uma coleção de páginas estáticas, ela se tornou um grande meio para o transporte de vários serviços. Nesses serviços incluem - se base de dados, mecanismos de busca, softwares, portais, etc. Alguns destes serviços são considerados Web Applications porque necessitam de apenas de um navegador para serem acessados e utilizados. A alta complexidade de algumas Web Applications tornou os recurso s oferecidos pela tradicional programação CGI (Commom Gateway Interface) insuficientes ou inadequa dos, assim fez- se necessário a criação de tecnologias alternativas como ColdFusion, JSP, ASP, PHP e outras para tornar a criação de Web Applications mais fácil e rápida. São várias as vantagens oferecidas pelo Zope aos desenvolvedores de Web Applications, dentre elas podemos destacar: O Zope possui um servidor web e um servidor de banco de dados orientado a objetos integrados. O Zope é orientado a objetos. O Zope pode se conectar a servidores de banco de dados relacionais tais como: Oracle, MySQL, MSSQL e PostgreSQL. O Zope permite o desenvolvimento de sistemas via Web utilizan do apenas o Navegador. O Zope possui código aberto e livre com licença de uso extrema men te flexível. O Zope possui total integração com a linguagem orientada a objetos Python o que lhe implementa alto poder de codificação. DTML, a primeira linguagem de templates do Zope, permite a codificação rápida e eficaz numa sintaxe de tags. A linguagem de templates, ZPT, segue a sintaxe XML e permite a criação de modelos de páginas para apresentação, além de possibilitar a edição de código Zope na maioria dos editores de HTML. 4

O que o Zope é? Um Servidor de Aplicações WEB Um servidor de aplicações Web funciona como uma ponte entre o navegador, os softwares de aplicações e o banco de dados. O Zope, como servidor de aplicações, funciona como essa ponte provendo a base para o desenvolvimento de aplicações Web, possibilitando ao desenvolvedor misturar HTML, XML, DTML, SQL, Python e outras tecnologias no desenvolvimento de aplicações. Instalação Requisitos Atualmente a instalação do Zope não necessita de grande quantidade de recursos, o arquivo de instalação para Windows possui, aproximada m en te, 10MB e para Linux, aproximada me nte, 3MB. Comparado com outros servidores de aplicação Web, o Zope requer poucos recursos sendo que um Pentiun II com 128MB de RAM é suficiente para utilização dos seus recursos. O Zope executa em sistemas Windows 98 e superiores e sistema s Linux e Solaris. Windows No Windows, a instalação é feita a partir de um executável que pode ser obtido em www.zope.org, a partir da execução do mesmo a instalação é iniciada: Figura 1.1 Tela de boas vindas da instalação do Zope. 5

Figura 1.2 Local de instalação do Zope. Figura 1.3 Escolha do tipo de instalação do Zope. 6

Figura 1.4 Nome da pasta no Menu Iniciar Figura 1.5 Rodar instância Zope como Serviço no Windows? 7

Figura 1.6 Local de Instalação da Instância Zope. Figura 1.7 Senha do usuário admin' da instância inicial. 8

Figura 1.8 Tela de aviso das opções de instalação. Figura 1.9 Progresso da instalação do Zope. 9

Figura 1.10 Tela de finalização de instalação. Após as boas - vindas da instalação selecione o diretório em que você deseja instalar o Zope e o tipo de instalação. Se estiver instalando o Zope em um sistema Windows NT ou Windows 2000 será apresentada a opção de iniciar o Zope como um serviço do Windows, caso deseje isto, marque esta opção. A tela seguinte solicita o local onde a instância Zope será instalada. A partir do Zope 2.7.x o servidor Zope(matriz) é instalado em um local e as instâncias são instaladas e criadas em outro local. Instâncias são, a grosso modo, instalações Zope executáveis que compartilha m recursos na instalação matriz. Será perguntado então, a senha do administrador inicial, usuário admin, lembre - se desta senha, pois será útil para que você possa trabalhar com a instância Zope. Se você estiver instalando o Zope sob o Windows 9x deverá iniciar o Zope manualmente executando o arquivo runzo pe.bat localizado no diretório de instalação do Zope, se escolheu a opção de serviço Windows, vá para a administração de serviços do Windows e inicie o serviço Zope. Após isso o Zope será iniciado e por padrão o Zope estará acessível através da URL http: / / l ocalhost:8080 ou http: / / 1 2 7. 0.0.1:8080 / que deverá ser digitada no seu navegador de preferência. Para utilizar o Zope, vá ao diretório de instalação ou no menu iniciar ache a pasta do Zope e execute o arquivo runzope.bat para iniciar a execução do servidor Zope. Para parar o serviço feche a janela de console aberta ao rodar runzo pe.bat ou pare o serviço no gerenciador de servições do windows. Linux A instalação do Zope no linux é um pouco mais complicada que a instalação para o windows, mas nada que assuste. Aliás o linux é a platafor ma aconselhável 10

para a instalação do Zope, pois oferece maior robustez e melhor perfor mance além de ser um software livre como é o caso do Zope. Em primeiro lugar é aconselhado você possuir o Python 2.3.3 ou superior instalado na máquina. 1. Acesse a máquina como um usuário ou crie um usuário específico para o Zope. Exemplo: zopeuser 2. Faça o download do python source (código fonte) em python.org e coloque na pasta de seu usuário, geralmente: /ho m e / n o m e us u ario 3. Faça o download do zope source (código fonte) em zope.org e coloque na pasta de seu usuário, geralmente: /ho m e / n o m e us u ario 4. Na pasta de seu usuário descom pacte o python e o zope: >>tar xzvf nomedofontepython.tar.gz >>tar xzvf nomedofontezope.tar.gz 5. Entre no diretório do python e digite: >>./configure -prefix=/ home / seuusuario / no mepastapython >>make >>make install Se tudo ocorrer bem, o python foi instalado na área do usuário na mesma pasta onde está o código fonte. Caso tenha ocorrido algum problema, lembre se que o python possui dependê ncias com os pacotes task - c- devel e task c++ - devel. 6. Entre no diretório do zope e digite: >>./configure prefix=/ home / seuus uario / no medapastazope --with- python= / home / seuusuario / no medapastapython / py t hon >>make >>make install Se tudo ocorrer bem, o zope foi instalado na área de usuário na mesma pasta em que foi descom pacta do utilizando o python do usuário escolhido. 7. Em seguida é necessário criar uma instância zope, a partir de uma instalação você pode ter n instâncias para execução. Lembrando que, cada instância deve rodar em portas diferentes. Para isso vã para o diretório do Zope e digite: >>bin/mkzopeinstance.py 8. Após esse comando, você deverá informar o diretório onde a instância será colocada e usuário e senha de adminstração do zope. Experimente: Directory: /home/seuusuario/instancia1 11

Username: admin Password: suasenha Verify password: suasenha 9. Agora você já possui uma instância zope instalada e deve iniciá- la, para isto vá para o diretório da instância e digite: >>bin/zopectl fg Espere a mensagem Zope Ready to handle requests 10. Após a execução o Servidor estará acessível através da URL: http: / / l o calhost:8080 ou http: / / 1 2 7.0.0.1:8080 / que deverá ser digitada no seu navegador de preferência. Resumo Neste capítulo você aprendeu como instalar o Zope e como o mesmo é podero so e útil no que se refere ao provimento de aplicações via Web. No próximo capítulo, você aprenderá os conceitos básicos para o desenvolvimento de aplicações no Zope. 12

2 Iniciando Neste capítulo, você será apresenta do à interface de gerenciamento de objetos do Zope e aos principais componentes necessários para iniciar o desenvolvimen to de aplicações. Você verá també m, os principais conceitos relacionados à programação orientada a objetos e aos mais importantes objetos do Zope, tais como: documentos e métodos DTML. Preparação Para iniciar o uso do Zope algumas configurações são necessárias após a instalação. 1. Inicie o servidor através do script runzope.bat (windows) ou runzope e zopectl (linux). 2. Abra o navegador de sua preferência. 3. Digite http: / / l ocalhost:8080 / e leia as informações que serão apresentadas (figura 2.1). Se desejar acessar diretame nte o sistema de administração digite http: / / l ocalhost:8080 / m a n age / (figura 2.2). 4. Entre o nome e senha apresenta dos na instalação do sistema. Figura 2.1 Tela de início do servidor Zope. 13

Figura 2.2 Tela de gerenciamento do Zope. Criando Contas de Usuários Após a visualização da tela de gerenciamento, crie uma conta para você, seguindo os passos: 1. Clique em acl_users (figura 2.3). 2. Em seguida, clique em Add. 3. Entre com o nome de usuário (userna me) e a senha (password e confirm). 4. Selecione Manager nas opções listadas em Roles. Figura 2.3 Folder acl_users A tela de gerenciamento Vamos dar uma olhada na tela de gerenciamento do Zope e ver como ela trabalha. Primeiramente, feche o seu navegador. Agora abra o seu navegador e entre no Zope com o usuário e senha criados anterior mente, a tela de gerenciamen to será apresentada (figura 2.4) e nela pode mos identificar três partes. 14

Figura 2.4 Tela de gerenciamento apresentada ao usuário do tipo Manager. A parte esquer da nos mostra a visão hierárquica das pastas (Folders) e outros objetos containers do Zope (figura 2.5). Figura 2.5 Visão hierárquica do Zope. A parte superior informa o usuário corrente e menu de opções de navegação (figura 2.6). Figura 2.6 Informações de usuário e menu de navegação. 15

A parte direita nos mostra a visão dos objetos de um dado container ou folder, menu de objetos para adição e nas guias superiores as várias páginas de gerenciamen to do objeto selecionado (figura 2.7). Figura 2.7 Guias, objetos e menu de objetos. Objetos Vamos ver agora, como é a abordagem de orientação a objetos do Zope. Mostraremo s como copiar, criar, remover e renomear objetos no Zope bem como efetuar outras tarefas básicas. Zope e a OOP A principal característica do Zope é o fato dele ser orientado a objetos. A orientação a objetos é um paradigma de programação baseado na idéia de que o mun do é constituído de objetos. Um objeto é algo real ou não que possui estado, habilidade de executar ações e capacidade de se comunicar com outros objetos. Em programação podemos representar qualquer objeto, real ou não, através de propriedad es (características ou atributos) e métodos (ações ou funções). Por exemplo, podemos representar um cd- player através de suas características como: marca, peso, cor, modelo e etc; e através de ações que ele executa: tocar, pausar, avançar e etc. Assim um cd- player pode ser representado através de um objeto com propriedade s e métodos. Contu do, se avançarmos um pouco mais, nós veremos que a maioria dos cdplayers possui atributos e métodos comuns, sendo assim, quando definimos a estrutu ra de atributos e métodos de um cd- player estamos definindo uma classe que agrupa todos os cd- players. Assim um objeto é cada instância de uma classe, 16

isto é, cada cd- player existente no mundo é um objeto da classe cd- players que definimos anteriorme nte. Quando estiver trabalhando com o Zope você estará, basicamente, trabalhan do com objetos, pois cada folder, método dtml, ou outro objeto criado no Zope será uma instância das classes folder, Dtml Method, e outras classes presentes no Zope. A seguir, veremos funcionalidades. os objetos funda me ntais do Zope e suas principais Folders Um folder (pasta) é um objeto que pode conter outros objetos. Para criar um folder vá para o folder onde o novo folder será criado e selecione Folder no menu Select type to add (presente no lado direito da tela de gerenciamento) e então forneça a informação necessária para a criação do folder (figura 2.8) Id: Nome pelo qual o Zope identifica o objeto, deve ser único em um dado folder. Title: Campo opcional que provê uma descrição detalhada do folder que ajuda na identificação do mesmo. Create public interface: Se selecionar esta opção um docume nto DTML chamado index_html será criado dentro do novo folder. Um PageTemplate com o nome index_html é o documento padrão visualizado pelo usuário quando o mesmo acessar um folder via navegador. Create user folder: Selecionando esta opção criará um user folder (folder de usuário) dentro do qual você pode definir que usuários terão permissão de acesso a esse folder e seus objetos. Figura 2.8 Tela de informações para adição de um Folder. Exemplo: Vamos criar um folder para conter imagens, siga os passos: 1. Vá para a raiz do Zope (indicado pelo símbolo /) e crie um folder com Id igual a Imagens, deixe as opções de Public interface e User folder vazias. Se desejar escreva algo no campo Title. 2. Clique em Add para confirmar (figura 2.9). 17

3. Clique no novo folder para abrí - lo e então você verá que o mes mo está vazio (figura 2.10). Figura 2.9 Informações do folder de imagens. Figura 2.10 Folder Imagens sem nenhu m conteúdo. Todos objetos contidos em um folder, tais como imagens e arquivos, são atribuído s ao folder que os contêm e se tornam atributos deste folder. Objetos que podem conter outros objetos, tais como os folders, são chamados de containeres, pois possue m a funcionalidade de conter outros objetos. Arquivos Antes que você possa trabalhar com imagens e arquivos no Zope, é necessário que você os crie. Para criar objeto imagens escolha Image no menu Select type to add, para todos os outros tipos de arquivos selecione o objeto File. Você deve preencher o formulário (figura 2.11) para cada objeto File ou Image que você deseja inserir. Id: Identificador interno do Zope. Title: Título opcional. File: Caminho completo até o arquivo. Use o botão selecionar o arquivo desejado. browse para 18

Figura 2.11 Formulário de informações para adição de uma imagem. Exemplo: Vamos inserir uma imagem ao folder Imagens: 1. Entre no folder Imagens criado anterior me nte. 2. Selecione Image no menu Select type to add.... 3. Forneça um Id e um Title para o objeto. 4. Especifique o caminho da imagem ou selecione utilizando browse e escolha um imagem a ser adicionada. o botão 5. Clique em Add (figura 2.12), para adicionar o objeto ao folder Imagens. Figura 2.12 Informações da imagem adicionada. 6. Após a inserção, clique sobre a imagem. Visualize suas propriedade s na guia Properties (figura 2.13). 19

Figura 2.13 Informações da guia Properties. 7. Visualize a sua aparência na guia View (figura 2.14). Figura 2.14 Informações da guia View. 20

Docu me ntos e Métodos DTML Até agora você aprendeu como inserir folders, imagens e arquivos em seu servidor Zope, agora daremos uma olhada em documentos e métodos DTML. Embora haja alguma semelhança, esses objetos se diferem na forma de uso e funcionalidade. DTML (Document Template Markup Language) é a linguagem do Zope que permite a criação de conteúdo dinâmico, assim como scripts ASP e JSP, a DTML possui um conjunto de tags que permite a criação de páginas dinâmicas na WEB. Você pode utilizar a DTML tanto em documentos DTML (DTML Documents) como em métodos DTML (DTML methods). Em geral, os documentos DTML são usados para armazenar texto, documen to s complexos e com grande conteúdo de informação; eles são como páginas web, mas com a possibilidade de geração dinâmica de conteúdo. Já os métodos DTML são usados para a execução de ações sobre dados e conteú do. Os métodos DTML, ao contrário dos documentos DTML, não possuem propriedad es próprias, isto é, eles assume m as proprieda de s do docume nto que os invocar ou utilizam, funciona m assim, como uma função que executa alguma ação. Os métodos DTML são os objetos mais indicados para a geração dinâmica de conteú do e para criação de componentes genéricos, pois possue m uma funcionalidade maior que os documentos DTML. Documentos DTML Para criar um documento DTML, vá ao folder no qual deseja inserir o novo docu men to (se possível utilize o folder Imagens criado anteriorme nte) e selecione DTML Document no menu de Select type to add, complete o formulário (figura 2.14) com as seguintes informações: Id: Identificador interno do Zope. Title: Título opcional. File: Insere conteúdo de um arquivo no documento DTML. Use o botão browse para selecionar o arquivo desejado. Add: Clique neste botão para criar o documento DTML. Se desejar criar e já iniciar a edição do documento clique no botão Add and Edit. 21

Figura 2.15 Formulário de informações para criação de um documento DTML. Para editar o documento clique sobre o mesmo e então surgirá a tela de edição com suas guias de opções. Na guia Edit é possível editar o conteúdo do documen to (figura 2.16) e fazer a carga de arquivos (upload) para o documento DTML. Experimente visualizar o conteúdo das outras guias para se familiarizar com informações que serão vistas futurame nte e colocar o conteúdo do documen to Doc1 de acordo o visto na figura 2.16. Figura 2.16 Tela de edição de um docume nto DTML (Doc1). 22

Métodos DTML Agora, vamos criar um método DTML que define a forma que as figuras contidas no folder Imagens (criado anteriorme nte) serão apresenta das. 1. Abra o folder onde você quer criar o método (se possível utilize o folder Imagens criado anteriormente) e selecione DTML Method no menu Select type to add e então preencha os campos apresentados (figura 2.17). Figura 2.17 informações para a criação de um método DTML. 2. Clique Add and Edit. 3. Substitua o código existente na caixa de texto pelo código apresenta do na figura abaixo (figura 2.18). 4. Clique em Save Changes. 5. Clique em View e visualize sua primeira página Web criada com o Zope. Ela deverá se parecer com a página mostrada na figura abaixo (figura 2.19). 23

Figura 2.18 Código fonte do método DTML 1. Figura 2.19 Exemplo de Visualização da página gerada pelo método DTML 1. 24

Gerenciamento de Objetos Vamos aprender como gerenciar os principais objetos vistos neste capítulo, nós veremos como copiar, mover e renomear folder, métodos DTML, documen to s DTML, etc. Você pode mudar deter minadas propriedades dos objetos inseridos no servidor Zope. O Id, por exemplo, só pode ser alterado no folder ou container que possui o objeto através do botão Rename. Já, a proprieda de Title pode ser alterada na própria guia Edit do objeto com o uso de sua caixa de texto. Através do botão Copy, Cut e Delete você pode copiar, recortar e remover objetos de um folder ou container e através do botão Paste colar objetos para um folder ou container. Aquisição de Objetos O Zope organiza o relacionamento de seus objetos através de um mecanis mo chamado aquisição. É através da aquisisção que o Zope consegue cria uma estrutu ra eficiente no tratamento de informação. A idéia da aquisição é a seguinte: quando você coloca um objeto em um folder ou sub - folders, você acaba criando uma hierarquia de objetos que o Zope usará para reconhecer um objeto chamado. Assim, objetos em um folder herdam todas as propriedade s do folder que os contém, criando um conjunto de atributos que o objeto pode acessar. A esse conjunto é dado o nome de names pace. Em um namespace de um objeto estão todos os atributos diretamente acessíveis a esse objeto. O Zope monta o names pace de um objeto através do mecanismo de aquisição. Por exemplo, ao criar um documento DTML em um folder, o Zope saberá que o namespace deste objeto é o conjunto de todos atributos do próprio objeto mais os atributos de todos os folders hierarquicame nte superiores. Assim, quando um objeto referencia um outro objeto o Zope procura o objeto referenciado no folder corrente do objeto e na hierarquia superior até que o encontre. Caso um objeto deseje referenciar um outro objeto ou um atributo que não está em seu namespace, ou melhor, em sua hierarquia de mesmo nível ou superior, ele deverá referenciá - lo explicitamente através da tag with que será vista no capítulo 5. Resumo Neste capítulo, as principais guias e botões do Zope se tornaram familiares a você. Conceitos fundamentais foram expostos e você está pronto para se aprofun d ar no uso do Zope e começar a desenvolver pequenas aplicações em Zope através de seus objetos e de sua linguagem, a DTML. 25

3 As guias do Zope Este capítulo mostrará como usar as guias do Zope para executar várias funções para diferentes tipos de objetos existentes. A barra de guias do Zope A barra de guias do Zope permite o acesso a várias interfaces que podem ser usadas para configurar objetos do Zope. As guias e funções disponíveis depende m de qual objeto está selecionado e de quais permissões o usuário corrente possui em relação ao objeto selecionado. Veremos agora, as funcionalida des das principais guias. A guia Contents Quando você seleciona um objeto do tipo folder ou outro objeto do tipo container na tela de gerenciamento, a guia Contents se abre e lhe mostra todos os objetos daquele folder juntamente com seus Id s e Titles (figura 3.1). Figura 3.1 A guia Contents 26

Essa guia permite a você criar, renomear, copiar, recortar, mover, excluir, importar e exportar objetos através de botões situados na parte inferior da tela, além de permitir a adição de objetos através de um menu de escolha Select type to add... e um botão Add, situados na parte superior da tela de gerenciamento. A guia Edit Quando um objeto é do tipo não container, ao ser clicado o Zope lhe mostrará a guia Edit que permitirá a edição do conteúdo dos objetos. Exemplos de objetos não containeres que podem ser editados são métodos e documentos DTML, já outros objetos como: Imagens ( Images ) ou Arquivos ( Files ), não podem ser editados sendo permitido apenas a mudança de Id s, Title s e atualização do objeto. Portanto, cada objeto possui diferentes funcionalidades na guia Edit depen de n d o de seu conteúdo e tipo. Clique sobre um documento ou método DTML e a guia Edit aparecerá (figura 3.2). Os botões Taller, Shorter, Wider e Narrower permite m a mudança de tamanh o da caixa de edição de texto, experimente - os e veja o que acontece. Caso você faça alguma alteração de conteúdo clique sobre o botão Save Changes para salvar o conteúdo alterado. Caso deseje visualizar as alterações feitas clique na guia View (descrita a seguir) e no botão Back de seu navegador para retornar à guia Edit. Figura 3.2 A guia Edit. A guia View 27

A guia View permite a visualização de objetos da forma como os mesmo s serão apresentados pelo navegador (figura 3.3), ela estará disponível somente para objetos que podem ser exibidos através do navegador, tais como: imagens, métodos e documentos DTML e etc. Figura 3.3 A guia View. A guia History Esta guia aparece somente para docume ntos e métodos DTML, scripts e Page Templates, ela possibilita a visualização de qualquer modificação feita no objeto armazenan d o assim a história do objeto (figura 3.4). Ela funciona como um controle de versão possibilitando a comparação entre dois objetos (botão Compare ) e ainda a recuperação de um documento antigo para a versão atual (botão Copy to presen t ). 28

Figura 3.4 A guia History. A guia Undo A guia Undo é utilizada para desfazer ações. Na guia Undo é possível visualizar todas as ações executadas como o objeto (figura 3.5). Caso este objeto seja um folder ou container serão apresentadas todas as ações executadas para todos os objetos contidos no folder ou container. Nela você poderá desfazer todas ações executadas pelo usuário corrente em uma ordem de execução que garanta integridade às ações. Figura 3.5 A guia Undo 29

A guia Find A guia Find (figura 3.6) possibilita uma variedade de pesquisas em objetos do Zope, ela é utilizada para encontrar objetos no Zope. Experimente buscar objetos selecionando várias opções de pesquisa para se familiarizar com esta guia. Figura 3.6 A guia Find A guia Properties Lembre - se de que tudo no Zope é objeto, assim como objetos possue m propriedad es esta guia permite a você criar, remover e alterar propriedade s para um objeto (Figura 3.7). Por exemplo, você possuir um documento DTML que armazene um texto e neste documento adicionar proprieda des que armazenarão características deste texto. Assim você pode adicionar proprieda des como linhas, auto, palavras chaves e outros ao documento DTML para que o mes mo possa armazenar informações sobre o texto que possui. 30

Figura 3.7 A guia Properties Cada propriedade adicionada possui um nome, um valor e um tipo. Tipos como boolean (lógico), date (data), float (real), int (inteiro), string (cadeia de caracteres) e long (inteiro longo) são auto descritivos, mas existem tipos que cabem uma descrição mais detalhada Lines é o tipo que produz uma lista de valores. Se desejar usá - lo deixe o campo Value vazio, pois a inclusão de valores será permitida após a inserção da proprieda de. Text assim como o tipo string, este tipo consiste em uma cadeia de caracteres. A diferença consiste no fato de que o tipo Text permite a criação de texto com múltiplas linhas. Tokens consiste de uma linha de valores separados por espaço. A funcionalidade do tipo Tokens é que ele permite um busca otimizada. Selection e Multiple Selection o tipo Selection cria uma lista PullDown de valores onde apenas uma pode ser selecionada (no tipo Multiple Selection é permitido a seleção de vários valores). No campo Value deve - se colocar o nome de uma proprieda de ou método que possui a lista de valores a serem apresenta dos. Não deixe de experimentar a criação de proprieda des para alguns objetos, pois é através do uso e da pesquisa que aprende m os. A guia Ownership A guia Ownership permite a configuração de um proprietário para o objeto. Quando você cria um objeto, o Zope automaticamente o coloca como proprietário daquele objeto e através desta guia será possível dar permis sões de propriedad e a usuários (veja capitulo 6 para maiores detalhes sobre permissões). 31

Figura 3.8 A guia Ownership O botão Import /Export O botão Import /Export permite a importação e exportação Todos os objetos criados no Zope são armazena dos em uma base encontra no arquivo data.fs no diretório var dentro do diretório Zope. Para trocar objetos entre servidores Zope é necessário conseq üen te importação dos objetos desejados em arquivos. de de de a objetos Zope. dados que se instalação do exportação e Para exportar um objeto, selecione - o e clique no botão Import /Export e então selecione se a exportação se dará no servidor ( Save to file on server ) ou na máquina local ( Download to local machine ) e se o formato se dará em XML (figura 3.9). Se você não sabe o que é XML não deixe de pesquisar, pois o XML (extensible Markup Language) tem se tornado o formato padrão para o intercâmbio de informação entre aplicações. Bem, voltando, após a seleção das opções acima clique no botão Export e então o arquivo será criado no servidor ou máquina local e no formato desejado. Caso você não tenha escolhido o formato XML um arquivo no formato.zexp será criado, este arquivo é extrema me n te menor do que o formato XML, porém ele é um formato interno do Zope que não possui a mesma flexibilidade do formato XML. 32

Figura 3.9 Importação e Exportação de um objeto. Para importar um objeto, você deve informar o caminho completo do arquivo em sua máquina local e escolher entre se tornar proprietário (Take owners hip of imported objects) ou manter as propriedades originais (Retain existing ownership information). O link Help Como cantavam os Beatles, Help, I need somebody. Em todos os softwares que utilizamos há momentos em que necessitamos de ajuda. O Zope possui uma ajuda poderosa, só que em inglês, mas vale à pena quando você estiver com dúvida sobre alguma funcionalidade clicar no link Help localizado no canto superior direito das telas do Zope. Esse link trará informações sobre o tópico corrente além de uma árvore de opções para seleção e pesquisa de assuntos (figura 3.10). Para aqueles em que o inglês não é problema acredito ser o Help uma ótima fonte de conhecimen to. 33

Figura 3.10 O Help do Zope. O painel de controle do Zope O Zope possuir um folder especial chamado Control Panel (Painel de Controle), este folder está localizado abaixo do folder Root e possui informações sobre o servidor Zope (figura 3.11). Figura 3.11 Tela inicial do Painel de Controle. 34

O botão Shutdown Este botão permite você parar o servidor Zope sendo que o acesso ao servidor estará disponível somente após nova inicialização. Seja cuidadoso ao usar este botão, pois se algum usuário estiver utilizando o Zope e possuir conteúdo não salvo, estas informações serão perdidas. O botão Restart Este botão estará visível para instalações executando como um serviço Win32 do Windows ou como um daemon no Unix ou Linux. Ele permite que o servidor seja desligado e imediatamente reiniciado. Como o anterior deve ser utilizado com cautela. Database Manage me nt Esta opção possibilitará a configuração da base de dados do Zope, através de guias (figura 3.12) é possível configurar parâmetros de cache e do banco de dados. A principal opção de gerenciamento da base de dados é a opção Pack que permite que você discarte a história de objetos mais velhos que o número de dias selecionados. Assim a base de dados se tornará menor e seu desem pe n ho será otimiza do. É aconselhável que utilize esta opção toda vez que observar que seu arquivo Data.fs esta grande demais e que existem muitos objetos na guia History e Undo. Figura 3.12 Guias do Database Management. Version Manage ment O Zope possui um controle de versão que permite que você execute tarefas que não estarão acessíveis a outros usuários do Zope enquanto você ainda não finalizou o trabalho. Assim ao final essas modificações serão disponibilizadas todas de uma única vez (veja Capítulo 5 para maiores detalhes). Product Managem ent A tela de gerenciamento de produtos possibilita a visualização de todos os produtos instalados no Zope (figura 3.13). O gerenciamento de produtos está fora do escopo desta obra, sendo que maiores informações podem ser obtidas em futuros lançamentos por esta editora ou pelo site www.zope.org. 35