L'un de Drupal plus grands inconvénients est le fait qu'il danse sur la ligne entre un outil clés en main pour nonprogrammer constructeurs de site, et un cadre de travail pour les développeurs de construire des complexes webapps. Il a quelques trucs sympas à offrir les deux groupes, mais les concessions à une foule toujours tendance à le voyage jusqu'à l'autre.
La tendance croissante dans la communauté Drupal est explicitement construire des Api pour développeurs, la couche de l'INTERFACE utilisateur d'administration et de l'utilisateur final de l'INTERFACE utilisateur sur le dessus de l'Api. C'est une bonne chose, mais il y a aussi encore beaucoup de l'héritage de l'architecture. Le projet a eu 8 ans cette semaine, et chaque site nécessite une combinaison de modules qui évoluent à des rythmes différents.
Si quelqu'un n'a pas déjà construit un module qui fait ce que vous voulez, utilisant efficacement le système sans le piratage de code de base nécessite grokking beaucoup de différents interne de l'Api, beaucoup de, unique sur drupal structures de données, et d'étudier sur un peu parfois funky flux de travail. Beaucoup de terriblement mauvais et impossible à maintenir des sites sont flottant autour dans le sillage de gens qui avaient besoin de faire des choses difficiles et n'ont pas l'expertise (ou le temps) à la recherche de la "bonne" façon de faire les choses.
(Disclaimer: je viens de co-écrit quelques chapitres d'un livre sur Drupal, et je ne Drupal travail à temps plein, alors je suis à peu près aussi loin de la 'impartiale' que vous pouvez obtenir. Mais j'aime à penser que je garde de point de vue. J'cœur de Django, aussi.)