Objetos Internos ZOPE Plone

  • Published on
    03-Jan-2016

  • View
    36

  • Download
    4

Transcript

Apresentao do PowerPoint

ZOPEObjetos e mtodos internos do Zope

Treinamento presencialIntroduoEste treinamento destinado aos desenvolvedores e administradores das solues desenvolvidas para o Portal de Internet e Intranet do STM .

Carga horria 40h/aulaObjetos e mtodos internos do Zope 2Captulo 01ZMIArquitetura inicial do ZOPErea de trabalhoUsuriosImportando e exportando objetosZOPE/PLONEServidor de Aplicaes WEBInterpreta ZOPE (ZPT) e DTMLGera sada HTMLEscrito em PythonZOPE

ZopeZope um ambiente para a construo e gerenciamento de aplicaes Web com foco no seu contedo. Ele interpreta os fragmentos de cdigos Zope e DTML em seus templates e gera uma sada HTML compreensvel para qualquer navegador Web. Ou seja, as pginas de um servidor Zope so geradas dinamicamente, no momento em que o servidor recebe o pedido do browser, mesclando esses dois componentes.Objetos e mtodos internos do Zope 5ZMI - a interface de gerenciamento via WebArquitetura inicial do Zope Acessando a ZMI Iniciando o Zope Entrando no Zope Controlando o Zope com a Interface de Gerenciamento Usando a rea de Trabalho Entendendo Usurios em Zope Criando Usurios

Adicionando um novo usurio Mudando Logins Administrando e Monitorando o ZopeImportando e Exportando Objetos ZOPEInstalao

Arquitetura

Arquitetura

Acessando a ZMIDependendo da sua plataforma, voc pode executar o Zope com diferentes comandos .

Unix:

$ bin/instance start

Entrando no ZopePara entrar no Zope voc precisa de um navegador. A interface do Zope escrita inteiramente em HTML, sendo assim o Zope funciona com qualquer navegador.

Acesse:

http://localhost:8080/manage

Controlando o Zope com a Interface de Gerenciamento

Controlando o Zope com a Interface de Gerenciamento

Usando a rea de TrabalhoFrame topoPrefernciasLogoutLinks RpidosFrame direitoContedos(main)Frame esquerdorvore de contedos, simplificadaUsuriosEmergency User

Manager

Others

Usurios em ZopeCriando usuriosUsurios

Entendendo Usurios em ZopeO Zope um sistema multiusurio

Administrando e Monitorando o ZopeControl Panel (Painel de Controle)

Importando e Exportando ObjetosVoc pode mover objetos de um sistema do Zope para outro usando export e import.

Neste captulo voc viu...IntroduoArquiteturaInstalao: buildoutAcessando a ZMIConhecendo o ZopeRevisoLaboratrio 01Execute o pack da base main.Selecione qualquer objeto e faa o export deste contedo.

LaboratrioCaptulo 02Gerenciando os contedos no ZOPEAdicionarEditarRenomearDesfazer

ZOPE/PLONETcnicas de criao e gerenciamento de contedosCriando ObjetosMovendo ObjetosRenomeando um ObjetoDesfazendo ErrosZOPECriando ObjetosTcnicas de criao e gerenciamento de contedos

Outras operaesCopiar

Renomear

Tcnicas de criao e gerenciamento de contedos

Desfazendo um erroUNDO

Neste captulo voc viu...Gerenciando os contedos no ZOPEAdicionarEditarRenomearDesfazerRevisoLaboratrio 02Criar uma estrutura hierrquica de pastas simulando uma loja de informtica:

loja-de-informticaDesktopImacsLinuxWindowsNotebooksMacbooksIntelAMDMemriasDDR2DDR3

LaboratrioCaptulo 03Autenticao e autorizao UsuriosPapisPermisses

ZOPE/PLONESegurana atravs de permisses e perfisIntroduoEntrando e saindo da ZMIAutenticao e AutorizaoGerenciando UsuriosGerenciando PapisGerenciando PermissesPolticas de seguranaSeguranaEntrando e saindo da ZMIA entrada feita via URL de gerenciamento

Para sair:Log off, ouFechar o navegador e limpar os cookiesAutenticao e AutorizaoAutenticar identificar quem est acessando o sistema

Autorizao verificar quais acessos o usurio previamente identificado temUsurio administrador

Definindo a localizao do UsurioExistem vrias User Folders

O usurio est sujeito ao contexto da sua Folder

Exemplo:Severino Silva em intranet/documentos/acl_usersNo loga emintranet/documentosContas Especiais do UsurioAnonymous UserEmergency UserInitial ManagerCriando Um usurio de Emergnciausage: adduser ./plone adduser JoaoSilva Pa$$w0rdCreated user: JoaoSilva

Autorizao e Gerenciamento de SeguranaAs polticas de segurana do Zope controla a autorizao

Definem quem pode fazer o queGerenciando PapisManager

Anonymous

Owner

AuthenticatedPermissesPermisses

Polticas de seguranaAba Security

Funo X Permisso

Padres de uso de SeguranaRegras de Manuseio de SeguranaDefina usurios no seu nvel mais alto de controle, mas no no mais alto de todos.

Agrupe objetos que deveriam ser gerenciados pelas mesmas pessoas juntas nos folders.

Mantenha isso simples.Polticas Global e LocalGlobal x Local

Delegando controle para Gerenciadores Locais

Diferentes nveis de Acesso com Funes

Controle de acesso a Locais com FunesExecutando Controle de Segurana

...

Ataque Cavalo de Troia

Gerenciamento do Owner

Papis do Contedo ExecutvelDTML Methods e DocumentsSQL MethodsScriptsPythonPerl

Funo de SolicitaoNeste captulo voc viu...Autenticao e autorizao UsuriosPapisPermissesRevisoLaboratrio 03Criar um novo papel, chamado estagiario com a permisso para somente acessar a ZMI - View management screens LaboratrioCaptulo 04Definies de:ZPTTALESTALMETAL

ZOPE/PLONEIntroduoZope Page Templates uma ferramenta de gerao HTML/XML. Este apndice uma referncia dos padres Zope Page Templates: Tag Attribute Language (TAL), TAL Expression Sintaxe (TALES) e Macro Expansion TAL (METAL).

Vantagens:Reaproveitamento de cdigo(tags ) HTML;Real separao entre contedo, lgica e apresentao; eFacilidade/agilidade no uso de templates. Desvantagens:Poder gerar mais cdigo HTML do que o necessrio;Poder existir lgica no template (no recomendado).

Zope Page TemplatesZPT - Zope Page Templates, a camada de apresentaoIntroduo

Expresses TALES

TAL

METALZOPETALESpath: (padro)python:string:

Definir classes CSS, Javascript e registros KSS;Inserir queries de catalogo dentro do template;Chamadas de scripts Python e ZSQLZope Page TemplatesTALtal:contenttal:replacetal:repeattal:attributestal:definetal:conditiontal:omit-tagZope Page TemplatesMETALmetal:define-macro;metal:define-slot;metal:use-macro; emetal:fill-slot.Zope Page TemplatesNeste captulo voc viu...Definies de:ZPTTALESTALMETALRevisoLaboratrio 04Com base no laboratrio 02, criar uma pgina contendo:Header: Um ttulo com o ttulo do contextorea de contedos: Listagem das subpastas, do primeiro nvel, por ordem alfabticaFooter: LaboratrioCaptulo 05Formulrios utilizando Controller Page Templates

ZOPE/PLONEValidao e processamento de formulriosOs formulrios no Zope utilizam as mesmas funcionalidades do Zope Page Tempates, com uma diferena, o desenvolvedor poder ter maior facilidade de controle, atribuindo validaes e aes aos formulrios

ZOPEValidao e processamento de formulriosController Page Template - .cptController Python Script - .cpyController Validator Python Script - .vpy

CPTNeste captulo voc viu...Formulrios utilizando Controller Page TemplatesRevisoLaboratrio 05Criar um formulrio com os campos:NomeTelefone E-mailValidar todos os campos, caso o valor no seja preenchido LaboratrioCaptulo 06Como se conectar e fazer buscas a um banco de dados relacionalZOPE/PLONEIntegrao com bancos de dados relacionaisEste captulo descreve como o Zope se conecta a banco de dados relacionais externos.

Conexes de Banco de DadosMtodos Z SQLIntegrao BD relacionalUsando Conexes com Banco de DadosOracleSybaseODBCPostgreMySQLInterbaseGadflyUsando Mtodos Z-SQL

Usando Mtodos Z-SQL

Pesquisas Dinmicas com SQLArgumentos TAG SQLVar

NameTypeOptionalNeste captulo voc viu...Como se conectar e fazer buscas a um banco de dados relacionalRevisoLaboratrio 06Criar uma tabela sala_de_noticias , com os campos: id, titulo, textoCriar uma nova conexo com o id conexao_noticiasAdicionar os dados solicitados para os campos da tabela sala_de_noticias

LaboratrioCaptulo 07Configurando CatlogosDefinindo ndicesUtilizando o portal_catalog

ZOPE/PLONEMecanismo de busca interno: catalogao e indexaoEste captulo mostra a voc como indexar e buscar objetos com o mecanismo de busca construdo no Zope, O [portal_catalog (Catlogo) e introduz conceitos de indexao discutindo diferentes modelos para indexao e busca Catalogao e indexaoConfigurando CatlogosDefinindo ndicesTextIndexFieldIndexKeywordIndexPathIndexDefinindo MetadadosZcatalog pode armazenar informaes sobre o objetoTabular database Meta Data TableBusca em CatlogosFormulrios

PythonBuscando e Indexando informaesndices de Texto

Vocabulrios

ndices de:CampoPalavra ChaveCaminhoNeste captulo voc viu...Configurando CatlogosDefinindo ndicesUtilizando o portal_catalog

RevisoLaboratrio 07Criar um novo ndice com o id getTexto, com referencia ao ndice getText. Criar um ZPT para listar o getTexto no contexto de uma notciaLaboratrioCaptulo 08Executando programas Tipagem dinmica Compilao e interpretao Ferramentas Sintaxe TiposZOPE/PLONEPython bsico: a camada lgicaPython uma linguagem de altssimo nvel orientada a objeto, de tipagem dinmica e forte, interpretada e interativa.PythonExecutando Programas$ python arquivo.pyTipagem DinmicaVarivel inferida pelo interpretador durante execuoDuck TypingCompilao e interpretaoBytecode

.pyc bytecode normal

.pyo bytecode otimizado

Podem ser empacotados junto com o interpretador em um executvelModo Interativopython (enter)

Python 2.6.4 (r264:75706, Nov 3 2009, 13:20:47)_[GCC 4.4.1] on linux2_Type "help", "copyright", "credits" or "license" for more information.

FerramentasGEDIT

KOMODO

EclipseFrameworksWeb: Django, TurboGears, Zope e web2py.Interface grfica: wxPython, PyGTK e PyQt.Processamento cientifico: NumPy e SciPy.Processamento de imagens: PIL.2D: Matplotlib e SVGFig.3D: Visual Python, PyOpenGL e Python Ogre.Mapeamento objeto-relacional: SQLAlchemy e SQLObject.Sintaxe\Comentrios# (qualquer comentrio ignorado pelo python)Exceto os Funcionais:Encoding (caracteres no suportados em ingls)InterpretadorBlocos:

http://www.python.org/dev/peps/pep-0008/Objetosprint objeto.atributo

objeto.metodo(argumentos)

objeto.metodo()SintaxesCondicionaisif...elif...elseRepetioforEstticoIteradoreswhileTipos Nmeros e texoLista, tupla e dicionrioVerdadeiro/falso

MutveisImutveisFunesBlocos de cdigo que podem receber parmetros pr-determinadosExceesQuando ocorre uma falha no programa (como uma diviso por zero, por exemplo) em tempo de execuo, uma exceo gerada. Se a exceo no for tratada, ela ser propagada atravs das chamadas de funo at o mdulo principal do programa, interrompendo a execuo.try... except... RaiseClassesOld styleNew style

Inicializar = __init__ ()

Herana simplesHerana mltiplaNeste captulo voc viu...Executando programas Tipagem dinmica Compilao e interpretao Ferramentas Sintaxe TiposRevisoLaboratrio 08Criar um python script para listar os arquivos do contexto, contendo link para download.LaboratrioCaptulo 09Aumentando a Performance com o Cacheamento

ZOPE/PLONECacheamento de componentes Aumentando a Performance com o Cacheamento

Uma cache um lugar temporrio para armazenar informaes que voc freqentemente acessa. A razo para usar uma cache a velocidade ZOPEAumentando a performance com o cacheamentoTempo de vida do cacheInformao pessoalAdicionando um gerenciador de cacheAcelerador de Gerenciado de cache HTTPRAMCacheando um documentoNeste captulo voc viu...Aumentando a Performance com o Cacheamento

RevisoCaptulo 10Conhecendo o DTMLSintaxeVariveisAtributosCondies

ZOPE/PLONEContedo dinmico com DTML Linguagem de script baseada em tags do Zope Para que o DHTML bom?Quando no usar DHTMLZOPESintaxe da Tag DTML

Hello World!

Atributos com DTML

Inserindo variveis com DTMLAdquirindo contedo dinamicamenteO Zope procura as variveis da DTML no repositrio do objeto corrente se ele no encontra a varivel primeiro no objeto corrente.

Welcome

Contedo dinmico

Contedo dinmico

Expresses Pythondtml-var expr="getHippo(with a large net)

CUIDADO:

diferente de:

Expresses PythonVARAtributos da Tag VarIf... Else... ElifObjectValuesINInterao com lista de arquivosVariveis especiais da Tag INNeste captulo voc viu...Conhecendo o DTMLSintaxeVariveisAtributosCondiesRevisoLaboratrio 09Criar uma pagina utilizando o DTML Document simulando a pagina de um blog, com:Headerrea de contedos:Post: ttulo, descrio e linkFooterLaboratrioCaptulo 11ConceitosCMF e ZOPEZOPE/PLONECMF - Content Management Framework Framework que oferece facilidades para desenvolver um sistema de gerenciamento de contedo personalizado ZOPECMF e o ZopeMembershipServices, incluindo personalizaoCatalogingServicesWorkflowServicesBasicContentServicesSiteDesignServicesIntegrationServicesCMF e o ZopeDiscussionServicesArchivingServicesSyndicationServicesRatingServicesTestingServicesNeste captulo voc viu...ConceitosCMF e o ZopeRevisoZOPE