Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouMaria Clara Veiga Tuschinski Alterado mais de 8 anos atrás
1
Nivelamento de Equipes Zope/Plone 1.Apresentação 2.Arquitetura Zope/Plone 3.ArchgenXML 4.Archetypes 5.Python 6.Debuggin 7.Cache 8.Dúvidas, comentários, sugestões, etc
2
Apresentação ● Formado em Ciência da Computação ● Programador Sênior em PHP ● No SERPRO desde Outubro/2005 ● Experiência recente com Zope/Plone
3
Arquitetura Zope/Plone ● Python – Criada por Guido Von Rossum em 1992 – Software Livre – Criada para fins didáticos – 100% Orientada a objetos – Linguagem interpretada – Possui bytecodes – Largamente usada em desktops, em dispositivos móveis e aplicações gráficas
4
Arquitetura Zope/Plone ● Zope – Criado pela Digital Creations depois chamada de Zope Corporation – Feito para a Marinha dos EUA – Software Livre – Um servidor de aplicações feito em Python – Possui integrado um Servidor Web, FTP, WebDav e banco de dados – Banco de dados Orientado a Objetos(ZODB) – Trabalha com o conceito de Produtos
5
Arquitetura Zope/Plone ● Produtos – Feitos em python – Devem estar no diretório Products – Comportam parte lógica e apresentação – Podem ser auto instaláveis – Instalação feita pela ZMI(Zope Management Interface)
6
Arquitetura Zope/Plone ● Plone – Sofware livre – Criado por Alan Runyan, Alexander Limi e Vidar Andersen – Produto para o Zope – Composto de vários produtos – Um CMS (Content Management System) – Atualmente utilizado em vários sites
7
Arquitetura Zope/Plone ● Conceitos do Zope – ZMI, eficiente para gerência mas não para desenvolvimento – DTML – Zope Page Templates(ZPT) – Controller Page Templates (CPT) – Python Scripts – Tool – Demais tipos
8
Arquitetura Zope/Plone ● Conceitos do Plone – Vários tipos ● Notícia ● Página ● Evento ● Pasta ● Outros – Portlets – Membros – Workflow
9
Arquitetura Zope/Plone ● ZODB – Banco de dados Orientado a Objetos – Data.fs – Sem linguagem de consultas padrão – Indexa objetos que podem ser pesquisados por funções do Zope – Indexa metadados
10
Arquitetura Zope/Plone ● acl_users – Armazena usuários – Forma de gerenciamento de usuários até o Plone 2.1 – Usuários são objetos mas tem modo próprio de acesso – Extendido com o CMFMember – Plone PAS e GRUF – Membrane e remember
11
ArchgenXML ● ArchgenXML – Software Livre – Criada por Brasileiro e mantida pela comunidade – Feita em Python – Ferramenta Case para geração de código – Gera código à partir de modelo UML
12
ArchgenXML ● Ferramentas UML – ArgoUML – Poseidon for UML – Umbrello
13
ArchgenXML ● Diagramas UML usados pelo ArchegenXML – Diagrama de Classes ● Vários os recursos da UML e tagged values para especificidades – Diagrama de Estados
14
ArchgenXML ● Parâmetros – -o – --author – --email – -h ou --help
15
ArchgenXML ● Padrão de codificação – 4 espaços para identação (padrão mundial) – camelCase – Áreas de código reservadas – Encoding – Nomes de variáveis inteligiveis
16
ArchgenXML ● Bugs – schema.copy()
17
ArchgenXML - Exercício ● Crie uma classe com dois campos, um para inteiros e outro para string; ● ArchgenXML -o Produto --author=”seu nome” -- email=”email@dominio.com”email@dominio.com
18
Archetypes ● Archetypes – Modelo lógico – É a base de todo produto do Plone à partir do Plone 2.1
19
Archetypes ● Content Types – Cada Archetype é um tipo de conteúdo – É uma (ou mais) classe em python – Pode ser derivado, seguindo o paradigma de orientação a objetos – Tem atributos e métodos que reflete em campos e ações – Pode ter validadores – Se relacionam com outros tipos
20
Archetypes ● Estrutura do tipo – Importações – Field (campo) ● Widget (apresentação) – Métodos ● Ações ● Funções locais ● getters e setters = accessors e mutators – Validators ● Validadores básicos ● Pré e pós validators
21
Archetypes ● Tipos de relacionamento – Generalização – Dependência – Associação – Composição
22
Archetypes ● Esteriótipos – > – > ou > – > – > ou > – >
23
Archetypes ● Validators – Validadores padrão – Validadores customizados – Pré e pós validadores
24
Archetypes ● Actions – Ação a ser realizada – Método do tipo – Pode ter apresentação customizada – Permissões
25
Archetypes ● Fields (campos) – Já existe uma boa quantidade de campos pré- existentes – Pode ser construído com ArchgenXML – Uso do esteriótipo > – Pode ter métodos exclusivos – Permissões
26
Archetypes ● Widgets – Já existe uma boa quantidade de widgets pré- existentes – Pode ser construído com ArchgenXML – Uso do esteriótipo > – Pode ter métodos exclusivos – Pode ter apresentação personalizada
27
Archetypes ● Tools – Um tipo de Sigleton – O principal objetivo é servir aplicações com ferramentas – Uso do esteriótipo > – Normalmente possui métodos próprios – Pode ter configlets, que possibilitam a configuração via ZMI
28
Archetypes - Exercicio ● Crie um tipo que herde do tipo Página adicionando um novo campo ● Crie um tipo que contém outro ● Crie um tipo que tem um relacionamento com outro ● Crie um field e um widget com um textarea com largura fixa ● Crie uma Tool que tem um método que retorne usa soma. Esse método pede dois aprâmetros
29
Archetypes ● Workflows – São a forma de controlar o fluxo dos produtos e permissões para estados – Estados – Worklists – Transições – Permissões – Roles – Scripts – Trigger
30
Archetypes ● Skins – São a apresentação – Comportam: ● Page templates ● Scripts ● DTML Methods
31
Archetypes ● Internacionalização – Criando produtodos com i18n – Usando o i18dude – Gerando uma tradução
32
Archetypes ● CMFMember – Produto que transforma o membro em um Archetype – Peculiaridades ● regfield ● Pode gerar problema de performance com base de usuários muito grande ● plone_schema ● Não suporta Plone PAS (remember e membrane)
33
Python ● Python – Classes – Tipos – Encodig – List comprehesion – Integração com bibliotecas em C/C++ – Importação – Aquisição – repr
34
Debuggin ● Debuggin – Python Debugger – O comando pdb ● set_trace ● Iterações
35
ZEO ● ZEO – Zope Enterprise Objects – ZEO Clients – ZEO Server
36
Apache ● Visão geral – Servidor Web com maior quantidade de sites no mundo – Altamente escalável – Supoarta virtual hostings ● Situação no SERPRO – Uso conjunto com o Squid – Cada site um virtual host
37
Caching ● RAM Cache ● HTTP Cache
38
Dúvidas, comentários,sugestões, etc ● Dúvidas? ● Comentários e sugestões – rafael.ferreira-silva@serpro.gov.br rafael.ferreira-silva@serpro.gov.br – rafael@rafaelsilva.net rafael@rafaelsilva.net – http://rafaelsilva.net/documentos http://rafaelsilva.net/documentos
39
Links ● ArchgenXML http://plone.org/documentation/tutorial/archge nxml-getting-started/ ● Fields e Widgets http://plone.org/products/archetypes/documen tation/manual/quickref ● Tagged Values http://plone.org/documentation/tutorial/archge nxml-getting-started/tagged-value-overview
Apresentações semelhantes
© 2025 SlidePlayer.com.br Inc.
All rights reserved.