easy_install

•31/07/2010 • Deixe um comentário

traduzido por fernando jr

Um ferramenta de linha de comando que procura e instala pacotes automaticamente dentro de um ambiente Python. O script easy_install faz parte do pacote setuptools, na qual usa o Índice de Pacotes Python (Python Package Index – PyPI) como sua fonte de pacotes.

original: http://plone.org/documentation/manual/glossary/easy_install

Anúncios

Python egg

•31/07/2010 • Deixe um comentário

tradução  – fernando jr

Uma forma de empacotar e distribuir pacotes Python. Cada egg contem um arquivo setup.py com os metadados (como o nome do autor, o endereço de email, informação de licenciamento, etc), bem como informações sobre dependências, ferramentas de configurações (setuptools), a biblioteca Python que potencializa o mecanismo egg, e’ possível achar e baixar dependências automaticamente para os eggs que você instalou. E’ realmente possível que duas eggs use diferentes versões de uma mesma dependência simultaneamente. Eggs também dão suporte a uma característica chamada de entrada de pontos (entry points), um tipo genérico de plug-in. Mais detalhes estão disponíveis no site the PEAK.

original: http://plone.org/documentation/manual/glossary/python-egg

Zope instance

•31/07/2010 • Deixe um comentário

traduzido por Fernando Jr.

Um processo do sistema operacional que trata a interação do HTTP com o banco de dados do Zope (ZODB). Em outras palavras, o servidor web Zope. Alternativamente, o código Python e outros arquivos de configurações necessários para rodar tal processo.

Uma instalação Zope pode suportar instancias múltiplas. Use a formula (recipe) do buildout plone.recipe.zope2instance para criar novas instancias Zope. Muitas instancias Zope podem servir dados de um único Data.fs (arquivo de banco de dados do Zope) usando o servidor ZEO no back-end.

original: http://plone.org/documentation/manual/glossary/zope-instance

Software home

•30/07/2010 • Deixe um comentário

traduzido por Fernando Junior.

O diretório dentro da instalação Zope que contem todos os códigos feito em Python que faz o núcleo do Servidor de Aplicações Zope. Os vários pacotes Zope são distribuídos aqui. Também referido como a variável $SOFTWARE_HOME. Isto varia de um sistema para outro, dependendo de onde você, ou seu sistema de pacotes Zope, instalou. Você pode achar o valor dele na ZMI > Control Panel.

http://plone.org/documentation/manual/glossary/software-home

Templates e a linguagem de template

•28/07/2010 • 1 Comentário

Blocos de construção – índice

1. Templates e a Linguagem de template

Os principais elementos de uma skin são os templates de pagina (page templates), imagens, scripts Python, arquivos CSS, e arquivos JavaScript.

(Zope) Page Templates – ZPT

Os Page templates (arquivos .pt) compõe uma parte essencial de um tema Plone, e são provavelmente, a maneira mais fácil de se familiarizar com o Plone.

Eles são escritos em um elegante XML, baseado na linguagem de template chamada TAL, algumas vezes faz o uso de macros (METAL), e algumas vezes incorpora expressões Python (pequenos cálculos de uma linha) ou scripts Python.

Não demora muito para se aprender o TAL (Template Attribute Language). TAL é uma das linguagens que você realmente deve aprender. O resto você pode escolher o caminho que deve seguir ou então se familiarizar com elas ao longo do tempo.

Segue a seguinte sessão para você aprender mais sobre Zope Page Templates:

[Zope Page Templates – Indice]

1. ZPT – Introdução

2. Aplicação dos princípios


2.3. METAL? //falta implementar

E após ter terminado, vá para a sessão de uso avançado ZPT [Zope Page Templates – Uso avançado] [//falta implementar].

Configurando o Servidor de e-mails do Plone 3.3.x

•28/07/2010 • 1 Comentário

[versao pdf: Configurando o Servidor de e-mails do Plone 3.3.X]

[Nao sabe instalar o Plone? então acesse: Como instalar o Plone 3.3.x]

Neste tutorial será mostrado o passo-a-passo de como configurar o servidor de e-mails dentro do Plone, porem não tem como objetivo explicar o significado das siglas que serão usadas como SMTP1, ESMTP2.

Muitas características, como o formulário de contatos, notificação por email e reinicialização (reset) de senha (caso algum usuário tenha esquecido), presentes no Plone, necessitam que o Servidor de e-mails (mailHost) do mesmo esteja configurando corretamente.

Para funcionar é necessário que o Plone esteja com suporte ao SSL. A biblioteca SSL é fortemente recomendada, usada para configurar o servidor de email seguro (secureMailHost) e para dar suporte openid (um sistema de identificação); necessária também para atualizações do https.

I- Plone Instalando suporte ao SSL (libssl-dev – pyopenssl)

Primeira etapa.

Acesse o terminal (console/prompt de comando), da sua distribuição Debian-like, para fazer a instalação através do apt-get:

sudo apt-get install libssl-dev


Segunda etapa.

Faça a instalação do Plone Unified Installer (Plone U.I.) novamente ou a recompile algum já existente;

Terceira etapa.

Com o Plone instalado, você deve instalar o SSL (pyopenssl) no Python que o seu Plone está utilizando:

1. No terminal linux, acesse a pasta bin onde o Python-2.4, do seu Plone U.I. 3, foi instalado. Na instalação padrão a pasta Python-2.4/bin se encontra no diretório em que o próprio Plone U.I. foi instalado:

exemplo: cd /home/fernandojr/meus_programas/plone-ui-3.3.5/Python-2.4/bin


2. Agora iremos utilizar o gerenciador de pacotes Easy Install (easy_install) do Python-2.4 para instalar a biblioteca SSL. No seu prompt de comando Debian-like realize o seguinte:

sudo ./python2.4 easy_install pyopenssl


Pronto. O seu Plone agora já tem suporte ao SSL. A próxima etapa é fazer a configuração correta.

II- Configurando o Servidor de e-mails (mail host)

Dados necessários:

  • SMTP do servidor de e-mails que será utilizado.
  • Porta do servidor de e-mails que será utilizado.
  • Um e-mail válido dentro do servidor.
  • Um usuário cadastrado na instância Plone/Zope com privilégios de administrador.

Primeira etapa.

O primeiro passo é configurar no próprio plone, para isso, faça o log-in (Acessar) como administrador no seu site Plone, onde pretende configurar o e-mail, e clique em Configuração do Site (Site Setup), localizado no canto superior direito do site Plone.

Após esse procedimento clique em E-Mail , para começar a configurar o servidor de e-mails.

Segunda etapa.

A seguir iremos preencher os campos com os dados do servidor.

Servidor SMTP. Coloca-se o endereço do servidor de e-mails. Ex: Hotmail Servidor SMTP → smtp.live.com

Porta SMTP. Aqui coloca-se a porta do servidor, por padrão essa porta tem valor 25 já pré-definido (este é o valor mais usado) . Ex: Hotmail Porta SMTP (com conexão SSL) → 25

Usuário ESMTP. Ex: joaoxicojose123@hotmail.com

Senha ESMTP. Ex: 123456789

Nome do ‘Remetente’ do site. Fica a critério de cada aplicação o preenchimento desse campo. O resultado é que o nome no campo Remente será aquele para quem será enviado o e-mail, por padrão. O nome padrão no plone é Site Administrator.

Endereço de ‘Remetente’ do site. Aqui deve-se colocar um e-mail válido de algum usuário cadastrado na instância plone (Administradores de preferência). Ex: joaoxicojose123@hotmail.com

Finalizado todo o processo, seu servidor de e-mail do Plone está configurado e pronto para uso.

Aconselho que teste o procedimento, por exemplo, preenchendo o formulário de contato, disponível no canto superior direito do site Plone. Exemplo:

Caso ocorra algum erro, será necessário configurar o MAILHOST no ZOPE.

III – MailHost

ATENÇÃO: SOMENTE ALTERE AS CONFIGURAÇÕES DO ZOPE APÓS TESTAR SE SOMENTE COM OS PASSOS ANTERIORES O E-MAIL AINDA NÃO ESTIVEREM FUNCIONANDO)

Agora então iremos acessar Configuração do Site como feito anteriormente, depois Interface

de Gerência Zope e finalmente MAILHOST

Os campos são bem parecidos com os anteriores:

Title (Título) Coloque um título de sua preferência
SMTP Host(Servidor SMTP) Insira o mesmo servidor que você escolheu na II seção;
Port(Porta SMTP) Insira as mesmas informações anteriores da seção II.
SMTP Userid (Login do Usuário): Insira seu login do e-mail que escolheu usar. Obs (Sem utilizar …@hotmail.com depois do nome de login )
SMTP Password(Senha): Preencha sua senha de acesso do e-mail
Disable TLS(Desabilitar TLS) Esta parte é muito importante, o significado de TLS é Disable TLS(Desabilit Transport Layer Security – TLS (Protocolo de Camada de Sockets Segura), antes de marcar a caixinha na frente desta opção desabilitando a mesma, faça o teste com ele ainda ativo o TLS é uma chave de criptografia que serve para dar uma maior proteção as informações enviadas através dos e- mails.

“Se eu desativar o TLS meu site corre perigo?”.

Não, não é bem assim que funciona, ele serve como prevenção, não é necessariamente porque você irá desativá-lo que seu site ficará desprotegido. A função do TLS é criptografar as informações que serão enviadas no e-mail, assim se algum usuário mal intencionado com um conhecimento avançado em computação e protocolos de Internet tentar acessar essas informações não irá conseguir entender de maneira automática as informações contidas nesse e-mail. Nesse caso os e-mails serão utilizados SOMENTE para cadastro de usuários a desativação do TLS não irá trazer maiores riscos. Porém fique atento, segurança nunca é demais. Desative esta função somente se mesmo depois de todos os passos feitos anteriormente, ainda tiver problemas com os e-mails.

IV- Referencias

  • Plone.org

1.8. tal:repeat: Executando Looping

•27/07/2010 • 5 Comentários

Zope Page Template – índice

O tal:repeat permite fazer o looping através dos objetos e é uma das declarações mais complicadas. Uma declaração contém o valor para ser atribuído para cada iteração dos resultados, separada por um espaço dos resultados que estão sendo iterados.

Exemplo 1:

<table>

<tr tal:repeat=”loop_name_row context/portal_catalog”>

<td tal:content=”loop_name_row/Title”>Title</td>

</tr>

</table>


Neste exemplo, a expressão here/portal_catalog retorna a lista de resultados. O repeat começa na tag da tabela loop_name_row, para cada loop_name_row na lista de resultados, uma nova linha na tabela será criada. Assim como tal:define, cada iteração dos resultados são atribuídos para uma variável local (neste caso, loop_name_row).

Exemplo 2:

Você pode acessar algumas variáveis úteis da declaração repeat, tal como o número da iteração atual. Você pode acessa-las pela variável repeat, que é acrescentada ao namespace. Por exemplo, para acessar o número atual, você usa o seguinte:

<table>

<tr tal:repeat=”row context/portal_catalog”>

<td tal:content=”repeat/row/number”>1</td>

<td tal:content=”row/Title”>Title</td>

</tr>

</table>

Exemplo 3:

Agora vamos acrescentar à nossa página uma lista de objetos que se encontram no mesmo diretório. Vamos criar uma tabela cujas linhas serão numeradas em uma coluna, além das colunas para id, metatype e title.

Acrescente esta linha na sua pagina ZPT:

<table border=”1″ width=”100%”>

<tr>

<th>#</th><th>Id</th><th>Meta-Type</th><th>Title</th>

</tr>

<tr tal:repeat=”item container/objectValues”>

<td tal:content=”repeat/item/number”>#</td>

<td tal:content=”item/id”>Id</td>

<td tal:content=”item/meta_type”>Meta-Type</td>

<td tal:content=”item/title”>Title</td>

</tr>

</table>


O atributo tal:repeat aplicada sobre as linhas significa: repita esta linha para cada objeto do container. O atributo repeat atribui os objetos da lista, um à um, à variável item, e criada uma cópia da linha para cada objeto utilizando esta variável. O valor item/id em cada linha é o atributo id do objeto para a linha corrente.

O nome item da variável não é especial; poder-se-ia utilizar qualquer nome desde começasse por uma letra e que contenha apenas letras, números ou “_”. A variável existe apenas no tag no qual encontra-se o atributo tal:repeat, no caso acima o tag <tr>; Se deseja utiliza-la o fora do tag, obterá um erro.

Cada linha no exemplo é numerada, o que implica o conhecimento do número corrente. Poderia também querer identificar se uma linha específica é a primeira ou a última ou outras informações similares. Em cada cópia da linha, a variável item representa um objeto da lista. Este objeto não está consciente do laço, sabe nada a respeito do loop, por conseguinte não existe atributo específico do objeto que permita extrair informações sobre o laço. A variável interna repeat foi criada exatamente para isso. Se põe o nome da variável de conteúdo (item no caso), após a variável repeat, pode aceder à contagem do laço a partir de zero (index), partir de 1 (number), partir de “A” (Letter), e de diferentes outras maneiras.

Por conseguinte, a expressão repeat/item/number é igual à 1 na primeira linha, 2 na segunda, etc. Dado que se pode inserir a expressão tal:repeat no interior de outra expressão tal:repeat, vários laços podem estar ativos por vez. Por essa razão deve-se usar repeat/item/number ao invés de repeat/number, ou seja, simplesmente para obter informações do tal:repeat correto, aquele que criou a variável item.

Segue uma relação das variáveis disponíveis no repeat:

  • index: Número de iterações, a partir de zero.
  • number: Número de iterações, a partir de um.
  • even: É true (verdadeiro) para iteração de números pares (por exemplo, 0, 2, 4, …).
  • odd: é true para uma iteração de números ímpares (por exemplo, 1, 3, 5, …).
  • start: É true para a primeira iteração.
  • end: É true para a última iteração.
  • length: É o total do números de iterações.
  • letter: Número de iteração com escrita em minúscula (por exemplo, a–z, aa–az, ba–bz, …, za–zz, aaa–aaz, e assim por diante), a partir de um.
  • Letter: É a versão maiúscula de letter.
  • roman: Número numeral Romano em minúscula (i, ii, iii, iv, v, e assim por diante), a partir de um.