Let’s talk about Drupal.
Drupal is the tool that has allowed me to build monumentally complex websites for clients that perfectly fulfill their needs. And the same tool that sometimes causes me to bang my head against a brick wall in frustration. Why? Well, complex tools to make complex things can get annoyingly complex.
The Right Tool
When a friend comes to me and says they need a basic website, I tell them to go to Wix, Squarespace, or WordPress.com. Wait, what? Yes. I tell them the tools to use for their needs. Sometimes I even tell a potential client that they should use non-Drupal tools. And then I use that other technology to solve that client’s needs.
Drupal is a tool. WordPress is a tool. Laravel is a tool. It’s important to know what tools are available in the toolbox and pick the right one for the job.
How many times do I have to tell you– the right tool for the right job!
All CMSs Do This
CMSs (Content Management System) like WordPress, Joomla, Wix, Drupal, and dozens of other systems out there, all love to tout what they can do. But let’s be honest: they all tout pretty much the same thing. They all do:
- SEO
- Template System
- Scalability
- Multilingual
- User-Friendly
- Security
- Multi-level user system
- Yadda yadda yadda
Do they solve these features in the same way? No.
In many cases, do these “different methods” matter? I could argue “yes”, but the reality is it usually doesn’t matter.
Those different methods add up, though. The more complex the site gets, the more likely these small differences will matter in big ways. Translation: “big ways” = “developer time” = “lots of $”.
Perspective: where most articles on common CMSs go Wrong
You can read blog post after blog post about WordPress vs Joomla vs Drupal. I feel that every web development agency writes one at some point. But most of those fail to take into account who’s building the website. Is it the small business owner solving it themselves or a growing company picking a development agency to build their next employee and customer portal system.
Comparing different CMSs is like arguing between Cupcakes and Cake. There are finer points to discuss regarding batter-to-frosting-ratio, ease of eating, sprinkles-vs-not, etc. We all agree we’re hungry now, right? Sorry.
A Drupal Baking Analogy
It can be hard to explain why Drupal is my system of choice. The easiest way to explain it is most CMS comparisons are like comparing Cupcakes to a Cake. Pick your preference and eat it. But Drupal is more like building the bakery that makes delicious baked goods. I can configure it so your company is making heart shaped cakes, towers of cupcakes, or printing your client’s logos onto individual cupcakes to make them happy. It’s really hard to compare Drupal to most CMSs because it should be contrasted to show how different it is.
Drupal is a tool to build complex websites
See, I’m finally circling back to Drupal and getting into the meat of it. Or rather… frosting :).
drupal has a strong Template engine
I first used Drupal because it had the best Template/Theming system. There were complex design requirements and Drupal’s superior template overrides were able to produce the desired designs without having to compromise. With web projects, compromise happens all too often. To achieve a goal, either the designs are changed because the system can’t support the design that is wanted or horrible, ugly things are done under the hood of the site to make the designs come to life. And what’s done under the hood usually comes back to haunt the website owner years down the road and causes more issues and costs.
But with Drupal’s Theming system, I was able to create complex designs without compromising the integrity of the system. It was a win-win.
Organizing content
Drupal EXCELS with organizing content.
Drupal calls it “Content Types”.
Sure a blog post can be a content type. But that’s a boring example.
Let’s define “City” as a content type. That city has “Neighborhoods”. Each Neighborhood has a leader in charge of it. And those leaders can track other content types within each neighborhood. Tracking total carbon emissions, reduced waste programs, etc.
WordPress can do something similar with Post Types. Where new types are set up with different sets of fields. But the similarities stop there. Because Drupal can also define how its content types interact with each other, WordPress can’t.
Drupal wins.
Permissions
The Drupal permission system leaves other CMSs in the dust. A Drupal site can have any number of Roles and Permissions created and configured across all content. Rather than explain, let me provide some examples:
- Let a user type create and edit their own content, but not content created by others.
- Let a client of the website owner log in and share sensitive files via a secure method. Let the website owner and client comment and interact online with each other. Each client can have their own silo of information.
- Create a Support type user that can perform all the needs of Customer Support from managing tickets, reset passwords, and creating new users. But also blocked from sensitive areas of the site or creating administrative users.
- Create an editor role that lets certain users approve content submitted by others.
- A translator role that when they login are presented with a list of content that needs translation. Either because it’s a new piece of content that is untranslated or because an editor modified an existing English language version of the content and marked the change as significant enough to require a tweak to the translation.
Drupal Views
When He-Man goes to Castle Greyskull, lifts his sword high in the air and yells, “I have the POOOOOWWWEEERR!”. He’s actually referring to Drupal Views. Yes, they are that powerful. Views deserves a book written about it, but I’ll do my best in this small blog section.
Views reach into every nook and cranny of your Drupal site. Views take all the possible pieces of the site structure and content and then allow a developer to build those pieces into whatever is needed. Views can provide a searchable, sortable list of millions of content pieces or single field in a specific area on a web page.
This falls under “you have to see it to believe it”. At CommonPlaces, Drupal Views are used constantly. As they were intended. We can use it to change the administrative parts of the site to better work with your company workflows. And we can output the content of your site any number of ways for your visitors. Armed with the built-in power of Drupal Views, we an accomplish a lot for clients.
API
Drupal has an optional API built in to allow other technologies to interact with it. Other CMS systems have API’s too, but Drupal’s can leverage the Content Types, Permission System, and Views discussed earlier. Those pieces are just as powerful in the API.
When would an API be used? Well, most anytime you want to integrate content between Drupal and another location: map data, user management systems, HR job listings, highly interactive web-based apps, or even mobile apps.
Community
Drupal is open source. All code is freely given from the community to the community. CommonPlaces gives back too. We have provided new modules to expand Drupal’s functionality, we have provided bug reports to other developers, and we provide patches to fix bugs.
I’ve heard it said that Drupal is free like a free dog is free. And that really does hit the nail on the head. The code is free. The knowledge of how to use it, how to modify it and shape into something amazing, that takes time. And we all know time is money.
It’s important to understand that there is a vast community of developers and agencies that use the Drupal technology and are there to support websites built with it for a long time to come. The Drupal community is always advancing the code and raising each other up.
Ease of Use for Companies
Most website engines are about powering the frontend of the site seen by their customers. Drupal, however, is just as configurable on the backend as it is on the frontend. Meaning that I can modify the backend used to manage the website to work efficiently for companies.
With the power of Drupal, I can set up users to have different roles. When those roles log into the backend, they are shown ONLY what they need. I’m able to define workflows for approvals and notifications. Different landing pages for different users to show them exactly when they need when they log in. We can even add helpful instructions on pages.
I’ve heard feedback from clients that switched from WordPress or Joomla over to Drupal speak to how much easier Drupal is to use for them. Not because Drupal is easier, but because the time was taken to make it easier for them. All with the tools already built into the system.
Summary of Drupal
If you aren’t a website developer you shouldn’t try to use Drupal on your own. I would argue the same for WordPress, Joomla, and other CMSs. Each has their own complexities that take years of experience to better understand.
CommonPlaces is always learning, improving and expanding our specialty of web development so you don’t have to build that same experience internally within your company. Instead, stay focused on your business and partner with the professionals at CommonPlaces.
We listen and learn from our partners and propose solutions that help you grow and be more efficient.