Mar 27 2020
Mar 27

With modern software, it's easier than ever to build a website, load it with content, and maintain it. Software packages are more secure, much faster, and more user-friendly than they were just a decade ago!

However, one major drawback is that over time, the structure of the website and the sheer amount of data & content has led to an overloaded and messy site structure. Besides, older systems tend to fall behind, thereby failing to meet the demands placed on it by new features and modern technology.

Drupal is the premier CMS package for enterprises, with more installations than nearly any other package. NASA, FedEx, and countless other enterprises and governments rely on its security, ease for front-end & back-end users, and the vast support system developed over the years.

Considering the benefits that Drupal offers, you decided to migrate your content on Drupal CMS. But the question is, how would you prepare your business to perform that migration?

Planning Your Migration

There can be severe consequences if content and data doesn’t migrate between systems successfully.

  • Target systems break, rendering the website in-operational
  • Data isn't fully accessible or returns results improperly
  • You have to bear additional costs to rectify problems
  • Lost business from resources spent on the system instead of commerce

Careful planning and attention-to-detail will prevent these problems, making your migration to Drupal easier. You want to move content (pictures, charts, articles, blog) and data (website accounts, users, product information, inventory) into a new system. 

The objective is to improve the quality of the content and data while running your business without interruption.

Your plan needs to assign top priority to these goals-

  1. Maintain business continuity
  2. Improve information quality
  3. Minimize unnecessary costs

 

  1. Your Continuity MapCheck with other businesses in your market sector to see what tools or consultants they have used to migrate to Drupal. Research other Drupal websites for layout ideas and designs, themes, or functionality. Contact these companies for information on how to implement these ideas on your own site.

    Ask how they maintained the continuity of operations while performing the migration.

    1. Did they dedicate a project manager or assign it to their IT department?
    2. Did they hire an outside company or a new hosting provider  that did the work?
    3. Did they incur costs they feel that could have avoided?
    4. Looking back, is there anything they would have done differently?

      You need to be clear why you're doing this and where you want to go. Your plan should lay out performance, functionality, and appearance goals.

      Map your existing business operations into those goals. Determine project management duties, put protocols into place to avoid disruption of day-to-day operations, and provide for accountability.

  2. Consider Your Content
    Firstly, you need to evaluate the content that's on your website. Are there any functions or design elements that you can simplify or eliminate?

    Maybe you can start with a simple design and add to it once you have a basic platform. There might be features or pages on the website that visitors never use.

    On the back end, are there any complicated or ineffective processes that company staff often complains about? The simpler your requirements, the simpler the migration. In this stage, you're looking at two classes of information.

    1. Identifying content and data which are not needed anymore and anything that might be duplicated. This lets you slim down the sheer amount of information that needs to be handled
    2. Looking for information, data, and content that can be reorganized to function better or to return more relevant results.  You can redesign the way your site looks, cross-reference data that couldn't be linked before, get rid of features that nobody uses, and add new functionality provided by Drupal.
  3. Project Management and Quality Assurance
    The most expensive single proposition is managing the actual transfer from the old site to the new one. To minimize chances of data loss or disruption, you should store a complete operating copy of your existing website and associated data in the cloudBefore the actual transfer begins, it's crucial to ensure that the new network and server hardware have been serviced and upgraded. The operating system has to be installed, maintained, and fully updated. Any server software, network layers, and auxiliary office software troubleshooting should already be done before the transfer begins. This lets you take information in separate sets, clean it and slim it down, removing any duplicate content. The restructuring project will never have a chance to disturb current operations.

    Handle the overall process as smaller projects within the main project. Choose your smaller data sets first, allowing everyone to get used to working together and with the system.

    Review each stage of migration as accomplished. Evaluate the good and bad things about the process, improve them, and move on to the next larger set of data.

    The final stage of migration and quality assurance is performance testing. Your team needs to check the new website for grammatical errors, full functionality, and response time.

    You have to access every area of the site, every menu item, test every process from uploading and updating information to ordering, and account creation.

    While it may be too big of a task to check every detail for accuracy, you need to make sure a large enough portion of the site and a large number of pages and accounts are sampled randomly to ensure that everything seems to be right.

Rise to the Challenge

In the end, a successful migration to Drupal is a straightforward task. Assign clear goals and require accountability for reaching each goal step-by-step. Ensure your new system is ready for its new data load. Test and evaluate every step as you go.

Before you know it, your business and customers will be reaping the many benefits of an expandable, secure, modular CMS offering advanced functionality. You'll have mastered the challenge of migrating to Drupal.

**This post is written by our guest author Heather Redding. She's a freelance content writer.

Interested to write for us? Drop a mail at [email protected] with your awesome ideas.

Mar 23 2020
Mar 23

Duplicating content has been a challenge of epidemic proportions on the internet since ages. In fact, it has become a child’s play for everyone to copy-paste a webpage’s online content without even realizing the intricacies of such issues.

Besides, keeping duplicate or similar copies of the same content online implies that you are competing against yourself at the loss of your search engine visibility. Google has explicitly stated that any site that uses/ keeps duplicate content will be penalized.

This blog will shed light on the reasons that cause duplicate content, it’s common reasons, and Drupal modules that can help enterprises in dealing with the same issue.

What Causes Duplicate Content?

Duplicate content is generated when multiple versions of a single page are created. In layman's terms this generally happens when two page share similar content.

However, it happens multiple times that the user unintentionally copies the content from the existing web page, yet it can happen and they have to face the consequences.

Which leaves us with two types of major categories that these sources fall into:

  1. Malicious
    This comprises those scenarios where spammers post content from your website without your permission.
  2. Non-malicious
    The non-malicious duplicate content can have different origins.
    1. Discussion forums that generate both the standard as well as stripped-down pages (targeted for mobile users)
    2. Printer-only web page versions, or
    3. Same products displayed on multiple pages of the eCommerce site

Additionally, Duplicate content can be either identical or similar as well. Given this, below are the 7 most common types of duplicate content mentioned-


1. Scraped Content

Some websites scrape content from other reputable websites thinking that an increased volume of pages on their site will be a good marketing strategy, irrespective of the relevance or creative spirit of that content. 

Rather, this action fails to add value for your users if you are not providing additional useful services or content on your site. in fact, it may also lead to copyright infringement in some cases. 

Some examples of scraping include-

  1. Sites that replicate and republish content from other sites without adding any original content or value to it.
  2. Sites that copy content from other sites, tweak it  a bit, and republish it
  3. Sites that regenerate content feeds from other sites without offering any benefit to the user 
  4. Sites aimed at embedding content such as video, images, or other media from other sites without considerable added value to the user.

 

2. WWW & non-WWW, and HTTP and HTTPs Page Versions Of Website

When both versions of the site, i.e., WWW or non-WWW, are accessible, it leads to duplication of content.

Being the oldest trick, search engines also get confused at times and get it wrong. 

Another scenario is HTTP vs HTTPS - these two versions also lead to serving out duplicate content to users.

3. Printed-Friendly Versions

If your CMS is capable of generating printer-friendly pages which you link with your article pages, Google can easily find them, unless you specifically block them. 

Now, which version would you like Google to show? The one with your ads and peripheral content, or the one that shows your article only?

4. User Session IDs 

Keeping a tab on your visitors and allowing them to store, add, and buy products from their shopping cart, you need to give them a session.

A session comprises details in brief about the visitor like what he did on your site and can also contain things like the items in their shopping cart.

To retain that session as a visitor hops from one page to another, the unique identifier for that particular session, called the Session ID needs to be stored somewhere.  The usual place to do so is cookies. However, search engines don’t usually store cookies.

During that point, few systems slip back while using Session IDs in the URL. This implies that every internal link on the website gets that Session ID added to its URL, and since that Session ID is unique to that session, it generates a new URL, and thus duplicate content.


5. URL Parameters Used For Tracking and Sorting

Another reason for duplicate content is the URL parameters that don’t update the content of a page, for example, in tracking links-

http://www.knowledge.com/book-y/

http://www.knowledge.com/book-y/?source=rss

These two above shown URLs are not the same URLs for the search engine. 

Though the latter one allows you to track the source of traffic on your site, but it might also make it harder for you to rank well, an unwanted after effect!

This is not limited to tracking parameters only but with every parameter than you can add to a URL without changing the important information. Whether the parameter being used is for” changing the sorting on a set of products or for “showing another sidebar”- all of them cause duplicate content.

Modules That Help Deal with Duplicate Content in Drupal

Following Drupal modules can prove useful in dealing with duplicate content-

  1. Global Redirect Module The issue that comes up with the alias system in Drupal is that the default URL remains there, i.e., you can still find 2 URLs pointing towards the same content on your website. However, search engine bots are also smart enough to find out duplicate content easily, thereby lowering your website rank on search engines.

    Thus, the Global redirect module checks if there is an alias already for the existing URL and if it does, then it redirects to the alias URL.

    The module is also responsible for eliminating the trailing slash in the URL, cross-checking that clean URLs are being used correctly and checking permission and access to nodes, URLs.

  2. PathAuto One of the prominent modules of Drupal, Pathauto, dedicates itself in creating the path/URL aliases automatically for the contents (nodes, taxonomy, terms, users) depending on the configurable patterns.

    For example, you configured a blog entry like /category/my-node-title, so Pathauto will instantly generate an SEO friendly URL, which uses tokens and can be altered by administrators.

  3. Intelligent Content Tools An  important tool for website designers and content editors, Intelligent Content Tools module offers three functionalities-
    1. Auto-Tagging
    2. Text Summarization, and
    3. Identifying Duplicate Content

      This smart module, based on Natural Language Processing, keeps you up-to-date on any duplicate content present on the site and then, accordingly identifies and corrects the plagiarized content.

      However, this module does not come under the security advisory policy of Drupal.

  4. Taxonomy Unique Drupal, by default, allows its users to create identical terms in the same vocabulary. To resolve this, Taxonomy unique ensures that no taxonomy term is saved when there is already one existing with the same name in the same vocabulary. Thus, it assures that the names saved are unique.White background with text over itFurther, you can configure it individually for each vocabulary alongside setting up custom error messages in case a duplicate is found.
  5. Suggest Similar Titles Suggest Similar Titles module ensures that titles are not duplicated for any type of content. Its mechanism encompasses matching the proposed titles with the node titles of the existing content type to ensure that they are not similar to the already existing ones.Module working shownThis aids admins/users to avoid replication of content at the site. Additionally, it provides settings page where you can tweak the following settings-
    1. Activate this feature for any content type(s)
    2. Enter the keywords in title comparison that you want to be ignored
    3. Choose the maximum number of titles that you want to show up as a suggestion
    4. Select whether this module should consider node permissions before showcasing node title as a suggestion
    5. You can enter the percentage of similarity between the titles. For instance, if you enter 68, then at least 68% matching titles will be considered similar.

Wrapping up

Search engines are always looking out for unique and quality content that is engaging and informative at the same time. Enterprises might find it difficult to create a 100% duplication free website but Drupal and its modules can be your silver lining for your company. Besides, your search engine rankings can improve greatly if you avoid the mistakes mentioned above.

Planning to migrate your website to Drupal? Drop us a line and our experts will be happy to assist you.

Mar 16 2020
Mar 16

Category 1: Web development

Government organizations want to modernize and build web applications that make it easier for constituents to access services and information. Vendors in this category might work on improving the functionality of search.mass.gov, creating benefits calculators using React, adding new React components to the Commonwealth’s design system, making changes to existing static sites, or building interactive data stories.

Category 2: Drupal

Mass.gov, the official website of the Commonwealth of Massachusetts, is a Drupal 8 site that links hundreds of thousands of weekly visitors to key information, services, and other transactional applications. You’ll develop modules to enhance and stabilize the site; build out major new features; and iterate on content types so that content authors can more easily create innovative, constituent-centered services.

Category 3: Data architecture and engineering

State organizations need access to large amounts of data that’s been prepared and cleaned for decision-makers and analysts. You’ll take in data from web APIs and government organizations, move and transform it to meet agency requirements using technology such as Airflow and SQL, and store and manage it in PostgreSQL databases. Your work will be integral in helping agencies access and use data in their decision making.

Category 4: Data analytics

Increasingly, Commonwealth agencies are using data to inform their decisions and processes. You’ll analyze data with languages such as Python and R, visualize it for stakeholders in business intelligence tools like Tableau, and present your findings in reports for both technical and non-technical audiences. You’ll also contribute to the state’s use of web analytics to improve online applications and develop new performance metrics.

Category 5: Design, research, and content strategy

Government services can be complex, but we have a vision for making access to those services as easy as possible. Bidders for this category may work with partner agencies to envision improvements to digital services using journey mapping, user research, and design prototyping; reshape complex information architecture; help transform technical language into clear-public facing content, and translate constituent feedback into new and improved website and service designs.

Category 6: Operations

You’ll monitor the system health for our existing digital tools to maintain uptime and minimize time-to-recovery. Your DevOps work will also create automated tests and alerts so that technical interventions can happen before issues disrupt constituents and agencies. You’ll also provide expert site reliability engineering advice for keeping sites maintainable and building new infrastructure. Examples of applications you’ll work on include Mass.gov, search.mass.gov, our analytics dashboarding platform, and our logging tool.

Mar 13 2020
Mar 13

This month’s SC DUG featured Chris from MindGrub and Kaylan from Pantheon talking about Load Testing.

Launching a website can be a nerve-wracking experience, often times with developers working up until the wire trying to finish that one last feature. If only there was a crystal ball that would show you a vision of how your site would fare when the masses were set loose upon it.

Good news for you, there is! Load testing.

[embedded content]

View the slides from this talk.

We frequently use these presentations to practice new presentations, try out heavily revised versions, and test out new ideas with a friendly audience. If you want to see a polished version checkout our group members’ talks at camps and cons. So if some of the content of these videos seems a bit rough please understand we are all learning all the time and we are open to constructive feedback.

If you would like to join us please check out our up coming events on MeetUp for meeting times, locations, and remote connection information.

Mar 12 2020
Mar 12

argument-open-source

If you engaged in a word association game, one of the first things people would respond when you say “open source” is that it’s free. If any of those people are in the position of purchasing software licenses for a business or organization, that makes open source (a.k.a., free) definitely a benefit worth exploring. Open source has the potential to save thousands of dollars or more, depending on the software and the size of the organization. 

Even though eliminating a budget line item for licensing costs may be enough to convince some organizations that open source is the way to go, it’s actually only one of several compelling reasons to migrate from proprietary platforms to open-source architecture. 

In a debate on open-source vs. licensed platforms, the affirmative argument will include these four, additional points: 

Development Freedom

When businesses provide workstations for their employees, they choose (often inadvertently) the framework on which their organizations operate. For example, if a business buys Dell computers, it will operate within the Microsoft Windows framework. This isn’t necessarily a bad thing. A business with limited IT and development resources won’t have to worry about how to keep its operating system working or whether business applications or security solutions are available. Microsoft has a line of solutions and partnerships that can provide what they’re looking for. 

With a system built on an open-source platform, on the other hand, it may take more resources and work to keep it running and secure, but it gives developers the freedom to do exactly what the end user needs. You aren’t limited by what a commercial platform enables you to do. 

In some markets, foregoing the status quo for developmental freedom sounds like risk. It’s a major reason that government users lag behind the commercial space in technology. They’re committed to the old systems that they know are robust, secure, and predictable at budget time — even though they’re outdated. When those organizations take a closer look, however, they quickly realize they can negate development costs through greater visibility, efficiency, and productivity that a platform that specifically supports their operations can provide. 

Open-source platforms are also hardware agnostic, giving organizations more latitude when it comes to the computers, mobile devices, and tools they can use, rather than being locked into limited, sometimes expensive, options for hardware. 

Moreover, development freedom delivers more ROI than merely decreasing current costs. Open-source platforms give developers the freedom to customize systems and innovate. If your system enabled you to expand your reach, better control labor costs, and support new revenue streams, what impact could that have on your business?

Interoperability

Enterprises and manufacturers have traditionally guarded their proprietary systems, which gave them an edge in their markets and control over complementary solutions and peripherals end users needed. Those same proprietary systems, however, could now be a business liability. Many markets are moving toward open source to provide greater interoperability, and businesses continuing to use proprietary platforms will increasingly be viewed as less desirable partners. 

Military avionics is a prime example. This industry is migrating to the Future Airborne Capability Environment (FACE) Technical Standard. Administered by the FACE Consortium, this open standard aims to give the U.S. Department of Defense the ability to acquire systems more easily and affordably and to integrate them more quickly and efficiently.  

You’ll also find a preference for open-source architecture in some segments of the tech industry as well, such as robotics. The Robot Operation System (ROS) is a set of open resources of tools, libraries, and conventions that standardizes how robots communicate and share information. ROS simplifies the time-consuming work of creating robotic behaviors, and ROS 2 takes that objective further by giving industrial robot developers support for multirobot systems, safety, and security. 

As Internet of Things (IoT) technology adoption grows, more operations are experiencing roadblocks connecting legacy equipment and enabling the free flow of data — which open-source architecture can overcome. Furthermore, IoT based on open-source components allow networks to expand beyond the four walls of a facility to connect with business partners, the supply chain, and end users. The Linux Foundation’s Zephyr Project, for example, promotes open-source, real-time operating systems (RTOS) that enables developers to build secure, manageable systems more easily and quickly. 

Faster Time to Market

Open source projects can also move more quickly than developing on a proprietary platform. You may be at the mercy of the vendor during the development process if you require assistance, and certifying hardware or applications occur on their timelines. 

That process moves much more quickly in an open source community. Additionally, members of the community share. Some of the best developers in the industry work on these platforms and often make their work available to other developers so they don’t need to start from scratch to include a feature or function their end user requires. A modular system can include components that these developers have created, tested, and proven — and that have fewer bugs than a newly developed prototype. 

Developers, using prebuilt components and leveraging an open source community’s expertise, can help you deploy your next system more quickly than starting from ground zero. 

Business Flexibility

Open-source architecture also gives a business or organization advantages beyond the IT department. With open source, you have more options. The manager of a chain of resorts facing budget cuts, for example, could more easily find ways to decrease operating expenses if her organization’s system runs on an open-source platform. A chain that operates on a commercial platform, however, may have to find other options, such as reducing staff with lay-offs.  

Open source architecture also decreases vendor lock-in. In a world that’s changing at a faster and faster pace, basing your systems open-source architecture gives you options if a vendor’s company is acquired and product quality, customer service, and prices change. It also gives you flexibility if industry standards or regulations require that you add new features or capabilities that your vendor doesn’t provide, decreasing the chances you’ll need to rip and replace your IT system.

The Price of Open Source

To be perfectly honest in the open source vs. commercial platform debate, we have to admit there is a cost associated with using these platforms. They can’t exist without their communities’ contributions of time, talent, and support. 

At Mobomo, for example, we’re an active part of the Drupal open-source content management system (CMS) platform. Our developers are among the more than 1 million members of this community that have contributed more than 30,000 modules. We also take the opportunity to speak at Drupal community events and give back to the community in other ways. 

Regardless of how much we contribute to the community, however, it’s never exceeded the payback. It’s enabled lower total cost of ownership (TCO) for us and our clients, saving millions of dollars in operating expenses. It has ramped up our ability to create and innovate. It’s also allowed us to help build more viable organizations and valuable partnerships. 

The majority of our industry agrees with us. The State of Enterprise Open Source report in 2019 from Red Hat asked nearly 1,000 IT leaders around the world how strategically important open source is to an enterprises’ infrastructure software plans. Among respondents, 69 percent reported that it is extremely important, citing top benefits as lower TCO, access to innovation, security, higher-quality software, support, and the freedom to customize. 

Only 1 percent of survey respondents said it wasn’t important at all. 

Which side of the open-source vs. commercial platforms argument do you come down on?

Contact us to drop us a line and tell us about your project.

Mar 05 2020
Mar 05

It's 2020, and there is hardly any business not impacted by digital disruption. While the paradigm is still in its infancy, it’s expected to accelerate for every industry and company across the globe, including education. 

In an effort to reposition itself around a more relevant, albeit rapidly evolving, technology-driven student-crowd, the education institutes end up getting it tough. To keep up with the expectations for deeper and more advanced digital services, institutes find themselves in a flux to re-invent - what and how they operate by embracing the right technology.

Higher education institutes have it tough managing different software vendors, keeping the systems up and running with the latest upgrades while also providing a coherent and advanced digital experience

Higher-ed institutes need to come to life online in a way that stands out from their peers, if they are to face up to the intensely fierce competition in education.

What is an Educational Institute’s Digital Ecosystem Like? 

Intricate. 

An average higher education institution now would not have anything less than 10 enterprise software excluding the smaller support systems, making it one of the most complex digital ecosystem. 

Departments and societies, in order to quickly distribute a lot of information to different stakeholders, often work around with software that works best for them. Eventually, an array of web content management tools are implemented. 

Managing these WCMS tools, building relationships with different software vendors, keep the systems up and running with the latest upgrades while also providing a coherent and advanced digital experience for students and faculty.

An average higher education institution now would not have anything less than 10 enterprise software excluding the smaller support systems, making it one of the most complex digital ecosystem

Imagine once, how difficult and costly it is for the educational institutes to manage and build relationships with all those >10 different software vendors, keep the systems up and running with the latest upgrades while also providing a coherent and advanced digital experience for students and faculty.

What options do higher ed institutes have, then? 

Can Drupal Help Higher-Ed Institutes?

Drupal is the most widely used content management system in higher education. Over 70% of higher education institutions rely on Drupal to drive their digital strategy. It is the preferred CMS for higher education because it provides the most flexibility for creating and managing various kinds of content to suit the needs of many different groups and audiences. Offering a powerful content management system along with collaboration of multiple authors, it comes to be the top choice for a university website. 

 

Serving different needs of different departments with multisite and easy integration

With numerous departments constituting a university, Drupal’s multisite feature helps departments and branches to have a seperate site built for each of them, over the same Drupal installation, enabling each of the branches to manage their own website.

You can effectively store content for every website and easily share content with the help of the Domain Access module. Also managing complex architecture of the website as well as various sections for prospective students, current students, alumni, faculty, and staff becomes much easier. Whether it is handling thousands of users, along with numerous content types, Drupal makes it much easier with reduced page loading time.

Centralized? Decentralized? Just easy user access control 

There is always a need to keep a check on how data is accessed and by whom. Different user roles in a university will need to interact with the system differently. Professors, students, and administration staff need different permissions for creating and editing website content based on their roles. With Drupal, it’s easier to manage out-of-the-box offered user roles, and contributed user access modules which help you to configure roles and permissions on the site.

Multilingual Functionality

With students all across the globe accessing the university website, Drupal makes it easy with its modules to translate the website as per the preference for any international student to scroll through the website and read content in the language of their choice. Drupal 8 comes with 4 multilingual modules in core for easy translation and offers a choice of 100+ language options.

An easy and better creation process 

Drupal offers an easy to use workflow management module, to get almost anyone to publish content and keep the website up-to-date. This process helps to keep the website up-to-date with any recent changes. The modules allow you to type content directly into a text editor in Drupal and preview it before publishing.

Universities often need to categorize content in various ways to make a website handy to use. Drupal comes with a taxonomy system which helps in categorising your content  and eases website content access. It simplifies the site navigation process by understanding the context of the entire content with tags. Learn how to easily add tags with Drupal taxonomy in 9 easy easy steps.

Responsive and Scalable 

With many people preferring to read content on the go, Drupal sites are built to be responsive and are mobile friendly. An already optimized content proves to be a huge time and money saver. 

It’s also highly scalable and easily extends as the higher education institutions grow with increased number of student enrollments. 

Secured Websites

Education websites usually consist of sensitive information such as student’s family details, contact numbers etc. By using Drupal, you need not worry about any loss or theft of data as updating the website regularly for security patches keeps it secured. 

The fact that top institutions like Harvard University, Stanford Law School, Duke University, Brown University, Rutgers University, University of Oxford, University of Prince Edward Island, Karlstad University, Zaman University, Bentley University, Uncommon Schools, University of Waterloo, and Yale have their websites built on Drupal, it proves to be a testimonial for secured websites.

Reaching the right audience with SEO friendly features

Drupal ensures the website is SEO friendly and boosts search rankings in search engines with its search website optimization modules. With Drupal, you can manually set SEO friendly URLs without additional effort (or let the Pathauto module do it for you). With its powerful taxonomy system, you can categorize your website content and automatically create page titles and meta tags, which are important elements of SEO-friendly websites. Since Google's content analysis algorithms classify web pages based on fresh content, Drupal can help you keep your website updated so as to boost your website ranking. 

It remains a powerful cost-effective solution, with its round the clock community support through forums and discussions, offering numerous other benefits, at no additional costs. 

Robust and flexible governance and permissions capabilities

Higher education websites have various departments supporting the development and maintenance of the entire website content. Drupal’s higher level of security and site-governance tools offers great benefits by facilitating the entire process of managing sections and establishing simple processes for approving content changes. Site administrators within departments can customize the site’s workflow to suit their specific needs by leveraging Drupal’s highly flexible permission system. This overall benefits the teams by removing bottlenecks in the site editing process and fastens content editing, without letting them make changes to the design.

Evaluating accessibility tools

Higher education institution websites aim to offer a user-friendly experience to every potential student. It is important for such websites to adhere to compliance guidelines and be accessible to every visitor. Drupal, with the help of its robust tools, makes it easier to design websites which ensures the highest level of accessibility. 

One such Drupal distribution it offers is OpenEDU, which offers a built-in accessibility checker. It ensures website issues are discovered and addressed in real time.

 

Are you thinking of building a website for your higher education institution and can’t decide whether to opt for Drupal or not? Contact us today. Together we will understand your vision for your university website and how Drupal fits best to enhance your digital presence. 

Feb 27 2020
Feb 27

You’re having trouble keeping up with demand and need a more powerful and robust website platform.

As business problems go, that’s a great one to have. Especially for enterprise-grade organizations and government entities. The question is: Which website platform is best?

To help you make informed decisions about your platform choice, we’re sharing a look at what Acquia has to offer. In this post, you’ll learn what Acquia is and how it works, who should consider using the platform and who should not. Then you’ll read our thoughts on what should be top of mind when selecting a platform.

Full disclosure: Mobomo is an Acquia partner organization, meaning we help clients make the most of their Acquia technology and services. Far from being a hard sell, however, this post aims solely to provide expert analysis and an honest assessment of the company and its products.

What Acquia Is and How It Works

Acquia is considered a digital experience platform (DXP), which is a collection or suite of products that work in concert to manage and optimize the user’s digital experience. These products can include a CRM, analytics, commerce applications, content management and more.

In its industry report on DXPs, Magic Quadrant for Digital Experience Platforms, Gartner defines a digital experience platform as “an integrated set of core technologies that support the composition, management, delivery and optimization of contextualized digital experiences…Leaders have ample ability to support a variety of DXP use cases and consistently meet customers’ needs over substantial periods. Leaders have delivered significant product innovation in pursuit of DXP requirements and have been successful in selling to new customers across industries.”

Organizations use DXPs to build, deploy and improve websites, portals, mobile and other digital experiences. They combine and coordinate applications, including content management, search and navigation, personalization, integration and aggregation, collaboration, workflow, analytics, mobile and multichannel support.

Acquia is one of the major players in this space, and the only one designed solely for Drupal.

Acquia co-founder Dries Buytaert was in graduate school in 2000 when he created the first Drupal content management framework. Buytaert and Jay Batson then established Acquia in 2007 to provide infrastructure, support and services to enterprise organizations that use Drupal.

Features and Benefits of Acquia

Acquia initially offered managed cloud hosting and fine-tuned services for Drupal. It has since expanded on its Drupal foundation to offer a complete DXP, including but not limited to:

  • Acquia Cloud: Provides Drupal hosting, development tools, hosting services and enterprise grade security.
  • Acquia Lightning: An open source Drupal 8 distribution with preselected modules and configuration to help developers build sites and run them on Acquia Cloud.
  • Acquia Digital Asset Management: A cloud-based digital asset management tool and central library for Drupal sites.
  • Acquia Commerce Manager: Provides a secure and flexible platform for content-rich experiential commerce.
  • Mautic: A marketing automation platform that enables organizations to send and personalize multi-channel communications at scale.
  • Acquia Journey: An omnichannel tool that allows marketers to listen and learn from customers to craft a sequence of personalized touchpoints and trigger what they will see next.

Additionally, Acquia provides comprehensive logging, performance metrics, security and Drupal application insights, and uptime alerts organizations need to monitor and optimize applications.

The Acquia platform also shines in its security capabilities, supporting strict compliance programs such as FedRAMP, HIPAA, and PCI, among others. Acquia customers can also internally manage teams at scale with advanced teams and permissions capabilities.

And they’re running with the big dogs. Other DXP companies assessed in the Gartner Magic Quadrants report include Adobe, IBM, Salesforce, Liferay, SAP, Adobe, Microsoft and Oracle.

In that report, Gartner cited Acquia’s key strengths as follows:

  • Acquia Experience Cloud offers a wide array of capabilities well-suited to support the B2C use case. Some clients also use it for B2B and B2E use cases.
  • The open-source community behind Acquia, which is the main contributor to the underlying Drupal WCM system, is highly active and well-supported by the vendor.
  • Acquia’s partner ecosystem continues to grow, offering choices to clients looking for expertise in specific verticals and availability in specific regions.

Who Should Consider Acquia

In a nutshell, Acquia is a good fit for enterprise-grade clients and government entities needing a comprehensive and powerful platform that optimizes the entire user experience while integrating data from multiple sources to support decision-making. Organizations that deploy and manage multiple websites will find Acquia particularly helpful.

One glance at Acquia’s customer page crystalizes the scope and scale of organizations they serve. Brands using Acquia include Wendy’s, ConAgra Brands, University of Virginia, City of Rancho Cucamonga in California and Australia’s Department of the Environment and Energy.

According to Website Planet, what sets Acquia apart is their foundation in the open-source Drupal content management framework. Unlike many of their competitors, Acquia allows customers to buy resources and features individually rather than purchasing entire pre-made packages. This can be particularly appealing to organizations who already have a couple of strong individual solutions in place that they want to integrate into their DXP, such as this reviewer in the manufacturing industry:

“A few things drove me to this solution: Decoupled architecture that allowed me to build a completely distributed digital landscape while keeping central control, The Open Platform concept that allowed me to build my own integrations and connect different components of my existing Martech stack without always using the “default” provided options and the comfort/security of relying on a cloud-based solution with full service support on top.

For e-commerce website owners, Acquia’s packages provide a PCI DSS compliant solution that can easily scale to accommodate extensive product catalogs, large transaction volumes and surges in traffic. Acquia’s proprietary e-commerce manager integrates the various content, commerceand user interfaces, allowing you to provide seamless experiences to your customers through a single system.”

Who Should Not Consider Acquia

Acquia is best suited for organizations with both the need for such a powerful suite of tools and the development expertise to easily implement and manage it. Beginners and small businesses lacking the requisite knowledge of programming and Drupal are likely better off with a different provider.

For those who develop their website through an agency, you’ll want to double-check that they will provide developers experienced with Drupal 8. If you do develop in-house, make sure your developers have strong familiarity with it.

Additionally, Acquia’s power comes at a price: Its price point may put it out of reach for small-to-medium businesses.

Acquia: Our Takeaway

As with any other significant investment, the best choice for your organization boils down to your wants and needs of you, the consumer. Keep these points in mind assessing how well Acquia matches up with your master list of must-haves.

  • Determine your desired business outcome. Think about what you’re after in terms of improving the business. What does each DXP offer and can you make the most of every feature you’re paying for?
  • Know your stack. Document your current technology architecture: what do you have, who uses it, for what and how is it connected?
  • Determine use cases. Who will use your technology and how will it make them productive?
  • Prepare your people. Your personnel play a massive role in assembling your digital experience technology stack. Don’t set yourself up to spend time and money on a platform that doesn’t get adopted or used to its potential.

By conducting a thorough assessment of your organization’s needs, capabilities, and goals, you can readily determine whether Acquia is the best fit to help you provide an amazing digital experience for your audience.

Contact us today and find out how Mobomo can help you make the most of Acquia.

Feb 27 2020
Feb 27

How well you design the content model for your project plays an important role in your website design not just now but even in future. Consider 2-3 years down the line when you have to redesign your website, having a proper content model makes the task easier. It gives you the flexibility to redesign easily, with reusable existing components, or setting up new pages, displaying content across different channels, as and when required. 

But even with the importance it holds for website redesign, there is a common tendency to not pay enough attention to it. While we discussed its importance and challenges in the last blog, the next step is to understand how to approach documenting it. Additionally, we will look at the key solutions to content modelling with Drupal.

Building a Content Model Approach

A content model is essentially the structure of your content types that you will have for any given project. And one of the most common ways to maintain it is to start documenting in a spreadsheet. So essentially for any given content modelling documentation, you need to cover all entities like:

  • Content types
  • Taxonomies
  • Diff blocks
  • Paragraphs

For example, say you have a website for managing different music artists, and you are maintaining the profiles for several artists. So in order to start documenting your content model in a sheet, you need to define the name of the fields first. What type of fields would you have for a website that manages music artists? Name, profile details, and past compositions could be a likeable choice. So once you decide on the fields, add some description and data around why it is required. 

A content model documentation is basically supposed to be a live document that you maintain throughout your model. The fields and data you put up here is what feeds into the requirements and is also what the developers pick up. So it’s highly critical that you maintain it.

Content Modelling for a CMS Project

Now with any CMS project, how you approach content modelling also depends on the type of content. Essentially they are classified into two different categories - Structured and Unstructured content. Here’s what makes them different with respect to the content model approach:

Structured Content

This includes content like news, articles, webinars, blog, events - things essentially which editors would typically enter the content in the form of a form. The editor goes into the backend and fills out the fields in a form, they are very little bothered with what happens at the frontend. 

A structured content type follows a list of fixed templates, there might be some changes they want depending on the content but overall the structure of the content or template of the page remains same. Take for instance any news media publishing website, all of their news articles follow the same template. There might be different versions or special long form articles, certain special templates but the majority of content look the same. That is what we bucket as structured content type.

Drupal has a very mature approach to structured content, and nothing much can go wrong in it. But where we mostly face issues, where we have mostly seen issues in the past CMS in Drupal projects is with respect to unstructured content.

Unstructured Content

Unlike structured content, this has no fixed templates and are usually uniquely designed website pages like the home page, campaign page, landing page, or any special article pages. These pages are usually put together by editors who, depending on their requirements on the different components they want, stitch together these pages themselves.  

There might be some pre-defined templates, some regions, inbuilt components in place for the editors to start from. But how the page will eventually look totally depends on the editor and what they decide to do with it. 

As a result, approaching this kind of content or pages is a challenge in itself. And while there are a few solutions you could adopt, let’s first delve into what you should avoid while dealing with unstructured content pieces.

Too Many Content Types

In Drupal, one of the ways is having too many content types. For example, you want to change few things in an existing news article template, say an extra field or the font type, or the background color. You do not require to create a separate content type for this, and you shouldn’t because this is something that can go totally out of control. As more requirements or variations come up, you will keep on creating new content types when those content types are actually sharing 80-90% of the fields. 

This will result in a lot of maintenance overhead and introduce a host of issues. Plus fixing something may require a lot of regression testing, and you may also have to roll it out to different content types. So this is something you should definitely avoid.

Too Many Fields on One Content Type

Another tempting approach is to keep on adding fields to a single content type. Say you need a gray background on an article, or a font change in one, all of this can go completely out of hand. If you know what you are doing, and it's only a matter of a couple of fields then it might still be feasible. Otherwise it could cause too many issues in your next website design. 

This is because you are completely letting your content model be coupled with design and you are letting the design dictate your content model. The next time your design changes, you will have to rebuild your content model from scratch.

4 Key Solutions on Content Modelling

 

So we talked about the pitfalls, and what are the things you should avoid. Now let’s take a look at the approaches that do work well, ones that you may consider for your next project.

Drupal Core

This approach does not require any contributed module, you can do this as part of Drupal core,  and you can use Drupal’s templating and theming layer to achieve this.

This is a good approach for simpler use cases where the content structure is not really changing. Or when you want to create a separate page, where the structure is same, and you only want some minor variations, you wouldn't want developers to do this for you all the time.

However if the editors require a lot of flexibility in terms of changing the design or the page layout, then this approach will not scale.

Pros:

  • Good for simple cases
  • Same content structure, presentation variation
  • API friendly

Cons:

  • Requires development for any design change
  • Cannot handle structural changes

Paragraphs

A module in Drupal which is very popular, can be used to create LPs. Out of the 4 approaches, this is the one that can get you structured content. It is the most API friendly approach, so you can use paragraphs module to even build your LPs on a decoupled Drupal architecture where you are using a Javascript framework instead of Drupal for the frontend application. 

Another advantage is the components that you add, you can make them reusable. So there are extensions to the paragraph module that allow you to reuse the paragraph content that you create. You can reuse these components across different content types. You can also easily add any new component, or last minute design changes, it's very flexible in that sense.

The disadvantage is that it ties your content model to your frontend design. So Paragraph approach works really well for stacked content pages (one component after the other in a single column), but if you want to create multiple columns or swap things from left to right etc., you start adding those configurations to your paragraph and that means you start coupling your content model with your designs. When you have to manipulate the layout or the template in the front, that’s where you may not see as much flexibility with Paragraph approach as with others.

Entity Embed

This is the most familiar tool for editors, especially for those who have been using CMS. It allows you to build unstructured content pages using the WYSIWYG (What you see is what you get) editor. So you can write all of your content, and embed all your components within the WYSIWYG editor itself.

It is a good way to keep your HTML out of the body, and you can still maintain and build a component outside of the body feed. For example, image, slide show, a photo gallery - you could build them as separate entities, and then simply embed them into your body feed.

This approach is very powerful but also prone to abuse because there’s no fixed layout of how the page will look like. So the editors depending on their comfort and skill level with WYSIWYG, and whether they know basic HTML, it can impact their editorial experience. 

Some people may like the power this approach brings, others may find it very complex especially if you start adding many inline components into your article. It is definitely not suitable for the decoupled frontend because WYSIWYGs are meant for coupled implementation. The way you set up your components within a WYSIWYG, translating that information into a decoupled application is a different challenge altogether. So this approach is not suitable for a decoupled setup. 

Layout Builder

The most flexible approach by far, it allows editors to create regions and manipulate templates on the fly. They can create multi-column regions on their page, and pull in components. It has reusable components so there’s a lot of flexibility, easily accommodate changes, add new components to your component library and keep on expanding it. This also gives the highest level of per page control to the editors.

Some of the shortcomings of this approach are:

  • The components that you keep adding to the page, they are not explicitly connected to the page or node. So you have to do a lot of extra queries and do some leg work, for example, if you have to expose this as an API or see what components have been added to a page, you may need to go through a couple of extra hoops to get that information, unlike in paragraphs approach. 
  • This does not enforce any consistency, so depending on how much control your design team wants on the website or web pages, this approach may or may not be great. So if there’s a very consistent design that’s desirable for websites, you may not want to expose this kind of to your editor because they can change the layout as they like, and you may end up with some undesirable results.

Choosing the Right Approach

Now with these four approaches in picture, the next probable question is which one to choose. The answer is it varies depending on the type of project you are dealing with. Any page that you want to build can be done using all of these four approaches, but you also need to look at the editorial experience, how comfortable editors are using it, how much control does the design team want on the page layout- all this dictates the right approach for your project.

Most large projects use a combination of the four approaches. Homepages and other landing pages may use the Layout Builder. More structured content like case studies and products may use template switching to vary presentation as needed. A shared library of components can bring in efficiency and design consistency across different approaches for managing unstructured content pages.

In EzContent as well, we use a combination of these approaches. It is a one-stop Drupal solution which utilizes AI and machine learning algorithms to deliver an enhanced editorial experience. 

What's essential when you are going for a mix of these approaches is to ensure that your components are reusable. And that's something Drupal is great at, if you use the right modules, and create the components in a proper manner.

Thus, working on your content model, and trying to build it in a way that's decoupled with your frontend as much is feasible, are some of the things you should strive for when taking up a CMS project.

[embedded content]

Looking to enable editors with an easy publishing experience? Let’s do a little brainstorming and see how we can help. 

Feb 26 2020
Feb 26

In a world filled with billions of internet-connected devices today, a lot of content is being delivered at every touchpoint in the customer journey. But sadly, most of them fail to deliver the right time customer experiences, as may be desired. The reason? Most of the content that is delivered does not pertain to a well laid out content model. There’s no design in place that utilizes the context of experiences and technology to make these content intelligent.

Not sure what that means? Think of it as a content piece that has to be responsive, adaptable, accessible, as well as machine readable to be able to reach the right audience at the right time. How do you ensure that? By focussing on making this piece contextually relevant. You need to visualize its purpose, and design it in a structure that accommodates user experiences and relevance. 

That is precisely what content modelling does. It is a formal representation of structured content as a collection of content types and their inter-relationships. And it helps you take into account any contextual experiences before framing a content model approach. One of the most common ways to maintain it is to start documenting in a spreadsheet. 

In this blog we take a look at why adopting a content model may be critical for your business, and what are the key challenges that come in the way.

Why Do You Need a Content Model

Content models have a long lasting effect on your website, especially your CMS website. Here’s what makes them so important:

Brings Flexibility

The way you model your content dictates how flexible the CMS is for editors, and for whoever is using your CMS. It also means that throughout the lifecycle of the project and even once your project goes live, how easy it is for you to accommodate changes or last minute feedback that is required by your content model.

Long Term

Your content modelling approach also has a lasting impact on how complex your content migration, or website redesign is, particularly if you are going from one CMS to the other, or choosing another technology in the future. So 2-3 yrs down the line, how easy it will be to migrate the content that all depends on how you model your content now.

Reduced Redesign Complexity

Changing the design or updating the design of your website is also very tightly coupled with your content model. If you have a content model that is decoupled with your design to whatever extent it may be possible, then redesigning your frontend in a CMS like Drupal becomes much easier.

But if your content model is really coupled with your design, then redesigning your frontend would also mean that you would need developers to change your content model, which might need to migration to content as well. So it really changes the whole complexity of your redesign exercise.

Ensures Re-usability

The way you model your content also dictates the reusability of your components, to what extent you can reuse content and design elements in the future.

Owing to these reasons, designing a content model beforehand plays quite an important role in your CMS website. Provides you the flexibility and reusability you need, along with the desired objective of creating contextual customer experiences. Now let’s look at the challenges.

Key Challenges to a Content Modelling Approach

Now that you are aware of the importance of a content model, you may be keen enough to build it. While creating a content model is quite simple physically, you may pose challenges in its conceptualization and distribution. Take a look:

Not a Single Party’s Job

Content model creation cannot be done by a single party alone. This would result in an ineffective content model that only solves the problems of that particular team. Rather a cross-functional team is required, one that contains developers, UX/UI/creative designers, content authors, as well as representatives from other areas of the business if necessary. This because everyone has some level of insight into these models – what makes sense to a developer may not make sense to a content author.

Clash of Interests

Let’s face it, having a cross-functional team work on one content modelling project is not as easy as it sounds. Certain members of a department may be too influential, or more vocal than others and might try to take the lead in mapping the content model. This could result in a clash of interests, or worse make the model inclined only to address a particular team. 

Either way this kills the effectiveness of the model, and there is also a huge chance that the team falls apart. What we need therefore is to create a solid foundation and framework that can evolve along with your project. And a team facilitator who can ensure that each team member gets the chance to have their voice heard. 

Disconnect in Terminology

When working with cross-functional teams, there is also a huge chance to have a disconnect in terminology regarding the components of content models and how certain elements are referred to. This may hamper with the content modelling process, leading to disagreements and misunderstanding between members of different departments.

To ensure this doesn’t happen, you might consider establishing a consistent content modeling vocabulary - what do you mean by pattern, assembly, content hierarchy- and similar terms in this context. This will enable all team members to understand the conversations being held and avoid misinterpretations that could delay your project delivery schedule.

Unstructured Content

Another major challenge that you may face in content modelling is with respect to building a content model for your unstructured content type. This means that for uniquely designed pages such as home page, campaign page or a landing page, there are no fixed templates that the editors use. They usually put together the layout based on their requirements and what they decide to do with it.

As a result, approaching this kind of content or pages is a challenge in itself. Coupled with that are few practices that add to this challenge, and must be avoided.

Too Many Content Types

Often editors end up having too many content types despite that most of those share 80-90% of the fields. They keep on creating content types for every new field or minor change they require in an existing template. This can go totally out of control, result in a lot of maintenance overheads as well as introduce a host of issues. Plus fixing something may require a lot of regression testing, and you may also have to roll it out to different content types. 

Too Many Fields on One Content Type

Another bad practice is to keep on adding fields to a single content type. This can again go completely out of hand, particularly if you don’t know what you are doing. It can also cause issues in your next website design, leading you to rebuild your content model from scratch.

Ultimately the art of creating a content model is supposed to be a balancing act. It should be easy for content authors to understand and use, for UX/UI designers to leverage wireframes and creative designs, and easy for developers to pull out through the API and into websites, applications and channels. In addition to this, you may consider some key solutions that will help avoid the above mentioned challenges to content modelling.

Curious to learn more? Take a look at how to build a content modelling approach with Drupal.

Looking to enable editors with an easy publishing experience? Let’s do a little brainstorming and see how we can help.

Feb 20 2020
Feb 20

Drupal Camp London is a 3-day celebration of the users, designers, developers and advocates of Drupal and its community! Attracting 500 people from across Europe, after Drupalcon, it’s one of the biggest events in the Drupal Calendar. As such, we're pleased to sponsor such an event for the 6th time!

Drupalcamp weekend (13th-15th March) packs in a wide range of sessions featuring seminars, Birds of a feather talks, Sprints and much more. Over the weekend there are 3 Keynotes addressing the biggest upcoming changes to the technical platform, its place in the market, and the wider Drupal community.

Check out all of the accepted sessions on the Drupal Camp London website here. Or keep reading to see our highlights…

CXO Day - Friday 13th of March

From Front Room to Front Runner: how to build an agency that thrives, not just survives - Talk from Nick Rhind

Few digital agency start-ups reach their first birthday, let alone celebrate over 16 years of success. Our CEO Nick Rhind will be sharing anecdotes and advice from 2 decades of building the right teams to help his agency group, CTI Holdings, thrive.

Catch up with Nick, or any of our team attending Drupal Camp by connecting with them on LinkedIn, or via our contact form.

Come dine with us - Agency Leaders Dinner London

Hosts Paul Johnson (CTI Digital), Piyush Poddar (Axelerant), and Michel Van Velde (One Shoe) cordially invite agency leaders to join them for a night of meaningful discussions, knowledge sharing, and of course great food, excellent wine, and the best company you could ask for. Details of the dinner can be found here.

DCL Agency Leaders Dinner 2020

Agency Leaders Dinner London

Drupal Camp Weekend

Drupal in UK Higher Education - A Panel Conversation

Paul Johnson, Drupal Director at CTI Digital, will be hosting influential bodies from the Higher Education community as they discuss the challenges facing universities in a time of light-speed innovation and changing demand from students. In addition, they will explore the role Drupal has played in their own success stories and the way open source can solve problems for other universities. Drupal camp panel details available here.

The Panellists:

Adrian Ellison, Associate Pro Vice-Chancellor & Chief Information Officer University of West London - Adrian has been involved in Registry, IT and Library Services in higher education for over 20 years. He joined UWL in 2012 from the London School of Economics, where he was Assistant Director of IT Services. Prior to that, he was IT Director at Royal Holloway, University of London, and held several roles at the University of Leeds.

Adrian is a member of the UCISA Executive Committee, representing the voice of IT in UK education. He has spoken about information technology at national and international conferences and events and co-wrote the Leadership Foundation for Higher Education’s 'Getting to Grips with Information and Communications Technology' and UCISA’s ‘Social Media Toolkit: a practical guide to achieving benefits and managing risks’.

Billy Wardrop, CMS Service Support Officer at Edinburgh University - Billy is a Senior Developer with 15+ years experience and the current technical lead for the migration to Drupal 8 at The University of Edinburgh. He has worked with many platforms but his passion lies in developing websites and web applications using open source such as Drupal, PHP, JavaScript and Python. Billy is an advocate in growing the open-source community. As part of his role in the university, he regularly mentors at events and encourages software contribution. 

Iain Harper Head Of Digital, Saïd Business School, University of Oxford - Iain started his career at leading medical insurer MPS, developing their first online presence. He then ran digital projects at a leading CSR consultancy business in the Community before joining the Civil Service. Iain worked with the Government Digital Service on Alphagov, the precursor to GOV.UK. He then joined Erskine Design, a small digital agency based in Nottingham where he supervised work with the BBC on their Global Experience Language (GEL). He now leads the digital team at Oxford University’s Saïd Business School.

Open source has won. How do we avoid dying from success? - A Panel Conversation

Drupal, founded on a philosophy of open source, has steadily grown into a global community, a feat some may label as having achieved ‘Success’. Drupal users and contributors will be discussing the sustainability of Drupal and the future of open source in an open panel session.

What are the challenges faced by different roles? How can we make the whole ecosystem fair and future proof? What does an open source business model look like? 

Join host Paul Johnson and Drupal panellists for this thought provoking discussion on the future of open source. More details on the session are available here.

Why should you attend Drupal Camp?

Share useful anecdotes and up-to-date knowledge 

Discover the latest in UX, design, development, business and more. There’s no limit to the types of topics that could come up...as long as they relate to Drupal that is!

Meet peers from across the industry

From C-Level and Site managers to developers and designers over 500 people attended last year. Meet the best and brightest in the industry at talks and breakouts.

Find your next project or employer

A wide variety of business and developers attend Drupal Camp, make the most of it by creating connections to further your own career or grow your agency team.

Feb 15 2020
Feb 15

This month for SC DUG I gave a talk on the importance of self-directed learning for professional development as a developer — or really any other modern career. It was an extension and revision of my December blog post on the same topic. The presentation runs a hair over 30 minutes, and parts of the discussion are included as well.

[embedded content]

We frequently use these presentations to practice new presentations, try out heavily revised versions, and test out new ideas with a friendly audience. If you want to see a polished version checkout our group members’ talks at camps and cons. So if some of the content of these videos seems a bit rough please understand we are all learning all the time and we are open to constructive feedback.

If you would like to join us please check out our up coming events on MeetUp for meeting times, locations, and remote connection information.

Feb 11 2020
Feb 11

1) Built-in support for multi-language sites and admin portals

Let's jump right in! For business owners, ecommerce eliminates many restrictions of traditional business practices. One opportunity is the ability to sell your product to overseas consumers, expanding your possible market to contain, well virtually, the whole world. Of course, one of the barriers to entry into certain markets may be the language.

Imagine this: You are a Brazilian business owner who just invented chewing gum that never loses its flavour. Obviously, the demand for this product is worldwide. The only problem is that you do not feel comfortable writing the script for your new online product page in English or any language other than Portuguese for that matter. In a perfect world, the ideal solution might be to hire translators for every language of each country that you want to sell this amazing gum in. However, the costs of such an endeavour are enough to make even those with even the deepest of pockets think twice.

In my opinion, the next best and completely viable option is to choose to develop your chewing gum site using Drupal then make use of the many multilingual modules to automatically translate your content (just Google “Drupal automatic translate” for a list of options). The advantage of these Drupal translation modules is that, first, it can appear as an option at the top of the page and is therefore easily accessible to the customer. Second, additional modules can allow you to automatically show the users local language based on their browser’s set language. Third, you can choose which blocks of text you want to translate and which you do not; so let us say for aesthetic reasons or brand awareness you do not want a certain block of the site to be translated, you simply do not enable the translation for that block in the admin portal. Additionally, while your site frontend is being translated for your visitors, as an admin you can maintain Portuguese as the primary language to run your backend admin portal.

Read the full Gartner reportSpeaking from my own experience, I shop online for bicycle components quite often. The problem is many of the unique manufacturers I am looking to buy from are based out of Italy and Germany. Google translate can do an adequate job of helping you navigate the site, but when it comes to the finer details like product specifications or return policies I quickly find myself out of my depth. The great thing about using Drupal Translate is that you can manually enter the translation for each language of every block on your website. So for example, instead of paying for a full site translation in each language, you could hire professionals to translate the important areas like the fine print and leave the less critical areas up to Drupal.

2) Features on features

Okay, Drupal is not exactly an episode of Pimp My Ride, but it can pretty much do anything you can dream of. If, for some reason, you want to design a site that sources all of the types of chicken wings sold in restaurants across your city. Then create a catalogue that breaks down the various chicken wings by texture, flavour, price, size, messiness, etc. Now you want to integrate a system that uses logic and intelligence to recommend the best beer your company sells to accompany any wing selection made. This is all possible with Drupal.

The cost to develop such a unique site with these custom modules on Drupal would not be cheap. However, the point remains that a feature such as the one mentioned above is quite crazy, but completely possible. If there is functionality that you need, it can be built on Drupal. The other big takeaway is that once you have paid for the development of the module you are now the owner and do not have to worry about any ongoing licensing costs. For reasons like these, it is my opinion that Drupal is the best CMS for such robust and custom site requirements.

3) Security

Of course, nothing can ever be fully secure especially without regular upkeep, but Drupal does a few things differently that should help you sleep better at night. Unlike the many popular SaaS platforms, Drupal is open source and non-proprietary. This means that you are the owner of your data and you are the one who decides how it is managed, meaning you can fine tune every aspect of your Drupal site from the site itself to your hosting environment. If you have a security team or security-focused partner that you work with, Drupal provides the flexibility they need to keep your data safe.

The official Drupal Security Team is also thoroughly on top of the security of the core Drupal software’s code and helps module developers keep their modules secure. This team frequently releases security patches that address any vulnerabilities that come up. In addition to the official Drupal team, the large Drupal community of developers donate their time to develop and monitor Drupal’s code. Drupal and all of it’s modules are built using a core set of coding standards, so the many thousands of developers working with Drupal’s code ensures security issues are found and addressed quickly.

Lastly, one of the features of Drupal that is best known is its ability to integrate into third-party applications. As such, Drupal is also capable of easily integrating into other security systems and platforms on the market. You’re not restricted to Drupal alone.

4) Open source community

In my mind, there are two main reasons that the open-source nature of Drupal and the community that surrounds it are such an advantage.

First, because of the large community of developers and its open-sourced nature, there are countless plug-and-play ready modules available free of licensing fees just waiting to be added to your website. This means, in addition, you are the owner of your own code and data. Furthermore, you never have to worry about losing development support for your website. There will always be another Drupal agency out there waiting to pick up the pieces if something were to go wrong.

Second, because there is such a large community of developers behind the expansion of Drupal, you have a veritable fusion of diverse ideas and designs. Instead of a single organization pushing code in a certain direction, you can find incredibly creative and unique libraries of code. This means a deeper pool of free talent to pull from. Even with the creative minds driving the development of Drupal, there is still consistency in the underlying code. This enables easier upkeep of the code itself and allows a lower barrier of entry when onboarding new developers. The advantage to the end-user is that, when compared to a fully custom build, using Drupal means that should your partner agency ever go out of business or the relationship deteriorates, you will have other experts in Drupal to turn to.

5) Future-proof

I keep bringing this up, but it really enables so many possibilities; because Drupal is so open to API integrations, you can design Drupal to work as a modular middleware behind the scenes. This means as you acquire new technology and software, it really is as simple as plugging it in and configuring an API hook.

Furthermore, as long as Drupal is paired with the right server, it can handle endless amounts of traffic and scale from small business to enterprise. This is a reason why Drupal is such a popular CMS of choice for medium-sized to enterprise-level organizations.

Finally, Drupal as a CMS is kind of like Play-Doh. You can build out your frontend experience for the market you are presently targeting using Drupal’s built-in theming layer or by using one of the many other frontend frameworks. Drupal’s APIs allow it to run headless, so it can hold your backend data but you’re not tied down to any specific way of building your frontend. Ten years down the road, though, you may have a completely different set of needs for your frontend framework. No problem, you can rest assured that Drupal won't get in your way.

Are you considering options for your digital experience platform?

Choosing the right DXP now is important to your business now and in the future. Protect your tech investment by assessing the trade-offs of buy or build deployment options and how they relate to your digital experience goals and business outcomes. This Gartner report has been made available to our readers for a limited time and will help you get started. Check it out.

Click to access the Gartner report today

Jan 31 2020
Jan 31

Kickstarting the year with a contribution weekend globally from 24 January - 26 January, Drupal Association was able to gather participants from over 30 cities in 17 countries.  Among the 7 locations the contribution sprint happened in India, Srijan Technologies led the Delhi NCR sprint from its Gurgaon office on 25 January 2020.

The one-day session witnessed more than 25 people coming together from various organizations like Mckinsey, TCS, BirlaSoft, QED42, and JBi Digital coming together to not just fix issues but also to share their experiences with Drupal. Our crowd a perfect mix of site builders, testers, designers, project managers, marketers, writers, and, of course, developers contribute to the open-source project. 

The schedule for  DGCW encompassed engaging sessions at length from Drupal India Association on introduction to Drupal 9 to individual sessions from contributors, fixing of patches, and their evaluation. The objective was to provide attendees with an opportunity to showcase their recent work, module or contribution, besides discussing their experiences with Drupal related tools.

By the end of the sprint, we resolved 28 issues and fixing 17 patches, which were later evaluated as well to discuss and make learning, fun for all.

drupal-contribution-weekend-7

group of people standing

drupal-contribution-weekend-9

drupal-contribution-weekend-2In addition, three individual sessions were delivered on topics ranging from the latest update, architecture, and user activity

  1. Introduction to Drupal 9, by Vaibhav Jain, Srijan Technologies
  2. Progressive Decoupled App on Drupal 8, by Pradeep Kumar Jha, Rajiv Patel, and Siddharth Sharma, Srijan Technologies
  3. User Activity and Log Management, by Vernit Gupta, BirlaSoft

man standing in front of a blue tv screen Vernit Gupta from BirlaSoft presenting a session on User Activity and Log Management


The idea behind conducting the DGCW is to make Drupal attendees cognizant of the latest developments in the community and the project across the globe and encourage contribution, involvement in strategic initiatives and get the support for the imminent release of Drupal 9.

Srijan, being a persistent Drupal contributor with nearly 60 plus certified developers and more than 1000 plus D7 and D8 commits, aims at motivating masses to contribute or give back to the growing community by sharing the information  & expertise on the same.

A Signature supporting partner, we always strive to provide a platform for Drupal enthusiasts to meet, network and innovate.

Srijan looks forward to sponsoring many more upcoming events in the near future, like DrupalCon Minneapolis, DrupalCamp Manila, Kubernetes Day, and Decoupled Days, similar to the ones it has sponsored in the past both locally and internationally.

**With inputs from Vaibhav Jain

Jan 30 2020
Jan 30

A chef can make a great meal with a few basic ingredients. But when offered a massive pantry full of options, the result can be a work of art.

The same principle applies when it comes to website CMS software. A basic template-style CMS can result in something that hits the spot. But Drupal’s staggering degree of flexibility and modular options has allowed the developers of some of the world’s most prominent websites to create gorgeous and highly functional sites that inspire, inform, and elevate.

Here are our top 10 picks for Drupal websites that we think have raised the bar:

  • Tesla
  • PGAL
  • University of Texas at Austin
  • Children’s Hospital of Los Angeles
  • Mint
  • National Baseball Hall of Fame
  • The Australian Government
  • Rethinking Picasso’s Guernica
  • The Emmy Awards
  • NASA

Let’s examine these in more detail:

10. TeslaTesla

A rare day passes by without Tesla making headlines. The brand and its founder, Elon Musk, are renowned for big, audacious ideas that have potential to change the world. The beautiful photography and design make every section look like a high-end editorial page in a magazine, while the simple, intuitive navigation and call-to-action features are clean and unobtrusive. It all combines to create a website that’s aspirational yet attainable.

9. PGALPGAL

PGAL is an international design firm focusing on interiors, architecture, planning, and engineering. Their challenge is to show and tell, so that potential clients are dazzled by the site’s visuals while still being able to find enough solid information to want to take the next step. The site, which uses imagery as the gateway to project stories, is a delightful rabbit-hole that we could spend hours exploring. Make sure to check out their Projects page, as it is an excellent example of how to show off a portfolio in a clean but comprehensive way.

8. University of Texas at AustinUniversity of Texas at Austin 

University websites can often be an overstuffed nightmare to navigate, but the team behind UT Austin’s website got it right: Their menu navigation is clean, well-organized, and enticing. Add to it a home page that evokes the fresh excitement of starting the post-secondary journey, while peppering in well-organized data that invites the reader to learn more, and you have a website that gets students and their families off to the perfect start.

7. Children’s Hospital of Los AngelesChildren’s Hospital of Los Angeles

160,000 visitors go to CHLA.org every month, making it vital for the site to present clear, accurate, easily navigated information in a way that builds and maintains trust. It’s a tall order, but CHLA.org delivers. The design is clean but far from cold, while the most frequentlysearched information is put front and center instead of being hidden in the navigation bars, making it easy for frazzled parents to find out what they need to know. The sheer volume of information on the “Patients and Families” page could easily be overwhelming but is organized beautifully and intuitively.

6. Mint

Mint’s value statement: “We help you effortlessly manage your finances in one place.” They offer clean and simple financial management, using a clean and simple sentence to describe what they do. A cluttered or complicated website would completely undermine their brand. Fortunately, Mint.com is anything but cluttered or complicated. The simple and soothing colors and minimalist text are reassuring to visitors who want straightforward information, while the navigation and iconography make navigation a breeze.

5. National Baseball Hall of FameNational Baseball Hall of Fame

For any website to be successful, it has to give the end-users what they’re looking for, and the BHoF delivers. After extensive user research, the site was designed to showcase the incredible stories and artifacts in BHoF’s collection, bringing it all to life for the site’s visitors. Fortunately, it also does so in a way that’s easy to navigate, inviting visitors to spend plenty of time exploring.

4. The Australian GovernmentThe Australian Government

As with universities and colleges, government websites can often be an impenetrable labyrinth to navigate. Australia.gov.au does things differently, living up to their header, “Helping you find government information and services.” The site is incredibly well-organized, with virtually no clutter. And even though it has not one photo to speak of, it still manages to be attractive, through a judicious use of color and minimalistic icons.

3. Rethinking Picasso’s GuernicaRethinking Picasso’s Guernica

The Museo Nacional Centro de Arte Reina Sofía created an ambitious project around one of Picasso’s most famous works of art, and the results were groundbreaking: The project has been recognized with a Webby as the best 2018 Cultural Institutions Website. The storytelling and imagery on this site are captivating, while the user experience is smooth and unobtrusive.

2.  The Emmy AwardsThe Emmy Awards

The Emmy Awards are splashy and glamorous on the outside, while requiring meticulous planning and organization behind the scenes. Their website is no different. With a plethora of content, rich color choices, and high-quality images, the site is as immersive an experience as the awards show is. But thoughtful, intuitive navigation, exciting features, and well-curated content demonstrate expertise.

1. NASANASA

NASA.gov is a massive resource on space, astronomy, and the universe, offering detailed information on present and past missions, gorgeous photography, educational resources, and information about the organization in general, to name but a few features. Organizing such a wealth of information in a coherent and clear way shows what is possible with Drupal.

Full disclosure: We’re the team behind NASA.gov, so it’s understandable that we might have a soft spot for this site. However, we’re far from alone in loving the finished product. Our friends at Vardot.com call it “a shining example of Drupal CMS used to present stunning information, and elevate the user’s experience,” and NASA.gov has made the top of more than one “Best Drupal Websites” list.

Want to see the possibilities that Drupal can hold for your organization’s website? Contact us today!

Jan 28 2020
Jan 28

Due to the nature of B2B sales, one of my roles is cold outreach. Most of the time my first method of outreach garners no replies. However, every so often I will receive a prompt email message or reply over the phone. It usually goes something along the lines of: “We already have a web development agency.” or “We are not interested.” I often wish I was at a sit-down meeting when these situations arise. This is because I simply cannot describe the multi-faceted solutions Drupal can provide, far and above a typical web development agency. “You should absolutely stay with them” is my typical response to prospects that have an agency they are happy with. I say this because there is so much more Drupal, as a business solution, can provide without even interacting with the frontend of their website. What we often promote with Drupal is its capability to create a more complete digital experience platform (DXP), not just a website.

What Gartner has to say about the DXP

In a 2019 report, Gartner has this analysis about DXPs:

“Driven by digital transformation efforts, organizations are moving beyond the traditional audience engagement resources of websites and mobile apps. There is a growing acceptance of the idea of digital experience platforms as vital to these efforts. DXPs provide a scalable foundation for creating, optimizing, integrating, delivering and managing a range of digital experiences for different audiences, both internal and external.1”

So let me unpack that a little bit in my own words. Essentially, your website and mobile apps are still very much at the forefront of digital marketing. Moving forward, though, more organizations have and will continue to create a more cohesive, single platform (DXP) in order to cater to all stakeholders of the company. This not only includes said organizations’ customers but also their teams and employees, allowing for a more comprehensive snapshot of the company from the outside and inside. In the same report, Gartner estimates that:

“Through 2021, 85% of the effort and cost involved in a digital experience platform (DXP) program will be spent on integrations with internal and external systems, including the DXP’s own, built-in capabilities.1”

In my opinion, this assumption by Gartner indicates that organizations are already well aware of the advantages a DXP can provide. If you're interested, click on the banner below to read the report.

Click to access the Gartner report today

An imaginary business case for a DXP

Imagine you started a business selling gadgets. Your gadgets were better for target market X because they were less complicated than the gadgets that were available on the market at the time. So first off, you rented a storefront and sold the gadgets in your store, but you also realized you could scale your business by selling the same gadgets online. So in addition to your point of sale system (POS), you now had to adopt an appropriate ecommerce platform and build a website to sell the gadgets online.

Now that you were selling gadgets online you also had to have a shipping channel and a returns channel for replacing defective gadgets. As demand for your product began to grow you needed more gadgets on hand at any given time. The obvious solution was a warehouse, but you also needed a product information management (PIM) system to keep on top of your inventory and distribution channels.

As your product created a name for itself you opened a few more gadget stores and to satisfy demand across the globe you began selling your product through Amazon. With increased demand came competition, so in response, you invested in marketing software to stay on top of the industry trends. You began to diversify in order to make your business more resilient to market volatility. The diversification led to custom gadgets in addition to a gadget service and repair business.

In order to keep track of what your customers had purchased and to identify opportunities for cross-selling and up-selling, you invested in a customer relationship management (CRM) system. Finally, just under a year ago you invested in a new enterprise resource planning (ERP) system. This way all of your new departments had the information they needed to operate efficiently.

So we are now in the present day. Like many other businesses that grew at a rapid pace, you find yourself in a situation where all of your technology has become siloed. In this analogy, your data and information all exist, but it is locked away in separate silos. Each silo represents a piece of software, a distribution channel, a legacy POS system, or that missing Amazon integration that can only be accessed from one place. You can run a business this way, and many organizations do just that, without realizing that there is actually a more efficient way to do things. This is where the DXP comes into play. What you would prefer rather than individual silos would be a horizontal technology architecture with open lines of communication between everything. This, as one could imagine, can save a tremendous amount of time and manual workflows, eliminating what we call swivel-chair processes. Simply stated it is a more efficient way of doing business. The problem is many business owners and decision makers may not even realize this is happening because they live in their own silos and no one has pointed it out to them.

How does Drupal come into play?

Drupal is a content management system (CMS), but at the same time, Drupal can do so much more than a traditional CMS. Through API integrations, also known as API hooks, Drupal has the ability to be used as middleware. As middleware, Drupal can act as a modular engine that connects all the data from the aforementioned gadget business’ technology. Data can flow forwards and backward between the various pieces of technology and even integrate into legacy systems like the POS in the gadget example. Furthermore, the modular nature of Drupal middleware essentially future proofs your business allowing for business scalability.

Drupal as middleware example

To give an analogy, you can think of Drupal middleware as a computer with unlimited USB ports. The computer acts as the brain passing information back and forth between systems and the USB ports are the API hooks. USB ports are non-proprietary and you can, therefore, unplug cables you no longer need and replace them with new cables. You can also add or remove cables as necessary and the computer keeps on functioning as long as you configure the drivers. So as you outgrow software systems or you decide to replace that legacy POS, no problem because you can just plug in the new software, install the drivers, and you are back up and running again.

Connecting it all together

Read the full Gartner reportSo to return to my statement at the beginning of this blog post, the reason I wish I could sit down with those who respond so quickly to my first cold outreach is that I do not want to be typecast as just another web development agency. In actual fact, because our expertise lies in Drupal we are far better positioned to provide solutions that lay beyond the scope of the traditional idea of a website. Sure we can develop an incredibly robust frontend experience and, likewise, a flexible scalable ecommerce engine. But, we can also use Drupal as middleware that allows for seamless flow of information between systems.

If you've read this and would like to have a quick chat, let us know! We're happy to help. I also mentioned a Gartner report from 2019 that is a great introduction for anyone trying to nail down their digital experience platform. Gartner has made this report available to us to share with our readers for a limited time, so check it out now while you still can.

1 - Gartner, "Don’t Wreck Digital Engagement With Bad Deployment Decisions for Your Digital Experience Platform,” 31 July 2019, Gene Phifer.

Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner’s research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.

Jan 17 2020
Jan 17

Drupal 9 is scheduled for release on June 3, 2020. And as with any highly anticipated release, questions abound: “What will change from Drupal 8 to Drupal 9?” “What do I need to do to prepare before upgrading?” And top-of-mind is the big question: “What will Drupal 9 be like to work with?”

Read on as we share what you’ll need to know … and what might surprise you.

Anybody who’s upgraded from Drupal 7 to Drupal 8 recalls the giant chasm between the two systems. Almost 200 new features were launched including an entirely new page editor, a new theme engine, a new text editor, and new field types, to name but a few.

This gap doesn’t exist between Drupal 8 and Drupal 9. In fact, on the surface, there IS no difference: Drupal 9 has the same code, functions, and feature set as Drupal 8.9.

So why release it then? As it turns out, there are differences — they’re just not front-and-center on the interface.

Time to Clean House

Throughout its development cycle, Drupal 8 has wound up with a lot of code debt: functions that were created programmatically and used for some time but have been rendered redundant by more efficient functions.

These bits of code clutter up Drupal 8 like your old CDs and DVDs clutter up your bookshelf: There’s nothing wrong with them, but you probably don’t need them anymore now that you have something more efficient.

The result of all this extra code is that programmatically, there might be 10 different ways to do one single thing.

What Drupal has done is marked all of those code items in the backend code base as being “deprecated”. When Drupal 9 comes out, the plan is to remove all the deprecated code on this list, leaving only the latest version of whatever that code’s API is. They’ll also be updating third-party dependencies, such as Symfony and Twig. From Drupal’s site:

“Drupal 9 will be a cleaned-up version of Drupal 8. It will be the same as the last Drupal 8 minor version with our own deprecated code removed and third-party dependencies updated. We are building Drupal 9 in Drupal 8.”

Will Drupal 9 Be Better?

Yes, but not without some minor risks.

Jettisoning all this deprecated code will result in a much faster, cleaner, and better-operating version of Drupal. However, if you have legacy programs whose modules use some of that deprecated code, you could find yourself with some broken processes.

How to Prepare for Drupal 9

In general, upgrading to Drupal 9 is not an onerous process – it can literally be done via a single command. What will take more time is monitoring and auditing code bases to ensure that none of your functionality is dependent upon deprecated code.

Fortunately, Drupal is well prepared for this, and has indicated that the Drupal 8 branch of the Upgrade Status module can be used  to identify and report on any deprecated code:

“This module scans the code of the contributed and custom projects you have installed, and reports on any deprecated code that must be replaced before the next major version. Available project updates are also suggested to keep your site up to date as project will resolve deprecation errors over time.”

In addition, we anticipate that when downloading or updating modules, Drupal will likely advise whether there are compatibility issues due to bad functions. However, that notification system isn’t currently in place (if it indeed happens at all), so your best bet is to work with your development partner, who can audit your code to identify any trouble spots.

Marie Kondo-ing Your Infrastructure

Drupal 9 will be a much faster and more streamlined platform, but it doesn’t exist in a vacuum. If the rest of your operational architecture is similarly full of code debt and redundant processes, updating Drupal 9 will be akin to sending a Lamborghini down a pothole-rutted road: That powerful engine is wasted if the route is slowing it down.

So, going to Drupal 9 is an excellent opportunity to look at your legacy systems, audit them as well, and make sure your entire infrastructure is clean, fast, and free of roadblocks.

The Bottom Line

In general, upgrading to Drupal 9 should not be a complex or lengthy process. By cleaning out the clutter and performing some common dependencies, Drupal is practicing good development hygiene and providing its customers with a more streamlined system that will be faster … but still familiar.

Want to know more? Contact us today!

Jan 15 2020
Jan 15

With websites playing a major role in determining customer needs and impacting business sales, a second’s lapse in loading can make a customer think twice about staying on the website. 

As per Amazon’s findings, it stands to lose up to $1.6 BILLION per year if their site was slowed down by just one second. 

A reliable and fast web hosting provider can play a crucial role for your business to retain online users. 

While looking for a hosting provider for your website, what qualifies as the best solution? Does CMS specific hosting really have an impact on website performance?

Let’s find out! 

Why Drupal-Specific Hosting?

Drupal specific hosting is safer and better as it is more compatible out of the box and comes with a bundle of other benefits: 

1. Easier Installation For Quicker Website Building

Choosing Drupal-specific hosting providers helps with quick 1-click installs which can be completed within minutes. It’s best to to opt for CMS friendly web hosting solutions to sync up easily.

2. No Further Cost Associated

A Drupal specific host can provide a server infrastructure that is specifically optimized for running Drupal websites at no extra hidden cost.

3. Flawless User Experience

The benefit of working with Drupal-specific hosting is that it can notify you of any website performance issues or of any upcoming minor or major release and assures seamless user experience.

4. Strong Community Support

Drupal Community support for your website as well as your hosting provider with a plethora of huge libraries of modules and extensions can support you if you get stuck.

What are Drupal Web Hosting Requirements?

It is essential to choose a hosting provider which can match the setup of the CMS you’re using. 

With Drupal being a  CMS which has numerous modules running, it would need a hosting solution which can offer a huge spacing model. A basic Drupal site will need around 2 GB of RAM and 10 GB of total storage, MySQL 5.5 or higher for Drupal 8 and MySQL 5.0.15 or higher for Drupal 7. Also, the core installation takes about 100 MB on the web server, depending upon the modules, themes and content needed for your website. 

What Qualities Determine Best Hosting Provider?

 

With multiple options of popular web hosting available out there, choosing the right Drupal hosting can be a humongous task. Not just fast server speeds, but qualities to look in a hosting provider include robust security, one-click Drupal installs, migration assistance, scalable hosting, daily backups, and which come with Drupal utilities pre-installed. 

We have curated a list of things which you should consider in the hosting provider for your website. They’re listed as follows:

 

  • Higher Uptime Percentage: While choosing a hosting provider, ensure that it has a reputable uptime percentage, preferably above 99.5%, which shows how much time your hosted website will be online for its users. A weak server and unstable network connections of a hosting provider can often make your website offline.
  • Better Page Load Speed: Server speed is different than website speed. There’s no use optimizing your website if it is sluggish on the server it’s hosted on. With only 3 seconds to catch a visitor’s attention, you don’t want to lose one with a slow server response time. To stand out amongst million websites on the web, a super-fast loading website can transform a visitor to a customer.
     
  • Reliable Customer Support: This is an important aspect for your web hosting and should not be overlooked. Your provider should offer support on emails, chat, phone and much more and should have a responsive reputation in their support department. 
  • Automated Backup Restore: A good host will ensure daily website backup of all content, files, and code in case of unpreventable accidents.
  • Standard Development Workflows: An ideal Drupal hosting solution will usually come with three environments (dev, stage and live) in the cost of the subscription. Dev environment is used only by the development team to build and test new features, stage environment for bug fixes before they are launched to your live/production site, live environment being client facing with live content
  • Cost-Effectiveness: Well, who doesn’t want an affordable and reliable web host? 

Srijan’s Recommendations For Drupal Website Hosting

We’ve chalked out a list of some of the best Drupal platforms that are trusted and proven to provide the best service for small to enterprise business.

AcquiacloudimageAcquia Cloud platform tops our list of the best Drupal hosting providers. A trustable name in the hosting industry, it is not only secure and compliant, but also is improved to be able to support Drupal 8 sites. The provider has a huge support staff and is the most preferred channel for big names like BBC world.  Its starting price for small businesses is $141/month and ranges to $795/month for mid-size businesses. Users could try the free version before deciding to go for it. 

Pantheonimage

Pantheon offers a competitive price for Drupal hosting with uncompromisable performance. Makes your Drupal run faster, this hosting provider handles traffic spikes without any hiccups. Big names like Apigee, Tableau rely on it and stands strong based on user reviews. Offering in-built dev, staging and live environments, it is developer friendly provider helping them deploy code securely, using a continuous integration workflow. Its most popular plan starts from $114/month and is apt for traffic-intensive websites.

Sitegroundimage

Siteground hosting provider is tailored as per your Drupal website needs. Well backed by Drupal experts, the plan comes with an easier start, alongwith 1-click Drupal install and no-downtime for your website. Here’s a list of its amazing features:

  • 30 daily backup of website
  • 100% security from attacks
  • 24/7 uptime monitoring
  • Latest technology hardware used
  • 24*7 Drupal expert support available

It offers affordable hosting plans starting from $3.95/month. 

AWS offers a cloud hosting platform for your Drupal website. Its extensive computing power and faster content delivery can help your businesses scale and grow rapidly. It offers various services to host Drupal 8 in a distributed environment.

It is considered best for medium to large enterprises. You can check the pricing details here and use the calculator to see if the cost suits your budget.

A2hostingimageHigh powered hosting to meet your needs, it offers 20 times faster speed for your Drupal website at four affordable plans for shared, reseller, VPS and dedicated server hosting. It is optimized for speed and performance, with Drupal being pre-installed with every hosting plan. Here’s a highlight of what it offers:

  • Fast servers for a supreme user experience
  • Friendly and knowledgeable support team available 24/7/365
  • Completely risk free money back guarantee
  • 99.9% uptime commitment

While there are numerous providers for hosting a site and some of them appearing just tailor made specific to unique needs of Drupal sites, if you need assistance in deciding which one suits your needs, contact us. Experts at Srijan can guide you to opt for the best hosting solution as per your Drupal needs.

Jan 14 2020
Jan 14

Content management systems (CMSs) are the engine that drive content creation on the web today. They form the foundation that we build on for publishing and sharing information, creating digital experiences and conducting online retail. WordPress and Drupal are staples in the CMS world and they have both been around a long time. WordPress is known for its intuitive and easy-to-use interface. Drupal is known for its flexibility and complexity. While both have their strengths and weaknesses, the usability gap between WordPress and Drupal is changing. This article will show you the current state of Drupal’s admin user experience in a side-by-side comparison with WordPress, the most widely used CMS. If you’re familiar with one CMS but not the other, this comparison is also a good introduction to the other.

TL;DR: The primary goal of this article is to dispel the perception that Drupal is widely different and harder for administrators to use than WordPress. If you don’t care about the background behind this perception, just skip down to the direct comparison.

WordPress is easy, Drupal is hard… why does this perception exist

But first, a little background. The dominant CMS in terms of number of sites running on it is WordPress. It’s estimated to power about 62% of all websites that use a CMS, meaning multiple millions of websites are using it. Why is WordPress so popular? WordPress started as a blogging engine with a focus on being easy-to-use. This proved to be incredibly important because it meant that nearly anyone could get a WordPress site up and running fast and be able to use it with little-to-no training. The idea caught fire with both individuals and local businesses who just wanted a simple, low-cost website that others could find online. Web developers and agencies also finally had a framework that allowed their clients to make simple content edits within an admin environment that was friendly. Of course, WordPress today can be used for much more than a simple website, but it is still ideal for simple websites. Another key takeaway here is this perception of WordPress as being easy-to-use. This reputation holds true just as much today as it ever did in the past.

This article isn’t actually meant to praise and promote WordPress. Instead, much of this article will focus on another popular CMS, Drupal. Drupal is a fantastic CMS and is incredibly powerful when used correctly. In many web development circles, Drupal is the go-to solution for providing a robust solution for today’s CMS driven website development. It’s thriving both in usage and as a community of enthusiasts, but while WordPress sits in #1 spot with 62% of the market share, Drupal holds steady at #3 with about 3%. It still means there are many hundreds of thousands of websites powered by Drupal, but the number of websites using it pales in comparison to WordPress.

Why isn’t Drupal more popular? Well, anyone who knows Drupal (and even many who don’t) will tell you that Drupal is best suited for large websites with high traffic and complex requirements. Universities, government, nonprofits and online retailers are a sample of who uses Drupal. Drupal out-of-the-box isn’t as ready to use as WordPress, so it’s unlikely a suitable fit for simple websites. For individuals, configuring Drupal is a steep learning curve. For local web agencies, it takes more time to setup which means they must charge more. These reasons alone largely take Drupal out of the running for many websites, so for Drupal it’s more about use case than mass adoption.

With that said, Drupal’s ability to be configured and developed on literally means it can handle nearly any situation required of it, whether that means selling products for enterprise businesses or being the integration layer between multiple platforms. While this inherent flexibility is great for software developers, Drupal’s perception of complexity combined with a historically underwhelming admin experience has cemented a reputation that Drupal is unintuitive and difficult to use for the end user, the people who will be using it every day. While in my opinion this isn’t true of today’s Drupal, like WordPress it’s reputation precedes it. In Drupal’s case, however, this reputation isn’t as flattering and it’s something that our sales and outreach teams battle with often.

For Drupal, it’s time for change

Like WordPress, Drupal is open source software. It’s free to use and anyone has full access to the underlying code to modify and build upon. Both platforms have a core team for advancing key initiatives and a massive community of individuals and organizations that support the initiatives while also adding additional functionality through plugins (WordPress lingo) or modules (Drupal lingo).

While usability has always been important to WordPress (since it started as a blogging platform), Drupal was historically more focused on being open and flexible. It’s user experience has continuously improved with each version release, but late in 2018 marked the beginning of a big push towards modernizing the Drupal admin user interface (UI). Drupal is really amazing software and it’s time that the admin experience catches up.

Introducing Claro, Drupal’s new admin UI

Drupal 8 Claro admin theme
Claro interface design mockup courtesy of Drupal.org

Claro is the new admin theme being built as part of the Admin UI Modernization initiative. It’s included with every Drupal 8 site, new and old, and can be enabled right now if you so choose. Just be aware that it is currently considered “experimental” while progress continues to be made. It’s not yet in its finished state, but you can view the development roadmap here to see what is still left to do.

Side-by-side: WordPress & Drupal Admin UI Comparison

On to the comparison!

For WordPress, I’m using version 5.3.2 (released Dec. 18, 2019) which comes with its own Twenty Twenty default theme and content.

For Drupal, I’m using version 8.8.1 (also released Dec. 19, 2019. How about that!) and the new, but experimental, Claro admin theme. If you’re looking at this at a later date, some aspects may be different (for the better!) as development of the theme continues. I’ve also installed Drupal using the official Umami demo install profile so that I have a theme and some content to work with.

In each of the 10 comparison categories below, I’ll give my opinion on which CMS has the edge out-of-the-box and why I think this. I’ve used both platforms and do have some bias towards Drupal, but I’ll do my best to keep that in check.

Category quicklinks
  1. Admin toolbar
  2. Login dashboard
  3. Managing media
  4. Creating pages
  5. Editing pages
  6. Managing widgets and blocks
  7. Managing menus
  8. Managing users, roles and permissions
  9. Site status report
  10. Plugins and modules
  11. WordPress & Drupal comparison summary

1. Admin toolbar

The admin toolbar is always present on the page of both WordPress and Drupal.

WordPress

WordPress admin toolbar

In WordPress, a single toolbar is used as a jump-off point for common admin pages, but you can also start the content creation process and access your account profile and information.

Drupal

Drupal 8 admin toolbar

Drupal has a similar admin toolbar except you have access to everything including creating new content. Every admin page that your user role has permission to view is available through this menu. While it’s more to look at initially, experienced users enjoy fewer clicks to get where they want to go.

Edge: Drupal

While the learning curve to know where everything is might be a bit steeper, experienced Drupal users enjoy being able to access everything in one familiar way. With that said, new users may find this larger menu intimidating.

2. Login dashboard

After logging in, the login dashboard is the first page you see. WordPress and Drupal both take a different approach to their login dashboard.

WordPress

WordPress login dashboard

WordPress has a robust dashboard right out of the gate. This dashboard takes admins away from the site frontend and into an interface that only they can see. The left side has a larger menu for accessing the rest of the admin interface. The main content area mix of useful information about your site and information specific to WordPress as a whole, such as training resources and upcoming WordPress events. The panes on this page can be toggled on and off and plugins can add new panes.

Drupal

Drupal 8 login dashboard

This is the first area where Drupal takes a different approach. Instead of a robust dashboard, you don’t actually get much of anything. The admin toolbar already gives you access to the entire site, so Drupal keeps you on the website frontend and instead shows you your “user page”. This page is entirely customizable although you will most likely need third-party or IT support to do so. It’s an open canvas to do with as you like. For ecommerce, you might show a customer their information, recently viewed products and their last order placed. For content creators, you might show a custom dashboard with quick links to their common tasks. What you do here is entirely up to you.

Edge: WordPress

Although it’s not entirely useful, WordPress actually has a dashboard which is a nice touch for new users. Drupal's clean slate offers a lot of exciting potential for admins and visitors alike, but any potential must first be realized before this page is useful.

3. Managing media

Images, videos, documents and more are uploaded and organized within a media manager. Both WordPress and Drupal offer a convenient content editor plugin which makes selecting and adding media into content easy.

WordPress

WordPress media manager

WordPress really defined the way media can be managed within a CMS. Their interface for managing media contains a handy drag-to-upload feature and each piece of media is shown in a grid format by default. Media can be filtered by date, type and name.

Drupal

Drupal 8 media manager

Drupal admittedly isn’t as clean as WordPress in this interface yet but it’s functionality is essentially the same and solid for most users. The visual interface will improve as the development of Claro progresses. By default, Drupal displays media in a list, but you can toggle between list and grid. There are also similar filtering options. Like all other aspects of Drupal, advanced users can customize media types beyond what you see here and entirely new media types can be created. This advanced functionality is unique to Drupal and isn’t as easily done in WordPress.

Edge: WordPress

WordPress does a great job of making media easy to manage. Drupal will continue to see improvements in the near future, but right now it still feels clunky.

4. Creating pages

Creating new pages, such as general content pages and blog posts, is a common interaction that most admin users will need to do.

WordPress

WordPress new page Gutenberg editor

As of version 5.0, WordPress includes their much anticipated Gutenberg editor experience. This editing format is sleek, modern, and very intuitive. You start with a title and then continue piecing together chunks of content by selecting various types of “blocks” to build the page with. Blocks are a single, reusable type of content such as a heading or paragraph of text, an image or gallery, a list, a quote, etc. Custom blocks can be created and plugins may also add additional blocks that content creators can use. Along the right side of the page is a settings pane. This pane provides various page specific settings and customizations such as page visibility, featured image, an option to allow comments, etc. Additional settings for the currently selected content block also appears here.

Drupal

Drupal 8 new page creation

Out-of-the-box, creating a new piece of content looks like the screenshot above. Content in Drupal could potentially be something wildly different than just a basic page, so Drupal defaults to a standard “field based” editing interface where the different fields that are configured to make up the content are laid out on the page. All editors need to do is fill in the blanks. Field types can be text (with an optional WYSIWYG editor), and image, a file upload, a date, and anything else you can imagine. This again is where Drupal’s flexibility is both an advantage and a curse. The advantage is that a type of content can be anything you can imagine, but the downside is that someone has to configure that content type first. The field based editing experience is provided by default to ensure the editing experience is consistent across different content types.

Here’s the important thing to know about Drupal. Drupal doesn’t like to make assumptions as to what your editing experience should be. As an example, a used car dealership, a national newspaper, and an online retailer will all have entirely different content editing requirements. Drupal doesn’t want to get in your way and it doesn’t try to. What it does do is give you a solid foundation to create YOUR ideal editing experience. This might not be ideal for organizations and businesses with simple website requirements, but for those with complex workflows and unique requirements, Drupal is ideal.

One last important note to make on this topic is that Drupal does also have a Gutenberg editing experience, it just doesn’t come packaged with Drupal out-of-the-box. This module and other editing interface modules and initiatives can be installed in Drupal to make the default editing experience more capable and modular.

Edge: WordPress

When based solely on out-of-the-box functionality, WordPress pre-packaged Gutenberg editing experience is modern and intuitive for new and experienced users. However, it’s important to note that Drupal modules exist that greatly improve Drupal’s default experience. You can even add the same Gutenberg experience.

5. Editing pages

Once a page has been created, sometimes you still need to go back and edit it once in a while. This is a different experience from creating new content, so let’s now look at how it works with each CMS.

WordPress

WordPress editing existing pages

Pretty standard, as a logged in administrator you have access to editing content by viewing the page on the website frontend and using one of the various “edit” buttons. You’re then brought to the same Gutenberg interface that you see when creating content.

Drupal

Drupal 8 edit existing pages

I would say Drupal has the upper hand for editing existing content. Similar to WordPress, as a logged in administrator you have access to page edit links when viewing the content which brings you back to the same interface as when the content was created. However, in Drupal you also have additional links to view content revisions as well as the view and edit page translations for multi-language sites.

Drupal 8 inline page editor

The current version of Drupal, Drupal 8, also includes an additional edit icon that contains a new “quick edit” option. Depending on the content, the quick edit allows on-page inline editing (shown above) instead of taking you to a separate page! This makes simple edits quick and easy. Furthermore, the edit icon also appears when administrators hover over menus and other configurable page elements too, giving you a quick way to access their configuration.

Edge: Drupal

While WordPress has the edge when creating new content, Drupal’s on-page inline editing feature makes editing existing content quick and easy by keeping content editors on the website frontend.

6. Managing widgets and blocks

Widgets (WordPress lingo) and blocks (Drupal lingo) are two words for essentially the same thing. While not limited to these locations, the header, footer and often left and right columns beside the main content area contain defined regions where certain elements can be placed. I’m talking about slogans, menus, a search bar, your copyright, recent posts, social feeds, etc. WordPress and Drupal have similar but different ways to manage these elements.

WordPress

WordPress widgets page

WordPress includes a backend and frontend methods for editing page widgets, both of which are quite basic and lack a lot of real capability.

The backend method (shown above) is accessed through the backend Appearance menu. This page gives you a nice list of available widgets on the left side and another list of active widgets within the available regions on the right. A simple drag and drop interface lets you move elements around and opening each widget allows for basic configuration.

WordPress widgets live editor

The frontend method is through a "Live Preview" mode (shown above) where a version of the site theme is presented and widgets are managed through the left column. Settings for existing widgets can also be quickly opened by clicking its blue edit icon, as you can see in the image above.

Out-of-the-box, it’s difficult to understand exactly where a widget will appear throughout the site because you don’t have the ability to see or control which pages accept the widget. Some third-party plugins are available to give you this functionality, but they must be added. New widgets are also a bit more difficult to add as they must be created by a developer or added though a plugin.

Drupal

Drupal 8 block layout page

Like WordPress, Drupal has the ability to manage blocks from both the backend and frontend of the website, although Drupal handles both situations better.

The backend method (shown above) is accessed through the admin toolbar’s Structure menu. Here you can view all available regions and the blocks contained within each. Regions are a big part of Drupal theme creation, so you will often see 10+ available regions to choose from. If you’re not sure of your themes regions, the “Demonstrate block regions” link above the list of regions will give you a preview. Each region has a “Place block” button for adding new pre-configured blocks. Existing blocks can be moved dragged between regions and each block can be configured independently. Block configuration in Drupal is very robust, including but not limited to control over what pages the block is visible on and what account roles can view it. Like content, blocks can be translated and even have revisions.

Custom blocks can also be created by more advanced Drupal users in a similar way that new media and content types are created. In the screenshot above there is a link to the “Custom block library,” which is where new blocks can be created. Like WordPress, modules can also be installed which will add new blocks.

Drupal 8 frontend block quickmenu

Drupal’s frontend method for managing blocks takes on the same familiar editing experience that we discussed for editing content. When logged in and viewing the website frontend, navigating to a page and hovering your cursor over an element will reveal an edit icon if that element is a configurable block. Options for the block are then given. The block in the screenshot above contains a menu, so we see options to configure the block and edit the menu. In this case, clicking one of these options will take you to the backend page for performing these actions. If the block contained text, we would also be given an option to edit the text directly on the page, just like we can with content.

Edge: Drupal

Simply put, Drupal’s block management is robust yet not too difficult. Being able to manage existing blocks directly from the website frontend is both user friendly and familiar given that existing pages can also be managed in the same way.

7. Managing menus

Menus connect the pages within a website. Commonly you’ll find a primary navigation and some sort of footer menu, but menus are used in many other places as well.

WordPress

WordPress menu management

The menu system in WordPress is a bit strange at first, but overall it’s pretty simple. You create a menu (or select an existing one using the menu selection dropdown), then add links by selecting pages, categories, or by creating custom links (add menu items in image above), then use a drag and drop interface for moving and nesting the menu items (menu structure in image above). Each menu item within the menu structure can be opened for a bit of customization.

The menu settings area controls where the menu is displayed within predefined template locations. Just check the box and the menu will appear once saved. Any menu created here can also be assigned to region as a widget or through the template live preview screen.

One odd thing I’ve found with WordPress is that, when editing a page, you’re not able to add it into a menu. I’m sure there are plugins that allow this, but out-of-the-box you have to add the page through the menu system or check a setting within the menu that all new pages get added… but then you might have to remove some.

Drupal

Drupal 8 menu management

Drupal’s approach to menus is what I would consider more standard. You navigate the “menus” page which lists all of the menus that have been created, then you create a new menu or edit an existing menu. The screenshot above is what you see when editing a menu. Here you manage this menu’s links by either adding a new one or manipulating the existing ones. When adding a new link you can easily search for content that the link will link to or specify a custom link.

Pages can also be added to a menu when the page is being created or edited. Within the page settings, all you do is select the menu and specify a link title.

Like WordPress, once you create a menu you can then add it into a region of the site as a block. However, within the menu itself you don’t have the ability to put the menu anywhere.

Edge: Drupal

A more standard approach makes managing menus clearer and more user friendly. Also being able to choose if a page should be included in a menu while creating the page is a nice feature. That said, I appreciate being able to manage a menu in its entirety on a single page like you do in WordPress.

8. Managing users, roles and permissions

Managing users is common for both controlling who can edit the website and who can login for other reasons, such as non-admin accounts for an online store or community.

WordPress

WordPress user management

WordPress has six predefined user roles: Super Admin, Administrator, Editor, Author, Contributor, and Subscriber. Each has varying degrees of what they can do, but it’s pretty clear for the most part and goes back to when WordPress was mainly a blogging platform. Users can be created and managed through a “users” page (shown above), which is laid out in a straightforward manner displaying

But WordPress has some major drawbacks here. First, WordPress doesn’t have any frontend user self-management, meaning users can’t view or edit their own profiles. Second, the predefined roles and their associated permissions don’t work for everyone and actually complicate user management when you don’t need it. Third, there is nowhere to really manage role permissions in a granular way. These drawbacks can be fixed through custom development and/or various plugins, but many consider this to be a general weak point of WordPress.

Drupal

Drupal 8 user management

User management is another area where Drupal shines. In contrast to WordPress, Drupal only starts with three default roles: Anonymous, Authenticated and Administrator. Anonymous is a user who is not logged in, authenticated is a user who has an account but isn’t someone who typically isn’t managing content and site configuration, and administrator is a user with full site and admin access. These three roles are minimal, clear and cover all of the basic needs of most sites. If and when another role with different permissions are created, this is easy to do right out-of-the-box.

The image above shows Drupal’s version of the current list of users. It follows a similar look and style to the rest of the admin pages, giving administrators a place to add and manage user accounts, including assigning users to specific roles. Anonymous and authenticated users can also create or manage their own account through the website frontend (although this functionality can be turned off if desired).

Drupal 8 user permissions page

Drupal’s strength in user management comes in the form of roles and permissions. When a role is created, a column of permission checkboxes for the role is added to the Permissions page (shown above). Almost every piece of functionality within Drupal has an associated permission. Simply checking the boxes determines what each role can and can’t do. It’s powerful and easy.

Edge: Drupal

A simple yet powerful user management system combined with frontend self-service functionality gives Drupal a clear edge over WordPress.

9. Site status report

Both WordPress and Drupal include a site status page that gives you information about the website and server configuration as well as an overall health report that outlines any issues. These automated health checks help keep your CMS up-to-date and secure.

WordPress

WordPress site health page

The “Site health” page (shown above) gives you an overall health status and list of any issues. This status page is clean and each item can be expanded for more information, but there is no visual urgency that makes the “2 critical issues” stand out. In my opinion, critical issues should be resolved and so highlighting these issues in some way is a necessary UX improvement.

An info tab at the top of the page can be opened which gives more information about your installation of WordPress, the server, the PHP version, and the database.

Drupal

Drupal 8 status report page

Drupal contains both site information and site health in one “Status report” page (shown above). Like WordPress, this page gives you everything you need to know at a glance about your Drupal installation and the other components that make it run. Here we can also clearly see what errors and warnings have been found and some information on how they can be resolved.

Edge: Drupal

While both WordPress and Drupal have similar pages that show similar information, Drupal’s status report does a better job at laying out the information and visually capturing the severity of any issues.

10. Plugins and modules

Plugins (WordPress lingo) and modules (Drupal lingo) extend core CMS functionality and add new features. Extensions are usually created by third-party developers and released to the platform communities for anyone else to use. Whether it’s to increase performance, enhance SEO capabilities or create an online store, extensions are a powerful way to improve and adapt the CMS platform.

WordPress

WordPress plugins page

Visiting the “Plugins” page (shown above) is a quick way to see what additional plugins are currently packaged with your WordPress installation and can be activated if desired. Plugins shown here all provide some sort of new functionality or feature that is not part of the core WordPress software.

WordPress plugin search page

When you need new functionality, WordPress provides an excellent and convenient plugin library browser (shown above) accessible within the website backend. Here you can search for, view, and install plugins easily with the click of a button.

Drupal

Drupal 8 extend page

Drupal’s module list is where you can see all current extensions, activated or not, for your Drupal installation. The big difference here between WordPress and Drupal is that for Drupal you are able to see all modules installed, even those that are part of the core software. Modules are also nicely grouped which nicely organizes the large list.

Installing new modules isn’t nearly as easy in Drupal. Unlike WordPress, Drupal doesn’t include a module library browser within the backend interface. Instead, users must search for modules within a web browser and manually install them. Finding modules can be difficult if you’re not familiar with the process.

Edge: WordPress

While both platforms have a massive library of extensions, WordPress offers users a much friendlier and intuitive way of finding and installing extensions that users of any skill level can appreciate. This may or may not be an issue for you if you have a capable IT team or development partner, but for small teams WordPress has the clear edge.

WordPress & Drupal comparison summary

I hope after going through this comparison you now have a good understanding of the differences and similarities between WordPress and Drupal. As you can see, both platforms out-of-the-box have different strengths and weaknesses, but it’s important to know that all of the weaknesses can be overcome through platform extensions and experience. In extreme cases, both platforms support custom development to overcome unique problems.

For convenience, here is a quick summary showing which CMS has the edge in the 10 categories compared. However, I would recommend that you go back and read the edge summary for each category, if you haven’t done so already.

Comparison category WordPress Drupal Admin toolbar   ✓ Login dashboard ✓   Managing media ✓   Creating pages ✓   Editing pages   ✓ Managing widgets and blocks   ✓ Managing menus   ✓ Managing users, roles and permissions   ✓ Site status report   ✓ Plugins and modules ✓  

A final word of advice

In my opinion, you shouldn’t be turned off from one platform or the other simply because you’ve heard that one is better or easier to use. Both platforms are mature and constantly improving, user experience is top of mind, and usability gaps have become less of an issue in recent years.

My advice, select the platform you use based on your requirements. WordPress is a great authoring tool and is good for small and medium sized organizations. Drupal is fantastic for medium and large sized organizations or anyone who has complex workflows, products, and/or a need to integrate with other platforms. That’s a pretty general summary, but if you’re considering either of these platforms, first know what your requirements of the platform are and then start talking to the experts for each.

Acro Media is an ecommerce consultation and development agency who can help you in this regard. We specialize in open source ecommerce and a large part of our work is based around Drupal. Drupal typically works better for our clients but we know WordPress, too. If you’re researching your requirements or evaluating your options, hit us up for a quick chat, we would love to help. Otherwise, check out some of these related resources.

Contact Acro Media Today!

Related resources

Jan 07 2020
Jan 07

We’ve already discussed in our previous blog, how Progressive Web Apps (PWAs) are trending and making web apps load faster, ensuring exceptional user experience.

For one of our clients, we implemented this solution to create a budget planner and currency calculator for a giant travel retail outlet and helped boost the sales just after 3 months of its deployment. 

Let’s dig deeper into the technical details and understand the nitty-gritty of creating PWA using React on a Drupal 8 website. 

Why Opt For This Approach

With the increasing popularity of ReactJS, JavaScript libraries and frameworks prove to be useful in building complex applications by seamlessly getting embedded on a Drupal site, thus combining the robustness of an API-first CMS with slick and quick React frontend to collectively give way to amazing digital experiences along with future-proof builds. 

To create PWA on a Drupal site, one can use Service Workers, Web App Manifest and HTTPS. However, opting this approach will not unnecessarily increase the load of the application and will reduce the entire application load time. Possessing knowledge of React in addition to Drupal is the only requisite here to implement the approach.

How To Create PWA With React on Drupal 

Step 1: Create React Environment

In our last blog on React, we learned how to set up Setup React App From Square One Without Using Create-React-App  Once the environment is set up, we shall move forward to creating a React app.

Step 2: Create React Application

Before looking into the process of creating a React application, let’s get a hold of the below terms:

  • Components - It's the building block of any react app. Basically, there are two types of components.
    • Functional
    • Class (From 16+ react version, this component is deprecated. Only functional components are used.)
  • Props - Arguments passed in react components to send data to components. 
  • States - Behaves like a data store to components. It’s mostly to update components when user performs some operation like clicking buttons, typing some text etc.

Now, let's write our first code block of React by using ES6 classes to create a React component called App.

index.html

class App extends React.Component {

  //...}

Now we'll add the render() method to render DOM nodes.

index.html

class App extends React.Component {

  render() {

      return (

          //...

      );

  }

}

In return, we’ll insert a simple HTML element. 

index.html

class App extends React.Component {

  render() {

    return <h1>Hello world!</h1>

  }

}

Finally, we're going to use the React DOM render() method to render the App class we created into the root div in our HTML.

index.html

ReactDOM.render(<App />, document.getElementById('root'))

Here is the full code for our index.html:

index.html

<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8" />

 

    <title>Hello React!</title>

 

    <script src="https://unpkg.com/react@16/umd/react.development.js"></script>

    <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>

    <script src="https://unpkg.com/babel-standalone@6.26.0/babel.js"></script>

  </head>

 

  <body>

    <div id="root"></div>

 

    <script type="text/babel">

      class App extends React.Component {

        render() {

          return <h1>Hello world!</h1>

        }

      }

      ReactDOM.render(<App />, document.getElementById('root'))

    </script>

  </body>

</html>

Now if you view your index.html in the browser, you'll see the h1 tag we created rendered to the DOM.

hello world screenshot

Hello World screenshot

Step 3: Visualizing the React component in Storybook

Storybook is a user interface development environment and playground for UI components. 

Visualizing the React component in Storybook

The tool allows testing the components independently and interactively in an isolated development environment. Story file code looks like:

Story file code

After running `npm run storybook` command, storybook will open on localhost server as shown in the attached screenshot.

storybook screenshot

 

Step 4: Creating Custom Block API in Drupal 8 and Embedding React application 

On running npm run build command on React application, it creates this react minified JS file:

/drupal_root/module/custom/react_block/react_block.libraries.yml

jsfile

The minified js file searches for the markup in the /drupal_root/module/custom/react_block/src/Plugin/Block/ReactApp.php file

and on finding the div ID, it renders itself at that point.

file getting rendered

And this is how the React block renders itself on our Drupal 8 website and makes the website a PWA.

Srijan can help you leverage the power of React with API-first Drupal to create robust content workflows and hence lead to joyful editorial experiences for your business to evolve. Get in touch with our experts or leave your queries in the comment section below and let’s get the conversation started.

Jan 07 2020
Jan 07

We’ve already discussed in our blog how decoupling Drupal helps you achieve greater flexibility, to deliver data anywhere and everywhere to the user at a lightning fast speed, ensuring exceptional web experience.

Let’s dig deeper into the technical details of how progressively decoupled apps can be created using React on a Drupal 8 website.

Why Opt For This Approach

With the increasing popularity of ReactJS, JavaScript libraries and frameworks prove to be useful in building complex applications by seamlessly getting embedded on a Drupal site, thus combining the robustness of an API-first CMS with slick and quick React frontend to collectively give way to amazing digital experiences along with future-proof builds. 

How To Create Progressively Decoupled App With React on Drupal

Step 1: Create React Environment

In our last blog on React, we learned how to set up Setup React App From Square One Without Using Create-React-App  Once the environment is set up, we shall move forward to creating a React app.

Step 2: Create React Application

Before looking into the process of creating a React application, let’s get a hold of the below terms:

  • Components - It's the building block of any react app. Basically, there are two types of components:  Functional and Class (From 16+ react version, this component is deprecated. Only functional components are used.)
  • Props - Arguments passed in react components to send data to components. 
  • States - Behaves like a data store to components. It’s mostly to update components when user performs some operation like clicking buttons, typing some text etc.

Now, let's write our first code block of React by using ES6 classes to create a React component called App.

class App extends React.Component {
}

Now we'll add the render() method to render DOM nodes.

index.html

class App extends React.Component {
render() {
return (
);
}
}

In return, we’ll insert a simple HTML element. 

class App extends React.Component {
render() {
return <h1>Hello world!</h1>
}
}

Finally, we're going to use the React DOM render() method to render the App class we created into the root div in our HTML.

ReactDOM.render(<App />, document.getElementById('root'))

Here is the full code for our index.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />

<title>Hello React!</title>

<script src="https://unpkg.com/[email protected]/umd/react.development.js"></script>
<script src="https://unpkg.com/[email protected]/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/[email protected]/babel.js"></script>
</head>

<body>
<div id="root"></div>

<script type="text/babel">
class App extends React.Component {
render() {
return <h1>Hello world!</h1>
}
}

ReactDOM.render(<App />, document.getElementById('root'))
</script>
</body>
</html>

Now if you view your index.html in the browser, you'll see the H1 tag we created rendered to the DOM.

hello world screenshot

Hello World screenshot

Step 3: Visualizing the React component in Storybook

Storybook is a user interface development environment and playground for UI components. 

Visualizing the React component in Storybook

The tool allows testing the components independently and interactively in an isolated development environment. Story file code looks like:

Story file code

After running `npm run storybook` command, storybook will open on localhost server as shown in the attached screenshot.

storybook screenshot

Step 4: Creating Custom Block API in Drupal 8 and Embedding React application 

On running npm run build command on React application, it creates this react minified JS file:

/drupal_root/module/custom/react_block/react_block.libraries.yml

jsfile

The minified js file searches for the markup in the /drupal_root/module/custom/react_block/src/Plugin/Block/ReactApp.php file

and on finding the div ID, it renders itself at that point.

file getting rendered

And this is how the React block renders itself on our Drupal 8 website and makes the website a progressively decoupled app..

For one of our clients, we implemented this solution to create a budget planner and currency calculator for a giant travel retail outlet and helped boost the sales just after 3 months of its deployment. 

Srijan can help you leverage the power of React with API-first Drupal to create robust content workflows and hence lead to joyful editorial experiences for your business to evolve. Get in touch with our experts or leave your queries in the comment section below and let’s get the conversation started.

Jan 06 2020
Jan 06

It is known that page load time is one of the important aspects of search engine result position. Site speed is what stands between the website and the potential user.

Caching therefore plays an essential role in optimizing websites to deliver high-performance. Not only does it help support faster load times than otherwise possible, but it also helps in reducing latency. The information can be stockpiled at every level right from the original server to intermediate proxies to the browser.

Drupal encompasses numerous tools for caching content that can work for your site exceptionally and it’s important to know what they are and what they do. This blog will elucidate the caching mechanism in Drupal 8.

Drupal 8 Caching Modules

By default, Drupal 8 comes with 2 modules for implementing caching-

  • Internal Page Caching:
The Internal Page Caching module when enabled, stores the complete page information even if the user visiting the site hasn’t logged in. Future anonymous visitors will then observe that the same content is loaded extremely fast since the page wasn’t put together from scratch. This module is useful for websites with a lot of unregistered users
  • Internal Dynamic Page Cache:

The Internal Dynamic Page Cache module is designed to cache small sections of each page for all users whether they are logged in or not. Whenever the page content is requested by the same or different user, the module can pull in those individual parts to speed up the building of the page on the fly.

Understanding Caching At Different Layers

Caching in Drupal takes place at three separate levels: application, component, and page. Given below is the detailed description of each-

  • Application-level Caching

Application-level caching is in-built in Drupal. However, you won’t see it in action until you scrutinize Drupal’s internal code. It is active by default and won’t even show older, cached pages.

The application-level caching in Drupal ensures that the cached pages are separately stored from the site content (which goes into the database). You can’t set this up, except for guiding Drupal where to save cached pages explicitly. 

Drupal stores its external and internal data structures efficiently to enhance repeated users’ access when performing application-level caching. This isn’t the information that a site visitor sees in itself but forms a critical factor in constructing any page. The only level of refinements that can be made at this level is improving where this cached information is stored, like using Memcached instead of the database.

  • Component-level Caching

Component-level caching works on front-end components such as blocks, panels, and views. For example, you might own a website having dynamic content but a single block remains constant. In fact, you may have the same block widely scattered across dozens of pages. Caching it can deliver improved performances significantly.

Though component-level caching is generally disabled by default, however, you can make it active with some simple configuration changes. You can initiate with identifying blocks, panels, and views on your site that remains the same across to later cache them strenuously. You will notice a strong speedup for authenticated users.

  • Page-level Caching

As the name suggests, this page-level caching caches, stores, and delivers the entire page to the user. One of the most effective types of caching,  it shoes static HTML pages to users to improve site performance almost immeasurably.

Page-level caching gives you enough space to customize where you can use any number of caching servers, including Varnish, or CDNs like CloudFlare to deliver cached pages from servers close to the users’ location. 

CDNs help you in bringing your site closer to your users. However, it only works for anonymous users by default. Fortunately, this drives huge traffic to any website.

A typical Drupal application comprises of all the layers mentioned above. However, to better understand the flow and learn how to debug a caching issue, a flowchart is given to illustrate how content is cached at different layers-

Flowchart of how caching works in Drupal 8Learn more about caching from here-

[embedded content]

Cacheability Metadata in Drupal 8. What is it?

Cacheability metadata is used to describe the thing which is rendered with respect to its dynamism. Сaching properties could be applied to any object and one can easily change the default cache settings of these three properties-

  1. Cache Tags  
  2. Cache Contexts  
  3. Cache Max-Age
  • Cache Tags: 

Tags are used to nullify cache entries when something on the site undergoes modification. (nullifying or invalidating means that the cache entry won’t get used, and will be reconstructed the next time that piece of content is rendered). Drupal comprises multiple cache tags to explicate all sorts of different scenarios from individual nodes and blocks, to site configuration settings, and menus. 

For example, the cache tag ‘node:5’ gets invalidated any time the Drupal content node with ID 5 gets modified.

So, whenever content gets cached which depends on something related to node 5,  the cache entry keeps track of that tag; then, saving the node causes that cache entry to get invalidated. This implies that any time you save something in Drupal, a relevant tag gets invalidated.

The tag for the same will look like this-

Syntax : “node:5” 

node_list: List cache tags for node entities

  • Cache Contexts: 

Contexts are quite different from tags. Cache contexts are stored alongside cache entries and are designed to let content vary depending on what circumstances or situation it is showcased in.

For instance, you have a site with users of several different roles, and one block on the site is meant to show content differently depending on what roles the user seeing it has. This can’t be implemented through cache tags alone. However, it won’t be a good idea to leave the block completely uncached, instead, it can have the “user permissions” context applied to it. This way, the block can be cached multiple times- specifically one time for each combination of roles that the users see the block have. This way, an administrator can see something different from an editor who will see something different from a user who has both roles.

Commands shown in for caching tags

  • Cache Max-age:

Cache max-age is the last step to handle cache invalidation. You have to simply set the time on how long the content should be cached for. This can vary from 0 seconds (to not cache content at all) to as long as you want. 

Presuming that all of the tags and contexts being used are working as intended, this can be put to indefinite (default state in Drupal) since those can cover most scenarios where cached content might need to be created.

Given this, there is still no mechanism that notifies your Drupal site about the change in content, and therefore, no-cache tags can be invalidated and no context is helpful (as the content doesn’t vary by the situations in which it is displayed).

However, if you set a max-age of 3600 on the page, then it will cache its content for up to one hour before automatically invalidating, at which point the next person who views the page would get a brand-new updated version (fresh with new content from the remote service) which would then get cached for another hour. This way, you can leverage all the benefits of caching without causing your site to stop updating itself with content from the remote service. 

Summing Up-

Caching lets you retrieve data instantly without having to request it from the source. Given that, it makes up a significant part of website speed optimization. If you want to ease surfing experience for your users on the site, then enable the cache for the same. Drupal 8 has enhanced its caching capabilities considerably.

Dec 31 2019
Dec 31

As APIGEE end of support for Drupal 7 in May 2020 is combined with Drupal 7 end of life in Nov 2021, developer portal are not left with many choices - migrate to Drupal 8 or continue with Apigee’s integrated portals. 

For a custom Drupal 7 developer portal, migrating to Drupal 8 comes as a natural choice. In this blog we will understand why it is so important and what should be on your checklist while migrating to Drupal 8.

Benefits of Migrating Your Developer Portal to Drupal 8 

With continued effort of the Drupal community for its long-term sustainability and more effortless adoption, complete re-architecturing of Drupal 8 has made it different from the previous migrations. There are many ways why Drupal 7 can put your developer portal at risk

Drupal 8 with its performance-enhancing features and modules can turn your developer portal into a speedy and high performing one. Let’s look at what makes Drupal 8 the best version to be on:

  • Drupal 8’s adoption of Symfony framework has made it all the more better. Symfony’s robust, flexible and high-performance framework allows for easy scalability of a website.
  • BigPipe Caching lets you segregate your page into different sections which gets rendered as they become available, enhancing website’s performance and speed.

Source: specbee

  • Drupal 8 is PHP7 ready, which is twice as fast as PHP 5.6. It is capable of enhancing the performance of your developer portal to about 110%, with reduced memory usage.
  • Talking about Drupal 8 themes, they are responsive, making your developer portal look great on almost any device. 
  • Drupal 8 is equipped with CKEditor, which lets you preview your entered content quickly as well as an in-place editor that lets you edit blocks, content, menus, etc. right on the same page.
  • SEO will not be a concern anymore. Drupal 8’s built-in powerful SEO modules, like SEO Checklist, PathAuto, Redirect, and MetaTag can help boost your developer portal’s SEO. 
  • Not to forget about Drupal 8’s out-of-the-box multilingual support, which can help boost language-based views of your developer portal.

Planning Your Migration - Your To Do Checklist

It is important to follow the best approach for the migration process. Having spent too much time on building the right content for your developer portal, you would not want to drop your stats without a proper plan. Content migration becomes a significant decision for your business. 

When you think of developer portal migration to Drupal 8, you need to look into enhancements to the front-end features such as smartDocs API reference documentation, theme editor enhancements, default portal theme and content enhancements, quick start and how developer accounts are managed using the developer identity service.

To ease the process of migration, maximum time should be spent on planning. If properly administered, this will further bring down the number of hours spent on the actual migration. Though content migration is a tedious task, however, strategizing it well in advance will make the developers smoothly execute the process.

One would need one of these two steps to migrate their developer portal to Drupal 8:

 

  1. For minimal custom implementations on Drupal 7 portal, have Apigee Developer Portal Kickstart ready to migrate Drupal 7’s configuration and content.
  2. Follow custom migration approach for heavy customizations of Drupal 7 portal. For this, Apigee Edge module can help in connecting Drupal 8 Portal to Apigee and use Drupal 8 Migration API to migrate the Drupal 7 implementations to Drupal 8 Portal.

 

Now, let’s take a look at the pointers to consider before migration:

 

  • Take Backup

It is always a good practice to take a backup of your entire website before starting with the migration process. This can be done with the help of Backup and Migrate module to create a database dump to save all your Drupal database tables into a single file download, to be later used for restoring at a later stage. 

Enabling Backup and Migrate Module

  1. Navigate to Administer > Modules
  2. Select Backup and Migrate in the Other block
  3. Scroll to the bottom of the page and click Save Configuration

Configuring Backup and Migrate Module

  1. Navigate to Administer > Configuration > System > Backup and Migrate
  2. Download a backup of the default (Drupal) database by clicking Backup now. 

It is recommended to download a backup prior to updating or installing modules.

Backup to Server

Create a private directory to store backups on the server by following the below 3 steps:

  1. Navigate to Administer > Configuration > Media > File System
  2. In the Private file system path field enter sites/default/files/private
  3. Click Save configuration

 

  • Quick Roundup of Functionality and Content Check

Having a quick yet thorough check of the website for the entire set of features and functionalities of your developer portal will give you an idea of moving on from irrelevant ones. Do check if you want to drop off with any content or content types post analyzing them. This is the time when the need for new content types arises.

Like content types, it is important to figure out which of these fields should be migrated. You should check which of the fields are important in your existing site and which of them are no longer relevant for the new site. Examine the number of users logging in, reviews, ratings, views and other taxonomy terms too.

In this way, you get a chance to completely revamp the architecture of your website.

  • Move Content Securely

Migrating web content is an integral business decision where you must take precautions to avoid any security breach or data theft. Ensuring your database and development infrastructure is up-to-date with the latest upgrade, wiping out all your data including user accounts from database infrastructure and not sending database dump via unsafe channels are few things which need to be kept in mind.

  • Prepare a Backup Plan for Theme Mismatch

Up until Drupal 7, PHPTemplate has been the default Drupal Theme engine. But Drupal 8 uses Twigs (part of Symfony2 framework) to render pages in a highly flexible and secure way. It won’t allow your existing (D7) theme to port directly to D8. Note that no single module can move your existing theme to Drupal 8.

Upon migrating the developer portal, custom CSS styles will be overwritten. So the new default theme needs to be applied along with custom CSS styles manually post migration.

  • Search Modules upon Migration

Drupal 7 core modules and many contributed modules are now available in Drupal 8 core. While most of them are automatically upgraded, a few modules will need manual upgrade as they are not mapped to the same Drupal 8 module or are now segregated into different modules. 

Due to Drupal 8’s revamped architecture, if you’re unable to find a particular contributed module in Drupal 8, you can:

  • Simply archive the module’s data, or
  • Find a similar community module sharing common functionality, or
  • Hire a developer and get a custom module built with the required functionality

However, when it comes to custom modules, you need to port them in Drupal 8. You can hire Drupal developers who can help you with porting the modules.

 

All you need to do the following things before migrating the developer portal to Drupal 8: 

 

  1. Prepare the Migration script for Drupal 8 considering the number of developers on Drupal 7 portal, capturing all the custom field data attached to a user entity. Do a parity check on Drupal 7 portal users with the new Drupal 8 portal and list all the extra fields needed to be created on the new portal. Migration script should execute avoiding the API call to Apigee to update a developer.
  2. Sync Developer apps and developer API products with Drupal 8 via Apigee Contributed module. If there are any custom attributes attached to app or API products as dependent, this should be processed via custom migration script.
  3. Migrate Open API spec’s documentation content on developer portal to Drupal 8 Portal via Drupal 8’s Apigee Catalog module or DevPortal Module. Migration script should write the documentation pages to new Drupal 8 portal, based on the option chosen to present doc’s on Drupal 8 Portal.
  4. Migrate any other monetization related configuration (triggering get or post data to Apigee) to Drupal 8 via custom migration script. 
  5. Implement customization done on contributed Apigee Devconnect module newly on Drupal 8 Portal and the data related to this implementation should be processed via migration script.

Wrapping it up

Migrating your developer portal to the latest version is a difficult decision to make. However, it proves to be a brilliant decision once you get a secure, accessible, modern, and responsive website, which suits your needs and stays compatible with updates for years.

For a successful migration that keeps in mind all these steps, you'll need to work with experienced developers. Our team of experts can help you in migrating your developer portal to Drupal 8 to future proof your digital presence, solve your queries around API security and provide a range of services around API designed with a strategy tailored to your success. Contact us today.

Dec 24 2019
Dec 24

Remember how 2015 was filled with anticipation in the run up to the release of Drupal 8? Well, 2020 is all set to be a repeat of that - the same rush, excitement, innovative work will be happening around Drupal 9. But that’s not the only thing to look forward to for Drupalers in 2020.

From charting new growth paths, to ensuring an enhanced experience and easier adoption of Drupal for beginners, to creating closer integration with other technology frameworks - 2020 has a lot in store for Drupal. And here are the ones we are most excited about.

Drupal 9

Well that’s an obvious one and will definitely be at the top of the list everyone in the Drupal community. 

Drupal 9 is all set to release on 3 June 2020. The big deal with Drupal 9 is that it shouldn’t be a big deal. And that thinking is exactly what is new.

That’s because Drupal 9 is not being built on a new core, but rather within Drupal 8. Here’s how:

  • New features and functionalities will be added to D8 as backward-compatible code. These will start being available to D8 users as experimental features, that can be used and modified. All this while, older D8 features will work without a hitch.
  • Once these new features are stable, their older counterparts will be deprecated. 
  • And finally, 3rd party dependencies, like those with Symfony and Twig, will be updated to offer support for their latest versions.

This collection of new stable features and updated 3rd party dependencies will be what forms Drupal 9.

Drupal-9 - Drupal in 2020We’ve already covered what to expect with Drupal 9 and how to prepare for it and ensure a smooth upgrade experience.

So let’s move on to the other interesting developments slated for 2020.

Drupal 9 Product Tracks

The launch of Drupal 9 is also significant because this is the first time the community has a strategic roadmap for how we want Drupal 9 to grow. Dries’ State of Drupal address in Drupal Amsterdam outlined the four product tracks envisioned for D9:

  • Reduce the cost and effort involved in managing a Drupal 9 website. So the focus will be on introducing new features and functionalities that simplify website support, maintenance and updates - configuration management, automated updates and more.
  • Enhance the beginners’ experience with Drupal by making it simpler to install and get it running out of the box. The first two initiatives in this track are two new themes - Olivero for the frontend and Claro for admins.
  • Work towards ensuring an Open Web that’s accessible, secure, inclusive and interoperable. In the next decade, the Drupal community will collectively ensure that their work - project, websites, solutions - consistently meet these standards
  • Prepare Drupal to be one of the best structured data and content repositories, ready to work seamlessly with a range of devices and delivery channels

2020 will see these product tracks being actively discussed within the community and work starting on several new initiatives.

Drupal 8.8

Drupal 8.8 was released on 4 December 2019 and sites on Drupal 8 can look forward to harnessing great new features and functionalities in 2020. Some of the key upgrades are:

  • Media Library being marked as stable, so content writers and editors can add media content right from the WYSIWYG editor
  • Official support for Composer out-of-the-box, meaning Drupal is simple and easy to install and update with Composer taking care of updating all third-party dependencies
  • The Automatic Update module is available in early alpha stage and has a set of very convenient features. It allows you to configure your site to display PSA messages for required updates or mail them directly to the site admins. You can check if your site is ready for update, with all requisite file permissions, and update your site with just a click, if all prerequisites are in place.
  • The JSON:API Explorer which is an interactive query builder to explore your JSON:API server, strengthening Drupal’s positioning as an effective decoupled solution.

Decoupled Drupal

Yes, Decoupled Drupal has been talked about for quite a few years now, but 2020 and the following decade will be when it becomes extremely commonplace. This will be primarily due to the growth of a complete ecosystem of features and solutions that make it easier to pull off decoupled Drupal solutions. 

While the API-first initiative and the project around building a reusable component library are key to great decoupled Drupal implementations, there are also third-party frameworks and solutions launched in 2019 that will drive decoupled Drupal in 2020:

  • Acquia Content Cloud: A platform that allows content creators to write, edit, and review content independent of the channel where it will be published. The content created here can be pushed to multiple different channels simultaneously or at different times, and will be automatically formatted to best fit the channel. 
  • GatsbyJS: A React-based site generator that offers the perfect JAMstack for a headless Drupal architecture. GatsbyJS drives greater site performance and smooth user experience. It offers a full plugin library to allow almost any kind of content to be pulled in for site creation, via GraphQL. The not-so-steep learning curve and growing community of developers means GatsbyJS will see higher adoption as enterprises try to get more done with Drupal. 

Growing the Drupal Community

This decade is going to be special for us as well as Srijan puts in concerted efforts to grow the Drupal community in India and Asia at large. As a part of this, we plan to:

  • Commit greater number of resources to contributing to Drupal, working across a diverse range on ongoing initiatives and Drupal 9.
  • Drive the Drupal India Association to bring structure and increased participation of different firms and developers in the Indian Drupal community.

Much like the last decade, 2020 and beyond will be marked by exciting new developments in Drupal. But unlike before, these developments will not just be around core Drupal, but rather focussed on how Drupal will interact and operate with other technology solutions and frameworks to solve key enterprise challenges. 

What are you most excited about Drupal's future in 2020?

And if you are wondering how Drupal can help you solve a particular challenge at your organization, just drop us a line and our Drupal experts will be in touch.

Dec 23 2019
Dec 23

From time to time conversations come up among developers, and other fellow travelers, about being self-taught vs getting formal training. Over time I’ve come to realize that the further and further you get into your career, the less the distinction means anything; eventually we are all mostly self-taught.

I’ve written before about the value of my liberal arts education and I stand by my assertion that what I learned in that setting was, and is, valuable to my life and work. But just because something was useful to life does not mean it was the only way to acquire the skills. It’s a good way for many people, but far from the only way.

For anyone in a technical field, and most professional fields really, to succeed over time you need to learn new tools, skills, and techniques. The tools I knew when I graduated college are all largely outmoded or significantly upgraded, and I’ve had to learn a variety of technologies that didn’t exist in 2001.

Within the Drupal community lots of people talk about being self-taught, sometimes with pride sometimes with embarrassment, but in truth very few people were formally trained on the platform. Lots of very successful developers in the Drupal community (and beyond) have degrees in fields like religion and art history, not computer science, and have taught themselves how to do awesome things. In fact, I’ll argue that just about every Drupaler taught themselves most of what they know about Drupal. How they did that can vary widely, but we are a community with few formal training programs and lots of people who stumbled into Drupal trying to solve a non-technical problem. Even advanced workshops at conferences dig deep into one small area and expect you to generalize that knowledge to your projects, which I count as self-teaching. For example, I had a friend ask the other day about how to control the PDO connection settings in Drupal 7 — which I didn’t know how to do, but knew they were similar to Drupal 8 — so I sent him my Drupal 8 instructions and he figured it out how from there. He’s now taught himself how to do what he needed for that project and in the process generalized the approach for whatever he may need next time.

So then it is important for all of us to find, and hopefully share, techniques for self-teaching — even for those who have some kind of formal training. Here are my suggestions for people who are starting out and haven’t yet found the pattern that works for them:

  1. Assume you first solution is wrong. Most of us have, or will, stumble our way through a project where we don’t really know what we’re doing without a lot of support. We usually learn a great deal in the process, and launching those projects can feel pretty good cause you’ve succeeded at something hard. It is easy to get into the habit of assuming the solutions from that project were correct because they worked. In truth those projects are really rough around the edges, and just because we got it to work does not mean the solution was good. Assuming the first solution is good enough forever is how you become an expert beginner which then takes a lot of effort to undo. Once you have a working solution, step back and see if you can think of a better one, or see if you now can guess better search terms to see if someone else wrote up a different solution to the same problem. Admit your work could be better and try to improve it.
  2. Learn a few more programming languages. Most people who are self-taught from the start, and even some who have a BA/BS in Computer Science, only know 2 or 3 programming languages (PHP, JS, and CSS+HTML are often the only languages new people learn at first). One of the courses I took by chance in college forced me to learn 8 in 16 weeks. It was grueling, miserable, and darned useful. I can still learn a new language in just a couple weeks and rarely do I hit a language construct I don’t recognize. You don’t need to go that far. When I first started out a mentor told me you should learn a new language every year, and for several I did. Some of those, not the languages I learned in college, are the ones I use most day-to-day. All told I’ve spent time writing code in more than twenty different languages. That many isn’t terribly useful but the more languages you learn, the more you learn to understand the elements of your primary language.
  3. Learn basic algorithms and to measure complexity. The kind of thinking that goes into formal algorithms will help you be a better developer overall; badly thought through processes is the place I tend to see the largest gaps between developers with and without formal training. Any college-level CS program will put you through an algorithms course that teaches a variety of specific algorithms and force you to understand their structures. If you didn’t go through one of those programs, this is probably the course that will help you the most. On the one hand most of us rarely rewrite these algorithms as on modern platforms some library or another will provide a better version than we are likely to craft for our project. But learning what they are, when they are used, and how to understand their performance is useful for any project that involves lots of data or processing. MIT has a version of their algorithms course from 2011 online, or find one through another provider. Even if you just watch the lectures (really watching, not just vaguely have them on while cooking and cleaning), you can learn a great deal of useful information. I learned a lot watching those lectures as it refreshed and updated my understanding of the topics.
  4. Find and learn from mentors. Notice I used a plural there; you should try to find a few people willing to help you learn your profession, and more generally help you learn to advance in your field. Most of us benefit from learning from the experiences of multiple people, and who we need to learn from changes over time. I had the great experience of having a few wonderful mentors when I was first starting out, and much of the advice they gave me still serves me well. Some of it contradicted, and resolving those contradictions forced me to learn to do things my own way and find my own solutions.
  5. Learn other platforms. This is both a protection against future shifts in the market, and also a way to see how things work from outside your current professional bubble. Drupal developers can learn a lot from writing a WordPress plugin, or better yet an add-on for a platform in another language (think about Plone, Gatsby, or Hugo). Or try to learn to work with a platform like Salesforce or AWS. Other platforms have different communities, different learning styles, and different patterns. Like understanding additional languages, different platforms help you broaden your understanding and provide insights you can bring back to your main work.
  6. Learn to give and take criticism. Part of learning is getting feedback on your work, and part of being on a team is sharing feedback with others. If you took art or music classes in high school or college you probably learned some of the basic lessons you need here, but if you didn’t, consider taking one now at your local community college or art center. The arts are wonderful for getting experience with criticism. For all art is often open to interpretation, it also requires specific skills. If you play off-key, it sounds wrong. If your sculpture collapses under its own weight, the project failed. If your picture’s subject is out of focus, you need to re-shoot it. Sure there are brilliant artists who can violate all the rules, but if you have never experienced an art critique you are not one of those artists. The experience of getting direct, blunt, and honest feedback will help you understand its value and how to give that feedback yourself.
  7. Share what you think you know. We learn a great deal with we teach others. Both because it forces us to refine our thinking and understanding so we can explain it, and because learners ask questions we cannot answer off the top of our heads. This can be user group or conference presentations, internal trainings for your team, mentoring junior developers, writing a blog, or anything else that gets your from learning to teaching. It’s okay if you’re not 100% right, that’s part of how we learn. A few years ago I was doing a joint project with a junior developer who asked me a lot of questions, and pushed hard when she thought I was making mistakes. When she asked why I was selecting a solution or setting a pattern, she was never satisfied with “because that’s the best way to do it.” She wanted me to explain why that was the best way. If I couldn’t walk her through it right away, I went back and hunted for reference material to explain it or if that failed I tested her counter ideas against my plans to see if I was missing something. While I was usually right, not always and we did make changes based on her feedback. More importantly it forced me to show my work in fine detail which was a good exercise for me and gave her insights to help her do better work.
  8. Find your own patterns. At the start I said this list was for people who didn’t have their own patterns yet. In the long-run of your career you need to figure out what you need to know to get to where you want to go next. Eventually you will need to find a pattern that works for you and the life you are living. No one can tell you what that is, nor how to learn it all yourself. Experiment with learning styles, areas of work, roles, and types of projects as much as you are able until you feel your way to the right solutions for you.
Dec 15 2019
Dec 15

I have to say, I was skeptical about dark mode in our current operating systems, but since wiring it up to switch to it automatically after sunset, I’m a believer. I know some people always operate their in dark mode, and that's not for me. I prefer the light on my screen to match the light of the day. It's especially nice to have my iPhone in dark mode at concerts, so I can avoid being "that guy" who blinds the person behind me,

Websites now respect the system setting of dark mode, and ever since Jeff Geerling updated his site's theme to support dark mode, I had on my list to do the same.

It turns out that the Responsive Blog Drupal theme, a very nice theme that does what it says on the tin, has a switch for turning on the dark mode version of it. I'm glad I realized that most of the work had been done for me, and I've submitted a patch to the project for review.

The last frontier of dark mode based on system setting is third-party JavaScript widgets. None of the 3 widgets on my blog, to my knowledge, have the ability to switch automatically.

Dec 13 2019
Dec 13

Acknowledged as one of the most popular online activities, online shopping is considered one of the key contributors in taking up global e-commerce sales to 3.53 trillion US dollars in 2019, with e-retail revenues' projected growth of approximately 6.54 trillion US dollars in 2022.

Desktop PCs are still the most popular devices among users for placing orders; however, mobile devices, especially smartphones are getting up to speed to deliver seamless digital experiences.

Drupal has modernized itself from being just a pure WCMS to a full-grown e-commerce site builder 

As more enterprises have taken their core businesses on the internet, Drupal has adapted itself well enough from being a pure website content management system to a full-grown e-commerce site builder. 

Though e-commerce is not yet a part of Drupal’s core, it extends its support in the form of contributed modules. The e-commerce community in Drupal stays active by introducing revolutionary features to help build simple, powerful, and intuitive sites.

This blog illustrates those e-commerce modules which smoothens enterprise mission-critical operations that drive business results and have a direct impact on the bottom line.

But Why Drupal?

In case you have already ventured into e-commerce or are planning to, you should never underplay the essential role of the technology as it takes on a critical role in helping you reach millions of customers digitally and make your company rise and shine into a vibrant & flourishing business.

Considering that fact, Drupal can prove lucrative in creating a stable online store with its ability to provide an attractive and clean design, leading to engaging user experience and increased conversions and revenue.

Read on to find out why you should capitalize on Drupal only to make it big in your e-commerce venture-

  • Implicit SEO Tools

It helps you out in taking your Drupal-powered website on the top ranks of the search engine results

A lot of e-commerce websites become lost in the shuffle and fail to garner the attention of people from various sections of society. However, with Drupal, you require minimum support of SEO experts as it already comprises of SEO Checklist module, built-in URL optimization, advanced.htaccess, and other analogous useful tools. Thereby, it helps you out in taking your Drupal-powered website on the top ranks of the search engine results.

  • It Is Powerful and Multi-skilled WCMS

Today, making customers place their orders is not the ultimate goal of e-commerce sites. Rather it is to engage them through blogs, forums, community, articles, and reviews around products to attract the new ones and at the same time, keep the existing ones loyal towards the brand. 

These features can be easily integrated and administered to your e-commerce site with a groundbreaking system like Drupal.

  • Seamless Integration With Third-party Solutions

Drupal allows effortless and seamless integration with third-party solutions, like Acquia Lift for enabling personalization on your site to deliver customized results to users, or Smart Content module for Account-Based Marketing. All this can be done through the RESTful API. Or you can also employ the Feeds module, which lets you import content from external data sources.

  • Fast Deployment

Drupal ensures that you get many capabilities and functionalities fresh-out-of-the-box without paying exorbitantly

The type of framework you handpick for designing your e-commerce site also relies on the speed of the deployment of the end solution.

Drupal, with more than 40K modules, ensures that you get many capabilities and functionalities fresh-out-of-the-box without paying exorbitantly. Simply put, Drupal provides all the tools utilized by the most renowned marketplaces of the world successfully for a long time.

  • It Is Secure

There are more than 45,000 developers lending their support to the community & making every effort possible to combat all security risks that may occur, ensuring that the information in your store, as well as your client’s data, is out of reach of intruders and malicious attacks.

  • Seamless Mobile Experience

Drupal-based pages are already created with responsive web design guidelines in mind and are adapted to modern smartphones, thereby; saving you from creating separate mobile-specific websites. Further, it can deliver content directly to mobile apps.

Drupal Modules To Help You Get Your E-commerce Site Going

The most suitable modules that can help you build your out-of-the-box e-commerce site swiftly are listed below-

Drupal Commerce module makes a great fit for small and large businesses alike as it is highly flexible, scalable, and customizable. Users can create several types of displays and product categories with this module and simultaneously manage the payment procedure and orders efficiently.

Get your Drupal site up and coming with Commerce Kickstart in an accelerated way with its built-in configurations and modules, making the whole procedure of launching an online store quick and easy.

Those running their site on Drupal 7, two versions of the module are available: both 1.x and 2.x. For those running their site on Drupal 8, you’ll need the Drupal Commerce 2.x installer.

It provides you the flexibility to tailor more complex shipping scenarios while your business grows at every stage

Chances are high that if you are selling products online, you are shipping them too. 

So, instead of setting a constant shipping price, let this module calculate a cost for shipping based on the customers’ location at the checkout stage.

Commerce Shipping can also be integrated well with other shipping modules, like Commerce Flat Rate or Commerce UPS. Indeed, it provides you the flexibility to tailor more complex shipping scenarios while your business grows at every stage.

Keeping track of your customers’ transactions has now become easier with Drupal’s e-commerce Invoice module, where you can generate invoices for each purchase, for yours and your customers’ records.

 It has an abundance of invoice templates from which you can select the one that best suits your needs. Also, you have the option to view and download your invoices in PDF format, as needed.

Enterprises can boost their revenues per order with cross-selling and upselling techniques. Both Commerce Recommender and UberCart Recommender are the Drupal modules that you should install to enable cross-selling on the Drupal Commerce and Ubercart platforms, respectively.

Both modules help in triggering personalized messages and product recommendations for web users

Both modules help in triggering personalized messages and product recommendations for web users. The suggestions are based on users’ current orders and previous purchases.

This module also comes in handy when the user is new on the site and the software doesn’t have any prior purchase history to refer to for making any suggestions.

In such a scenario, these cross-selling modules analyze the purchase history of other users who previously bought the same product in the current order and hence recommend products that these users ordered in the past.

Even though phenomenal growth and new trends are being observed in leveraging social media, email marketing remains an undivided strategy of any online marketing plan. 

Marketing and sales campaigns are regularly employed by sending emails to people on subscription lists. 

The Mailjet module works on Drupal Commerce for running email marketing campaigns while the MailChimp E-commerce module supports both Drupal Commerce and Ubercart.

To get started with the module, you need to first signup with the respective company. The services are free, however, the email volume should be kept below a certain threshold. 

Both modules enable site administrators to create email campaigns, personalize the marketing messages, and track campaign efficacy. 

Learn more about the modules from the video

[embedded content]

It is adept in automatically tweaking the display format of price information based on the location of each online shopper

E-commerce gets its customers on its radar from the farthest and remotest countries of the earth, with all having different local currencies. Thus, the online store should be capable enough of converting product prices for customers as per their geographical location. Besides, the freshly converted local amount must be showcased in a format that conforms to the customers’ regional convention.

This module specializes in converting world currencies based on stored exchange rates. Besides, it is adept in automatically tweaking the display format of price information based on the location of each online shopper.

This module identifies the visitors’ IP address to recognize his or her geographical location (the country) of the user and store it in its database.

You can also perform your lookup on the data via a function to use the data in the way you want to. Besides, it automatically updates the IP-country database and admin spoofing of an uncertain IP or Country for testing purposes.

The technology behind maintaining this database is for establishing a link between IP address and Country is hosted and maintained by ARIN, the American Registry for Internet Numbers, therefore the database is 98% accurate

With the aim to remarket the product to the customer that he or she left in the shopping cart, this module saves the product for a later purchase. Products added to the wishlist display image of the product, add to cart button, stock, and price.

It also comes with a wishlist page showcasing a similar interface to Commerce’s Shopping Cart and a block.

Recurly, when integrated within Drupal, relieves you from subscription billing service and management. It can work alongside your existing payment gateway or merchant account or you can use the included Recurly Gateway.

With basic integration from Drupal, it includes receiving push notifications from Recurly.com. It also comprises of built-in pages for users to view invoices, subscriptions, and to upgrade/downgrade their subscription level.

Customers can easily and securely make payments in your Drupal Commerce shop without needing to leave the site

The Commerce Stripe module integrates well with Drupal commerce to support the tokenized payment gateway. This way, customers can easily and securely make payments in your Drupal Commerce shop without needing to leave the site.

The Physical Field module provides an API for storing and controlling physical measurements. It supports all kinds of unit conversions-

 It lends its support to measurement types like Area, Length, Volume, and Weight.

It also supports these following field types-

  1. Physical measurement: Stores a single measurement and it’s unit.
  2. Physical dimensions like length, width, and height along with its unit.

Commerce Stock assists in stock management for Drupal Commerce stores.

The other features include enabling and disabling the add to cart form, checking the cart form submit, checkout submit, and review submit, stopping the user from checkout in case the order contains out of stock items, and advanced configuration of the add to cart button for more control.

This module adds coupon functionality to Drupal Commerce through integration with the Commerce Discount module. You can add any number of coupon codes to a discount. Customers need to enter coupon code during checkout to activate the related discount. If there are some terms and conditions on the discount that prevent it from being applied to the order, the customer will be notified of the same.

Otherwise, the discount will be applied and the customer will see that the coupon has been redeemed.

This checkout progress block has been added to the core. It adds a block visible on the checkout pages to find out on what step of the checkout process the user is currently on. The status is an unordered list with each checkout page title being an item. 

The Commerce Message module integrates order-specific messages into it, such as order paid, product added to the cart, admin comment, order confirmation sent after checkout complete. A history view option appears to display all messages for a given order

Commerce File module widens the Commerce License ability to sell access to files. Whenever a user buys a product, he or she gets access to all files attached to that product’s commerce_file field.

This adding up of new files to the commerce_file field makes them available instantly to all the users who have an active license.

This module facilitates you to add new customer profile types for the Commerce module using a UI. So, in case you want another customer profile type other than the default billing pane in Commerce, then you can now easily do so by using this module. 

Similar to that of adding fields to the billing profile type and controlling how the fields are displayed, you can add new profile types to the ones you create here too, using this module.

In the End

Drupal does not only work as a driving force for content but also makes up an essential element in designing your e-commerce site. You can leverage the best of both the worlds- Drupal’s flexibility as a CMS in combination with e-commerce, to suit your business no matter at what stage it is!

Further, knowing about the ideally-suited modules as per your requirements can help you in kicking off the ideal site, or to improve the site that you already have. Either way, you’ll need developers to install these modules for you.

Srijan Technologies can assist you in taking your site up a notch. Whether you have decided to switch to Drupal, or fine-tune your existing site; it can help you to assure the success of your e-commerce site. Talk to us now!

Dec 06 2019
Dec 06

Mark brings a fifteen year programming background and six years of Drupal experience to his role as Senior Drupal Developer at Mediacurrent. Highly involved in his local web community, Mark runs the ABQ Webgeeks Group and started the Albuquerque Drupal Users group.

A former radio personality, Mark switched careers to become a programmer when he realized he could have a fun job and eat. (No seriously, kids, radio pays horribly). But as a nod to his days as in radio, Mark hosts the bi-weekly Mediacurrent Dropcast show and the Friday 5 video seriesPrior to Mediacurrent, Mark first dove into Drupal to convert dreamincode.net to a better CMS than it had. Through that he was sent to Do It With Drupal in New Orleans, where he met the great people of the community. From that point, he was hooked. 

Mark resides in Albuquerque, New Mexico. When not in front of the computer, he enjoys playing hockey, tennis, and a good craft beer- not necessarily in that order.

Dec 02 2019
Dec 02
A Step-by-step guide to integrating your BigCommerce store with the Drupal CMS


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 the BigCommerce and Drupal together as 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 theming. 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!

Prerequisites

This guide already assumes that you have the following ready.

  1. 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 any one 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.

  2. 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.
  3. 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 the BigCommerce for Drupal connection made.

Step 1: Create a BigCommerce API account

  1. Go to your BigCommerce store admin page and navigate to Advanced Settings > API Accounts.
  2. Click on “Create API Account” button and select “Create V3/V2 API Token”.

    BigCommerce Store API Accounts page
    Fig: BigCommerce Store API Accounts page

  3. Provide a name (i.e. Product Sync) and select the scope for each features (i.e. if you don’t want the ability for the Drupal admin to modify product information, you can set the scope for “Products” as “read-only”).

    API configuration in BigCommerce
    Fig: API configuration in BigCommerce

  4. 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).

    BigCommerce API Credentials dialog box
    Fig: BigCommerce API Credentials dialog box

Step 2: Download and configure the BigCommerce for Drupal module

  1. Get and install 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
    
  2. In Drupal, navigate to module configuration page at Commerce > Configuration > BigCommerce > BigCommerce Settings.
    1. Fill in the API Path, Client ID, Secret Key, and Access Token that you received when creating the BigCommerce API.
    2. Hit “Save”. If everything is correct, you will see a message saying “Connected Successfully”.

      BigCommerce Configuration page in Drupal
      Fig: BigCommerce Configuration page in Drupal site

  3. 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.
    1. Select “Add new channel” from the select channel list.
    2. Provide a channel name.
    3. Click the “Create new BigCommerce channel” button. You will then see a Site ID and Site URL on the setting page.

      BigCommerce configuration page in Drupal - Channel settings
      Fig: BigCommerce configuration page in Drupal

  4. 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 the BigCommerce, otherwise the checkout form will not be loaded on your Drupal site.

    You can also confirm the channel connection in from within the BigCommerce admin dashboard by visiting the Channel Manager admin page.

    Channel Manager storefront confirmation in BigCommerce
    Fig: Channel Manager storefront confirmation in BigCommerce

Step 3 : Sync products, variations and taxonomies from BigCommerce

  1. In Drupal, navigate to the product synchronization page at at Commerce > Configuration > BigCommerce > BigCommerce Product Synchronization.
  2. 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.

    Alternately, 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
    
    Product Synchronization page
    Fig: Product Synchronization page

    BC4D-Setup_Syncing-from-BigCommerce-in-progress-1
    Fig: Syncing from BigCommerce in progress

    NOTE: If you run into errors when syncing products, it 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.

  3. 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

  1. 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 in to 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.

    Drupal’s checkout page with embedded BigCommerce checkout form
    Fig: Drupal’s checkout page with embedded BigCommerce checkout form

    Drupal’s checkout page after order complete
    Fig: Drupal’s checkout page after order complete

  2. 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).

    BigCommerce backend View Orders page
    Fig: BigCommerce backend View Orders page

Additional notes

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 in the Drupal side, so be careful.
  • A development roadmap for the module can be found here. It outlines future features and plans.
  • If you use the module and find any bugs or want specific features, please add them to the module issue queue here.

Acro Media is a BigCommerce Elite Partner

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.

View our BigCommerce for Drupal services

Nov 30 2019
Nov 30

Given the facts and figures in this study, there are more than 58 percent of people who prefer their smartphones over desktop or laptop to browse information on the internet. And when those responsible for the development (at the backend) decide to go ahead without any changes for the mobile, the users start getting annoyed. So much so, that 39% of them stop engaging if images don’t load or take too long to load.

In this blog, we will explore some of the awesome Drupal 8 modules for image optimization and how they can help websites reach their desired user experience. 

Drupal 8 Modules For Image Optimization 

Fortunately, Drupal 8 has many useful and out-of-the-box image optimization modules that makes it most appealing among website owners also who look forward to upgrading to Drupal 8.

Read on to find out about those modules that can help you in image optimization-

Responsive Image Module

The Responsive Image module in Drupal 8 encompasses an image formatter and breakpoint mappings to deliver responsive images using the HTML 5 picture tag. It comprises of fallback support for Internet Explorer 8. To get images in IE8 that are not tweaked for a mobile interface, you’ll need to configure the fallback in your display to use your desktop image size rather than “automatic”.

How to Set Up Responsive Images in Drupal 8

Following steps will help you in easy setup of responsive image module-

Step 1: Enable the responsive image module

One of the major changes in building responsive images in Drupal 8 from Drupal 7 is the responsive image module being part of Drupal’s core - there is no need to download an extra module. However, this feature is not enabled by default.

  1. To enable the responsive image module, go to "Admin" > "Configuration" (/admin/config).

  2. Click the checkbox next to "responsive Image".
  3. Click "Install".

Step 2: Setup breakpoints

If you are using a default theme like Bartik, there is no need to create a breakpoints.yml file. Default themes already have this file.

If you have a custom theme, go to your editor. In the root of your theme directory, create a file called "yourthemename.breakpoints.yml".

Your theme directory is usually found at "/themes/custom/yourthemename".

Step 3: Setup the image styles for responsive images

We need to create several image sizes for different breakpoints. Add one image style for each breakpoint you create at your_theme_name.breakpoints.yml.

Step 4: Responsive image styles

We will now assign the image styles with the breakpoints, to create the Responsive Image styles.

Go to ‘Home > Administration > Configuration > Media’ (/admin/config/media/responsive-image-style) and click on ‘Add responsive image’.

Below mentioned is the result of how a responsive image style, once set up,  can turn the tables.

  Devices 

Without the Responsive Image  Module 

With the Responsive Image Module 

Desktop

1-526074867869569249next 1

Tablet

3,27-8

Mobile

last secondlasttttt

 

ImageMagick Module

Drupal by default comes with the GD2 image manipulation toolkit which helps the image cache module to create different sized alternatives of the same images. While GD does most of the work, it lacks some important features like converting/supporting gif with image style, & supporting of some extra image formats like TIFF. At this point, we need to use ImageMagick to extend support for gif format with an image style.

Follow the given steps to start with ImageMagick-

1) Install the module by running the following command 

Composer require 'drupal/imagemagick'

2) Enable the module with following path  ‘yoursite/admin/config/media/image-toolkit’

3) Select the ImageMagick image toolkit and configure the image quality to 100%.

By implementing the module, the following improvements can be observed:

1) The gif image format support is now enabled when used with an image style.

2) 20-40% decrease in image size

Please refer to below table for detailed output-

Image Format/ Toolkit

GD2 Toolkit

ImageMagick Toolkit

PNG

1.car2.carr

JPG

3,carrrr4.carrr

GIF

5.screen

6.screen

Note: ImageMagick is preferable over the GD toolkit due to the functionalities it provides.

WebP Module

WebP format is one of the image formats developed by Google, capable of reducing the image size by 20-50%. Some of the dependencies which WebP module had before being used in Drupal are as below:

1) At least one image library (GD2, ImageMagick.). In our case, we are using ImageMagick.

2) Images to be rendered using a responsive image style as the WebP module works with <picture> tag only. Any image which is not rendered using picture tag is not converted to WebP form and remains in its original format.

Note: In some browsers, WebP format is still in testing mode. WebP module detects the unsupported browser and renders the original format image instead of WebP format.

Use the below steps to get started with WebP - 

1) Install the module by running the following command

composer require  'drupal/webp'

2) Enable the module and go to path ‘yoursite/admin/config/media/webp/settings’

3) Configure the image quality to 100%.

Below are the improvements that can be noticed on the site alongside a decrease in image size by 20-25% - 

Please refer to below table for detailed output-

Image Format / Configuration

With ImageMagick and without WebP

With ImageMagic and WebP

PNG

2.carr-1

White second

JPG

new brown 2brown fina;

GIF

6.screen5.screen

Note: Please note that the size of the gif image remains the same in both cases - with and without WebP. The reason is that WebP does not support gif images on some browsers. Hence, we have excluded the gif by applying a patch on the WebP module.

Summing up:

The bounty you get against the efforts you put in is the website images that look vibrant and crisp on all touchpoints, while still downloading efficiently. Users won’t leave your sites disgruntled anymore as images won’t take forever to download; making a huge difference to your engagement ratio, conversions, and other sales activities.

Drupal is a powerful, robust, and scalable website content management system that ensures every element on the website functions well to deliver a seamless digital experience to users. Using its modules, you can surely manage the images efficiently witnessing the boost in site performance.

(Co-authored by Sumit Kumar)

Nov 21 2019
Nov 21

Gone are those days when traditional inbound marketing practices worked wonders. Today, the one-size-fits-all approach does not prove effective for companies trying to appeal to well-heeled clients and companies. 

Perhaps, this approach has served B2B marketers well for so long but now this digital era has taken over and led to the battle already where everyone is going head over heels to grow traffic and generate more leads. 

One inverted triangle and one normal with text written                                                            Source: Acquia

What is the solution then?

It is account-based marketing (ABM) indeed! An action-plan approved by both large and SMBs to help them aim at high-value accounts with customizing or rather personalizing campaigns and raising awareness.

The illusion of (some) control over what visitors are engaging with is powerful, and has a positive effect on visitor psyche. Perhaps, that why personalization works so well. 

Drupal 8’s API-first architecture makes integration easy to implement account-based marketing

This blog will give you deep insights on how Drupal and ABM can benefit enterprises in increasing customer engagement, and what all the tools are there for the same.

Benefits Of Account-based Marketing

Here are some of the ABM benefits listed-

1.  Clearer Path To ROI

Account-based marketing is accurate, focuses on personalized targeting, and is measurable too

Account-based marketing is accurate, focuses on personalized targeting, and is measurable too. Considered as appropriate in B2B marketing tactics and strategies for the highest ROI, it is the one that ensures less waste and so the risk.

This practice makes it easier to streamline sales and marketing for consistent marketing that grows accounts.

  1. Faster Sales Process

Due to the involvement of several stakeholders in making a final purchase decision, the whole process gets stretched. As a result, this slows down your typical sales and marketing process. However, ABM provides you the opportunity to nurture your primary decision maker particularly, along with all relevant potential customers, to facilitate and hasten the sales process.

  1. Efficient Use Of Marketing Resources

ABM redefines your marketing efforts on the major accounts to drive the most revenue

ABM redefines your marketing efforts on the major accounts to drive the most revenue. These initiatives let you optimize your most valuable resources: time and money. The integration of sales and marketing efforts can let you focus your marketing team directly with sales to target and produce content for key accounts and build a successful communication with sales.

  1. Right Targets to Get Right Leads

As per this report, there are almost more than 45% of the bad leads that are of no use to marketers even after additional cleaning,  and hence leads to wastage of resources, money, time, and effort.

ABM is a breakthrough marketing practice that helps in hitting on the right lead instead of low-profit or low-level clients 

ABM is a breakthrough marketing practice that helps in hitting on the right lead instead of low-profit or low-level clients that might give you only a small percentage of revenue. ABM has the unique ability to target the right accounts, i.e, large accounts that have the possibility of closing down soon; resulting in right leads and more revenue than those hundreds of the wrong leads combined!

Quick look on the basics of ABM. 

[embedded content]

Getting Started With ABM? Tools You Can Consider

Getting rid of age-old marketing tools to embrace the ABM personalization tools, or simply finding a way to seamlessly integrate them into your workflow can be one of the best decisions you can make for better customer engagement.

With tools such as Engagio that help account-based marketers to initiate lead-based marketing strategies for reviewing performances, there are also tools like Terminus that emphasize personalized account targeting, engagement insights for the sales team & ROI tracking. 

Integrate is also one such useful tool that lets you combine and manage several lead generation platforms in one place and save your time and effort of moving back and forth from one platform to another. Uberflip is no less and focuses on delivering the right content to the right audience at the right time. It uses an AI component that acts as a recommendation engine for content delivery to enhance customer experiences. 

How Integrating ABM and Drupal Can Result In Increased Lead Generation, Retention, and New Market Growth?

In this era of “the customer is the king”, it has become extremely difficult for the companies to get noticed and break through the noise.

However, when Drupal 8’s API-first initiative is combined with ABM, enterprises get access to a whole new line of solutions to deal with the problems that have been surfacing for so long, such as relevant lead generation, retention of customers, and new market opportunities.

ABM requires sales & marketing teams to work closely together in pinpointing and selecting individual companies to target and treat each of these accounts as its very own market to see stronger results.

ABM and Drupal collectively understand that audience identification is the key to the personalization and unmatched experience

Drupal is an ultimate martech stack based on open-source and has been built in such a way that it integrates well with all other tools seamlessly. The use of API structure in Drupal allows the use of the latest javascript to create wonderful apps and deliver exceptional digital experiences in real-time.

ABM and Drupal collectively understand that audience identification is the key to the personalization and unmatched experience and therefore, ensures focus & flexibility to target only those accounts which are well-suited as per organizations’ competency. Ideally, Drupal manages content and the ABM platform ensures identification and recommendation.

Today with ABM, any company that has been using marketing automation technology and CRM software can automate much of the tedious work required for mining potential customer data and personalizing the marketing messages to meet the specific needs of the targeted accounts. In addition to this, an ABM strategy makes it smooth and efficient for enterprises to see how much of the money the company is spending on marketing is directly converting into closed sales and revenue or not.

Modules That Fuel Personalization Through ABM & Drupal Integration

Here are some Drupal modules and tools that support ABM for refined digital experiences-

1. Acquia Lift

Amalgamation of the potential of Lift and the capabilities of Drupal allows marketers to select the level of sophistication that fits their needs and budgets

Web Personalization is the key to successful customer experience. An effective personalization pulls and analyzes customer data, and accordingly suggest content to deliver the right experience to the right customers. For similar reasons, Acquia Lift provides the three-step approach, i.e., crawl, walk, and run approach for web personalization. 

Have a look at these three approaches-

Crawl personalizations can be started instantly from a content and data perspective. These are considered as low effort (means general, easily gathered data and personalization that can be ongoing), of varying impact, and with fast results.

Walk personalizations need additional content and more data collection for further defined segments. Considered as a medium to the high effort ( data that requires multiple visits and additional content creation), delivers results with moderate impact. 

Run personalizations demands more content, more personalization activities, and more data for further defining segments. They require high effort ( requiring data collection and integration from other systems, moderate to large-scale content generation, and more analysis and resources to build and implement rules) with high impact during an extended period.Multiple colored boxes with text insideSource: Acquia                                      

Doing it the right way, with the right technology, can only deliver results that will drive customer experience and your business forward. So, Acquia Lift when combined with powerful solutions, like Drupal, results in a powerful yet easy-to-use platform that augments real business results. Acquia Lift facilitates enterprises in understanding their customers and improving engagement with relevant content for unmatched contextual digital experiences.

The amalgamation of the potential of Lift and the capabilities of Drupal allows marketers to select the level of sophistication that fits their needs and budgets to build unified customer personas, based on data like device type, geolocation, and browser history. Following this, Lift delivers personalized content to relevant customer segments through drag and drop Drupal interface.

Acquia Lift offers following features-

1. Simple campaign creation

Marketers can easily create personalized campaigns in just three steps

2. No coding for testing and targeting

Fueling the creation and launch of personalization without any technical skills.

3. Well-defined personalization campaign types

Enterprises can set a/b tests, target personalizations to specific crowd or suggest content across a series of sessions to deliver the best possible experience.

4. Enhanced scheduling

Assists marketing teams aligning personalizations to events, promotions, sales, and press-related activities.

5. Multi-lingual personalization

Personalize in multiple languages by automatically localizing content as per the detected location.

6. Real-time operation and insights

Caters a dashboard from where activities can be reviewed in real-time for both optimizing and validating marketing investment.

  1. Smart Content Demandbase

The Smart Content Demandbase is a targeting and personalization platform to deliver a personalized experience to each visitor on the website in real-time

The Smart Content Demandbase is a targeting and personalization platform to deliver a personalized experience to each visitor on the website in real-time.

It gives enterprises insights on buyers’ persona and so the ability to optimize your ABM at scale.

With Demandbase, marketers can target website content to companies that fit pre-defined criteria based on attributes and metrics like industry, revenue, customer status, or products purchased. Following are its features-

A. Coordination among different channels

Creating and managing target account lists in the Demandbase ABM platform can be done via enabling the third-party system to ingest these lists. This way, they can be used in a coordinated fashion across virtually any channel (email, direct mail, content syndication, etc).

B. Monitor and fragment target account audiences

Audience lists can be easily managed by fragmenting the data brought into the Demandbase Platform through these integrations. This way, opportunities through CRM can be pulled in for increasing the ROI of ABM programs and at the same time use it for boosting account profiles with contact data and both online and offline engagement data, to provide a comprehensive framework of target accounts.

C. Innovation through collaboration

Collaboration with other hundreds of smart, innovative companies who are building capabilities to benefit ABM marketers will grow only in the coming times. The Demandbase ABM Ecosystem will facilitate clients to benefit from such innovations alongside future capabilities that Demandbase delivers.

D. Seamless data integration

In a world where martech stacks are overflowing, siloed data comes up as a huge challenge for every CMO in achieving the desired ROI. With the enablement of complementary solutions to pass data between systems, the Demandbase ABM Ecosystem can eliminate the risk of buying decisions and enable the marketer to get to value quickly.

  1. Smart Content Module

Marketers can leverage browser conditions, cookies, or third-party APIs to display various content for anonymous and authenticated users

The Smart Content module builds for Drupal 8, can be easily integrated with any data source to facilitate enterprises deliver segmented content- via Drupal admin, as per industry, buyer stage, location or other crucial segments.

It is a toolset that enables the personalization of an anonymous website in real-time. Marketers can leverage browser conditions, cookies, or third-party APIs to display various content for anonymous and authenticated users.

However, it has limited functionality on its own as it is designed to work in conjunction with other modules to boost the power of personalization.

Two of its components are-

1. Smart Content Blocks

Smart content block lets you insert a smart content block on any page to hide/show/swap content within that block, as per the conditions defined by a content administrator. These blocks can be added anywhere, and even in multiple regions on a single page.

2. Smart Content Segments 

You can create, save, and manage a set of conditions, knowns as segments with it. These blocks can use any segment(s) to display the corresponding content.

Smart content lets an API with available data be used as conditions to boost your personalization strategy and better leverage the tools you already have.

Final Words

Drupal and ABM take personalization to the next level collectively and also empower sales and marketing teams. The results obtained are - increase in customer engagement, relevant leads and prospects, enhanced customer retention, and hence sky-rocketing ROI. 

If your enterprise is looking for inculcating Drupal and ABM platforms, then you are in the right place! Srijan has helped its clientele in maximizing their ROI and it can help you too. Contact us now!

Nov 16 2019
Nov 16

A few weeks ago we announced our diversity scholarship for DrupalSouth. Before announcing the winner I want to talk a bit about our experience doing this for the first time.

DrupalSouth is the largest Drupal event held in Oceania every year. It provides a great marketing opportunity for businesses wanting to promote their products and services to the Drupal community. Dave Hall Consulting planned to sponsor DrupalSouth to promote our new training business - Getting It Live training. By the time we got organised all of the (affordable) sponsorship opportunities had gone. After considering various opportunities around the event we felt the best way of investing a similar amount of money and giving something back to the community was through a diversity scholarship

The community provided positive feedback about the initiative. However despite the enthusiasm and working our networks to get a range of applicants, we only ended up with 7 applicants. They were all guys. One applicant was from Australia, the rest were from overseas. About half the applicants dropped out when contacted to confirm that they could cover their own travel and visa expenses.

We are likely to offer other scholarships in the future. We will start earlier and explore other channels for promoting the program.

The scholarship has been awarded to Yogesh Ingale, from Mumbai, India. Over the last 3 years Yogesh has been employed by Tata Consultancy Services’ digital operations team as a DevOps Engineer. During this time he has worked with Drupal, Cloud Computing, Python and Web Technologies. Yogesh is interested in automating processes. When he’s not working, Yogesh likes to travel, automate things and write blog posts. Disclaimer: I know Yogesh through my work with one of my clients. Some times the Drupal community feels pretty small.

Congratulations Yogesh! I am looking forward to seeing you in Hobart.

If you want to meet Yogesh before DrupalSouth, we still have some seats available for our 73780151419">2 day git training course that’s running on 25-26 November. If you won’t be in Hobart, contact us to discuss your training needs.

Share this post

Nov 08 2019
Nov 08

If you are a frontend web developer you have probably heard of GraphQL or maybe you have even used it, but what is it? GraphQL is a query language for APIs that allows you to write queries that define the data you receive. No more emailing the backend team to update an endpoint for your application. The client developer defines the data returned in the request.

What is a GraphQL Server/API?

A GraphQL server is a server-side implementation of the GraphQL spec. In other words, a GraphQL server exposes your data as a GraphQL API that your client applications can query for data. These clients could be a single page application, a CMS like Drupal, a mobile app, or almost anything. For example, say you have a MySQL database and you want to expose the content to a React application. You could create a GraphQL server that will allow our React application to query the database indirectly through the GraphQL server.

Why would you consider a GraphQL API?

1. You need an API for your applications

At Mediacurrent, we have been building decoupled static web sites using GatsbyJS. But sometimes we also need some components with dynamic data. You need an API for that and our front-end team was already using GraphQL in Gatsby. Or maybe you might develop a mobile app and need a reliable and fast way to get data from your legacy database. You can use GraphQL to expose only the data you need for your new app but at the same time give your client app developers the ability to control what data they get back from the API.

2. You need data normalization

For our purposes as developers data normalization is simply the process of structuring our data to remove redundancy and create relationships between our data. Data normalization is something database designers think about but developers and software architects should consider as well.

One of the biggest mistakes I’ve seen in my years building web applications is the pattern of including too much business logic in application components. These days, it is not unusual to require data from multiple applications, public REST APIs as well as databases. There is often duplication across these systems and the relationships are rarely clear to the development team. Creating components that require data from multiple systems can be a challenging task. Not only do you have to make multiple queries to retrieve the data, but you also need to combine it in your component. It’s a good pattern to normalize the data outside of your components so that your client application’s components can be as simple and easy to maintain as possible. This is an area where GraphQL shines. You define your data’s types and the relationships between your data in a schema. This is what allows your client applications to query data from multiple data sources in a single request.

3. You love your client application developers

A well-built GraphQL server will avoid these issues that are common with REST APIs.

  • Over-fetching - receiving more data than you need.
  • Under-fetching - not receiving all the data you need.
  • Dependent requests - requiring a series of requests to get the data you need.
  • Multiple round trips - needing to wait for multiple requests to resolve before you can continue.

Over-fetching

In a perfect would we would only fetch the data we need. If you have ever worked with a REST API you will likely know what I mean here. Your client application developers may only need a user’s name but it is likely that when they request the name using the REST endpoint they will get much more data back from the API. GraphQL allows the client to specify the data returned in the request. This means a smaller payload delivered over the web which will only help your app be more performant.

Under-fetching, dependent requests, and multiple round trips

Multiple requests with GraphQL

Another scenario is under-fetching. If you need a user’s name and the last three projects they were active on, you probably need to make two HTTP requests to your REST API. With GraphQL relationships, you can get this data back in a single request. No more callbacks and waiting on multiple endpoints to resolve. Get all your data in one request. Now you are avoiding multiple requests, dependent requests, and multiple round trips to get the data for your app’s components.

GraphQL single request to multiple data sources.

Self documenting

The type based schema that GraphQL provides creates the structure to build powerful tools like Graphiql, an in-browser IDE for exploring GraphQL.

Graphiql example

This schema also allows for what I would call a self documenting API. GraphQL playground is an example of the power of the GraphQL schema. It takes this schema and creates documentation as well as an IDE like Graphiql. When you update your schema, your documentation is automatically updated as well as the IDE. That’s a huge win!

GraphQL Playground example