Question

Plone est très complexe. Zope 2, Zope3 , Cinq , ZCML , ZODB , ZEO , de nombreux sigles et acronymes abréviations.

Il est difficile de commencer et l’état actuel semble indécis. Il est principalement basé sur Zope2, mais intègre Zope3 via Five. Et il y a des fichiers de configuration XML partout.

Est-ce que la courbe d'apprentissage abrupte paie? Cette complexité est-elle toujours justifiée aujourd'hui?

Contexte: j'ai besoin d'une plate-forme. Les clients ont souvent besoin d'un CMS. Je suis en train de lire le développement professionnel de Plone " , sans connaissance préalable de Plone.

Le problème: les clients ne veulent pas toujours la même chose et vous ne pouvez pas le savoir à l’avance. Une chose est sûre: ils ne veulent pas du thème par défaut de Plone. Mais toute fonctionnalité supplémentaire est un risque. Vous ne pouvez pas simplement commencer et dire si vous le souhaitez voir la complexité de Plone, vous devez le demander. " lorsque vous ne connaissez pas le système assez bien pour planifier.

Était-ce utile?

La solution

Si vous voulez voir la complexité de Plone, vous devez la demander. Pour la plupart des gens, ce n'est tout simplement pas là. Il s'installe en quelques minutes via un programme d'installation en un clic. Ensuite, un clic suffit pour vous connecter, un clic pour créer une page, utilisez un éditeur WYSYWIG et un clic pour enregistrer. Tout se fait via une interface graphique Web intuitive. Plone est un produit.

Si vous souhaitez l'utiliser comme "plateforme", " la plate-forme est alors une pile de plus d'un million de lignes de code qui implémente une suite complète de gestion de contenu. Personne ne sait tout. Cependant, tous ces " acronymes " et " fichiers " sont la preuve d’un logiciel qui est pris en compte dans les composants de sorte que personne n’a besoin de tout savoir. Vous pouvez obtenir aussi profond ou peu profond que vous avez besoin. Si vous avez besoin de quelque chose pour la gestion de contenu, c'est déjà là, vous n'avez pas besoin de le créer à partir de rien, et vous pouvez le faire d'une manière qui soit cohérente avec une pratique et une révision étendues.

Autres conseils

Il est difficile de répondre à votre question sans aucune information de base. La complexité est-elle justifiée si vous voulez juste un blog? La complexité est-elle justifiée si vous construisez un intranet pour plus de 400 personnes? Oui. Est-ce un bon investissement si vous souhaitez être consultant? Absolument! Il y a beaucoup de travail Plone, et cela rapporte beaucoup mieux que le travail moyen de PHP.

Je vous encourage à préciser ce que vous essayez de construire et à demander conseil sur les forums Plone. Plone a une communauté très mature et sympathique & # 8212; et vous dira absolument si ce que vous essayez de faire convient mal à Plone. Vous pouvez bien sûr faire ce que vous voulez avec Plone, mais dans certains domaines, c’est la meilleure solution disponible, d’autres où il vous faudra beaucoup de travail pour le changer et pour faire autre chose.

Quelques antécédents:

À l'heure actuelle, la complexité de Plone s'explique par le fait qu'il évolue vers une architecture plus moderne. Il relie actuellement l'ancienne et la nouvelle approche, ce qui ajoute une certaine complexité jusqu'à ce que la transition soit presque terminée.

Plone agit ainsi pour éviter de laisser ses clients derrière lui en supprimant la compatibilité en amont, ce qu’ils prennent très au sérieux & # 8212; contrairement aux autres systèmes, je pourrais citer (mais pas;).

Vos données vous intéressent, la communauté Plone se soucie de leurs données & # 8212; et nous aimerions que vous soyez en mesure de mettre à niveau les versions nouvelles et améliorées même lorsque nous passons à une nouvelle architecture. C’est l’une des forces de la communauté Plone, mais il est évidemment pénalisant de modifier l’avion en cours de vol, ce qui représente un peu de complexité temporaire.

De plus, Plone en tant que communauté est fortement axée sur la sécurité (comparez-la à tout autre système sur les vulnérabilités signalées), ainsi qu’une culture très professionnelle valorisant une architecture, des tests et une réutilisabilité de qualité.

A titre d'exemple, considérons la version actuelle de Plone en cours de développement (que deviendra la version 4.0):

  • Il démarre 3 à 4 fois plus vite que la version actuelle.
  • Il utilise environ 20% de mémoire en moins que la version actuelle.
  • Il existe un système de types beaucoup plus simple (la dextérité) qui réduira la complexité et accélérera considérablement le système tout en conservant le même niveau de fonctionnalité
  • La base de code est déjà 20% plus petite que la version actuelle et est encore plus petite.
  • Les premiers repères du nouveau système de types indiquent un 5 & # 215; accélération pour l'édition de contenu, et nous n'avons pas encore vraiment commencé à optimiser cette partie.

& # 8212; Alexander Limi, cofondateur de Plone (et légèrement biaisé;)

J'ai trouvé un commentaire anonyme ici qui est bien meilleur que cela. se poster, donc je le republie ici dans son intégralité, avec quelques fautes de frappe corrigées.

Cet été, mon club d’échecs m’a demandé de créer un nouveau site Web, où les membres du conseil d’administration devraient pouvoir ajouter des flashs d’information, des articles, ... Cela ressemblait à un CMS. En tant que développeur Python, j'ai jeté un œil sur Plone et acheté le livre Aspeli Development Professional Plone (excellent écrit).

J'ai pris 3 semaines de vacances pour étudier le livre et préparer une première maquette du site.

Au bout de 3 semaines, je me suis rendu compte que Plone offrait de très belles choses mais aussi des choses très frustrantes. Du côté de la positivie

  • si vous n'avez pas besoin de personnaliser Plone, Plone est très performant en termes de fonctionnalités et de présentation
  • Plone a un bon modèle de sécurité
  • Plone dispose de bons flux de production standard
  • Plone est multi-langue (ce dont j'avais besoin)

À la baisse

  1. Plone est terriblement lent. Sur ma plate-forme de développement (un PC âgé de 3 ans avec 512 Mo de RAM), le lancement de Plone prend 30 secondes et le rechargement d'une page prend 10 à 15 secondes
  2. vous avez besoin de nombreuses technologies différentes pour personnaliser ou développer même les choses les plus simples
  3. TAL et Metal ne sont pas à la pointe de la technologie et ne sont pas adaptés au design OO de Plone.
  4. L'acquisition par défaut est incorrecte. L’acquisition peut être très utile (pour la sécurité, par exemple), mais elle doit être explicitement définie si nécessaire. Ceci est un défaut de conception
  5. Plone ne fait pas la distinction entre contenu et mise en page. C'est un grave défaut de conception. Il n'y a aucune raison d'appliquer des paramètres de sécurité et des rôles sur, par exemple. une feuille de style en cascade ou le code HTML qui crée une disposition en 3 colonnes et il n’ya aucune raison pour que ces éléments soient dans le ZODB et non dans le système de fichiers
  6. Plone ne fait pas la distinction entre le concepteur Web et l'éditeur / éditeur de contenu, encore une fois un grave défaut. L'éditeur de contenu / éditeur ajoute / révise le contenu exécuté sur le site en direct. Le concepteur Web ajoute / modifie les types de contenu, les formulaires et la mise en page sur le serveur de test et les transfère au serveur live lorsqu'il est prêt. Les restrictions de sécurité mises en place par Plone pour l'éditeur de contenu ne doivent pas être appliquées au concepteur Web ayant accès au système de fichiers sur le serveur.
  7. Plone ne fait pas la distinction entre les aspects graphiques et les aspects de programmation d’un concepteur Web. Les artistes graphiques utilisent des outils qui ne parlent que le html, le css et un peu de javasccript, mais pas de python, d’adaptateurs et d’autres concepts de programmation avancés. En conséquence, le système complet de skinning de Plone est un cauchemar

Je suppose que Plone est si lent en raison des points 4, 5, 6 et 7.

Les points 6 et 7 m'ont fait abandonner Plone. J'ai cherché d'autres options et j'ai finalement décidé de développer mon propre CMS sur Pylons, ce qui est extrêmement rapide par rapport à Plone. Sur le même serveur de développement, le temps de démarrage est d'une seconde et le temps de rechargement d'une page n'est pas mesurable.

Le site www.kosk.be est en cours d’exécution (il est en néerlandais). Le système de gestion de contenu associé, nommé Red Devil, sera lancé en tant que projet open source distinct à partir de l’année prochaine

Je vois quatre choses qui peuvent justifier un investissement de temps dans l’utilisation de Plone: ??

  • Plone a une communauté nombreuse et utile. La plupart des choses dont vous avez besoin, quelqu'un d'autre
    déjà fait à un moment dans le passé. Il a probablement posé des questions et est devenu utile réponses, ou il a écrit un tutoriel. Habituellement, cela laisse des traces faciles à trouver. sur la façon dont il l'a fait.
  • Vous n'avez pas besoin de comprendre toute la complexité pour la plupart de vos besoins de personnalisation.
  • Les développeurs Plone sont conscients de la complexité de leur pile et discutent de la façon dont cela peut être fait. réduit. Plone a prouvé par le passé qu’il était capable de se renouveler et de laisser tomber infrastructure de manière propre avec des phases de dépréciation définies.
  • Il existe de nombreux groupes d'utilisateurs locaux avec des personnes utiles.

Oh, attendez, on m'a dit que les réunions de développeurs Plone étaient parmi les meilleures! comme celui-là

Du point de vue de l’administrateur système, Plone craint d’être le diable absolu. La mise à niveau, la maintenance et l'installation à l'emplacement de votre choix sont plus pénibles que nécessaire sur la plate-forme Linux. Ce n’est cependant que mes deux cents, et pourquoi je préfère généralement éviter la pile Zope / Plone.

Remarque: il est préférable d'utiliser les versions les plus récentes, mais les versions les plus anciennes ....

Accrétion.

À propos du commentaire ici Je pense que Plone ne fonctionne pas comme ça (du moins plus maintenant).

1 - Plone est certes plus lent que d’autres solutions de gestion de contenu, mais depuis la configuration prête à l’emploi jusqu’à la solution Apache-Varnish-Zope-Relstorage, l’espace d’optimisation est important.

2 - C'est vrai. La réponse ici explique en quelque sorte, mais en réalité Plone est un animal complexe.

3 - Vous ne savez pas ce que vous voulez dire? Les expressions de chemin TAL sont basées sur le concept de traversée d'attribut d'objet. Cela me semble OO.

4 - Vrai. Une fois que vous avez compris le fonctionnement de l’acquisition, il reste en dehors de votre chemin. Et dans Plone, je suppose que peu de choses dépendent de l’acquisition.

5 - Ce n'est pas vrai. Les modèles de page de Zope visent à séparer le contenu de la présentation. Le fait que le contenu et la présentation puissent être visualisés à partir de la ZODB (et que la plupart des modèles restent dans le système de fichiers, vous en voyez une "vue" dans la ZODB) est plus lié au fait que la ZODB est un gros base de données d'objets - ce qui ne signifie pas pour autant qu'ils sont tous contenus. Tout ce qui est " pur " Le système OO est un objet, c’est le type d’objet (objets de présentation, objet de contenu, etc.) qui compte.

6 - Plone fait la distinction entre les concepteurs de sites Web et les créateurs de contenu. Les concepteurs effectuent toutes les personnalisations (modèles, CSS, JS, etc.), puis les créateurs de contenu créent le contenu à l'aide de Plone UI. Le point ici est que Plone est principalement un CMS, ce qui signifie que les créateurs de contenu sont supposés être des profanes en termes de design.

7 - Partiellement vrai. Considérant que la structure de l'interface utilisateur ne changera pas, toutes les spécifications de présentation sont contenues dans des fichiers CSS. Si la structure de l'interface utilisateur doit être modifiée, le concepteur peut utiliser un planificateur :-) pour adapter les modèles.

Je suppose que dans aucun système ne produisant de pages dynamiques, le concepteur est totalement libre de ne parler que HTML, CSS et JS, et de laisser de côté une autre technologie, que ce soit PHP, Python, ASP ou Java. S'il le fait, il y aura certainement un programmeur qui récupérera le code HTML, CSS et JS du concepteur et le "dynamisera". Ce modèle existe définitivement à Plone.

Ne l'utilisez pas, si vous n'y êtes pas obligé. Tout l'univers de ZOPE est un dinosaure. Cultivé depuis des siècles, il a recueilli beaucoup de brutes et de rouille. Beaucoup de choses seraient faites complètement différemment de nos jours. Trop complexe pour la plupart des choses, difficile à gérer pour les choses complexes. C'est le contraire d'un design mince et évolutif. Et pour résoudre ce problème sérieusement, je ne vois pas les effectifs nécessaires impliqués dans le projet.

Désolé pour les mots durs, j'aimerais aussi que ce soit mieux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top