Z Object Publishing Environment

Zope es un proyecto comunitario activista de un entorno de desarrollo para la creación de sitios web dinámicos y/o aplicaciones web usando un servidor de aplicaciones web orientado al objeto, escrito en el lenguaje de programación Python (con algunos componentes fueron escritos en lenguaje C para optimizar su rendimiento) de código abierto publicado bajo la licencia Zope Public License.

Logotipo de Zope

Logotipo de Zope.

Aunque el nombre Zope viene del acrónimo inglés “Z Object Publishing Environment – Zope”, su origen se debe a un tipo de pez Cyprinus ballerus es conocido como zope o blue bream [1].

Históricamente ha sido reconocido como una aplicación determinante que ayudó a colocar Python en el centro de atención de los programadores a nivel mundial [2] [3].

Muchas cosas que son actualmente parte del núcleo de Python originalmente fueron innovaciones en su momento dadas por el desarrollo de Zope a la comunidad de programadores Python, un ejemplo de esto es la librería datetime que proviene del DateTime de Zope 2.

Historia

En el año de 1995, Digital Creations fue establecida en Fredericksburg (Virginia), fundada como una empresa conjunta de la fusión de varios periódicos. Los primeros empleados fueron Paul Everitt y Rob Page, bastante pronto se sumaría empleado como Jim Fulton.

En 1996, Jim Fulton, ahora el CTO de Zope Corporation, fue seleccionado ​​para dar una clase de programación sobre Common Gateway Interface (CGI), a pesar de no saber mucho sobre el tema. La programación en CGI fue el modelo web de desarrollo de uso común del momento, el cual a los programadores les permitía construir sitios web dinámicos. Entonces el viajar a la clase, Jim estudió toda la documentación existente en CGI. En el camino de vuelta, Jim considerado lo que no me gustó de entornos de programación tradicionales basados ​​en CGI. A partir de estas reflexiones iniciales, el núcleo de Zope fue escrito durante el vuelo de regreso de la clase de programación en CGI [4].

En mayo de 1997, se convierte en el consorcio de periódicos del Digital Creations, para ese momento, ya algunas empresas e usuarios estaban usando el producto gratuito Bobo, uno de esos usuarios fue Hadar Pedhazur, el cual tenía el deseo de invertir en el consorcio. Las negociaciones, sin embargo, no tuvieron éxito, porque las diferencias de visiones del futuro que Hadar vio para Digital Creaciones como una empresa de servicios, en cambio Paul y Rob le interesaban que sus productos de software Bobo, un ORB ligero para la web; Document Template, un lenguaje de scripting, BoboPOS, una base de datos orientada a objetos estuvieran dentro del aplicación comercial Principia, un servidor de aplicaciones Web, bajo un modelo de venta como soluciones propietarias.

Un año después, Hadar volvió a Digital Creations, tras el éxito alcanzado (aunque no fue tanto como se esperaba), fue entonces en noviembre de 1998 que llegaron al acordó de publicar el código fuente de sus productos emblemáticos Bobo y Principia, esta decisión fue influenciada por Hadar, principal inversionista en la compañía [5]. La combinación de Bobo y Principia fue rebautizado entonces como Zope. Esta decisión resultó de una empresa de servicios de Digital Creations (hoy en día Zope Corporation), y además proporciona en ese entonces mucha más visibilidad e interés en torno a Zope del que jamas Principia tuvo antes.

En julio de 1999 Zope 1.10.3 fue publicado [6] como primer revisión estable del proyecto y unos meses después en septiembre de 1999 fue publicado [7] Zope 2.0.0 como versión estable. En noviembre de 2004 fue publicado Zope 3, es casi completamente reescrito y contiene sólo la base de datos orientada a objeto ZODB y el motor de plantillas ZPT.

Características

Siendo Zope un servidor de aplicaciones web ofrece una mezcla única de características, algunas son similares y otras muy diferentes de las que ofrecen otros soluciones existentes:

  • Cumple con los estándares XHTML y CSS.
  • Soporte a plantillas con HTML5 y CCS3.
  • Operaciones sobre registros como Cortar / Copiar / Pegar.
  • Motor de workflow integrado.
  • Configuración del Flujo de trabajo de forma localizada.
  • Soporta comportamiento tipo Wiki.
  • Mecanismos de colaboración en la construcción colectiva de contenidos.
  • Compartir documentos de otros usuarios y otorgar permisos específicos.
  • Gestión del histórico de reversiones de documento, con posibilidad de comparar versiones y la anulación de cambios realizados.
  • Soporte para múltiples formatos de marcado.
  • Altos niveles de seguridad.
  • Motor de búsqueda integrado, indexación en tiempo real (todo el contenido están indexados).
  • Gestión de contenido multilingüe.
  • Localización de la interfaz en modo nativo.
  • Reducción de tamaño de los recursos multimedia.
  • Modulable a través de Productos adicionales, evolutivo y fácilmente personalizable.
  • Arquitectura abierta y escalable.
  • Autenticación del back-end a través de PAS / LDAP / SSO / Auth_tkt.
  • Administración de encabezados HTML para Caching.
  • Integración con proxy Caché.
  • Paquetes de instalación para múltiples plataformas.
  • Soporta WebDAV [8] y FTP [9].
  • Brinda soporte de copia de seguridad.

A continuación se presenta las frecuentes ventajas y desventajas de los servidores de aplicaciones web alternativos a Zope:

Otros servidor de aplicaciones Zope
No tienen un interfaz administrativa sencilla y por lo tanto algo son complicados de manejar.
Posee un interfaz administrativa de
usuario muy sencillo.
Muchas veces requieren una configuración muy compleja. Es fácil de instalar y no requiere configuraciones ser utilizarlo.
Requieren de productos adicionales para el desarrollo y además son propietarios. Trabaja con cualquier Navegador estándar y no requiere herramientas adicionales.
Algunas aplicaciones no escalan de la misma manera que Zope le permite a un amplio número de usuarios y programadores. Dispone de un sistema de gestión poderoso y consistente que permite su escalabilidad a múltiples usuarios con una única y fácil gestión de privilegios.
La mayoría son herramientas comerciales con código cerrado que le impide la extensión, personalización y distribución. Es un software libre.

Beneficios de Zope

Existente una serie de beneficios al adaptar Zope en su organización a continuación se describen:

Modulable

La funcionalidad de Zope puede ser extendida gracias a un gran número de extensiones disponibles libremente, estos son comúnmente llamados Productos (del Inglés: Products) y para ser adaptados a las necesidades, ejemplo de esto son sistema de Wiki como Zwiki, sistema de publicación de noticias y discusiones como Squishdot, álbum de fotografías como PhotosCommandes, Calendarios corporativos con CorpCalendar entre otros productos que son desarrollados y mantenidos por la comunidad de usuarios en la sección de productos de Zope.org, lista de productos en Open Source Content Management Software.

Estas extensiones están colocadas cada una en su propio directorio en el sistema de archivos y se puede remover completamente mediante la eliminación del directorio y reiniciar nuevo el servicio de Zope. Tendrán toda la extensión de la programación en lenguaje Python que este disponible, incluyendo la integración de bibliotecas escritas en Python o lenguaje C.

Portabilidad

Zope es casi enteramente en escrito Python. Sólo algunas partes del sistema están escrito en lenguaje C por críticos de velocidad. Todo el sistema puede así, en principio, estar disponible en todas las plataformas con un intérprete Python y un compilador C para ejecutarse. Para GNU/Linux, Windows, BSD, Mac OS X y Solaris hay disponibles paquetes previamente compilados que incluyen Zope y Python.

Adquisición

Se trata de uno de los mecanismos más potentes de Zope. Gracias a él, los objetos pueden obtener atributos, métodos y otros objetos del entorno que están en un “sub-árbol heredados completamente”. Es similar a la herencia, solo que en vez de buscar en la jerarquía de objetos utiliza contenedores jerárquicos. De esta manera, si una variable no se encuentra en el contenedor actual se busca en los contenedores superiores, hasta dar con su valor. De esta forma se pueden centralizar valores que son luego adquiridos por toda una jerarquía de objetos. Este mecanismo es la base principal para decir de tener sitios dinámicos hechos con Zope.

Seguridad

Zope tiene un framework de seguridad que le permite a los llamados roles que construyen una definición detallada sobre “quien, donde y que” puede hacerse. Para cada objeto se puede determinar cuál es el rol que se necesita para el tipo de acceso, estos roles pueden usuarios individuales a los cuales también pueden asignarse localmente, por ejemplo, para conceder acceso únicamente a una determinada sub-árbol.

Además, el trabajo de los internautas no les gusta interactuar con lenguajes scripting clásicos como PHP, Perl, etc, en el sistema de archivos del servidor y menos en un entorno virtual separado. Para romper con esta practica de como hacer sitios dinámicos Web solamente posible cuando el programador desee adoptar nuevos patrones de trabajo. La tecnología Zope impide el acceso a otra información almacenada en el servidor y por consiguiente alterar los patrones comunes de ataque informáticos.

Escalabilidad

Zope tiene la capacidad multihilo. La distribución de la carga de una instancia de Zope para múltiples procesadores, sino para prevenir por un global de bloqueo del intérprete Python. Con la ayuda de Zope Enterprise Objects - ZEO, es posible que varios servidores pueden acceder a la misma base de datos. Tales sistemas distribuidos son capaces de hacer uso de múltiples procesadores.

Alta disponibilidad

Zope puede configurarse para escenarios donde se requieren funcionamiento de alta disponibilidad a través de configuraciones con Servidores Web como Apache, Nginx, Zope; con Proxies / Balanceador de Carga como HAProxy, Pound, Squid, entre otros; con servidor de Cacheo Web Externo como Varnish, Squid, Apache y Memcache; replicación de Base de Datos con la librería Relstorage o Neopod.

Comunidad Zope

La comunidad está compuesta por los usuarios y los programadores. Muchos de los miembros de la comunidad son profesionales tales como consultores, programadores y webmasters, que dedican su tiempo y dinero al soporte de Zope. Otros muchos son estudiantes y usuarios curiosos, que aprenden cómo usar esta herramienta.

Los encuentros presenciales formales e informales se dan de vez en cuando en conferencias Python o conferencias Plone pero pasa la mayor parte del tiempo discutiendo sobre Zope en las listas de correo electrónico, por ejemplo la lista de Zope en Español, y los sitios Web de zope.org. Muchos actores que cumplen muchas funciones que a continuación describimos:

Desarrolladores

Para Enero de 2013, cuenta con 230 programadores de núcleo de Zope al rededor del mundo [10].

Soporte

Para soporte oficial en Zope puede contactar a la Zope Corporation, a los proveedores de BlueBream [11] o por lo generar los proveedores de servicios de Plone ofrecen también soporte comercial en las tecnologías Zope, adicionalmente ofrece otros medios de asistencia técnica por medio de los recursos comunitarios, que ofrece soporte vía chat IRC, soporte comunitario por medio de grupos activistas en tu región.

Fundación Zope

Es una organización que promueve el desarrollo de la plataforma Zope mediante el apoyo a la comunidad que desarrolla y mantiene los componentes de software que componen la plataforma de software.

Sus objetivos son:

  • Ser la propietaria de los códigos fuentes, derechos de autor, marcas registradas y dominios en la Internet de Zope [12].
  • Actuar como la representación legal de la comunidad Zope, sus usuarios, los programadores y proveedores de soluciones.
  • Gestiona los sitios web zope.org, la cual es una infraestructura de colaboración de código abierto.
  • Supervisar una diversa comunidad de código abierto colaboradores que trabajan en una variedad de proyectos relacionados.

La fundación Zope promueve a la comunidad que incluye tanto el software de código abierto, la documentación y la infraestructura Web de los contribuyentes, así como los clientes de negocios y de la organización de la plataforma de software.

Miembros nombrados

Para Enero de 2013, cuenta con 49 miembros designados (una afiliación individual y libre) de la Fundación, [13] los miembros si quieres formar parte de la fundación Zope puedes llenar su solicitud cumpliendo con los requerimientos necesarios.

Miembros patrocinadores

Los miembros que deseen patrocinar económicamente a la Fundación pueden pagar membresías desde sólo $399 por año. Para Enero de 2013, la fundación Zope posee miembros patrocinadores que proporcionan apoyo monetario a la Fundación [14].

Zope Corporation

Es una empresa que ofrece una serien de productos y servicios basados en el servidor de aplicaciones Zope. La Zope Corporation es miembro patrocinador de la fundación Zope. Debido a que Zope fue una de la primeras herramientas de este tipo que se convirtió en software libre [15] la Zope Corporation desarrolló un modelo único de negocios de código abierto con el cual le permite seguir contribuyendo al continuo control de software a sus clientes y además le permite continuamente seguir apoyando el desarrollado global y vibrante en la comunidad Zope alrededor del sitio zope.org en el cual se enriquece el software, aportando complementos necesarios, suministrando correcciones a errores, respondiendo preguntas.

Productos / Addons / Módulos

La comunidad soporta y distribuye sus módulos a través de los sitios web de los proveedores de servicios pero la mayoría están en el PyPI. Los cantidad de paquetes publicados hasta la fecha de Enero de 2013 en vía PyPI para Zope 2 son de 876 paquetes, [16] para Zope 3 son de 930 paquetes, [17] para ZODB son de 48 paquetes, [18] para Pyramid son de 84 paquetes [19] y para Buildout son de 428 paquetes, [20] entre otros mas.

Infraestructura de servicios Zope

Este proporciona infraestructura y servicios que agilizan enormemente el desarrollo, que consiste en varios componentes diferentes que trabajan de manera conjunta para ayudarte a construir aplicaciones Web que se describen a continuación: (Ver Figura 1.2)

Infraestructura de servicios Zope

Infraestructura de servicios Zope.

Servidor de aplicaciones Web orientado a objeto

Es un servicio de publicación de objeto, que se encarga de servir los contenidos tanto a usted como a sus usuarios, y fue el primer sistema utilizando la metodología objeto de publicación ahora común para la Web. Puede que dispongas ya en su sistema de otro servidor web, como Apache o Microsoft IIS y no le interesa usar el servicio de Zope, no se preocupe, Zope trabaja también con estos servidores web modernos que soportan a CGI, HTTP/WebDAV, XML-RPC, FTP y WSGI.

Interfaz administrativa Web

Posee una Interfaz basado en Web, llamada “Zope Management Interface - ZMI” le puede utilizar su navegador para interactuar en la gestión de Zope. Este interfaz es un entorno de desarrollo bajo el concepto a través de la Web, que le permite hacer cosas como: crear páginas web, añadir imágenes y documentos, interactuar con bases de datos relacionales externas y escribir scripts en diferentes lenguajes.

Base de datos de objetos

Nota

Artículo principal: Zope Object Database.

Posee por defecto un mecanismo de almacenamiento en una base de datos de objetos, llamada “Zope Object Database - ZODB”, cuando usted trabaja con Zope, la mayoría de la veces trabajará con objetos almacenados en la ZODB. El interfaz de gestión de Zope proporciona una manera simple y familiar de administrar objetos que se asemeja bastante a la forma de trabajar con los tradicionales gestores de ficheros, pero cada objeto tiene propiedades, métodos u otros objetos. Esta aproximación es muy diferente de las base de datos relacionales habituales.

Integración con Base de datos Relacional

Si usted no requiere almacenar su información en la ZODB, Zope dispone de múltiples conectores a diferentes base de datos relacionales como Oracle Database, MySQL, PostgreSQL, Sybase y entre otras, ofreciendo sistemas básicos de conexión y consulta abstrayéndolos como objetos.

Lenguajes basados en scripts

Ofrece soporte de lenguajes basados en scripts, le permite escribir aplicaciones en varios lenguajes diferentes como Python, [21] Perl, [22] PHP, [23] JSP [24] dentro del servidor de aplicaciones de Zope.

Lenguajes de plantillas

La tecnologías de Zope proporciona tres mecanismos para la creación de plantillas HTML:

Document Template Markup Language (DTML), es un lenguaje basado en etiquetas que permite la ejecución de secuencias de comando simples en las plantillas. DTML ha sido el primero lenguaje de marcado dentro de Zope por un largo tiempo [25]. DTML contiene disposiciones para la inclusión variable, condiciones y bucles. Sin embargo, DTML tiene inconvenientes importantes: etiquetas DTML intercalados con formato HTML no son válidos a los documentos HTML, y la inclusión descuidada de la lógica da como resultados que las plantillas sean un código muy ilegible.

Zope Page Templates (ZPT), es una tecnología que corrige los defectos del DTML, por consiguiente es el lenguaje de marcado recomendado primariamente dentro de Zope es hoy en día [26]. Las plantillas ZPT pueden ser documentos XML bien formados o documentos HTML, debido a que presentan todas las marcas especiales como atributos en el namespace Template Attribute Language - TAL (Lenguaje de plantillas de atributos). ZPT ofrece un conjunto muy limitado de herramientas para la inclusión condicional y la repetición de elementos XML. En consecuencia, las plantillas son por lo general bastante simple, con más lógica implementada en el código Python. Una ventaja importante de las plantillas ZPT es que se puede editar en los editores gráficos de HTML. ZPT también ofrece soporte directo para la internacionalización de software.

Chameleon, es un motor de Page Templates escrito en Python el cual se caracteriza por ser más rápido ya que las plantillas son compiladas a byte-code esto lo hace muy optimizado en su velocidad; es extensible ya que es fácil de extender un lenguaje o crearse su propio lenguaje al estilo taglibs [27] y está probado con pruebas automatizadas evitar problemas. Chameleon es una nueva implementación del motor de Page Templates por consiguiente hay que tener en cuentas sus diferencias e incompatibilidades [28].

Servidores de aplicaciones

El desarrollo principal del proyecto Zope ahora es mantenido por la fundación Zope que está compuesto por miembros de la comunidad de programadores. Actualmente es independiente de cualquier conexión con Zope Corporation. En la actualidad se desarrollará en paralelo y activamente tres ramas principales del desarrollo que se mantienen por separado por la comunidad Zope:

Zope 2

Un sitio web Zope se compone generalmente de objetos en una base de datos de objetos de Zope no son archivos en un sistema de archivos, como es habitual en la mayoría de servidores web. Esto permite a los usuarios aprovechar las ventajas de las tecnologías de objetos, tales como encapsulación. Zope mapea las direcciones URL a objetos utilizando el árbol de contenidos de tales objetos, los métodos se consideran que deben figurar en sus objetos también. Los datos pueden ser almacenados en otras bases de datos, así, o en el sistema de archivos, pero ZODB por defecto. La plataforma de aplicaciones web Zope 2 ha estado en continuo desarrollo como un sistema de código abierto desde 1998.

BlueBream

Formalmente conocido como Zope 3, fue inicialmente publicado bajo ese nombre, como es una nueva implementación del servidor Zope 2, pero debido a la incompatibilidad entre las versiones del framework Zope 2 y 3, entonces fue renombrado [29] a BlueBream el 17 de enero de 2010 para marcar diferencia de Zope 2.

Se convierte en la siguiente generación de la plataforma web desarrollada por la comunidad Zope. Fue publicado en 2005 como una plataforma de desarrollo orientado. Su objetivo es ofrecer una colección de muchos pequeños componentes que lo conforman los cuales se pueden combinar para crear potentes aplicaciones Web.

Con BlueBream un corte se hizo con la compatibilidad atrás con Zope 2, se decidió corregir los errores del pasado, volcando toda la experiencia adquirida en Zope 2 para revisar la estructura interna fundamental del proyecto. Estos cambios incluyen una arquitectura de componentes Zope, un efecto secundario es que muchos componentes también se pueden utilizar fuera de Zope ahora en otros proyectos Python.

Para ofrecer compatibilidad hacia atrás a los componentes hechos para Zope 2 desde BlueBream / Zope 3, puede usar el componente llamado Five.

Grok

Es un framework para aplicaciones web de código abierto basado en la tecnología del Zope Toolkit. El proyecto inicio en 2006 de la mano un grupo de programadores Zope [30]. Grok desde entonces ha tenido lanzamientos regulares. Sus tecnologías centrales (Martian, grokcore.component) también se utiliza en otros proyectos basados ​​en Zope [31] [32].

El primer motivo detrás del proyecto Grok, es hacer a la tecnología del Zope Toolkit más accesible y más fácil de usar para los recién llegados y, al mismo tiempo, a la velocidad de desarrollo de aplicaciones, de acuerdo con el paradigma de la programación ágil [33].

Para ello, utiliza de la convención Grok es usar la convención sobre configuración en lugar de utilizar un lenguaje explícito de configuración basado en XML (ZCML) como el Zope Toolkit y BlueBream hacen. Grok usa código Python para la configuración del componente, y tiene muchos valores por defecto implícitos y convenciones. Grok es similar en sentir a otros marcos Web de Python como TurboGears, Pylons y Django [34].

Librerías de desarrollo

Durante más de una década la Zope Corporation y la comunidad Zope han aumentado en un sistema excepcional de productos y tecnologías, que influyen en el desarrollo general de Python, servidores basados ​​en aplicaciones web y herramientas. A continuación se describen las más importantes de ellas:

Arquitectura de componentes Zope

Este dispone de un framework que soporta el diseño y la programación basada en componentes llamado Arquitectura de Componentes de Zope viene del inglés “Zope Component Architecture - ZCA”. Esta funciona muy bien al desarrollar sistemas de software grandes en Python. La ZCA no es específica al servidor de aplicaciones Zope, se puede utilizar para desarrollar cualquier aplicación Python [35].

Zope Toolkit

Del Ingles “Zope Toolkit - ZTK”, es un kit de herramientas para el desarrollo de Zope y fue creado como resultado del desarrollo de Zope 3 / BlueBream, ahora hay muchos paquetes de Python independientes usados y desarrollados como parte de BlueBream, y aunque muchos de estos son utilizables fuera de BlueBream, muchos no lo son. El proyecto Zope Toolkit (ZTK) se inició para clarificar que paquetes eran utilizables fuera BlueBream, y para mejorar la aptitud para la reutilización de los paquetes. Así, el kit de herramientas de Zope es una base para los framework de Zope. Con Zope 2.13 [36] fue la primera versión de un framework web que se basa en Zope Toolkit, Grok, [37] BlueBream [38] y Plone [39] también lo adoptaron.

Zope Content Management Framework

Nota

Artículo principal: Zope Content Management Framework.

Es un conjunto de componentes construidos encima de Zope 2 para ayudar en la creación de sistemas de gestión de contenidos. Un ampliamente conocido sistema de gestión de contenidos que emplea el Zope CMF es Plone.

Five

El nombre de proyecto Five deriva el juego de palabras: Zope 2 + Zope 3 = Cinco, fue creado para solventar el problema de las incompatibilidad entre versiones Zope 2 y Zope 3 desde el punto de vista del desarrollador de aplicaciones web, producido como resuelto una librería que le permite usar muchos de los conceptos y técnicas de Zope 3 en Zope 2. Gracias a esta un desarrollador puede migrar las aplicaciones a utilizar Zope 2 y adoptar gradualmente la arquitectura de componente Zope 3 a lo largo de una trayectoria continua. Five se incorporó a la distribución original de Zope 2, y cada versión posterior integra un número cada vez mayor de características de Zope 3.

Herramientas

El proyecto Zope ha creado algunas herramientas útiles, a continuación se describen:

Buildout

Nota

Artículo principal: Buildout.

Es un sistema de auto-construcción basado en Python para crear, ensamblar y desplegar aplicaciones desde diversas partes a partir de piezas múltiples, algunos de los cuales pueden ser piezas de software no basado en Python [40].

Software basado en Zope

Una gran cantidad de software se ha construido en la sobre la Zope. A continuación una lista de los proyectos más conocidos:

Alternativas a Zope

Existen muchas herramientas disponibles que te ayudan en la construcción de aplicaciones web. Al comienzo de la historia de la web, las aplicaciones web sencillas eran construidas casi de forma exclusiva mediante programas CGIs escritos en Perl u otras lenguajes de la época temprana de la Web. Ahora hay una multitud de opciones que van desde las soluciones código abierto como PHP, Python, Ruby a opciones comerciales como ColdFusion de Adobe (originalmente de Allaire), Java Application Servers o Story Server de Vingette.

Enlaces externos

Referencias

[1]colaboradores de Wikipedia (27 de enero del 2013). Wikipedia, La enciclopedia libre. (ed.): « Cyprinus ballerus - Wikipedia, la enciclopedia libre » (en español) (Web). Consultado el 27 de enero de 2013. «conocido como zope o blue bream».
[2]Lutz, Mark (2006). « 18: Advanced Internet Topics ». Programming Python. O’Reilly Media. http://books.google.com/books?id=5zYVUIl7F0QC&lpg=PA1130&pg=PA1130#v=onepage&q=&f=false. Consultado el 20 de enero de 2013. «The use of Zope has spread so quickly that many Pythonistas have looked to it as a Python Killer Application - a system so good that it naturally pushes Python into the development spotlight.»
[3]Udell, Jon. «Zope Is Python’s Killer App. », BYTE, 07 de febrero de 2000. Consultado el 20 de enero de 2013.
[4]Zope Foundation (2009). « The history of Zope — The Zope 2 Application Server » (en ingles). Zope Foundation. Consultado el 30 de enero de 2013.
[5]David Sims (1 de febrero de 2000). David Sims (ed.): «[www.oreillynet.com/pub/a/network/2000/01/25/interview/index.html Opening Zope: An Interview with Paul Everitt]» (en ingles) (Web). O’Reilly Network. Consultado el 27 de enero de 2013. «By 1997, the application server market was full of billion-dollar companies. It’s pretty hard to crack into that kind of market.».
[6]ZopeOrgSite (19 de julio de 1999). « Zope.org - 1.10.3 » (en ingles). Zope Foundation. Consultado el 30 de enero de 2013.
[7]ZopeOrgSite (17 de septiembre de 1999). « Zope.org - 2.0.0 » (en ingles). Zope Foundation. Consultado el 31 de enero de 2013.
[8]Caballero G., Leonardo J. (17 de diciembre del 2012). Configurar Zope como un servidor WebDAV. Plone Venezuela. https://plone-spanish-docs.readthedocs.org/en/latest/zope/zope_como_servidor_webdav.html. Consultado el 24 de enero de 2013.
[9]Caballero G., Leonardo J. (17 de diciembre del 2012). Configurar Zope como un servidor FTP. Plone Venezuela. https://plone-spanish-docs.readthedocs.org/en/latest/zope/zope_como_servidor_ftp.html. Consultado el 24 de enero de 2013.
[10]« The Zope Open Source Project on Ohloh : Contributors Listing Page » (en ingles). Ohloh.net. Consultado el 28 de enero de 2013.
[11]Zope Foundation. « Companies and Contractors Providing Commercial Support for BlueBream — BlueBream v1.0 documentation » (en ingles). Consultado el 29 de enero de 2013.
[12]Zope Corporation. « Zope Corporation | Zope Corporation Trademark Management Open Letter » (en ingles). Zope Corporation. Consultado el 29 de enero de 2013.
[13]« Nominated members - Zope Foundation » (en ingles). Zope Foundation. Consultado el 28 de enero de 2013.
[14]« Sponsorship members — Zope Foundation » (en ingles). Zope Foundation. Consultado el 28 de enero de 2013.
[15]Díaz Asenjo, Nacho; Pelletier, Michel; Latteier, Amos (10 de febrero de 2001). « Capítulo 1: Introducción a Zope » (en Español, HTML). Zope Book (Castellano). New Riders Publishing. http://usuarios.multimania.es/zope/Capitulo1.html. Consultado el 29 de enero de 2013. «Zope fue una de la primeras herramientas de este tipo que se convirtió en software libre.»
[16]« Framework :: Zope2 : Browse : Python Package Index » (en ingles). Pypi.python.org. Consultado el 28 de enero de 2013.
[17]« Framework :: Zope3 : Browse : Python Package Index » (en ingles). Pypi.python.org. Consultado el 28 de enero de 2013.
[18]« Framework :: ZODB : Browse : Python Package Index » (en ingles). Pypi.python.org. Consultado el 28 de enero de 2013.
[19]« Framework :: Pyramid : Browse : Python Package Index » (en ingles). Pypi.python.org. Consultado el 28 de enero de 2013.
[20]« Framework :: Buildout : Browse : Python Package Index » (en ingles). Pypi.python.org. Consultado el 28 de enero de 2013.
[21]Zope Developers Community. « 9. Basic Zope Scripting — Zope 2 v2.x documentation » (en ingles). Zope.org. Consultado el 27 de enero de 2013.
[22]Roberts, Michael (01 de abril de 2001) (en Ingles). Zope for the Perl/CGI programmer. developerWorks Content/Raleigh/IBM. http://www.ibm.com/developerworks/library/l-zope/index.html. Consultado el 27 de enero de 2013.
[23]Wei He (1 de julio de 2005). « Zope.org - PHParser/PHPGateway » (en ingles). Zope.org. Consultado el 27 de enero de 2013.
[24]Ioan Coman (11 de marzo de 2004). « Zope.org - Jsp for Zope » (en ingles). Zope Foundation. Consultado el 30 de enero de 2013.
[25]Zope Developers Community (2010). « 16. Basic DTML » (en Ingles). The Zope2 Book. Zope Developers Community. http://docs.zope.org/zope2/zope2book/DTML.html. Consultado el 29 de enero de 2013. «DTML has been the primary markup language within Zope for a long time.»
[26]Zope Developers Community (2010). « 16. Basic DTML » (en Ingles). The Zope2 Book. Zope Developers Community. http://docs.zope.org/zope2/zope2book/DTML.html. Consultado el 29 de enero de 2013. «However the recommended primary markup language within Zope is nowadays ZPT (Zope Page Templates)»
[27]Roberto Canales Mora (5 de julio de 2003). « TagLibs y JSPs » (en español). AdictosAlTrabajo.com. Archivado desde el original el 2 de enero de 2006. Consultado el 29 de enero de 2013.
[28]Borch, Malthe; Repoze Community (2011). « Zope Page Templates — Chameleon 2.0 documentation » (en Ingles). Repoze Community (Repoze Community). http://chameleon.repoze.org/docs/latest/zpt.html#incompatibilities-and-differences. Consultado el 29 de enero de 2013.
[29]Muthukadan, Baiju; Combelles Christophe, Khabibullin Ilshad, Tenney Kent, Haubenwallner Michael, McDonough Chris, Nilsson Daniel (29 de agosto de 2011) (en Ingles). 1. Introduction — BlueBream v1.0b4 documentation. Zope Foundation. http://bluebream.zope.org/doc/1.0/introduction.html#overview. Consultado el 27 de enero de 2013.
[30]Martijn Faassen (9 de noviembre de 2006). Martijn Faassen (ed.): « Grok: or what I did on my holiday » (en ingles). Consultado el 27 de enero de 2013.
[31]Lennart Regebro (26 de abril de 2008). Lennart Regebro (ed.): « Announcing five.grok: Grok on Zope 2! « Lennart Regebro: Python, Plone, Web » (en ingles). Consultado el 27 de enero de 2013.
[32]Martin Aspeli (28 de agosto de 2008). « Dexterity meet Grok — Martin Aspeli » (en ingles). Consultado el 27 de enero de 2013.
[33]The Grok Community. « Why Grok? — Grok » (en ingles). The Grok Community. Consultado el 27 de enero de 2013.
[34]The Grok Community. « Competition — Grok » (en ingles). The Grok Community. Consultado el 27 de enero de 2013.
[35]Muthukadan, Baiju; Gil Sanchez, Lorenzo; Haubenwallner, Michael; Quintana, Nando; Klein, Stephane; Cook, Tim; Gill, Kamal; Herve, Thomas (24 de noviembre de 2009) (en Ingles). A Comprehensive Guide to Zope Component Architecture. India: Baiju Muthukadan. pp. 102. http://www.muthukadan.net/docs/zca.html. Consultado el 27 de enero de 2013.
[36]Zope Foundation and Contributors. « Zope2 2.13.19 : Python Package Index » (en ingles). Zope Foundation. Consultado el 28 de enero de 2013.
[37]The Grok Community. « Grok 1.2 released! — Grok » (en ingles). The Grok Community. Consultado el 28 de enero de 2013.
[38]Zope Foundation and Contributors. « bluebream 1.0 : Python Package Index » (en ingles). Zope Foundation. Consultado el 28 de enero de 2013.
[39]Aspeli, Martin (12 de noviembre de 2009) (en Ingles). What is Grok and five.grok? — Plone CMS: Open Source Content Management. Plone.org. http://plone.org/products/dexterity/documentation/manual/five.grok/background/what-is-grok-and-five.grok. Consultado el 28 de enero de 2013.
[40]Leonardo J. Caballero G. (17 de diciembre del 2012). « Replicación de proyectos Python — Documentación en Español de Plone » (en español). Documentación en Español de Plone. Consultado el 29 de enero de 2013.

Obtenido de «http://es.wikipedia.org/w/index.php?title=Zope&oldid=69880666».

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 Z Object Publishing Environment 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.