2014-03-24
During the past couple of months I learned quite a few things about Drupal.
I built several sites in Drupal 7, "themed" them and built modules to tie
things together.
For now I see the following good parts:
- several good, working modules which form the building blocks for
your site (e.g. views)
- drush is quite useful
- hooks and the resulting extensibility
- a lot of aspects of the system can be adjusted by defining
appropriate hooks within your theme or module
- a lot of things are customizable using the admin interface
- (module) code quality seems to be OK
Of course there are also a few drawbacks:
- the "data model" for the content of your site can be defined and
adjusted using the admin interface; you can add content types and
assign fields a.s.o. by clicking around; while this could be nice
for some use-cases, those things are not really "source-controllable"
(modules do exist to work around this but it still feels bolted on)
- a lot of other things (while defined within code) are saved within the
database too ... increases chance that DB interaction will be a problem
for your site
- there is a lot of indirection and magic going on (also due to hooks),
which can make "solutions" complex and difficult to build and to follow
- misses a more intuitive/easy admin UI
- there are a couple of problems with the translation system
- misses a good ORM/database migration tool
The above is not exhaustive of course.
Furthermore, Drupal seems to make more sense, the more features a site
needs or the less focus on one functionality a site has (brochure,
community, publishing ...).
Even though it's not all roses (there is no perfect CMS), I am glad that
I know what this Drupal thing is about.