I began my Drupal journey in very early Drupal 6. I learned by watching and doing what other "Drupal Guys and Girls" were already doing. It was overwhelming to say the least. But as I got into site building more and more I started noticing quite a few issues that repeated themselves on a regular basis. So as a "new guy" I brought these issues up to others in the Drupal community for magic answers to solve these problems. What I received most of the time was "it's just how it works", or "it isn't that bad"... or the dreaded "write a patch or module, fix it and contribute it back to the community". So I just accepted these issues as part of the playing field and went on my merry way to building more sites with the issues included.
I recall a saying I was taught that's one of those true "Drupalisms"... There's a module for that.
So as before, I continued building, learning, launching but now with the mindset of "There's a module for that" when I ran into a challenge or problem. This then became launching sites with original issues included, plus a slew of modules that were only there to fix issues. After about a year or so I decided to change the mindset and collect a series of original issues, modules I used to fix things and a new addition of: If I am doing these steps, most likely, everyone else building Drupal sites is doing the same thing. Once I completed this list at the time, I sat back and said to myself... there has to be a better way. This can't be the right way. Here are the original bigger pain points from the list:
- Do Drupal sites really need over 100 modules?
- Why do some modules coexist with others well, but not all?
- When I added this module, it broke a bunch of other displays.
- Why did the site white screen?
- I know Views well, why are they so slow when looking at the page?
- Why is Taxonomy allowing all these data entry errors?
- Why is Drupal hosting so expensive?
- Content editors are complaining of how hard it is to manage content.
Drupal core and a handful of modules can do amazing things if you change the site building strategy:
- Learn core thoroughly and fully understand what fields and field formatters can do for you.
- Become a Views master as quickly as possible.
- Rendered Entities and View Modes aren't always the best option.
- Most things Drupal gives you by default are not your friend. (ex; Basic Page, Article and especially... the shared Body Field).
- Cater the content interface to content editors, not a developer.
- Triple test permissions.
So what is my magic module formula as a site builder? Here you go:
- Drupal core (latest stable version)
- Admin Toolbar
- Ctools (Chaos Tools)
- Inline Entity Form
- Block Visibility Groups
- Business Rules
- Conditional Fields
- Field Group
- Draggable Views
- SVG Field Formatter
- Slick Views
Yes, you read that correctly, it is 14 modules in addition to Drupal core. Of course there are others that might become part of this list depending on the site complexity and launch needs, but in general, I can build most anything with this formula. How many others could be added you might ask? Tough question to answer, but I'll give you this fact... I've never loaded any more than 36 modules to any Drupal site launch. So to wrap this up, the hosting footprint of Drupal can be far simplified and shrunk down considerably. Drupal is a Content Management System so my opinion is that modules added should help improve the managing of content and the User Thought Process.