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,

Apresentações semelhantes


Apresentação em tema: "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,"— Transcrição da apresentação:

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


Carregar ppt "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,"

Apresentações semelhantes


Anúncios Google