Choosing Drupal: Good for Nonprofits or Enterprise?
Drupal can be an appealing option for non-profit organizations or for enterprises who want to run their site on low-cost, open-source solutions. This article is a companion piece to the debate “Is Drupal good for NGOs or good for enterprises”.
This blog post contains the following information:
Drupal for Enterprises
– The Goods
– The Bads
Drupal for Nonprofits
– The Goods
– The Bads
PROS & CONS Affectance Charts
Top 10 Non Profit Websites Built with Drupal
Drupal is an open-source software used to create websites in an agile manner. It is powered by a very robust structure and codebase that makes it scalable and flexible. The platform uses PHP making it a simple process, where every task can be achieved without having to change the source code. Drupal is very powerful as it comes with inbuilt tools such as WYSIWYG and HTML editors, page building status, CSS, templates, etc which allow you to create a dynamic website.
The ability of Drupal to provide organizations with flexible, scalable, and secure platforms for online communication and collaboration is one of the key reasons for Drupal’s wide acceptance among non-profit, government, and enterprise organizations worldwide.
Is Drupal good for non-profit organizations or is Drupal good for enterprises? I mean, we can all agree that Drupal is awesome. It’s what powers your favorite sites like WhiteHouse.gov, NYTimes.com, and even TechCrunch.com! But is it really designed for nonprofit organizations or is it really designed for enterprises? This article will touch on that subject.
Drupal For Enterprises
According to a recent study by Gartner, large enterprise companies spend close to $130 billion on their websites. That’s double the amount most enterprise companies spend on their digital marketing. So it’s important to understand the process of choosing a content management system for your enterprise website.
The first step is to understand how much content you’ll need to manage. Second, get your online presence organized. And get it presented on the web in a way that contributes to your business goals.
Fulcrum Research shows that 80% of an enterprise’s content is unstructured, meaning it doesn’t fit neatly into the provided fields of a CMS form. In this case, you’ll need an ECM that can handle more than just text and images, like audio files and video files.
Enterprise Content Management Systems (ECM) are powerful tools with specialized features that help you manage and present your content—specifically unstructured content—in a way that helps drive revenue and improve customer experience.
Drupal is an open-source CMS (Content Management System). But can it be used for more than just a CMS? Does it have the modules and functionality to function as an ECM?
Easy User Management
Managing users on your enterprise website is made easy with convenient tools in Drupal. The flexibility of the Drupal enterprise content management system (CMS) allows administrators to shape the system to their business goals, and grant users specific permissions that align with their roles.
This is important because different departments need different controls over the website. For instance, the marketing department may only require permission to edit blog posts and the news section of the site, whereas more senior employees may need access to create new pages.
Fig.1 shows the user management module of Drupal (source)
“Users are the people, roles are their functions, and permissions define what authorizations those functions have. Setting these up incorrectly can compromise your website’s security,” says Acquia – a SaaS based solutions provider to Drupal.
If you want users to be able to create and edit content only within certain areas of your site, you might choose a module like Content Access that allows you to set permissions at a more granular level than Drupal core.
Possibility of Custom Content Creation
Custom content creation is important for enterprise websites. Why? Custom content creation allows you to create and curate content that is tailored to you and your customers, instead of having to rely on default templates and content structures that may or may not meet your needs.
Drupal’s CCK (Content Construction Kit) module can enable enterprise businesses to custom create their website content. The CCK module integrates with Drupal’s core user-management features, which means it’s not only easy for admins to create custom fields for custom content, but also easy for users to manage their own custom content without needing a lot of technical skill.
Drupal’s CCK module has a lot of flexibility in terms of what kinds of custom fields you can use to create your custom content. There are all kinds of options for fields like text areas, images, lists, numbers, taxonomies (tagging), and more. You can also create nested categories for complex categorization practices—for instance, if you have multiple types of content that should be categorized differently but need the same general categorization system.
For example, let’s say you’re designing a site for an enterprise business that sells shoes. You can create tags based on shoe type (boots, sandals, heels, etc.), brand, style/trend, color, size/width availability—you name it!
Better Admin UI
In the early days of Drupal, running a website on the platform required a lot of technical know-how and a willingness to put up with a clunky admin interface. But as the platform grew, so did its ease of use.
“Some admin panels are used by many, sometimes inexperienced users. Therefore, they need to be very well designed and intuitive to use with many explanations and tutorials,” says Christian Behler of UX Collective.
Fig.2 shows the Admin interface of Drupal (source)
One of the biggest improvements in recent versions of Drupal is the admin interface: it’s now responsive, streamlined, and more intuitive than ever. Plus, there’s a WYSIWYG back-end panel that allows you to edit your site without having to touch a line of code. And all your setting options are properly aligned on the admin homepage.
A good admin interface is crucial to enterprise websites because it makes life easier for those who are managing these sites. With the improved Drupal interface, you can avoid endless hours spent debugging or searching
for options—all you have to do is log in and get started!
Enterprise websites need to be built on top of durable, secure, and flexible content management systems (CMS). The problem is that many CMS can only be managed by experienced developers. Drupal, on the other hand, is a CMS that’s just as accommodating to developers with years of experience as it is to those who are just getting started.
Laying emphasis on the importance of coding, Douglas Rushkoff in his book says:
“Program or Be Programmed. Either you learn to program/code and thereby help steer your life (website) according to your interests, or you relegate the programming/coding/steering of your life (website) to others who will decide what your life (website) will be like.”
Thanks to the development community around Drupal, any developer with basic coding skills can easily dive into the project. That’s because Drupal has strict coding standards and guidelines to ensure that whatever you’re working on will work seamlessly with the rest of the site. The community also makes it easy for new developers to ask questions or get quick answers about how to overcome a specific challenge.
Furthermore, with Drupal, you’re able to add functionality through a set of hooks called Drupal API. The API allows you to extend your site’s core functionality and create modules that do just what you need them to do—all while working with core functionalities in place (rather than having to rewrite everything).
In short? Drupal lets you build what you need when you need it—and that’s exactly the kind of flexibility your enterprise needs.
At first glance, it may seem like a good idea to use a lightweight CMS that’s not so feature-heavy. After all, wouldn’t you want a system that’s easier to manage? But if you’re looking for web development companies in Boston that provide enterprise web development solutions, a CMS that’s constantly updated is what will give you the edge you need.
Drupal is an open-source, community-driven CMS. It was originally created for individuals who wanted a great platform for their personal websites and blogs. Today, it’s used by some of the biggest organizations in the world, including NBC Sports, NASA, and even the Grammy Awards site.
Because it’s community-driven, Drupal has new releases packed with features every six months. These releases aren’t just about fixing bugs or responding to security threats—they’re about streamlining workflows and making sure your website has everything it needs to be effective for your customers and your company.
The more feature-rich a CMS is, the more likely it’ll be able to serve as a framework for your enterprise web development solutions. Drupal makes enterprise web development easy because it gives you all the tools you need without requiring that you do any heavy lifting yourself.
Improved Technology Stack
Technology stacks are the technologies used to build an application. There are two main types of technology stacks: traditional and decoupled.
Traditional technology stacks are monolithic, meaning all technologies for the front and back end of a website are integrated into a single stack. In recent years, decoupled architecture has become more popular as it allows developers to work with the front and back end development separately and still work together.
Drupal is one of the most popular frameworks for building enterprise websites—and for good reason. It’s a flexible framework that supports both traditional and decoupled technology stacks, so it can support any site, no matter what you need.
Drupal’s multichannel publishing capabilities let you deliver your content in real-time without sacrificing security or user experience. Its structured data capabilities help you develop with less risk and make informed decisions about your business strategy. And lastly, its rich application ecosystem makes it easy to create native mobile and IoT applications that allow your users to have the best experience possible wherever they are.
Open Source Platform
When you’re building an enterprise website, open-source is your friend.
Open source means that the code is public and not owned by anyone, so it can be freely used, changed, and shared. Drupal’s community of developers has been contributing to the platform since 2001, which means it’s got over a decade of experience under its belt.
Fig. 3 shows the difference between Open Source and Proprietary platform (source)
That translates into some pretty powerful functionality—Drupal has more than 1800 themes available to use, as well as 24,000+ plug-ins that let you build custom functionality without writing any code.
There are nearly 1.14 million websites using Drupal for core content management functions—including Twitter, which built dev.twitter.com (a site dedicated to helping developers build apps on the Twitter API) with 750,000 Drupal developers taking advantage of its open-source nature and active development community.
Drupal is scalable and flexible, so you don’t have to worry about getting locked into a CMS that won’t grow with you. It’s compatible with Pressflow, a branch of Drupal core that supports advanced web server software like Varnish (a reverse proxy used by NASA). All this translates into lower ownership costs for you: no licensing fees and no installation fees!
Incorporating these tools into an enterprise website costs less than using proprietary software, while also providing advantages in terms of free updates, security patches, and more.
Additionally, Drupal’s eCommerce integration is second to none—you can seamlessly merge Drupal with Ubercart to start selling your products right away.
Not an Enterprise CMS (at least, it wasn’t made for it)
When Drupal was first created, it wasn’t intended to be used for an enterprise website. Instead, it was designed to allow small communities or organizations to create an online presence. It was a tool for personal publishing and collaboration.
Over time, the software matured, and its capabilities expanded. Now, Drupal can be used for a variety of website projects—including enterprise websites. Along the way, Drupal gained a lot of features and functionality that make it more adaptable to larger systems. However, with this generalization came some costs.
One of these costs was complexity. Because Drupal is so flexible, it has become a complex
platform with many components that interact with each other in different ways. The architecture is complex and often requires significant custom code to make it work well on large websites.
No Oracle Support
Drupal doesn’t support Oracle databases out of the box. That means if you don’t have a database administrator for MySQL, or your database isn’t running MySQL, you’ll be in for some trouble.
The community supports only one driver for using Oracle with Drupal: pdo_oci driver. This driver is known to have a number of issues with it, including not being able to handle multiple database connections simultaneously and not providing support for the full range of data types provided by Oracle. That means if you can’t use MySQL, your database team will have a tough time dealing with the pdo_oci driver’s various problems.
Module Spaghetti Code
Drupal is known for being highly customizable, but this isn’t always a good thing: if you don’t have a clear understanding of what your site needs, you can end up with module spaghetti code—a mess of modules that will slow down your site, make it difficult to maintain, and ultimately hurt your brand.
Planning your modules correctly from the beginning can save you a lot of time and heartache down the road. If you are working on a large project, like an enterprise website, it’s even more important to get your modules-planning ducks in a row before you begin developing. Otherwise, you may end up with what we call “module-spaghetti code.”
Fig. 4 shows rule card for the Spaghetti Code identification (source)
Module-spaghetti code happens when you don’t plan out your modules well in advance of beginning development. Instead, your modules grow in an uncontrolled way as the project grows. This results in a pile of code that has no rhyme or reason. It’s messy and hard to understand, let alone maintain down the road.
Therefore, when planning an enterprise Drupal project, you need to seek out expert advice on which modules you should use—and how they should play together in your final codebase.
Hook System Gets Overused
Drupal has a hook system that allows developers to modify the core code of the application, but this system gets abused by developers all the time. The hook system, in general, is very useful and it can be used to modify just about any aspect of Drupal. However, some developers tend to overuse the hook system and they never think about the long-term consequences.
The hooks that are implemented in one module might conflict with the hooks in another module, which will eventually lead to a maintenance nightmare. If you are working on a large enterprise website then you need to avoid these unnecessary conflicts at all costs.
In order to prevent these problems from occurring in the first place, you need to hire experienced developers who understand the technical limitations of Drupal. Most inexperienced developers think that they can solve just about any problem using Drupal hooks and that is not true at all. It is also important for you to hire a Drupal custom theme development agency for your enterprise website instead of using a generic theme that was created by someone else.
Complex Config Management
Drupal is a flexible platform that allows for customization, but that can be a two-edged sword when it comes to managing code for your site. If you’re developing on one machine and then pushing your changes to source control (via Git or other versioning systems) and then pulling them down on another machine (like a development server), you’ll have to configure a way to do so. It’s not enough to just copy and paste files—you need some kind of automation software like Jenkins in order to move your code from one place to another.
Even once you’ve done that if you have a complex deployment process with more than one development environment (like testbed environments) and then the production environment, you need to automate the process of pushing code from one place to another. This could involve multiple scripts depending on where the code needs to go.
Drupal has its own built-in way of doing this through the Features module, but it requires lots of tweaking and customizations in order for it to work correctly.
Speed Issues For Logged-In Users
Drupal’s standard rendering mechanism is based on a renderer service that is called while bootstrapping Drupal. This implies that all of the template data has to be processed through Drupal’s render pipeline, which can be expensive.
The processing of pages generated by Drupal is fast for anonymous users, thanks to a special reverse proxy called Varnish. When there are logged-in users, the speed gets low because Varnish and other reverse proxies are not made for managing user sessions. This means that you need to resort to your own caching implementation, which comes with a lot of extra work and adds complexity to the system.
Also, Drupal’s theme layer has some limitations when it comes to continuously delivering improvements. You cannot easily develop new features for websites served by Drupal or deploy them in an efficient way because you have to go through the entire Drupal render process and bootstrap every time you want to generate a single template.
Needs Manual Customization
We love Drupal, but it’s not really an out-of-the-box enterprise solution. If you’re using it, you’ll need to do a lot of customizations to really take advantage of its potential.
Now, if you’re a developer and love to play around with things and make them work exactly how you want them to work, then Drupal is perfect for you. You can integrate it with node.js (which we think is pretty cool) and get going. But for some people, the amount of work that has to be done in order to get your website ready for the demands of enterprise-level web traffic just isn’t worth it.
You should know that Drupal needs all kinds of modifications done in order to handle the demands of enterprise-level web traffic. You need to set up the server stacks for hosting environments, configure PHP opcode, utilize caching systems like Memcached or Varnish, as well as install Pressflow in order for everything to work properly together. And even then there are still issues that could arise when dealing with such large amounts of data being transferred at one time.
Drupal For Non-Profits
Drupal is a highly configurable, open-source CMS (content management system), which makes it a good option for many types of websites. But is Drupal good for non-profits?
Non-profits are typically looking for a low-cost option that allows them to customize their website and provide easy access to content. They want to be able to easily implement search engine optimization (SEO) best practices, and they want to make it quick and easy for site visitors to donate money and get in touch with the organization.
The remainder of this article will explore in detail some of the factors that determine whethe
r or not Drupal is a good fit for non-profit organizations.
The Securest CMS
When you’re a non-profit or NGO, you don’t have the time to waste worrying about your website’s security. You need technology to work for you, not against you. With Drupal CMS, you can rest easy knowing your donations are safe and secure.
Fig.5 shows the types of vulnerabilities that Drupal provides protection against (source)
Drupal is the only major CMS that complies with OWASP standards to protect against hacker activity. The Open Web Application Security Project (OWASP) is “a worldwide not-for-profit charitable organization focused on improving the security of software.” OWASP is a huge part of why we think Drupal is the best option for nonprofits and NGOs. Drupal’s core platform complies with all of OWASP’s standards, meaning that Drupal is built on a foundation that minimizes risk to your users.
It is one of the safest content management systems available, using TWIG language for protection against XSS attacks and other vulnerabilities. The Twig language that Drupal uses was developed specifically to be resistant to cross-site scripting vulnerabilities, which are when someone gets access to the data on your site by taking advantage of the input field.
This kind of vulnerability is a common way people get access to sensitive data like credit card numbers. When you use Drupal, there’s no need to worry that something like this will happen to your site or your users. This ensures that your donors can safely make transactions without worrying about their money disappearing into thin air (or worse—cybercriminals’ pockets).
Easy Integration with Third-Party APIs
Need a new way to raise funds for your cause? How about a new way to participate in your favorite charity’s annual 5K? With third-party API integration, non-profit and NGO websites can expand the capabilities of their platforms by connecting to payment gateways, CRMs, ERPs, automate tools, and more.
Drupal is an API-first platform that makes it easy to exchange data from server to server. This means that you can connect your website to major platforms like PayPal or Stripe—or even smaller and more specialized ones. Whatever the purpose of your site, Drupal’s API-first technology will allow you to do more with less effort.
Great Community Support
Non-profit organizations, NGOs, and charities are often pressed for time and resources, so it’s important to have a CMS that will help them make the most of what they have. Drupal is a great choice for these organizations because of its strong community support that contributes to the codebase and provides support.
If you need help with your site at any time, there are plenty of tutorials available through the Drupal community—and if that doesn’t answer your question, there’s always someone who can.
Additionally, Drupal is open source, which means it’s constantly being modified and updated as new issues arise. This is a huge advantage to an NGO or non-profit organization because having a CMS that’s constantly updated means they don’t have to worry about their site becoming outdated.
Ready-Made Templates & Web Starter Kits
Nonprofits and NGOs, by their very nature, have a lot of work to do, and not a lot of time or resources to make it happen. In order to be as efficient as possible and get the most out of their efforts, they need tools that are easy and ready to go. Drupal fits that bill.
Drupal is an extremely versatile CMS. It’s got a host of pre-built professional features that allow you to get your site up and running quickly. There are plenty of website builder kits (like YG Charity and OpenAid) made specifically for NGOs, so you can jump right in with a pre-made template that looks great—and doesn’t require you to hire a web designer or learn how to code.
Even if you’re interested in building your own site instead, Drupal makes it easy! There are so many web starter kits available (like the YMCA) that you don’t have to worry about starting from scratch. Instead, you can pick bits and pieces from elements of this kit for development. So you don’t have to worry about reinventing the wheel when there are plenty of wheels out there ready for you to use!
Low Maintenance & Operation Costs
Drupal is a cost-effective solution for any organization because it’s free to use. Drupal is an open-source platform, so you don’t have to pay for licenses. Also, all of the modules and themes are free as well. This means you won’t have additional costs for a new server or ongoing maintenance either.
Nonprofits and NGOs have limited budgets. They need to spend their money where it will make the most impact, so they can’t only focus on building the initial website. The money needs to go towards programs or services that are part of the mission statement.
Since Drupal is open-source and free, it allows nonprofits and NGOs to allocate more funds to their overall goals rather than maintaining a website.
Multilingual support can also help non-profits and NGOs extend their reach.
In the modern world, more and more people are on the web from all over the globe, and many of them prefer to browse in their native languages. With multilingual support for your website, you can present content in multiple languages, which will allow you to connect with a wider audience.
Fig. 6 shows Drupal multilingual capabilities (source)
Drupal 8+ comes with four core modules that provide multilingual functionality: Language, Content Translation, Interface Translation, and Configuration Translation. Together, they enable you to translate every part of your site—from the simple text of a blog post to the more complex configuration settings that are needed when setting up content types.
Useful Nonprofit Distributions
Of course, Drupal is not unique in this regard—many content management systems could be used to build a non-profit site. But Drupal stands out because of its community of developers behind it, as well as the large number of modules built by those developers and available for all to use. Thanks to this community effort, anyone can go on Drupal.org and download a prebuilt version of a Drupal site targeted at specific organizations or industries; these are called distributions.
Distributions are like cookies you buy at the store: they’re ready-made (you don’t have to make them yourself), they come in several varieties (there are many different kinds of distributions), and they’re already pretty good right out of the box (they include lots of features that can be used for your website). You can then customize them to suit your preferences (for example, if you want chocolate chips instead of raisins in your cookie).
So Many Ready-Made Modules & Distributions for NGO Sites
The NGO community is a wonderful one. When you’re looking to build a site
for social service, non-profit, or other charitable organizations, you want to be able to deliver on all the things that keep your organization running: integration with payment processing, event management, and fundraising campaigns. Luckily, the Drupal community has already built many of these modules for you to integrate into your site!
Donor Rally is a Drupal distribution that helps you set up and run a crowdfunding campaign. It makes it easy to track donations to your campaign, and it can be integrated with payment systems like Stripe or PayPal.
CityGroups makes it possible for people to find community groups based on location, which is particularly useful if you’re trying to get the word out about volunteer opportunities in a variety of different places.
CiviCRM Starter Kit is a multifunctional CRM for non-governmental organizations (NGOs). It has a built-in fundraising tool, social networking functionality for members, and an event management feature.
Open Outreach is another Drupal distribution that is designed to make your website user-friendly for nonprofits. It includes content types for event listings, media galleries, and FAQs; customizable forms; integration with Google Maps; and automated email notifications.
Springboard is Salesforce’s platform for fundraising and marketing campaigns. There are several different modules available: the base package provides features like mass emailing lists of donors and volunteers, while the “Springboard+” package adds more complex features like creating custom reports based on data from your website.
Townsquare module allows volunteers to track and manage their volunteer hours. It uses social media integration to allow these volunteers to share their volunteering experiences with friends and family, which can help promote both your organization and volunteerism in general.
Volunteer Rally helps nonprofit organizations manage and publish calendars of available volunteer shifts so that volunteers with specific skills can find the opportunities most relevant to them.
Watershed Now module was created to ensure that nonprofit conservation organizations can operate as efficiently as possible, both in terms of cost and operations.
OpenAid is another module designed specifically for NGOs that support small NGOs and projects with creating websites quickly.
Pathauto is a well-known module among Drupal developers that automatically generates SEO-friendly URLs for your web pages based on patterns you define.
No Guarantees of the Code Quality
Drupal is an open-source platform. That means that anyone can access the source code and make changes to it in order to build their own site. However, because anyone can do this, there are no guarantees about the quality of the code or how well the site will perform. In fact, in some cases, changes made by people who don’t know what they’re doing can actually cause a site to underperform or, worse yet, not work at all.
Difficult Content Editing
Drupal is also not well-suited for content editing functionality by non-technical users. The learning curve is steep, and complicated tasks such as adding images or embedding YouTube videos require more knowledge than your average content manager has time to learn. Additionally, because the editing interface must be customized (using Drupal’s modules and blocks) in order to make it more user-friendly, it becomes clunky and cumbersome over time as new features are added.
Developer is Needed for Site-Wide Modifications
Drupal is an excellent CMS for many applications, but it does not lend itself well to customization. This can be very frustrating for non-profits, especially those who are using their websites to generate donations. If you want to customize the form fields on your donation page, Drupal takes a lot of work. Even creating a simple “Join our mailing list” form requires custom programming and is not easily done within the CMS interface.
Is Drupal Good For Nonprofits or NGOs? The Final Decision
Drupal works well as a content management system for nonprofit websites because there are plenty of modules you can use to make your site look and work exactly how you want it to—without having to do any coding yourself. There are also Drupal distributions (also called “site kits”) that are built specifically for nonprofits, so all you have to do is pick the one that will help you best meet your goals.
Finally, the security of Drupal is the best in the CMS world, so you can rest assured knowing your content and users’ data are safe.
There are some cons to building an NGO website in Drupal. The first one is that it’s more difficult than other CMSs to build a site from scratch—especially if you aren’t familiar with coding. The second con is that development for Drupal is hard, which means it’ll be tough to find developers who can customize your site if you need them to. But fortunately, most of these cons can be fixed with distributions and modules made specifically for nonprofit sites.
Is Drupal Good For Enterprise? The Final Decision
There are things that make Drupal really good for enterprise websites. First, it has an assisted coding feature that allows you to create your own modules and features. Second, it has an improved technology stack that includes the latest software like PHP 7.0. And third, Drupal’s new theme engine is Twig, which allows developers to write cleaner code with less risk of introducing security vulnerabilities to their sites.
However, there are still some cons when it comes to using Drupal for enterprise websites. For example, the module system can lead to spaghetti code as you try to build up your site’s functionality—but if you’re careful about how you design your modules (in case you are a ninja developer), this shouldn’t be a problem.
Another con is the hook system: if you don’t use it properly, it can lead to problems with your site’s performance and reliability. And finally, there can be speed issues with Drupal in general: while the developers have improved the framework over time, the software still isn’t as fast as other options like WordPress or Joomla.
Top 10 Nonprofit Websites Built with Drupal
- Equal Opportunity Community Initiative
- Rotary International
- Doctors Without Borders
- Habitat for Humanity International
- World Vision International
- Human Rights Watch
- Save the Children Spain
- Great Ormond Street Hospital Children’s Charity
- The Wildlife Trusts
- Allard Prize for International Integrity
So if yo
u want to discuss how Drupal can benefit your Enterprise or Non-Profit, contact Mpire Solutions for a FREE Consultation.