Ambiente de trabalho

Preparação do ambiente

A Simples Consultoria trabalha primariamente com Plone, portanto as descrições a seguir se referem às ferramentas, e configurações, mínimas para uma estação de trabalho produtiva.

Ferramentas Básicas

Para o trabalho diário precisamos de um ambiente propício ao desenvolvimento de aplicações web. Seja você desenvolvedor ou designer, usando Windows, MacOS, BSD ou Linux as ferramentas abaixo DEVEM estar instaladas e configuradas:

  • Compilador C, C++ (ver descrição de qual a melhor solução para seu OS)
  • Mercurial
  • Subversion
  • Git
  • Editor de texto (ver descrição sobre recomendações para cada OS)
  • Navegadores web: Chrome, Firefox e específicos da plataforma (Internet Explorer, Safari, Konqueror)
  • No Firefox e no Chrome: Firebug

Sistema operacional

Windows

  • Garanta ter direitos de administrador sobre a máquina
  • Instale um editor de texto de sua preferência – Ex: Notepad ++, Aptana
  • Instale ferramentas de desenvolvimento para Windows
Ferramentas Básicas
  • Compilador C, C++: Mingw
  • Python: Python 2.4 baixado do python.org
Tornando a vida fácil

Para facilitar a vida de quem trabalha com Windows, disponibilizamos um pacote com os componentes básicos a partir desta url: https://simplesnet.com.br/pacotes/catalogo/windowsbuildoutgoodies/releases/1.0/buildout_windows.zip

MacOS

  • Editor de textos: vim, emacs, TextMate, Aptana
  • XCode: Necessário para compilar extensões C do Zope e de alguns pacotes Python. (http://developer.apple.com/TOOLS/Xcode/)
  • Suporte GNU: Rudix, Darwin Ports

Linux (Ubuntu / Debian)

  • Editor de textos: vim, emacs, Gedit, Aptana
Instalação de pacotes
apt-get install build-essential subversion python python-dev python-setuptools libjpeg62-dev libzzip-dev zlib1g-dev lynx

Python

Como regra geral é recomendada a instalação de interpretador Python independente do usado pelo sistema operacional.

A prática usada pela comunidade Plone é a compilação de interpretadores a partir de um buildout disponível no repositório Collective. Este buildout permite que vários interpretadores sejam criados e configurados conforme a necessidade do desenvolvedor.

O primeiro passo é baixar este buildout, na raiz da pasta do usuário, diretamente do svn.plone.org:

cd ~/
svn co https://svn.plone.org/svn/collective/buildout/python python

Para adequarmos o buildout as nossas necessidades editaremos o arquivo buildout.cfg existente na raiz da posta python e comentaremos as versões que não serão necessárias

[buildout]
extends =
    src/base.cfg
    src/readline.cfg
    src/libjpeg.cfg
    src/python24.cfg
#   src/python25.cfg
    src/python26.cfg
    src/links.cfg

Nota

Neste caso apenas a versão 2.5 não será utilizada.

Usando o Python instalado no sistema – última vez que o usaremos :-) – executamos o buildout para compilar os interpretadores.

python bootstrap.py
./bin/buildout

Após um longo tempo – ao menos no meu 8086 é um longo tempo – você deve ter alguns scripts disponíveis na pasta ~/python/bin/

  • buildout
  • virtualenv-2.4
  • virtualenv-2.5
  • virtualenv-2.6

Usaremos os scripts de virtualenv para a criação de ambientes Python apartados do intepretador do sistema.

Nota

O uso do virtualenv é extremamente recomendado para evitar problemas de conflitos de versão ou dependências entre pacotes Python usados por diferentes aplicações

A criação de novos ambientes Python é simples:

~/python/bin/virtual-env-2.4 --no-site-packages py24

Cria um novo ambiente com Python 2.4 na pasta py24.

Para usar Python 2.6, execute o comando:

~/python/bin/virtual-env-2.6 --no-site-packages py26

Que criará uma pasta py26 com o novo ambiente.

O Jeito Simples: sc.dev.core

Finalidade

O pacote sc.dev.core é um agregador de outros pacotes Python utilizados para o desenvolvimento de soluções Plone pela Simples Consultoria.

Componentes

  • sc.paster.package
  • sc.paster.buildout
  • sc.paster.policy
  • sc.paster.theme
  • setuptools-git
  • zest.releaser
  • collective.dist
  • Sphinx
  • rst2pdf
  • i18ndude

Preparando a instalação

Usualmente o primeiro passo para a instalação do sc.dev.core é a criação de um virtualenv próprio.

Um bom local seria uma pasta simples/dev também na raiz da pasta do usuário.

mkdir -p ~/simples/
~/python/bin/virtualenv-2.4 --no-site-packages dev

Nota

A opção –no-site-packages evita que usemos algum pacote existente no site-packages do python original do virtualenv

O passo seguinte é ativar este virtualenv.

source ~/simples/dev/bin/activate

Instalando o pacote

A instalação do sc.dev.core é feita com o easy_install do virtualenv que acabamos de ativar.

easy_install -U sc.dev.core

Nota

A opção -U garante que mesmo que já tenhamos este pacote instalado procuraremos por uma nova versão e a instalaremos.

O que ele instala

sc.paster.package
Implenenta modelo para criação de pacotes Python com 3 níveis (ex:sc.cliente.projeto).
sc.paster.buildout
Implementa modelo de buildout.
sc.paster.policy
Implementa modelo para criação de pacotes Python de políticas em portais Plone.
sc.paster.theme
Implementa modelo para criação de pacotes Python de temas para portais Plone.
setuptools-git
Pacote Python que facilita a integração entre setuptools e Git.
collective.dist
Suporte a múltiplos repositórios de pacotes para o setuptools.
zest.releaser
Scripts para automatização de releases de pacotes Python.
Sphinx
Ferramenta para a criação de documentação a partir de arquivos ReST.
rst2pdf
Geração de arquivos PDF a partir de arquivos ReST.
i18ndude
Ferramenta para automatização de tarefas relacionadas a internaciolização (i18n).

Contas, contas e contas

Além da sua conta da Simplesnet e da sua conta de e-mail, que são criadas quando da sua contratação, é necessário, para o dia a dia do seu trabalho, a criação de contas em alguns serviços externos.

BitBucket
Provedor de soluções Mercurial. Onde hospedamos nossos repositórios
Plone.org
Portal da comunidade Plone e local dos repositórios de código do produto.
PyPi
Repositório de pacotes Python. Local onde publicamos nossas contribuições à comunidade.

BitBucket

Nossos repositórios estão hospedados no BitBucket sob a conta simplesconsultoria e para acessá-los é necessária a criação de uma conta no serviço.

Crie sua conta em https://bitbucket.org/account/signup/ e requisite a alguém de nossa equipe de infra a permissão para acesso aos repositórios. Não esqueça de informar qual o seu username.

Plone.org

Crie uma conta no site Plone.org em http://plone.org/@@register. Esta conta permite acesso ao site, criação de conteúdo em algumas áreas do site e, o mais importante, a possibilidade de criar tickets e reportar problemas para os mantenedores do Plone.

Para ver os tickets abertos acesse https://dev.plone.org/plone/report. Este endereço requer usuário e senha ativos no Plone.org.

Para criar um novo ticket a url é https://dev.plone.org/plone/newticket. Preste muita atenção na caixa que lista o componente ao qual o ticket se refere pois esta seleção é essencial ao rápido endereçamento de sua requisição.

Aqui na Simples Consultoria nos sentimos na responsabilidade de não só apontar os problemas mas também resolvê-los. Para tanto precisamos de acesso aos respositórios de código do Plone, que estão divididos da seguinte maneira:

Plone (https://svn.plone.org/svn/plone)
Componentes principais do Plone.
Archetypes (https://svn.plone.org/svn/archetypes)
Componentes relacionados ao framework Archetypes.
Collective (https://svn.plone.org/svn/collective)
Componentes de terceiros. Local onde boa parte dos add-ons do Plone é mantido.

O acesso ao primeiro repositório é restrito ao preenchimento de um documento, o Contributors Agreement, e a um processo de aprovação.

Os dois repositórios seguintes Archetypes e Collective são de uso frequente por nossa equipe, portanto você possuir acesso de commit a eles. O acesso é concedido após a criação de um ticket e a sua categorização como commitaccess.

Informe neste ticket que você deseja acesso ao Collective e que você trabalha na Simples Consultoria e que ajudará na manutenção de produtos existentes neste repositório.

PyPi

O PyPi (Python Package Index) é o repositório central de pacotes da linguagem Python. Apesar de ser um esforço relativamente recente ele é o local onde as comunidades de produtos desenvolvidos com Python contribuem seus códigos.

A criação de uma conta no PyPi é relativamente simples. Acesse a url de cadastro em http://pypi.python.org/pypi?:action=register_form , preencha o formulário e confirme seu registro ao visitar o link enviado por email.

Após a criação de sua conta, converse com nossa equipe de infra-estrutura para que seu usuário ganhe permissão de acesso (e administração) dos pacotes disponibilizados pela Simples Consultoria.