plataforma gestor docs contenido caracteristicas python content-management-system plone zope

python - gestor - plone demo



¿Qué podría justificar la complejidad de Plone? (8)

Plone es muy complejo. Zope 2, Zope3 , Five , ZCML , ZODB , ZEO , un montón de acrónimos y abreviaturas.

Es difícil comenzar y el estado actual parece estar indeciso. Se basa principalmente en Zope2, pero incorpora Zope3 a través de Five. Y hay archivos de configuración XML en todas partes.

¿Paga la empinada curva de aprendizaje? ¿Esta complejidad todavía está justificada hoy?

Antecedentes: necesito una plataforma. Los clientes a menudo necesitan un CMS. Actualmente estoy leyendo " Desarrollo profesional de Plone ", sin conocimiento previo de Plone.

El problema: los clientes no siempre quieren lo mismo y no se puede saber de antemano. Una cosa es segura: no quieren el tema predeterminado de Plone. Pero cualquier característica adicional es un riesgo. No puede simplemente comenzar y decir " Si quiere ver la complejidad de Plone, tiene que pedirlo " cuando no conoce el sistema lo suficientemente bueno para planificar.


No lo use, si no es necesario. Todo el universo de ZOPE es un dinosaurio. Cultivado durante siglos, ha recolectado gran cantidad de restos y óxido. Muchas cosas se harían completamente diferentes hoy en día. Excesivamente complejo para la mayoría de las cosas, difícil de manejar para cosas complejas. Es lo opuesto a un diseño delgado y escalable. Y para solucionarlo seriamente, no veo la mano de obra necesaria involucrada en el proyecto.

Perdón por las palabras duras, también me gustaría que fuera mejor.


Veo cuatro cosas que pueden justificar una inversión de tiempo en el uso de Plone:

  • Plone tiene una comunidad grande y útil. La mayoría de las cosas que necesitas, alguien más
    ya lo hizo en algún momento en el pasado. Probablemente hizo algunas preguntas y obtuvo respuestas útiles, o escribió un tutorial. Usualmente eso deja rastros fáciles de encontrar. acerca de cómo lo hizo.
  • No necesitará comprender toda la complejidad de muchas de sus necesidades de personalización.
  • Los desarrolladores de Plone conocen su complejo stack y están discutiendo cómo se puede reducir. Plone ha demostrado en el pasado que es capaz de renovarse y dejar la infraestructura vieja de una manera limpia con fases de desaprobación definidas.
  • Hay muchos grupos de usuarios locales con personas útiles.

Oh, espera, me dijeron que las reuniones de desarrolladores plone son una de las mejores. Como ese


Es difícil responder a su pregunta sin información de fondo. ¿Está justificada la complejidad si solo quieres un blog? No. ¿Está justificada la complejidad si está creando una intranet de empresa para más de 400 personas? Sí. ¿Es una buena inversión si estás buscando ser un consultor? ¡Absolutamente! Hay mucho trabajo Plone por ahí, y paga mucho mejor que el trabajo PHP promedio.

Te animo a que clarifiques lo que intentas construir, y pide consejos a los foros de Plone. Plone tiene una comunidad muy madura y amigable, y absolutamente le hará saber si lo que está tratando de hacer no encaja bien con Plone. Por supuesto, puedes hacer lo que quieras con Plone, pero hay algunas áreas en las que es la mejor solución disponible, otras áreas donde va a ser mucho trabajo cambiarla para hacer otra cosa.

Algunos antecedentes:

La razón de la complejidad de Plone en este momento es que se está moviendo hacia una arquitectura más moderna. Está puenteando tanto el enfoque antiguo como el nuevo en este momento, lo que agrega cierta complejidad hasta que la transición se complete en su mayoría.

Plone está haciendo esto para evitar dejar atrás a sus clientes al romper la compatibilidad con versiones anteriores, que se toman muy en serio, a diferencia de otros sistemas que podría mencionar (pero no lo hará).

Usted se preocupa por sus datos, la comunidad Plone se preocupa por sus datos, y nos gustaría que pueda actualizar a las nuevas y mejores versiones, incluso cuando estamos en transición a una nueva arquitectura. Esta es una de las fortalezas de la comunidad Plone, pero por supuesto hay que pagar una penalización por modificar el avión mientras está volando, y eso es un poco de complejidad extra temporal.

Además, Plone como comunidad tiene un fuerte enfoque en la seguridad (compararlo con cualquier otro sistema sobre las vulnerabilidades reportadas), y una cultura muy profesional que valora la buena arquitectura, las pruebas y la reutilización.

Como ejemplo, considere la versión actual de Plone que se está desarrollando (lo que se convertirá en 4.0):

  • Se inicia 3-4 veces más rápido que la versión actual.
  • Utiliza aproximadamente un 20% menos de memoria que la versión actual.
  • Hay un sistema de tipos mucho más fácil en la obra (Destreza), que reducirá la complejidad y acelerará mucho el sistema, manteniendo el mismo nivel de funcionalidad.
  • La base de código ya es un 20% más pequeña que la versión de envío actual y cada vez más pequeña.
  • Los primeros puntos de referencia del nuevo sistema de tipos muestran una aceleración de 5 veces para la edición de contenido, y aún no hemos comenzado a optimizar esta parte.

- Alexander Limi, cofundador de Plone (y ligeramente parcial;)


Si quieres ver la complejidad de Plone, tienes que pedirlo. Para la mayoría de las personas, simplemente no está allí. Se instala en un par de minutos a través de un instalador de un solo clic. Luego, es un clic para iniciar sesión, un clic para crear una página, usar un editor WYSYWIG y un clic para guardar. Todo es a través de una GUI web intuitiva. Plone es un producto.

Si desea usarlo como una "plataforma", entonces la plataforma es una pila de más de un millón de líneas de código que implementa un conjunto completo de administración de contenido. Nadie lo sabe todo. Sin embargo, todos esos "acrónimos" y "archivos" son evidencia de un software que se factoriza en componentes para que nadie lo sepa todo. Puede obtener lo más profundo o superficial que necesite. Si hay algo que necesita para algún aspecto de la administración de contenido, ya está allí, no tiene que crearlo desde cero, y puede hacerlo de una manera consistente con una amplia práctica y revisión.


Encontré un comentario anónimo aquí, que es mucho mejor que la publicación en sí, así que lo vuelvo a publicar aquí en su totalidad, con un par de errores corregidos.

Este verano, mi club de ajedrez me pidió que creara un nuevo sitio web, donde los miembros de la junta deberían poder agregar flashes de noticias, artículos, ... sonaba como un CMS. Siendo un desarrollador de Python, miré a Plone y compré el libro de Aspeli Desarrollo profesional de Plone (excelente por escrito).

Tomé 3 semanas de mis vacaciones el estudio del libro y para configurar una primera maqueta del sitio.

Después de 3 semanas me di cuenta de que Plone tiene algunas cosas muy buenas, pero también algunas cosas muy frustrantes. En el lado positivista

  • si no necesita personalizar Plone, Plone es excelente en características y diseño
  • Plone tiene un buen modelo de seguridad
  • Plone tiene buenos flujos de trabajo fuera de la estantería
  • Plone es multi idioma (lo que necesitaba)

A la baja

  1. Plone es terriblemente lento. En mi plataforma de desarrollo (una PC de 3 años con 512 MB de RAM) toma 30 segundos lanzar Plone y toma de 10 a 15 segundos cargar una página
  2. necesitas muchas tecnologías diferentes para personalizar o desarrollar incluso las cosas más simples
  3. TAL y Metal no son lo último en tecnología y no están adaptados al diseño OO de Plone.
  4. La adquisición por defecto es incorrecta. La adquisición puede ser muy útil (por ejemplo, la seguridad), pero debe definirse explícitamente cuando sea necesario. Este es un error de diseño
  5. Plone no distingue entre contenido y diseño. Este es un serio defecto de diseño. No hay ninguna razón para aplicar configuraciones de seguridad y roles en, por ejemplo, la hoja de estilos en cascada o el html que crea un diseño de 3 columnas y no hay ninguna razón para que estos elementos estén en el ZODB y no en el sistema de archivos.
  6. Plone no distingue entre el diseñador web y el editor / editor de contenido, una vez más una falla grave. El editor / editor de contenido agrega / revisa el contenido que se ejecuta en el sitio en vivo. El diseñador web agrega / modifica los tipos de contenido, las formas y el diseño en el servidor de prueba y lo conecta al servidor en vivo cuando esté listo. Las restricciones de seguridad implementadas por Plone para el editor de contenido no se deben aplicar al diseñador web, que tiene acceso al sistema de archivos en el servidor.
  7. Plone no distingue entre los aspectos gráficos y los aspectos de programación de un diseñador web. Los artistas gráficos usan herramientas que solo hablan html, css y un poco de javasccript, pero no Python, adaptadores y otros conceptos avanzados de programación. Como consecuencia, el sistema completo de skinning en Plone es una pesadilla

Supongo que Plone es muy lento debido a los puntos 4, 5, 6 y 7.

Los puntos 6 y 7 me hicieron dejar caer a Plone. Busqué otras opciones y finalmente decidí desarrollar mi propio CMS en Pylons, que es increíblemente rápido en comparación con Plone. En el mismo servidor de desarrollo, tengo un tiempo de inicio de 1 segundo y no se puede medir el tiempo de una página de recarga.

El sitio www.kosk.be se está ejecutando (está en holandés). El CMS detrás de él, llamado Red Devil, se lanzará como un proyecto de código abierto separado a partir del próximo año.


Desde el punto de vista del administrador del sistema, Plone está a punto de ser el demonio absoluto. Actualizar, mantener e instalar donde desea instalar cosas es más doloroso de lo necesario en la plataforma Linux. Sin embargo, eso es solo mi granito de arena, y por qué suelo preferir evitar la pila de Zope / Plone.

Nota: es mejor con lanzamientos más nuevos, pero lanzamientos más antiguos ... ugh


Acreción.


Sobre el comentario aquí , creo que Plone no funciona así (al menos ya no).

1 - De hecho, Plone es más lento que otras soluciones CMS, pero desde la configuración lista para usar hasta una solución Apache-Varnish-Zope-Relstorage, hay mucho espacio de optimización.

2 - Eso es verdad. La respuesta aquí lo explica de alguna manera, pero de hecho Plone es un animal complejo.

3 - No estoy seguro de lo que quieres decir. Las expresiones de TAL Path se basan en el concepto de cruce de atributos de objetos. Me parece OO.

4 - Verdadero. Aunque después de que comprenda cómo funciona la Adquisición, se mantiene fuera de su camino. Y en Plone, no muchas cosas dependen de la Adquisición, supongo.

5 - No es verdad. Las plantillas de página de Zope tienen que ver con separar el contenido de la presentación. El hecho de que el contenido y la presentación se puedan ver desde el ZODB (y la mayoría de las plantillas permanecen en el sistema de archivos, solo se ve una "vista" de ellos en el ZODB) está más relacionado con el hecho de que ZODB es un gran objeto base de datos, lo que a su vez no significa que estén todos contentos. Todo en el sistema OO "puro" es un objeto, es solo el tipo de objeto (objetos de presentación, objetos de contenido, etc.) lo que importa.

6 - Plone distingue entre diseñadores web y creadores de contenido. Los diseñadores hacen todas las personalizaciones (plantillas, CSS, JS, etc.) y luego los creadores de contenido crean el contenido usando la IU de Plone. El punto aquí es que Plone es principalmente un CMS, lo que significa que se supone que los creadores de contenido son laicos en términos de diseño.

7 - Parcialmente verdadero. Teniendo en cuenta que la estructura de la interfaz de usuario no cambiará, todas las especificaciones de presentación están contenidas en archivos CSS. Si la estructura de la interfaz de usuario necesita cambiar, el diseñador podría trabajar con un plogrammer :-) para adecuar las plantillas.

Supongo que en ningún sistema que genere páginas dinámicas, el diseñador es completamente libre de hablar solo HTML, CSS y JS, y omite alguna otra tecnología, ya sea PHP, Python, ASP o Java. Si lo hace, definitivamente habrá un programador que obtendrá el HTML, CSS y JS del diseñador y lo "dinamizará". Este modelo definitivamente existe en Plone.