qué puede aprender drupal de plone
DESCRIPTION
Plone es un gestor de contenidos implementado en Python sobre el framework de aplicaciones Zope. Recientemente Plone cumplio 9 años y durante este tiempo se realizaron iniciativas y acciones que aún son inéditas en muchos programas y comunidades libres. En esta charla analiza cuestiones técnicas, de comundiad y legales que forman parte de las lecciones aprendidas por la comunidad Plone y que pueden ser de utilidad en Drupal.TRANSCRIPT
![Page 1: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/1.jpg)
Que puede aprenderDrupal de Plone
´
Roberto AllendeMenttes, Plone Foundation
http://robertoallende.comhttp://twitter.com/robertoallende
![Page 2: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/2.jpg)
Qué es Plone
Elegant minimalismhttp://www.youtube.com/watch?v=GBGaTn02hEU
![Page 3: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/3.jpg)
Tabla de contenido
● Framework
● Motor de persistencia de objetos
● Legal
![Page 4: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/4.jpg)
Framework
PlonePlone
ZopeZope
PythonPython
![Page 5: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/5.jpg)
Framework
PlonePlone
ZopeZope
PythonPython
![Page 6: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/6.jpg)
Framework
PlonePlone
ZopeZope
PythonPython
![Page 7: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/7.jpg)
Framework
ZopeZope
CMF
Archetypes
ZODB Authentication Templates
![Page 8: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/8.jpg)
Framework
PlonePlone
ZopeZope
SilvaSilva LaunchpadLaunchpad erp5erp5 SchoolToolSchoolTool
PythonPython
![Page 9: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/9.jpg)
Framework: evolución
Zope2Zope2 Zope3Zope3 BlueBreamBlueBream
GrokGrok
RepozeRepoze
FiveFive
![Page 10: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/10.jpg)
Framework
Zope2Zope2 Zope3Zope3 BlueBreamBlueBream
GrokGrok
RepozeRepoze
FiveFivePlonePlone
![Page 11: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/11.jpg)
Framework: conclusiones
● Un alto % del código evoluciona por sí solo
● El core del framework no depende solo de un proyecto o comunidad
● Posibilidad de integración con otras aplicaciones
● Si la evolución del framework no prospera, no se adopta
● Separación de intereses
![Page 12: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/12.jpg)
Framework: conclusiones
● Un alto % del código evoluciona por sí solo
● El core del framework no depende solo de un proyecto o comunidad
● Posibilidad de integración con otras aplicaciones
● Si la evolución del framework no prospera, no se adopta
● Separación de intereses
![Page 13: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/13.jpg)
Framework: conclusiones
● Un alto % del código evoluciona por sí solo
● El core del framework no depende solo de un proyecto o comunidad
● Posibilidad de integración con otras aplicaciones
● Si la evolución del framework no prospera, no se adopta
● Separación de intereses
![Page 14: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/14.jpg)
Framework: conclusiones
● Un alto % del código evoluciona por sí solo
● El core del framework no depende solo de un proyecto o comunidad
● Posibilidad de integración con otras aplicaciones
● Si la evolución del framework no prospera, no se adopta
● Separación de intereses
![Page 15: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/15.jpg)
Framework: conclusiones
● Un alto % del código evoluciona por sí solo
● El core del framework no depende solo de un proyecto o comunidad
● Posibilidad de integración con otras aplicaciones
● Si la evolución del framework no prospera, no se adopta
● Separación de intereses
![Page 16: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/16.jpg)
Framework: ZODB
>>> # Definimos una clase pagina para usar de ejemplo…
>>> class Pagina():… def __init__(self, t, d, c):… self.titulo = t… self.descripcion = d… self.contenido = c
>>> pag1 = Pagina('DrupalCamp', 'Muy buen evento', 'Ipsum dolor sit amet')>>> pag2 = Pagina('Camp', 'evento', 'Ipsum dolor sit amet')>>> pag3 = Pagina('Drupal', 'Muy buen', 'Ipsum dolor sit amet')>>> pag4 = Pagina('Algo', 'buen', 'Ipsum dolor sit amet')
![Page 17: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/17.jpg)
Framework: ZODB
>>> import ZODB>>> from ZODB.FileStorage import FileStorage>>> from ZODB.DB import DB>>> storage = FileStorage('Data.fs')>>> db = DB(storage)>>> connection = db.open()>>> root = connection.root()
![Page 18: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/18.jpg)
Framework: ZODB
>>> root['pagina1'] = pag1>>> root['pagina2'] = pag2>>> root['pagina3'] = pag3>>> root['pagina4'] = pag4
>>> transaction.commit()
>>> pag3.rating = 5>>> pag4.comentarios = []>>> pag4.comentarios.append('Que bien!')>>> pag4.comentarios.append('Excelente')
>>> transaction.commit()
![Page 19: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/19.jpg)
ZODB
Pagina
titulodescripcioncontenido
p1 p2 p3 p4
rating comentario
![Page 20: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/20.jpg)
ZODB: conclusiones
● Solo un paradigma: objetos
● (tal vez) es mas apropiado para la persistencia de contenido
● No es necesario ORM
● Despliegue, instalación y replicación más sencilla
● Independiente del framework y la aplicación
![Page 21: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/21.jpg)
ZODB: conclusiones
● Solo un paradigma: objetos
● (tal vez) es mas apropiado para la persistencia de contenido
● No es necesario ORM
● Despliegue, instalación y replicación más sencilla
● Independiente del framework y la aplicación
![Page 22: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/22.jpg)
ZODB: conclusiones
● Solo un paradigma: objetos
● (tal vez) es mas apropiado para la persistencia de contenido
● No es necesario ORM
● Despliegue, instalación y replicación más sencilla
● Independiente del framework y la aplicación
![Page 23: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/23.jpg)
ZODB: conclusiones
● Solo un paradigma: objetos
● (tal vez) es mas apropiado para la persistencia de contenido
● No es necesario ORM
● Despliegue, instalación y replicación más sencilla
● Independiente del framework y la aplicación
![Page 24: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/24.jpg)
ZODB: conclusiones
● Solo un paradigma: objetos
● (tal vez) es mas apropiado para la persistencia de contenido
● No es necesario ORM
● Despliegue, instalación y replicación más sencilla
● Independiente del framework y la aplicación
![Page 25: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/25.jpg)
Legal
● Copyright
● Trademark
![Page 26: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/26.jpg)
Legal: Copyright
Who holds the copyright for Drupal?
Drupal and contributed modules and themes include code written by thousands of different people. All Drupal contributors retain copyright on their code, but agree to release it under the same license as Drupal. If you are unable or unwilling to contribute a patch under the GPL version 2 or later, do not submit a patch.
http://drupal.org/licensing/faq#q12
![Page 27: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/27.jpg)
Legal: Trademark
The Drupal trademark — i.e. the word "Drupal", whether or not in capitals — is owned and controlled by Dries Buytaert, who cooperates with the Drupal Association and local non-profit associations to foster the use of the Drupal software.
http://drupal.com/trademark
![Page 28: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/28.jpg)
Legal: Legal & Trademark
Responsabilidad Legal Desarrollador→patentes, garantías, daños,
violación de licencias
Trademark Desarrollador→
![Page 29: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/29.jpg)
Legal: Legal & Trademark
Developers working alone, apart from any corporate form, are not shielded from personal liability for project-related activities. If a
developer takes donations or otherwise receives money for working on a solo project, the developer must report that
compensation as personal income and pay income taxes on it. Likewise, all legal liability to third parties will fall to the developer. For example, the developer may be liable to users for breach of
any express warranties made regarding the software, or any implied warranties that are not effectively disclaimed. Claims by
other software producers for copyright, patent, or trademark infringement could also be brought directly against the developer.
While there may be advantages to one-developer projects, it is important to realize that the personal assets of the developer could
be completely exposed. Formal legal structures, while not a panacea, can help developers to manage their liability and risk.
http://www.softwarefreedom.org/resources/2008/foss-primer.html
![Page 30: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/30.jpg)
Más
● Deliverance / XDV
● Escalabilidad
● Conexión a bdd relacionales (content mirror)
● Libros, muchos libros, incluyendo uno made in Argentina
● Replicabilidad: Control de versiones, configuración y replicación automática
● REST
![Page 31: Qué puede aprender Drupal de Plone](https://reader036.vdocuments.mx/reader036/viewer/2022062406/559857cd1a28abb51d8b47d3/html5/thumbnails/31.jpg)
2do Simposio Sudamericano de PloneOradores de Argentina, Brasil, Canadá, Chile, Estados Unidos y Venezuela presentan
brasil.gov.brIntranet de La Caxia
Observatorio ALMA ChileSalesforce y Plone
Oracle y Plone en Gobierno de Perú
Hotel Windsor, Córdoba, 24 y 25 de Noviembrehttp://plonesymposium.com.ar