Esqueletos de proyectos Zope/Plone

Introducción

Son una serie de colecciones de plantillas esqueletos que permiten iniciar rápidamente proyectos, existente diversos esqueletos orientados a tipos de desarrollos específicos, a continuación se muestran algunos esqueletos útiles:

  • Esqueletos de proyectos Plone:

    Nota

    Plone, Además de ser un sistema de gestión de contenidos, es como un Framework para desarrollo de aplicaciones, mas NO es de propósito general.

    • ZopeSkel, es una colección de esqueletos para crear automáticamente paquetes e instancias en Zope.
    • zopeskel.dexterity, es una plantilla Paster para la herramienta de desarrollo de tipos de contenidos Dexterity para Plone.
  • Esqueletos de proyectos Zope:

    Nota

    Zope, es un entorno de desarrollo para la creación de sitios web dinámicos y/o aplicaciones web escrito en el lenguaje de programación Python.

    • zopeproject, Herramientas y scripts para la creación de entornos de pruebas de desarrollo para aplicaciones Web que usen principalmente Zope.
  • Esqueletos de proyectos Grok:

    Nota

    Grok, es un Framework para desarrollo de aplicaciones en Zope 3.

    • grokcore.startup, Soporte a Paster para proyectos Grok.
    • grokproject, Script que instala un directorio de proyecto instalando Zope 3 con el framework grok, además creando un plantilla para una aplicación grok.

Instalación

Para realizar este paso debe tener creado previamente y activado un entorno virtual creado, ejecutando el siguiente comando:

(python) pip install 'ZopeSkel==2.21.2'

Nota

No olvidar que estos paquetes han sido instalados con el entorno virtual que previamente usted activo, eso quiere decir que los paquetes previamente instalados con Easy Install o PIP están instalados en el directorio ~/virtualenv/python/lib/python2.x/site-packages/ en ves del directorio de su versión de Python del sistema /usr/lib/python2.x/site-packages/.

Uso de ZopeSkel

Al finalizar la instalación podrá opcionalmente consultar cuales plantillas tiene disponible para usa, ejecutando el siguiente comando:

(python)$ paster create --list-templates
  Available templates:
    archetype:          A Plone project that uses Archetypes content types
    basic_buildout:     A basic buildout skeleton
    basic_namespace:    A basic Python project with a namespace package
    basic_package:      A basic setuptools-enabled package
    basic_zope:         A Zope project
    kss_plugin:         A project for a KSS plugin
    nested_namespace:   A basic Python project with a nested namespace (2 dots in name)
    paste_deploy:       A web application deployed through paste.deploy
    plone:              A project for Plone add-ons
    plone2.5_buildout:  A buildout for Plone 2.5 projects
    plone2.5_theme:     A theme for Plone 2.5
    plone2_theme:       A theme for Plone 2.1
    plone3_buildout:    A buildout for Plone 3 installation
    plone3_portlet:     A Plone 3 portlet
    plone3_theme:       A theme for Plone 3
    plone4_buildout:    A buildout for Plone 4 developer installation
    plone_app:          A project for Plone add-ons with a nested namespace (2 dots in name)
    plone_basic:        A project for Plone products
    plone_hosting:      Plone hosting: buildout with ZEO and Plone versions below 3.2
    plone_pas:          A project for a Plone PAS plugin
    recipe:             A recipe project for zc.buildout
    silva_buildout:     A buildout for Silva projects

Creando un proyecto Buildout de Plone 4

Usted debe usar el comando paster para crear el proyecto Buildout.

(python)$ paster create -t plone4_buildout cliente1-portal.buildout
  Selected and implied templates:
    ZopeSkel#plone4_buildout  A buildout for Plone 4 developer installation

  Variables:
    egg:      cliente1-portal.buildout
    package:  cliente1-portal.buildout
    project:  cliente1-portal.buildout

  **************************************************************************
  **   *** NOTE: This template is for developers.

  **  If you just want to install Plone, the preferred way to get a
  **  buildout-based setup for Plone is to use the standard installer
  **  for your operating system (the Windows installer, the Mac
  **  installer, or the Unified Installer for Linux/Unix/BSD). These
  **  give you a best-practice, widely-used setup with an isolated
  **  Python and a well-documented buildout.
  **************************************************************************

  Plone Version (Plone version # to install) ['4.1']:
  Creating template plone4_buildout
  Creating directory ./cliente1-portal.buildout
    Copying README.txt to ./cliente1-portal.buildout/README.txt
    Copying bootstrap.py to ./cliente1-portal.buildout/bootstrap.py
    Copying buildout.cfg_tmpl to ./cliente1-portal.buildout/buildout.cfg
    Recursing into src
      Creating ./cliente1-portal.buildout/src/
      Copying README.txt to ./cliente1-portal.buildout/src/README.txt
    Recursing into var
      Creating ./cliente1-portal.buildout/var/
      Copying README.txt to ./cliente1-portal.buildout/var/README.txt

  **************************************************************************
  **   Generation finished.

  **  Now run bootstrap and buildout:

  **  python bootstrap.by

  **  bin/buildout

  **  See ZopeSkel add-on page for more details:

  **  http://plone.org/products/zopeskel

  **************************************************************************

Usted puede verificar el paquete previamente creado y observará como este paquete básico ha habilitado el setuptools.

cliente1-portal.buildout
|-- README.txt
|-- bootstrap.py
|-- buildout.cfg
|-- src
|   `-- README.txt
`-- var
`-- README.txt

Para iniciar el proyecto Plone ejecute los siguientes comandos:

(python)$ cd cliente1-portal.buildout/
(python)$ python bootstrap.py

Observe la estructura de directorio creada ejecutando el siguiente comando:

cliente1-portal.buildout
|-- README.txt
|-- bin
|   `-- buildout
|-- bootstrap.py
|-- buildout.cfg
|-- develop-eggs
|-- eggs
|-- parts
|   `-- buildout
|-- src
|   `-- README.txt
`-- var
`-- README.txt

Iniciar la construcción de proyecto Plone:

(python)$ ./bin/buildout -vN

De esta forma se inicia la construcción de proyecto Plone 4.

Esqueletos y estilos de trabajo

Una de las características interesante de los esqueletos es que usted puede crear sus propias plantillas de proyecto que apliquen sus propias estilos de desarrollo y configuraciones en sus proyectos de desarrollo.

Esto es muy útil cuando requieres trabajar con un equipo de desarrolladores a los cuales debes definir pautas sobre estilos de desarrollos, de sintaxis de código y otras más, a continuación muestro una lista de diversos esqueletos hecho por diversas compañías:

Recomendaciones

Si desea trabajar con algún proyecto de desarrollo basado en esqueletos (plantillas paster) y Buildout simplemente seleccione cual esqueleto va a utilizar para su desarrollo y proceso a instalarlo con Easy Install o PIP (como se explico anteriormente) y siga sus respectivas instrucciones para lograr con éxito la tarea deseada.

Ver también

Artículos sobre:
los comentarios son proporcionados por Disqus

Editar este documento

El código fuente de este archivo esta hospedado en GitHub. Todos pueden actualizar y corregir errores en este documento con unos clic - sin necesidad de descargar.

  1. Vaya hacia el articulo Esqueletos de proyectos Zope/Plone en GitHub.
  2. Presione el botón Fork. Este creara su propia copia personal de la documentación.
  3. Edite los archivos usando el editor de texto de GitHub desde su navegador Web
  4. Rellene en la caja de texto Commit message al final de la pagina indicando por que usted realizo estos cambios. Presione el botón Propose file change próximo a ese cuando haya finalizado.
  5. Luego diríjase a la página Send a pull request (no será necesario rellenar ningún texto adicional). Sólo tiene que pulsar el botón Send pull request.
  6. Sus cambios serán consultados por un revisor dentro de la pestaña Pull requests del proyecto en Github.

Para mas información básica acerca de como actualizar este manual y referencia a sintaxis Sphinx, por favor consulte la guía Escribiendo y actualizando el manual.