Que puede aprender Drupal de Plone ´ Roberto Allende Menttes, Plone Foundation http://robertoallende.com http://twitter.com/robertoallende
Jul 05, 2015
Que puede aprenderDrupal de Plone
´
Roberto AllendeMenttes, Plone Foundation
http://robertoallende.comhttp://twitter.com/robertoallende
Qué es Plone
Elegant minimalismhttp://www.youtube.com/watch?v=GBGaTn02hEU
Tabla de contenido
● Framework
● Motor de persistencia de objetos
● Legal
Framework
PlonePlone
ZopeZope
PythonPython
Framework
PlonePlone
ZopeZope
PythonPython
Framework
PlonePlone
ZopeZope
PythonPython
Framework
ZopeZope
CMF
Archetypes
ZODB Authentication Templates
Framework
PlonePlone
ZopeZope
SilvaSilva LaunchpadLaunchpad erp5erp5 SchoolToolSchoolTool
PythonPython
Framework: evolución
Zope2Zope2 Zope3Zope3 BlueBreamBlueBream
GrokGrok
RepozeRepoze
FiveFive
Framework
Zope2Zope2 Zope3Zope3 BlueBreamBlueBream
GrokGrok
RepozeRepoze
FiveFivePlonePlone
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
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
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
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
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
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')
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()
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()
ZODB
Pagina
titulodescripcioncontenido
p1 p2 p3 p4
rating comentario
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
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
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
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
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
Legal
● Copyright
● Trademark
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
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
Legal: Legal & Trademark
Responsabilidad Legal Desarrollador→patentes, garantías, daños,
violación de licencias
Trademark Desarrollador→
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
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
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