Question

Drupal est vraiment un "Do Everything". CMS. Il existe des modules qui vous permettent d'ajouter presque toutes les fonctionnalités, ce qui est génial. Cependant, beaucoup de fonctionnalités (v5 et v6) semblent dispersées et peu intuitives pour l'utilisateur. En tant que développeur, j'ai le sentiment d'avoir patché un site ensemble en utilisant du bubble-gum et de la ficelle.

Par exemple, pour ajouter du texte dans le champ de recherche par défaut (qui disparaît lorsque vous cliquez dessus), vous devez soit ajouter du code jQuery, soit remplacer le thème. J'ai également trouvé le système de menus plus compliqué qu'il ne devrait l'être.

Suis-je le seul à avoir cet avis? Quelles choses (le cas échéant) changeriez-vous dans le noyau de Drupal?

Était-ce utile?

La solution

En raison du manque de conception orientée objet, vous devez souvent vous fier aux prévisions des autres développeurs pour quitter & hook; hook " fonctions pour vous permettre de modifier un certain comportement.

Utilisation de Drupal 5 J'ai également rencontré des situations dans lesquelles le seul moyen d'effectuer une modification de conception relativement simple consiste à appliquer des correctifs à Drupal lui-même (puis à vous assurer de réappliquer des correctifs à chaque nouvelle version officielle de Drupal). Mais, pour être juste, vous auriez dû voir à quel point c'était drupal 4.

Je suis également contrarié par le fait que, lorsque je prends le temps d'identifier un bogue ou une folie dans la version de production actuelle de Drupal, je soumets un correctif. Ce correctif n'est jamais validé, car seuls les bogues de sécurité sont corrigés dans la version actuelle. version stable.

Autres conseils

Pour moi, l’inconvénient majeur de Drupal réside dans le fait qu’une grande partie d’un site Drupal actif est stockée dans la base de données. En l'absence de moyen automatisé de migration du contenu ou de la configuration entre systèmes, le déploiement de modifications sur un site actif doit être effectué manuellement ou traité avec un code excessivement compliqué.

L’un des plus gros défauts de Drupal est qu’il se situe entre un outil clé en main pour les constructeurs de sites non-programmeurs et un cadre pour les développeurs créant des applications Web complexes. Il propose des trucs sympas à offrir aux deux groupes, mais les concessions faites à une foule ont toujours tendance à faire trébucher l'autre.

La communauté Drupal a de plus en plus tendance à créer explicitement des API de développeur, puis à superposer l’UI d’administration et l’UI de l’utilisateur final au-dessus des API. C'est une bonne chose, mais il y a encore beaucoup d'architecture héritée. Le projet a eu 8 ans cette semaine et chaque site nécessite un ensemble de modules qui évoluent à un rythme différent.

Si quelqu'un n'a pas encore construit un module qui fait ce que vous voulez, pour tirer efficacement parti du système sans pirater le code principal, vous devez utiliser un grand nombre d'API internes, de nombreuses structures de données uniques à drupal, ainsi que des études approfondies. certains workflows parfois géniaux. Beaucoup de sites terriblement mauvais et impossibles à maintenir flottent à la suite de personnes qui avaient besoin de faire des choses difficiles et qui n'avaient pas l'expertise (ou le temps) pour faire des recherches sur le "droit". façon de faire les choses.

(Avertissement: je viens de co-écrire quelques chapitres pour un livre sur Drupal, et je travaille à plein temps pour Drupal, donc je suis aussi loin que possible de ce que vous pouvez obtenir. Mais j'aime bien penser que je garde la perspective et que je suis aussi cœur avec Django.)

Drupal vous sortira à 80% de votre chemin, mais les 20% restants prendront des mois et des mois.

Drupal est un système impressionnant. Il est étonnamment petit pour tout ce qu'il fait et son système de modules est extrêmement puissant. Mais comme Eli l'a dit, bon nombre de vos tâches vont dépendre d'autres développeurs qui font quelque chose d'une manière particulière.

Il y a un débat au sein de la communauté Drupal sur sa conception. Drupal existait avant que les fonctionnalités de la POO de PHP ne soient puissantes, mais maintenant qu’elles le sont, il est souvent question de changer le système pour utiliser des structures de données orientées objet. Selon vos goûts, cela pourrait être un inconvénient pour vous en tant que développeur. J'en ai moi-même deux.

Le système peut également sembler très "magique". pour les nouveaux venus, en ce sens que tout cela est fou sans explication. "Je viens juste de définir une fonction, comment le diable est-il appelé par Drupal?!"

Cependant, je dois dire qu'en général, je suis un grand fan de Drupal. C'est un bon système qui se charge mieux avec chaque version majeure. Pour ma part, je ne peux pas attendre 7.

Drupal est un bon point de départ, mais vous passez plus de temps à "défaire" qu’à faire les choses. Cela a changé surtout avec la sortie de Drupal 6 et, pour être juste, cela apparaît plus clairement dans les modules que nous avons fournis.

La gestion des migrations est également un problème, a déclaré Sean. Je ne connais toujours pas de bonne méthode pour transférer les modifications d'un site de développement à un site réel.

Je ne suis pas sûr que je changerais quoi que ce soit dans le noyau actuel et la plupart des carences sont en train d'être corrigées. La gestion des images nécessite du travail, l'interface d'administration par défaut est un peu encombrée, ce qui rend les mises en page plus compliquées sans impliquer de vues / panneaux, etc. pourrait nécessiter du travail.

Je le trouve terriblement complexe. en tant que développeur php, je m'arrache les cheveux tous les jours pour des problèmes qui n'ont rien à voir avec php mais avec drupal lui-même. comment / pourquoi / quand fait-il X? c'est une grosse bête qui doit être apprivoisée. La documentation se limite à quelques très bons guides, à des tas de merde et encore plus de fils de discussion inutiles qui semblent toujours apparaître dans Google.

la facilité d'utilisation sur le backend est de la merde. un thème personnalisé modifiera également la mise en page de l'option " admin " une partie du paquet qui peut être extrêmement frustrante et ne pas avoir de jolies mises en page.

Si vous travaillez avec des trancheurs HTML, il est impossible d’utiliser du code HTML qui n’a pas été créé spécifiquement pour Drupal. il vous oblige à utiliser drupal-html, avec beaucoup de divs, 5 classes verbales par div, etc. Par nature, les gars html / css ne peuvent pas connaître drupal à ce niveau.

Je n'aime pas la façon dont il s'appuie sur les noms de fichiers (10 mots, avec des différences très subtiles entre eux) pour construire un thème.

cela dit, certaines des choses qu’il peut faire sont très cool et vous font gagner des jours et des jours de développement php personnalisé

Drupal fournit des outils puissants aux non-programmeurs. Ils peuvent facilement créer un site complet avec moins de temps. Mais le problème est que la courbe d’apprentissage est trop longue pour Drupal.

Si une personne qui découvre Drupal est nouvelle et souhaite personnaliser quelque chose, cela prendra beaucoup de temps s’il le souhaite. Il y a beaucoup de façons de faire une seule chose dans drupal. Trouver ce qui est le mieux ou le mieux pour un nouveau venu est très douloureux.

Je pense que sa courbe d'apprentissage est le seul inconvénient, car la plupart des entreprises ont du mal à trouver les bons talents Drupal. http://drupalize.me/ et http://buildamodule.com/ fait un très bon travail pour réduire cette courbe d'apprentissage élevée.

Je trouve que l'interface d'administration par défaut n'est pas très intuitive comparée à d'autres cms comme modx ou joomla / mambo

C'est écrit en PHP4. Cela changera à partir de la version 7. Vous pouvez bien sûr écrire vos propres modules dans php5. En tant que développeur Drupal chevronné, je trouve que mon CV a beaucoup souffert de mon exposition limitée à php5.

Ce n'est pas le meilleur pour exécuter des services tels que SOAP. Appeler l'ensemble de la pile Drupal pour fournir un service Web constitue un inconvénient excessif pour les performances. Les modules de services sont encore en développement.

Aucun support de transaction de base de données. Cela devient un problème lorsque vous l'adaptez à des charges extrêmes.

Il serait bon d’exécuter des tests à partir de la ligne de commande. Cela était possible avec simpletest 1.x mais la version actuelle ne le supporte pas très bien. Simpletest n'est pas assez mature. Une installation propre de Drupal peut échouer aux tests. Certains des tests inclus par défaut vous obligent à utiliser des types de contenu et des modules inutiles et vous ne pouvez pas les désactiver sans pirater le module le plus simple.

Son dossier de sécurité est apparemment mauvais: http://secunia.com/advisories/ search /? search = Drupal

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