Our front-end stack consists of the following tools:
npm, manages all our dependencies and runs our build scripts.
post-css to modernise our CSS.
kss-node builds the styleguide.
stylelint and eslint lints our CSS and JS.
Browsersync is used for testing and CSS live reloading.
babel and rollup.js are used to transpile and bundle ES6 js.
We also store a number of script aliases in package.json to simplify the day to day task. This includes compiling CSS/JS and generating a styleguide. For example:
$ npm start
will automatically watch for any changes to .css or .js files, will build the CSS, styleguide, and live reload Browsersync.
KSS Node is a Node.js implementation of Knyle Style Sheets (KSS), “a documentation syntax for CSS” that’s intended to have syntax readable by humans and machines. We use KSS to generate our living styleguides.
We use Browsersync to speed up the feedback loop. Changes to CSS and JS are compiled and automatically sync’d with the browser, so you see changes immediately.
Maintaining coding standards
By default Linting is required for all custom CSS and JS files. This makes code reviews way easier, as we’re not having to pick up on style changes, and can focus on the meaningful changes.
When combined with DRY (don’t repeat yourself) approach to CSS in general, this ensures the Drupal theme meets current coding standards.
We use some alternative terminology as these are used in Drupal already (e.g. blocks and modules). They map to the original as follows:
# From SMACSS
module = component
submodule = variant
theme = variant
# From BEM
block = component
modifier = variant
CSS Structure and Categorisation
We like to compile CSS files into separate components:
# Custom variables; included in all other files.
# Base styles; resets, element defaults, fonts, etc.
# Layouts and grid systems.
# Form fields.
# Components; independently styled components that can live anywhere in a layout.
Testing for accessibility
We regularly run our Drupal theme through Nightwatch Axe to make sure we aren’t creating any accessibility errors.
The BigCommerce for Drupal module, created by Acro Media in partnership with BigCommerce, was released early this year and brings together two different platforms – BigCommerce, the open SaaS ecommerce platform, and Drupal, the open source content management system. The result provides a wonderful new way for retailers to implement an innovative and content-rich headless ecommerce strategy. If you use one and would like to have the capabilities of the other, the BigCommerce for Drupal module is the bridge you need. With this module, you can use Drupal as the powerful front-end CMS with BigCommerce as the easy-to-use and scalable ecommerce backend.
This post is a step-by-step guide for people who want to know how to install the BigCommerce for Drupal module and get started with both platforms. If you just want to know more about BigCommerce and Drupal together as an ecommerce solution, check out this post instead.
How this module works
Here’s a quick overview of how this all works. The BigCommerce for Drupal module integrates BigCommerce and Drupal together, but each platform is still used for different tasks.
In BigCommerce, you configure products, categories, shipping, taxes and everything else for the ecommerce side of your site. BigCommerce is also where you go to manage orders as they come in.
Drupal is then used for the website frontend and themeing. Product and category information from BigCommerce are synced to Drupal, importing them as Drupal Commerce products so that they can be displayed and used like any other Drupal-based content. Any non-commerce content is also managed within Drupal. When a customer goes to checkout, a BigCommerce checkout pane is embedded in the Drupal site to securely process payment and save customer and order information.
Setup BigCommerce and Drupal
On to the guide! Follow these steps and you’ll have your BigCommerce and Drupal store configured in no time!
This guide already assumes that you have the following ready.
A BigCommerce account and store created You will need to create a BigCommerce account with at least one product, shipping method and payment method configured in your BigCommerce store. Do this here, not in Drupal.
NOTE: BigCommerce currently offers a 14-day trial period, so anyone can go and create and configure a store easily for free. For this demo, I signed up for that and created some random products to use for testing.
A working Drupal 8 site You should have a Drupal 8 site with the Commerce module enabled and a default store added (via Commerce > Configuration > Store > Stores). You don’t need to do any other setup here yet or enable any of the other Commerce modules like checkout or payment. BigCommerce is going to handle all of this for you.
An SSL certificate for your Drupal site Your Drupal website needs to have an SSL certificate active for the BigCommerce checkout form to render. This is required because it ensures security for your customers at checkout, so make sure you install one.
BigCommerce for Drupal setup guide
With the prerequisites done, here’s what you need to do to the BigCommerce for Drupal connection made.
Step 1: Create a BigCommerce API account
Go to your BigCommerce store admin page and navigate to Advanced Settings > API Accounts.
Click on the “Create API Account” button and select “Create V3/V2 API Token”.
Fig: BigCommerce Store API Accounts page
Provide a name (i.e. Product Sync) and select the scope for each feature (i.e. if you don’t want the ability for the Drupal admin to modify the product information, you can set the scope for “Products” as “read-only”).
Fig: API configuration in BigCommerce
Click “Save” to save your changes. Once saved, you will see a summary and a prompt to download a file. Download it and keep it safe. Once you create an API account, you can’t modify the keys (but you can always make a new one).
Fig: BigCommerce API Credentials dialogue box
Step 2: Download and configure the BigCommerce for Drupal module
TIP: This module requires a bunch of other modules to work. To get the BigCommerce for Drupal module and all of its dependencies at the same time it’s recommended to use Composer instead of manually downloading it. Running the following command within your Composer-based Drupal project will get everything you need.
composer require drupal/bigcommerce
In Drupal, navigate to the module configuration page at Commerce > Configuration > BigCommerce > BigCommerce Settings.
Fill in the API Path, Client ID, Secret Key, and Access Token that you received when creating the BigCommerce API.
Hit “Save”. If everything is correct, you will see a message saying “Connected Successfully”.
Fig: BigCommerce Configuration page in Drupal site
Next, we configure the Channel Settings. This will create a storefront URL for you in BigCommerce which will match the one that is generated on the Drupal side.
Select “Add new channel” from the select channel list.
Provide a channel name.
Click the “Create new BigCommerce channel” button. You will then see a Site ID and Site URL on the setting page.
Fig: BigCommerce configuration page in Drupal
Now in the same Channel Settings area, click on the “Update BigCommerce Site URL” button. This lets you confirm that the URL generated is actually sent to BigCommerce, otherwise, the checkout form will not be loaded on your Drupal site.
You can also confirm the channel connection from within the BigCommerce admin dashboard by visiting the Channel Manager admin page.
Fig: Channel Manager storefront confirmation in BigCommerce
Step 3: Sync products, variations and taxonomies from BigCommerce
In Drupal, navigate to the product synchronization page at Commerce > Configuration > BigCommerce > BigCommerce Product Synchronization.
Click the “Sync Products from BigCommerce” button and ta-da, all the products, variations, and categories will be synced to your Drupal site in an instant. Alternatively, you can also synchronize via the following Drush command. Advanced Drupal users can use this command on cron to do automatic syncing.
drush migrate:import --group bigcommerce
Fig: Product Synchronization page
Fig: Syncing from BigCommerce in progress
NOTE: If you run into errors when syncing products, it is probably because you don’t have a store added in the Drupal Commerce module yet. Add one at Commerce > Configuration > Store > Stores.
TIP: Any time you make changes to the products in BigCommerce, visit this page or use the Drush command to synchronize the changes. Before syncing, you’ll also see a message telling you that updates are available.
Confirm the products have synced by visiting the Product page for Drupal Commerce at Commerce > Products. A list of all of the products brought in from BigCommerce will appear here.
Step 4: See the BigCommerce checkout in action
Now that everything is set up, go to a product page, and it to your cart and proceed to checkout.
If everything was done correctly, you will be able to see the BigCommerce checkout form embedded into your Drupal site! Hurray! All of the shipping methods, payment methods, tax calculations, and other BigCommerce store configurations will be seen in the embedded form here.
If you don’t see the checkout form make sure that your channels settings are correct and that you have an SSL certificate installed.
Fig: Drupal’s checkout page with embedded BigCommerce checkout form
Fig: Drupal’s checkout page after order complete
Once an order has been placed, the order information will be stored in Drupal (at Commerce > Orders) and will also be sent to BigCommerce (at Orders > View).
Fig: BigCommerce backend View Orders page
The BigCommerce for Drupal module is ready for production and available for all to use. When writing this guide, there were some additional notes that I wanted to share.
At this time, product management should always be handled within BigCommerce and then synced to Drupal. Currently, there is no option to bring back a product if you delete it on the Drupal side, so be careful.
A development roadmap for the module can be found here. It outlines future features and plans.
Acro Media is the development team partnered with BigCommerce that made the BigCommerce for Drupal module a reality. We have many, many years of ecommerce consulting and development experience available to support your team too.
If you’re interested in exploring Drupal, BigCommerce or both for your online store, we’d love to talk.
Editor’s note: This article was originally published on December 2, 2019, and has been updated for freshness, accuracy and comprehensiveness.
As a Drupal 7 user or website owner, it’s important to understand what’s next for your web presence as Drupal 7 and Drupal 8 reach their respective end-of-life. This guide will help you understand what to expect so that you can plan accordingly and get a sense for the resources you’ll need to allocate to upgrade Drupal 7 to 9.
How to export data from Views using Drupal’s Views Data Export moduleAkshay Devadiga21 Sep, 2021
Oftentimes, we may need to export huge amounts of data from views into files so that it can be used for analysis or administration by non-technical or technical users. Instead of creating a custom module for this, we can leverage the Views Data Export module which is available with a stable release for Drupal 7, 8 and 9 versions.
The Views data export module was designed to provide a way to export the large amount of data from views. It also provides a plugin for progressive batch operations which will improve your website’s performance.
When would you need the Views Data Export Module?
You would use the Views Data Export module for Drupal 8 and Drupal 9 if you want to:
Migrate content for different Drupal instances using migrate tools.
Perform a feeds migration – which basically does the migration with zero coding but using migrate tools we need to have a custom module with the migration scripts according to the business logic.
Generate reports using site data to analyse day-to-day interactions with the website.
Installing the module
It would be best to download the Views Data Export module using composer since the module has a dependency on the CSV Serialization module and other libraries. When you use composer for the installation, the dependencies will be automatically handled.
$ composer require drupal/views_data_export
Next, install the module as you would install any contributed module. Quickest way is to use the drush command line tool to install the module.
$ drush en -y views_data_export
This will install all the required dependent modules.
Let’s Set it Up
After enabling the module, in order to export the views we will first need to create the views and set up the export display with the necessary configurations. Check the detailed explanations for each step that you can follow:
1. Creation of the Views :
Create a master views display according to the requirements with the necessary fields and filters as needed. In our case, we have created the views for listing all the users in the site. Check image below for reference.
2. Creating the Export display :
After enabling the module we will get one more button to add the Data export display in the +Add attachment dropdown. Using this, add the display as data export it will create the new data export display by copying all the fields and filters from the master display.
3. Data export display configurations :
Export display has various configurations that will help in creating the data export of the views in various formats. See the below image that displays all the configurations.
4. Displaying the page with download button :
Once all the setup is done, save the view and visit the page. Now you will be able to see the download button in the footer region of the views which will download the data export with all the necessary filters if applied.
Are there any Limitations to this module?
Yes. One of them is that the Drupal 9 version does not support Excel/Xlsx format. Also, batch operations are fully supported only with MySQL databases.
With Drupal 8 and 9’s list of growing modules, there always seems to be a module for that! The Views Data export module for Drupal is one such module which is a very handy tool when you want to migrate your views results into CSV, JSON or XML formats. Thus saving you time and effort in writing custom code. Want to discuss with our Drupal experts about a new project that we could help you out with? We’d love to hear from you!
An extensive study on Create Once, Publish Everywhere (COPE) with DrupalMaitreayee BoraMon, 09/20/2021 – 16:16
People of the modern era have witnessed the impact of the digital revolution that has successfully connected the whole world through the medium of technology. Sitting at the cozy corner of your home you can explore the new cuisines added in your favourite restaurant nearby. How about going trekking this weekend? You can get an idea about the best treks with the help of information available over the internet. So, have you ever wondered how the digital content is maintained and made accessible to the large audience across various channels with every new update or information? Well it is made possible with the help of “create once and publish everywhere” (COPE) where you can just create the content once and publish the same in every digital format over multiple platforms, also enhancing the digital outreach. In this article, I will take you through the details of this significant term, C.O.P.E. with Drupal.
What is meant by create once, publish everywhere (COPE)?
Create once, publish everywhere (COPE) is a strategy that helps in content creation and distribution. With COPE, instead of creating content multiple times over multiple pages, you can manage a single piece of content in one place and publish it in many different platforms for either the first time or the hundredth. Due to this unique facility, more organizations are seen adopting the COPE model that helps in managing their increasing demands over content creation and distribution. Let us look into an example for better understanding. Assume that you own a fashion house and it has a very exciting website. Now, it so happens that you plan to change your business hours which are present in every page of your website. If your website has got 25 pages, does that mean you will have to make changes in all the pages? Not really. Because with COPE you can form a panel or a block which holds your business hours and can instruct your content management system (CMS) that you want that particular block to appear in each page of your website. So, now when you change your business hours, you will only have to change that particular block, and it will get updated over all the pages of your website with just one click.
COPE was first pioneered by National Public Radio (NPR) to make multimedia content sharing and publishing easy across various devices, email marketing, social media and many more. In regard to the significance of COPE, NPR states that with the growing need of digital content, the opportunities for content providers have increased massively. Therefore, to blow away the audience with amazing pieces of content, the content providers also require distribution platforms and APIs. But along with those, they essentially need to follow the philosophy of COPE which ensures content portability and modularity. Below is a diagram representing NPR’s content management pipeline and how it adopts the COPE principles. The diagram depicts the main principle that is to have content producers and ingestion scripts channel content into just one system or series of nearly tied systems. Also, it illustrates that regardless of content destinations, or its type, the distribution of all content can be done uniformly.
With the growing technology, the interaction between the customer and the brands are constantly changing. The users are no longer accustomed to the traditional way of using websites or applications. They are seen connecting to your brands via IoT devices, conversational UIs and wearables. With their exclusive requirements, the customers actively engage with the organization’s content and data over various platforms. Due to the increase in the different channels through which the content is shared, the marketing team felt the need of treating content more like data. The marketers started to conceptualize content in the form of html pages, however the page architecture cannot be applied to all of the content available today. So, here comes the need of adaptation towards the models of structured content. Treating the content like data helps the marketers to practice the approach of COPE across various channels, and executing structured content enables in extending an organization’s reach at the same time.
To get a better learning experience about “create once, and publish everywhere” (C.O.P.E) you can go through these informative sessions below.
Now, here comes the question, where do you find COPE? Basically, you’re running into such type of content over various websites you engage in. For example, Healthcare websites that are related to clinic locations, doctors. Retail websites where you can view products of your choice. News websites that are related to news or information. Entertainment websites where you can watch your favorite shows, movies and many more. Finally, to end with, recipe websites related to recipes and blog posts.
Why shall you COPE?
By far in brief you got an idea what exactly is COPE. Now, it’s very essential to know the reasons for implementing it. Since, it is a big initiative that requires time, technical resources and cooperation from various groups at your organization.
As we know that publishing content is just not limited to the web. With growing times, the number of systems and devices which consume content is increasing. Companies are seen publishing everywhere their content through digital signage, mobile apps, televisions and wearable technology as well. There is a need to make your content ideally scalable as you will have no time to manage your content in a different place for every output. So, having the capacity to create and update content in one single place is the best way to ensure scalability for a long term, and which is undoubtedly provided by COPE.
Provides growth with less resources
One of the important benefits COPE provides is that even with less resources you get the opportunity to grow and develop. A lot of money and time can be saved by not having the burden of creating different content for different platforms. Some of the companies who allow members from non-marketing departments to create content find it difficult to get those professionals to deliver and update content as per requirements. By executing COPE, some of these problems can be resolved as the duplication of content can be eliminated for different platforms.
Provides wider audience reach
COPE allows your organization to circulate content to a growing number of channels. For example, you might post a piece of content to your newsroom and associate it with some particular keywords or categories. Then the content’s summary will automatically be shown up on the newsroom’s homepage, on the main website homepage, and also in category-specific RSS feeds. Additionally, a link to your content and a summary will be shared on social-media automatically, also the users of your mobile app will receive a notification of the accessibility of the new content that can be read by them on their Android phones, iPhones, iPads and tablets. So, with COPE you have the facility of publishing your content over different mediums, also enhancing your audience reach at the same time.
With COPE you can make your content accessible to a wide range of platforms through various formats that allows the people with disabilities to consume content without facing any difficulty. Accessibility can be provided in various forms. This approach is just not providing content accessibility to vision impaired users but also to users who are reading impaired, hearing impaired, neurologically impaired and the ones who are technologically challenged i.e. having slow or no internet access at all. Therefore, all these issues can be solved with the help of this approach.
Provides easier redesign
The web design trends keep on changing frequently, so the organizations need to go through a comprehensive redesign of their sites within a few years or constantly get involved in making iterative changes to their websites. In cases like this, if you do not have the basic principle of COPE i.e. the separation of content completely from the presentation layer, then you will have to create the new design and then copy the existing content into the new templates manually which is so troublesome. But with COPE, by separating content from the design, you don’t have to be concerned about the migration process, since you have the option of applying a different presentation to your content.
Enhances content freshness and accuracy
Managing your content in multiple places can not just be dull and time consuming but it can degrade the quality of your content negatively. If you have to log into various systems to create the same content in just different formats, you might lack enthusiasm in creating fresh content which could bring a negative impact over your Search Engine Results Page Ranking (SERP). Additionally, handling different types of content in numerous places further makes it difficult to provide exact accuracy over all channels. So, all these risks can be handled well by the COPE approach. And the users will be enabled to enter content into structured fields that helps them to personalize specific sections for particular destinations and outputs. The content creation also can be increased by pulling in links to related content that is recently published.
What does it take to execute COPE?
This section will give you an understanding of what exactly it takes to implement COPE. So, let’s find out.
Separate content and design
The complete separation of content from the presentation layer is one of the primary prerequisites of COPE as you will have to produce your content in any presentation. One important thing to emphasize upon is the need for the appropriate CMS as it works as content capturing tools that are very particular about where or how the content should be viewed, be it a mobile app, web page, TV etc to completely separate the content from the display. You will have to be careful from the content management systems that can distract your content contributors from prioritizing upon publishing quality and fresh content.
Better structured content entry
Karen McGrane, a content strategist and website accessibility advocate explains the need for more structured content entry. She uses the terminology “dumb blobs versus smart chunks” in her talks around the world. So, dumb blobs are large pieces of content which are managed in one WYSIWYG editor that is similar to a Word document. With this there is a problem, it basically comprises your capacity to share content of different versions like condensed versions for a different website or a synopsis on a homepage. When it comes to executing COPE, content modularity is the key. It is the same as object-oriented programming that enables you to write your code in small, hugely reusable chunks. COPE essentially makes you understand that you need to be away from the dumb blobs and rather make your content entry forms even more smarter. You need to go beyond a monolithic WYSIWYG area by replacing it with much more structured data like content blocks, text fields and textareas, file choosers, pertinent metadata fields such as category, tags and keywords, summary and start and end date.
Both proprietary and open source content management systems are seen struggling with cross-site sharing of content. You need to evaluate whether your CMS is capable enough to share content across sites and pages, and also inspect how it enables content sharing by non-technical users. In case, if you want to move to another system, then it is very important to carefully inspect and examine, also test how the ones which you are assessing supports the content sharing over websites and pages. While evaluating your present CMS, it is imperative to carefully analyze how to produce a single piece of content in as many different formats as you require without duplicating any content. You will have to figure out whether your CMS allows you to manage as many different websites as you require and also publish your content to limitless destinations.
What are the challenges you face while coping?
Every coin has two sides, so with benefits also comes challenges. Here we will dive into the challenges you might face while coping.
For some of the organizations, executing COPE requires an extreme paradigm shift. Some of the contributors might be very protective about their content and hesitant to have it published beyond their control, while others might have a concern that the content which is irrelevant to their page may accidentally be pulled in. Additionally, COPE necessitates you to think differently about the content. For instance, rather than creating “big blobs” which do not allow you to share smaller chunks of content to various platforms, COPE suggests you break your content entry forms into various structured blocks and fields. And in result, it will be time consuming for your “WYSIWYG blob” lobby to get a proper understanding about how your organization and audience will be benefited by the shift.
Depending on your current infrastructure, you might need to make some investments. Let’s say, for example, all the content management systems do not support COPE, and executing a more new, more appropriate CMS also integrating it with other systems can be time consuming and require resources. Training all your content contributors also requires time, and considering that if you don’t go for a CMS switch, you will need to re-work your content entry forms to further allow users to enter content in a much more structured way to attain portability. Ultimately, you will have to ensure that you tend to separate the content from the presentation layer, also providing the contributors the facility to enter content in small chunks instead of big blobs via WYSIWYG editor. One more important aspect is the need to explain to the stakeholders about the requirements and benefits of COPE. With the help of examples of companies like NPR who have successfully executed COPE, you can convince your stakeholders to consider adopting the most essential COPE approach.
Too much COPE is troublesome
A very important thing to remember is that COPE doesn’t signify you to randomly push all content to all platforms. Excessive use of this approach will bring the risk of losing your audience as they will be provided with content that might not be relevant to them. Therefore, it is advisable to be very strategic and recognize which content is suitable to which platforms or channels. Content marketing tools and analytics can be used to understand in detail about the different elements of your target audience, also measure your content effectiveness and strategize your plan accordingly.
What is the right way to COPE?
We have now understood the significance of COPE with the above explanations but along with that we should also be knowing the right approach of COPE. So, this section will exactly guide you with it.
Understanding your users
Adopting a user-centred design approach will help you in preparing your content according to the mindsets and behavioural patterns of the users. By using proper research and testing of the users preferences, you can provide your audience a seamless multi-channel experience of useful and relevant content.
Reviewing your tech stack
There is a necessity for a strong technology infrastructure, and the right content strategy that enables in delivering at the right time, the right content to the right person in the right format. To provide such a seamless delivery there is a need for a very sophisticated content management system that can easily identify which device your website or applications are being viewed on and also adapt what’s displayed suitably.
Refreshing your internal and external resources
One of the important aspects that mostly gets unnoticed is the internal culture and processes. If your teams are busy working in silos then you won’t be able to get a clear and complete picture of the content creation that would further lead to dissatisfied and disaffected customer experience.
Getting in touch with your stakeholders
Stakeholders are a very important part of the project’s success. You cannot afford to miss the opportunity to contact them at the early stage when you decide to adopt the COPE approach into your business. There is a need for transparency between you and the stakeholders where you can explain to them the significance of this approach and how hugely the business can be benefited by adopting COPE.
Establishing high-level goals
At the beginning it is important to recognize your analytics and know where you exactly want to head towards. Without making them your sole focus, you need to have a SMART that stands for ‘specific, measurable, achievable, relevant, and timely’ goal for your business.
Documenting your future plan
By hitting the ‘Publish’ button on your website, you do not finish your responsibility towards COPE. Since your work towards the web can never be finished. You will have to boost up your team by having frequent discussions where they can document all their plans, marketing strategies to meet the team goals and objectives. Things like identifying how and when the content shall be governed across the website needs to be looked after closely for better outcomes.
COPE with Drupal
It is well known to us that the digital networks consist of a variety of applications, and therefore all your organization’s can depend upon Drupal as the platform for content creation. So, by adopting an API-first architecture, Drupal can empower all your digital systems. Organizations are seen selecting a decoupled Drupal approach for various benefits. Headless Drupal or Decoupled Drupal uncouples the back-end which is accountable for presenting content, enabling Drupal to display content to other front-end systems, also allowing digital tools to utilize the tools of their convenience while sharing content over various channels.
Here, we will now look into how decoupled Drupal works. The developers with decoupled Drupal architecture gets the option of working with Drupal in the following modes.
With a completely decoupled Drupal approach, Drupal’s back-end serves as a decoupled CMS, managing and storing data, also availing it to the front-end systems of the developer’s preferences to deliver the content and communicate with Drupal via web service APIs.
Drupal can be an excellent CMS for editors who need to have control over their content presentation and also be a rich headless CMS for developers building huge content ecosystems in one single package. With the help of the below diagram, you will get a clear understanding about the difference between a traditional Drupal site and a headless CMS.
The headless CMS steps back in the areas like in-context administration and in-place editing of content while Drupal focuses on allowing an editor to manage content and page structure in an interface beside a live preview instead of an interface that is entirely separate from the front-end user experience. Headless CMSes are unable to provide a full-fledged editorial experience which is integrated into the front ends to the ones they serve content. In order to make the marketers successful there is a need for a proper display and layout manipulation. But headless CMSes do not hold a strong opinion about display and layout settings and therefore fail to provide the required assistance to the marketers. Whereas one of the key features of Drupal is the capability to control where content appears in a layout structure. One more facility that editors and marketers want is the access to an easy preview system for the unpublished content. But in the headless CMS paradigm, developers will have to come into the picture to deliver a seamless preview by setting up a new API endpoint and deploying a distinct version of their application which issues requests against new ways. Therefore, headless CMS lacks in providing a seamless preview to the marketers and editors as there is an interference of the developers without whose assistance they cannot preview the content on their own.
So, from the above discussion it is clear that the features provided by Drupal are simply unique in comparison to other headless CMSes. Therefore, Drupal is certainly the first choice for an editor and a developer who enthusiastically look forward to working hand-in-hand with the latest technology and trends.
If you want to sustain your content management for a long-term, then all you need to do is adopt the COPE framework. This approach will need you to change your perspective towards managing your content to make it available to a wide range of audiences through multiple platforms and channels. And implementing COPE with Drupal will be the best way to ensure your organization the route to success.
An Easy Step-by-Step Guide to Writing Your Own Custom Drush 9 (and 10) CommandsSanthosh Kumar16 Sep, 2021
Top 10 best practices for designing a perfect UX for your mobile app
If you’re a Drupal professional, Drush needs no introduction. But if you’re just starting out as a Drupal developer or keen on learning about Drupal, you should know that Drush is something you just CANNOT ignore. Short for “Drupal + Shell”, Drush is a Command Line Interface (CLI) tool made exclusively for Drupal. With Drush, you can set up new Drupal websites quickly and easily work with the Drupal installations. It helps you streamline your development and administrative tasks thus improving your productivity.
Drush 9 and Drush 10 core comes shipped with tons of helpful commands that helps you interact with themes, modules, profiles, etc. Some useful commands include – SQL commands, exporting or importing configurations, updates, migrations, cron or clear cache, and much more. It is also extremely extensible, in that you can create your own custom commands. In this article, you will find more information about how to create custom Drush 9 and 10 commands in an easy step-by-step process.
Note: Drupal 8.4 and higher support Drush 9, while Drupal 8.8 and above support Drush 10.
Drush and Drupal Console
Although Drush and Drupal Console are both super useful CLI tools that make developers’ work easier, they are often used in different scenarios. With Drupal Console being the most recent addition to the Drupal world, it is a very useful tool for new developers to cope up with Drupal’s infamous learning curve. However, our take would be to use both Drush and Drupal Console as when put together they can do so much more in speeding up development and boosting productivity.
While Drupal Console lets you create custom modules, services, entities, boilerplate content, debugging and more, Drush lets you perform more basic but foundational tasks. These tasks include installing Drupal, interacting with the installation, exporting and importing configurations, download and update contributed modules, Caching, update the database, run cron jobs and much more. For more details on each of their features, please refer to this guide.
When would we need to Create Custom Drush commands?
Although there are many Drush 9 commands that are ready to use for various functionalities, there are always times when they’re not adequate. We create custom Drush commands for many database related processes like entity field value updates, DB updates, importing or exporting data to and from Drupal, and other bulk processes. Also, when we have secure methods to be called, we can opt for Drush command implementation.
How to Create a Custom Drush Command
The previous versions of Drush the implementation of Drush custom code followed different models. It was based on the hook_drush_command() and made use of .inc files.
In Drush 9, we will no longer use the .inc files or the hook_drush_command(). Drush commands will now be based on Annotated command format. This changed the fundamental structure of custom Drush commands.
Step 1: Create a module
Create a .info.yml file
Step 2: Create a service using services.yml
Create a .services.yml file
Step 3: Create a Drush service class
Now let’s extend the DrushCommands base class.
Path to the class file should be:
Under this class, each method can be a command function if it is properly annotated.
Now let’s clear the cache to flush all caches with this command:
Start using the new custom command you just created:
Note: Multiple options added, as options is an array value.
The implementation of custom Drush commands will be useful in various scenarios like to run secure methods and bulk processes which exceed normal Drupal execution time and memory. For more complex and heavy processes, integrate Drupal batch API in the Drush command and execute it. If you found this useful, consider signing up to our newsletter to have our regular articles get delivered straight to your inbox.
Looking for assistance in building compelling Drupal websites that can deliver successful results? Get in touch with our Drupal experts today!
As a Drupal developer you don’t always have the time or resources to spend on designing the things you build. In this blog post I will share a few easy to follow guidelines that will make your work instantly look better.
Drupal for Every Industry: Serving Needs and Fulfilling DemandsGurpreet KaurMon, 08/23/2021 – 21:41
Digital transformation has become integral for businesses that want to stay afloat today and that includes every organisation in every industry. A powerful online presence that can cater to whim and need that today’s dynamic business world can throw at you is imperative.
To make that happen, you need an equally powerful software to strengthen the foundational aspects of your online businesses, so that you can constantly keep it evolving and up-to-date with the current trends. And that is where Drupal comes in.
An open source CMS that is equipped to handle all your business requirements specific to your industry and geographic region makes Drupal the perfect fit for all businesses.
In the twenty years of Drupal’s existence, it has taken over the world. The web development domain is more or less incomplete without it. The image above clearly shows Drupal’s presence in countries that are spread over 4 continents.
The Drupal Business Survey 2020 reported the top ten industries where Drupal operates. The leading sector with the maximum respondents was education, accounting for 61.4% of all Drupal projects. While the telecom sector increased its use of Drupal, for arts and culture and charities and non-profit the story was the opposite.
It is an irrefutable fact that Drupal is a pro in identifying and providing features and opportunities that make an organisation stand out in its niche. That is why the CMS has spread its wings all over the business world, leaving no industry untouched.
And that is what we are going to be discussing today, how Drupal provides for every industry and how its versatility has garnered the most influential clientele in each sector. So, let’s begin.
Drupal Features: Catering to Every Industry
Drupal is one of the finest CMSs in the market, with features that are beyond reproach. However, that isn’t what makes it close to perfect. The reason for Drupal’s impressive success stories is its ability to provide for every use case.
Yes, Drupal has flawless features, but it also has ample of them, making it a truly versatile CMS that can be used to cater to any and all needs an industry or business may have.
Let’s look at them now.
Open source software community
Being an open source software, Drupal has a strong community to support its endeavours. And by strong I mean close to a million members. Much of the development of the software can be attributed to its community along with its security.
If you are a Drupal developer, you can easily leverage upon the knowledge and solutions curated by others in the community. Any question that you may have would be answered by the community. In simple words, the Drupal community is equivalent to perpetual support for Drupal projects.
Drupal works on the LAMP stack, which is Linux, Apache, MySQL and PHP. All four of them are individually powerful, but together they are more than that. This robust stack can guarantee you that your digital experiences would be flexible, agile and fast moving, so much so that they might seem future-proof. Security
There isn’t a CMS that can beat Drupal in terms of security, some have come close though. Drupal’s out-of-the-box ability to counter the most detrimental vulnerabilities on the web that too with ease makes the previous statement true. From providing you the means to gain secure access, to control your user permissions and to implement data encryption, all account to a more secure site. To know more, read about the open source security and the must have Drupal modules for all your website security needs.
Scalability and performance
In terms of scalability and performance, Drupal manages to shine as well. Performance is usually associated with lesser load times, and a software that can make that happen even with a massive proportion of traffic spikes is what any industry should look for. And Drupal does just that.
These are the two standards set by the world wide consortium that need to be followed to the T to make a site universally accessible. And guess what? Drupal adheres to both of them, and that too quite stringently. Its default features like alt text and drag and drop functionality are examples that are bound to convince you of the accessible nature of the CMS.
Be it content authoring or content architecture, Drupal aces both of them to provide a seamless content workflow for you. Features like the WYSIWYG editor along with a stronghold on permissions and authentications, you can rest assured that your content authors, publishers and site admins will have access to the things they need and not the ones that are beyond their clearance level.
Drupal’s headless architecture is another game-changer. It lets you separate the development of the backend content from the frontend presentation layer. While the backend would be pretty much all Drupal-centric, the frontend could be anything you like, be it JS frameworks such as Vue, React or Angular or static site generators like Metalsmith or Gatsby.
You can choose to not use any of the Drupal features with a fully decoupled architecture, however, if you want to keep some Drupal functionality on the frontend, you can choose progressively decoupled Drupal architecture to get the best of both worlds.
Drupal out-of-the-box has plenty of features to keep you satiated, but it cannot compensate for every tool in the market today, hence the need for Drupal integrations. The CMS is efficient at integrating itself with other tools and technologies, so that you can work with the best tools available today.
Mobile-first approach and mobile app delivery
Another one of Drupal’s fortes is being mobile-first. What this means is that Drupal always prioritises responsive designs that can adapt to the screen size they are being viewed on, so that you users receive an optimal user experience.
Businesses and industries aren’t bound by geographical regions anymore, they have a global reach today. And a global presence usually comes with multilingual needs for local sites. Drupal provides 90+ languages you can choose from to create translations that are not only restricted to the content, but also transcend to configurations, so that your local admins can work efficiently. Read more about Drupal’s multilingual capabilities here.
Like a business isn’t bound to one language, it is also not bound to one site. With multiple business branches and departments, organisations often have a site for each of them. These sites usually look alike with similar features and aesthetics. And that is where Drupal’s multisite feature comes in. You can create hundreds of sites using the same with a single codebase for easy management and minimal development time. The sites would be similar, but they would have a unique individuality too. Read this complete guide on Drupal multisite to know more.
Geolocation; Behaviour taxonomies; Device types; User personas; Browser history;
All five of these help an organisation understand its consumers better and provide them an experience that is personal to them. And Drupal can capitalise all five to help you apprehend your user’s and give them a personalised digital experience.
The SEO trends in 2021 are not going to be similar to the trends in 2020, do you agree? So, for optimal results in the SEO domain, you have to be able to get the most out of the present scenarios. And Drupal does just that. Of course, the CMS has umpteen SEO modules that would cater to most of your needs, be it links or sitemaps. However, its ability to adapt with changing trends pertaining to search intent or web automation takes the cake here. To know more, read this definitive guide to Drupal SEO in 2021.
Migration and upgrades
To be honest, up until recently Drupal migrations and upgrades were a pain, a pain that could suck the life out of you. But no more! With the roll of Drupal 9, upgrades have become as easy as easy can be. With a few simple tweaks here and some minor updates there, you can click on the update.php button and be done with the upgrade. This kind of ease is needed for businesses which cannot afford to be distracted by an upgrade for a longer span of time.
Marketing automation, like the name suggests, is a great tool that allows marketers to automate their job. For Drupal, marketing automation equates to real-time sales alerts, the management of consumer data, the tracking of your site’s traffic and streamlined workflows amongst other things. And tools like Marketo MA, Pardot and Hubspot with the integration with Drupal help the CMS provide much more advanced features in this realm.
Now that we know everything Drupal can accomplish, let’s take into account the same features and more in regards to the various industries Drupal provides for. We’ll be looking at the different business sectors individually and see if there are specific Drupal features that make it ideal for that particular sector, followed by examples from the same industry where Drupal has worked its magic.
Ecommerce and Retail
The best place to start the industry conversation has to be the online retail therapy. Yes, I am talking about the ecommerce, retail and distribution sector. Although they might be considered different, they function in much the same way and it is a sector that is valued in trillions.
So, what does Drupal have to offer that is unparalleled?
Well, four things actually.
First is Drupal Commerce, it’s a tool unlike any other, which acts as a one stop destination for all things ecommerce. From payment gateways and tax calculations to unique product pages, it can do it all. And ecommerce sites are thankful for it.
Third is Drupal’s ability to scale with ease, which comes in handy when ecommerce sites experience traffic spikes during sale season.
Finally, the delivery of content on multiple channels with easy content authoring experience even on mobile devices only adds to Drupal’s compatibility with ecommerce platforms.
Eldum Rett is a leading food delivery and subscription service provider in Iceland. With an annual turnover of 7 million USD, it needed to provide exemplary service to its thousands of consumers to maintain its momentum and grow simultaneously.
The brand needed flexibility to enhance its user experience and with Drupal that was pretty convenient. It was transitioning into a new native app that could handle the complexity it wanted to build on. Drupal provided a ton of functionality out-of-the-box and you could add on it as well and that’s what Eldum Rett wanted. It leveraged Drupal’s impeccable ability to extend itself through its APIs and Eldum Rett was able to launch itself.
King Arthur Baking Company
When you think about baking, your mind instantly moves to recipes that could help you a great deal during family events. These recipes are what King Arthur Baking Company wanted to prioritise. With a history of over 200 years, the brand wanted itself to be associated with making people fall in love with baking.
So, Drupal was chosen to help the business realise its goal as the CMS checked all the right boxes. It prioritised recipes, so that the experienced bakers could browse, save and print any of the 2000 recipes and the new bakers could get a step by step on a clean recipe page without any confusion.
Furthermore, Drupal also provided scalability and better performance along with an innovative flair for the future.
Fintech, Banking and Finance
If there is an industry that needs the most heightened level of security, I would say that it is the banking sector. Amongst all of the open source and even proprietary CMSs, Drupal’s robust security measures are almost unmatched and for sensitive financial data, you cannot settle for less than that.
A leading name in the fintech industry and one of the top five equity firms in the world, the brand needed an equally powerful companion for its online presence. As a fintech company it needed two things;
An easy and natural editorial experience;
And bulletproof security;
Both of which rank quite high on Drupal’s repertoire of features. With the successful fulfilment of the project, The Carlyle Group was able to attain more leads, heightened session durations and increased organic traffic.
One of the oldest and largest mutual banks in the United States, the Eastern bank needed a solution to revamp its brand among other things and Drupal could provide them all.
The bank chose Drupal for several reasons.
Being a banking institution, it had a lot of sensitive information and Drupal offered a semblance of a guarantee in terms of security along with testing prior to an update.
The bank had a number of campaigns that were being managed in several different microsites, Drupal’s multisite feature resolved that too.
The need for flexibility in content editing and control over user access were also provided by Drupal.
Finally, the site had to be accessible, and Drupal’s accessibility features ensured that the project got an AA level clearance.
I say high tech, but I mean technology that is constantly updating and evolving. Do you agree? And for everything that is dynamic, there can’t be a better choice than Drupal.
The CMS is synonymous with concepts of flexibility and scalability, making it provide for the business sector that is focused on advanced technologies. These two examples will tell you why.
Olympus Learn Center
Olympus is a world leader in creating digital and optical solutions that make our lives healthier, safer and more content. Having been founded over a century ago, the business is still a pioneer in the high tech sector.
It needed a consistent and flexible technology to provide an enhanced user experience that was a sumtotal of its modern design, stability and an elevated performance.
Hence, Drupal was chosen. The platform was highly scalable and mobile first, with thousands of modules that were continuously enhanced and improved by its open source community, which meant whatever the solution was, it was definitely going to be long-term and it was.
CloudHealth Tech is known to manage entire cloud ecosystems for businesses and that too cost-effectively. It was intended to be a massive source of lead generation for its clients. So, to be efficient it took to Drupal.
Drupal is as agile as it is flexible. This ability makes supporting marketing initiatives quite handy. Add to this, the CMS’ offerings in the form of high developer velocity and an pretty convenient editorial experience, the result is nothing short of exemplary.
CloudHealth was able to transform its blog completely with more than 100% increase in pageviews and users. That’s the power of Drupal.
What is the first thing that comes to your mind when thinking about a government website? For me that is security. If a government site isn;t secure, the repercussions could be colossal. Don’t you agree?
The next thing is accessibility, the government is for all the citizens. So, it needs to take account of its disabled citizens too and that can only be done by complying to the web accessibility standards.
Let’s take a look at the one such government site having built on Drupal.
City of Boston
The City of Boston site was quite old and way behind time and it needed a major revamp. Drupal was chosen as the CMS for the rebuild for many reasons.
Drupal’s open source community was one of the major reasons, as the massive developer pool could help the site in maneuvering the changing environment.
Drupal also religiously complies to accessibility standards, making the boston.gov get to AA compliance on accessibility.
Drupal’s iterative approach towards development was also a parameter.
Drupal’s mobile first approach made it quite responsive to all devices, since that was a priority, Drupal became the ideal choice.
The site owners also wanted the website to be interactive and engage its audience in future developments and that is exactly what Drupal made possible. With over 600 emails received from the constituents, about 88% of them suggested ways to improve the website.
The City of Boston website has come a long way with Drupal at its back.
Sports, Music, Arts and Entertainment
This is a pretty diverse sector, but one that has pretty much the same needs and requirements with a tendency to experience massive traffic spikes.
For one these websites need integrations, and bucket loads of them, to provide features and experience one software alone may not be able to.
And second, they need content capabilities that are beyond average with editorial workflows that help content creators instead of burdening them.
A profound sense of flexibility; And the adaptive ability to add on any possible feature through an API framework;
These two pretty much sum of the project that led to the development of The Beatles Official Website. It needed just the right controls of content curation and user registration along with aesthetically pleasing themes that also served well on the technical front, plus the addition of a suitable hosting architecture; all of which Drupal was pleased to provide. And the site turned out to be pretty amazing.
Being scalable; Being content-rich; Being secure; And being able to easily manage assets;
These were the requirements of the Sport England website and Drupal excelled at fulfilling all of them. The layout builder module helped with the content and custom solutions, the API integrations added further functionality and the ability to manage the site without much technical assistance made the site owners quite happy.
Travel, Tourism and Hospitality
When you go to a travel and hospitality site, what are the things that you look for? For me, there are plenty of different aspects that need to suit my palate before I settle, call me picky if you have to.
The site has to have to right content, some even personalised for me and my needs;
The site has to be one of the top ranking ones on Google because I am not going to scroll all the way down and book the last result, so being SEO friendly is needed;
The site has to be easy to navigate, so that I can see it in all its glory without getting lost in the maze;
The site has to be mobile friendly, I would not always open it on my laptop;
The site has to have secure payment gateways;
And finally, the site should be multilingual, I must be able to read what’s on there to get dazzled by it.
VisitTheUSA.com is a site under Brand USA. It needed to come out of its proprietary software’s limitations and test Drupal without any licensing costs and a boundless scope of development. And Drupal did not disappoint.
The project, upon its completion, had everything it had set out to accomplish.
It was able to optimise the frontend performance as well as build the majority of the features outside of Drupal.
It was able to capitalise on Internationalism and get seamless translations without any hassle of writing a new code.
It was able to get the right trip planning tools from integrations with Instagram and TripAdvisor.
And it was able to provide interactive features to its audience.
Lonely Planet is a renowned travel company with a multitude of resources, ranging from guide books to web content and mobile apps; it even has its own travel community.
With that kind of presence, the brand had bucket loads of content that it needed to be managed. And when content management is in question, you do not have to look further than Drupal. And add to that Drupal APIs and its decoupled nature, you have a winner on your side.
Drupal provided an impeccable control over content architecture;
Drupal as a content repository is pretty much perfect and synced marvelously with React in this case;
Drupal also provided a versatile migration API.
Manufacturing and Energy
There aren’t any specific features that need to be in a manufacturing and energy business. For manufacturing, the features usually coincide with ecommerce and retail because if you are to build, you are going to sell. And energy companies are usually more on the lines of being informational, so the needs usually pertain to content workflows being flexible.
American Council for Energy-Efficient Economy
As the name suggests, the company is bi-partisan non-profit that promotes energy-efficient solutions and strives to fight climate change.
For its website, it needed to provide a mobile-friendly experience to its audience. Since Drupal 8 is all for being mobile-first that was an easy win. It also needed content features that were flexible and incorporated imagery, and Drupal can provide that too. Using the CMS, ACEEE was able to achieve easy content filtering for searches, have topic pages and share events, both from the present and the past. All in all the user experience improved by a substantial amount.
The brand is renowned for printing bespoke numbers for sporting events and being the supplier of the London 2012 Olympics.
Their site was already built on Drupal 6, all they needed was to get the site upgraded to Drupal 7 and a few additional functionalities.
One of them was the automation of the ordering process, which had to be intuitive for novice users and be an advanced version of the somewhat antiquated process they already had.
And second, they planned to go global, so the site was to be built to scale to accommodate the hike in traffic going global would entail along with additional languages for the better reach.
Real Estate and Urban Planning
Real estate and urban planning, both are associated with infrastructure, but the former is self-owned and operated and the latter is government run. So, their needs tend to be a little different.
While real estate sites are all about aesthetics, minimal themes and more importantly, a massive image gallery, urban planning focuses on people and tries to hear them and make them feel heard. Let’s find how Drupal caters to these two.
Talk London does just that, it allows Londoners to talk with the authorities at the City Hall and do their part in formulating urban planning strategies.
The goal was to create a secure and engaging site and that was easy with Drupal. The user generated content functionality was enhanced along with adding email notifications and flexible content layouts. And the result was an increase by a third in subscriptions in 2021.
Domu is a website that offers real estate listings to rent in the Chicago area. From lofts, houses, apartments and condos, it has a pretty wide selection.
Domu wanted simplicity and ease for people looking for rental space and the landlords looking to post their properties. So, it decided to overhaul it existing design for a more breezy one.
Emphasis was placed on;
Adding more functionality for landlords;
Providing previews to them:
Making listings more informative, with area, neighbourhood and property names;
Making updates to existing listings easy;
And giving tutorials for posting images of the properties.
Beauty, fashion and blogging
Not to sound like a broken record, but there aren’t any specific features pertaining to these sites that would make them different from the rest of the sites. The beauty and fashion industry may align with the retail and ecommerce sector. However, the blogging sites are a different story, they are considered one of the simplest, if not the simplest, site to build.
If you are into beauty, you must have heard of Estee Lauder, being a high-end cosmetic brand. And it chose Drupal for its decoupling ability, so that it could use the CMS to separately build its learning management system. As a result, its learning platform could create resources without conducting classroom sessions and train people at different locations and not have to repeat anything. The availability over online and offline mediums removed any further restrictions.
The brand also took advantage of Drupal’s multilingual properties, built the site to scale and found a resolution to monitor user performance.
This is a blogging site solely dedicated to everything associated with 007, from his apparel and accessories to his adversaries’, you can know everything about the Bond movies.
With Drupal, the site was able to gain all the right functionalities needed for a successful implementation. These included;
A picturesque homepage;
A product overview page with a content list for easy perusal;
A detailed product page;
And organised content with Drupal taxonomies.
Startups and small business
Startups and small businesses have one thing in common and that is the fact that they do not have large amounts of cash rolling out. They usually work on a limited budget and Drupal can handle that pretty well. Since it is open source, there are minimal costs and zero licensing fees. If you have certain knowledge of the CMS itself, you can build a site for free.
Here are two small businesses that are pretty close to being startups with very different reasons for choosing Drupal.
GoIntro is an online platform that allows students and employers to connect with each other through an online career fair. The site is an example of decoupled Drupal with Angular on the frontend.
The project was primarily divided into three segments;
And the students
All three had their own ecosystems and functionalities. For instance, the students got to create their own profiles, which would display their skills and personal information and they can choose to attend only the events they are interested in. On top of this, Drupal’s ability to handle any kind of content and could be scaled to any limits made it an even more perfect fit for GoIntro.
The legality of cannabis is still a contentious issue all over the globe. Therefore, when the Government of Yukon had to build their cannabis retail, their paramount concern was to protect the privacy of its users. That is why Drupal was chosen, to have total and complete control over the consumer data. This along with Drupal Commerce and the fact the Government of Yukon website was already on Drupal, the decision was final.
The healthcare sector is an important one, given COVID, you could say it is imperative for each one of us. In terms of its online presence, the healthcare industry mandates three things.
It needs to be able to protect patient data through better security;
It needs to be able to new functionalities with easy integrations;
It needs to be able to provide customised user experiences.
Has Drupal been able to provide these?
A leading healthcare provider in the Middle East and India, Aster Hospital wishes to provide healthcare within the reach of millions more. And it wanted all of its sites to showcase the same brand identity and provide the same kind of experience.
With Drupal, it got to work with customisable themes that meant a number of things for the brand;
It could enable faceted search features;
It could now streamline content authoring;
It could build pages based on individual components;
And it could have autonomy over creating and updating region-specific pages.
The Claro theme, layout builder and paragraphs helped in successfully developing their Drupal 9 site.
What do you think a website for a university would need to have to provide a great experience to its users and admins?
The answer lies in four things:
One, it is to be multi-functional. From students publishing their work online to teachers being able to integrate with zoom to conduct an online session, the website needs to check all the right boxes for education.
Two, it needs to be scalable to handle high volumes of traffic, your website cannot crash on the last day of the admissions, otherwise students would be very upset.
Third, it needs multiple sites for multiple departments with a sense of individuality for each of them. The content for the geology department cannot be the same as physics, am I right?
Finally, a university site needs to be secure, it has tons of information of both the faculty and the students and it needs to be able to protect the same.
Princeton University School of Public and International Affairs
Princeton is a name we’ve all heard and awed at and Drupal was chosen by the esteemed university to create the online persona of its School of Public and International affairs.
What did Drupal achieve?
Drupal made the staff work less because it could showcase courses, events and news amongst other external data without manual updates.
Drupal reduced the development time because it was able to reuse themes, modules and UI patterns to create a pretty consistent experience throughout the website.
Drupal provided a heightened level of flexibility in design and layout because of tools like layout builder.
Drupal also made it quite convenient for the content editors to create and manage data.
The outcome was a site that both the site owners and users were satiated with.
Remember the 16 features we discussed in the beginning of this blog, it is those 16 features that make Drupal competent to cater to any need a user may have. All the industries we discussed and the solutions they were able to create were built using those 16 Drupal attributes and not all of them to be honest, but still the result was never in dearth of functionalities, being as close to perfection as possible. And that is why Drupal is always going to be ready and willing to serve every industry.