Mar 27 2020
Mar 27

In the previous blog, “Know-How To Manage Multi-Site Configurations in Drupal 8” (link of the same), we learned about managing configurations across multiple sites and acquiring features from the common core platform. 

Today, the II part of this blog series will give you deep insights into the implementation of "Configuration Management across multiple sites".

But before moving ahead, let’s revisit the problem statement as discussed in Part 1-

The objective was to create one profile, i.e., “Core Platform” and accumulate all common features for easy distribution and sharing across multiple brands. 

Additionally, these features were made pluggable as well available for use to each brand in the future.

But there were two major challenges ahead. They were-

 

  1. There can be a massive amount of files to manage across 18 brands that may require more work upon them
  2. Moving configurations would require extensive care and testing at each step to avoid any loss of data, critical for the brands.

The Solution-

There are two approaches to solve the challenges. Each one is discussed below in detail-

A.  Separate Configuration Files for Each brand

This approach will ensure that all the configurations are kept separately for every brand, with each one having their own set of YAML configurations files. And while synching the configurations also, it can also be fetched for that specific brand only.

Although using this approach would result in:

  1. Increase in repo size as new features will be developed
  2. In case there is something that needs to be developed/deployed for multiple brands, then configuration files will have to be copied in every brand sync directory, thereby resulting in additional efforts of developers for copying files over multiple directories
  3. And, what if a new brand site is requested by the client? New directories will have to be created from scratch to manage configurations, leading to a bulkier repo.

Thus, we had to come up with a better approach that would result in maximum configuration files in common core platform directory and fewer files in brand-specific directories, besides common features across all brands).

Text and Drupal 8 logo in white backgroundSource: Medium

The new approach is-

B. Splitting Configurations for brands using Config Split Module -

In this approach, Config Split module is used to create a separate configuration sync directory for each brand where module settings let you select configurations from brand folders whenever Configuration Import is executed.

The Config Split module is used to split the configurations into a specific set required for a different environment or a different site. The aim is to fetch the configuration either from the split folder or from the core folder (it is specified in site’s

This approach will help you in moving all the common configurations to the Core sync directory.

Below mentioned are the steps that have been taken to achieve the objective-

 1. Exported all the brand-specific configurations and kept them under the brand-specific config sync directory using the config split module =>

For example, we have the site named "BPB News" and the folder for this under config directory is named as bbp. Here, we will export all our configurations and keep them under config/bbp directory. We did this for all the 18 brands.

Doing this will help us to get started with drush cex and Drush cim workflow on all brands.

 2. Using the Configuration Split module settings, as explained above, brand-specific split folders have been created:

Text written in white background

Also, the help text of the field says: "Configuration related to the "filtered" items below will be split from the main configuration and exported to this folder".

To export all the configurations to split directory we added " * " wildcard in the module configuration here :

Text and a dialog box on white backgroundSince our priority is to look for configuration items that will always be found in brand-specific folders, we can pick it up from the core as well, the main configuration folder.

You can test its working mechanism by deleting the split directory, ensuring that the configurations will be then fetched from the “Main”, the core directory.

So far, this is what we have been able to accomplish-

  • Brand-specific split folders to maintain brand-specific configurations
  • All the configurations are exported and kept in these brand-specific split folders

And this is what we aim to achieve-

  • The brand-specific folder should only contain the configurations that are specific to brands and should not contain configurations more than the "main", i.e., the "core" configurations directory.
  • Only then we will be able to get the ideal case of "Pushing all features to Core and keeping only brand-specific features in brands". This means the number of configuration files in the brand should be less than that of Core

 3. This is the testing stage, where we deploy all the changes to the Stage environment to check if configurations are now synced and no changes are displayed when we run "CIM" on any brands.

Finally, all sites were showing "No Changes in configuration" upon running the "CIM".

 4. To move forward, having all (Common configurations) configurations in Core and fewer configurations in site-specific configurations, and in brand split folders, we created and picked tasks in every sprint and performed this operation in several different tickets, such as :

  • Task 1: Moved all image style configurations in Core (Common) Directory.
  • Task 2: Moved all common view configuration files in Core (Common) Directory.
  • Task 3: Moved all common field configuration files in Core (Common) Directory.
  • Task 4: Moved all common Ad entity configuration files in Core (Common) Directory.

You can take a walkthrough of the Drupal configuration management from here-

[embedded content]

Working on a New Feature Request

When working on a new feature such as creating a new content type, all the configuration files related to "New Content-Type" creation will be picked up from the "Main" (Core) configuration directory. 

And in case if there is something that only a specific brand is requesting as explained in part I, then the configurations will be placed in the brand sync directory.

Usage of Configuration Ignore Module

We used Config ignore to add YAML configurations in ignore Settings. The idea here is to ignore synchronizing configurations that are changed regularly.

These changes might be any of the following-

  1. Changing form settings in the admin configuration forms. (In our case we call these settings, "Brand Level Configurations"). These can be custom admin forms provided by contributed modules
  2. In our case, the brand editors can change the placement of the blocks from the admin/structure/block page settings
  3. System Site Settings

These changes are made by the brand level editors and should be part of ignore module as when made to run, these changes would be reverted and lost during import.

Wrap-up

Sharing our journey and findings of configuration management might not be the best-case scenario for everyone but it resolves our problem statement and facilitates us to develop features and manage configurations successfully. 

There is no denying the fact that there can be a scope of improvement here also. You can also share your findings or provide us with your inputs in the comment section below for a more efficient approach.

Need help with revamping your enterprise platform? Drop us a line and our experts will get in touch with you.

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 24 2020
Mar 24

Configuration management is one of the most prominent features of Drupal 8. You can easily import and export configurations using YAML files and also store them in the “config” table of the database. 

Given this, it has become a cakewalk now to pass commands in Drush and follow the steps required to export configurations from one environment and import it to another, thereby making it easier to manage them in code-base using the version-control system.

However, things turn out complicated when it comes to managing multiple site configurations that employ a “single” platform for streamlining common features across various brands.

For instance, there is information in the article that all brands want to use on their respective sites. The twist is that each brand wants to use different sets of fields and display pattern to showcase it on their site.

Thus,  the problem of this solution is to create one profile, “Core Platform” and place all common features for easy distribution and sharing across multiple brands. Further, these features should be pluggable as well available for each brand to use in the future.

This blog series (Part I & II) will help you understand the development process and maintenance of -

  1. common configuration across multiple sites
  2. Different configurations as per brands’ requirements
  3. Configurations as per the environment, and
  4. Usage of configuration Split Module and Configuration ignore

 

Please note that if configuration management is a new business for you, it’s highly recommended to go through the Drupal documentation first to acquaint yourself with configuration export and import commands.

 

Moving forward, let’s consider two cases to determine whether a feature should be brand specific or need to be pushed as part of a Core platform to become available for multiple brands. 

 

Case 1 :

Multiple brands have requested to introduce a new content type, “companies on the move” section, which lets anonymous users submit their entries in the same and complete the process by going through a checkout process. This will display users’ submitted profile on /company-on-the-move listing page.

So, these are the following questions that crop up, considering the case I:

 

  1. Which multiple brands have requested this new content type?
  2. Is there anything specific that brands need to be configured or displayed differently for them?
  3. Are the display items (fields) on /company-on-the-move listing page the same across all brands?

 

Now, if answers to the above questions involve “brand A, B, C, D, and Nothing”, i.e., nothing specific needs to be developed and displayed for any brand, then it is an indication for core platform features.

Besides, these features in the core can be employed by any brand, anytime in the future.

 

Case 2 :

Brand A and B want to add a specific new field for their editors to company content type, which would be accessible for them only. In this case, we’ll have the following info available across all brands:

  • Company Content type with all the required fields.

It is obvious that only Brand A & B require this feature, so it will be known as “Brand Specific”.

It can be achieved through the following steps-

  1. Create the requested fields in the "Common Core" platform and push it to all brands and write hook_form_alter() to hide that specific field for all other brands except Brand A and Brand B.
  2. Create the requested field just for Brand A and Brand B and push the configuration for these 2 brands.

 

Since our objective is to manage configurations across multiple brands, we’ll take forward the 2nd approach from here onwards.

Learn more about building a Drupal multisite from here-

Development Process 

With a clear understanding of the features’ availability and unavailability for multiple brands, developers can find it easy to jump onto the implementation part.

Colorful balls in various shelves

Case 1 :

  1. Create the new content type on our "Core platform" local site and place the configurations exported (field storage, field, view, panel page for company listing page, form display, view display) under the Core configuration sync folder.
  2. Upon successful code merge and deployment, run CIM on all brands to get the new content type across all brands.

Case 2:

  1. Create fields for just Brand A and Brand B
  2. Export and keep the field.field..... and core.entity_form_display... YAML configuration file in brand-specific configuration sync folders.
  3. On deployment, run drush cim --uri and drush cim --uri=brand_b to import the required configuration files for just these 2 brands.
  4. In this case, other brands will continue using the form display configuration file from Core (the main) configuration sync folder.

Summing up-

Thus, you can decide and develop Core/ brand-specific features hassle-free by following the above-mentioned steps. 

And to learn more about the development process and implementation methods, stay tuned for the next part of the blog, “Configuration Management in Action”.

Keep Coding!

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 14 2020
Mar 14

With Drupal 9 all set for release in June 2020 and Drupal 7 & Drupal 8 reaching to their end of lives in 2021- the crucial question that pops up is whether you should wait and upgrade to Drupal 9 or start moving to Drupal 8 now.

Whatever the case is, enterprises must start figuring out their approach to be Drupal 9 ready instead of pondering upon that why should they be upgrading to Drupal 9 after all’ phase?

This blog will answer all your questions and will provide you a way to keep up with the latest version of Drupal.

Reasons To Migrate To Drupal 9

With the near release of Drupal 9, there is going to be a lesser and lesser focus of maintainers on providing resources to Drupal 7. Simply stated, there will be a lot of contributed modules and themes left unmaintained apart from the freshly exposed security loopholes that will directly result in the recantation of downloadable releases of these projects.

Drupal logo showcasing upgradeSource: India MART

 

Here are a few questions that you need to ask yourself before considering migration to D9-

 

1.   Does your business have seasonality?

For the uninitiated, seasonality or seasonal spread implies that traders can benefit from seasonal fluctuations by taking long and short contracts simultaneously in the same or associated commodity market. The spread refers to the variance between the values of these securities. Benefiting from the spreads when they are following normal seasonal patterns may be a judicious and reliable way to engage in future markets.

Now if your business has seasonal spread, it is probably ideal for you to wait for the release of Drupal 9. This way, you can pay complete attention to seasonal peaks and get enough of time as well to migrate to D9 when it launches 

If you have been planning to undertake a project in 2020, you should postpone it for six months to start in Q3 2020 and switch directly to D9. Roll out a plan elucidating how to handle site refinements in D9 to avoid modules that never got D8 support. With this, you can skip the repeated hassle and directly move to a new platform in a single stroke.

 

2.   Are you having challenges in D7?

Drupal 7 still has official support and so, there are several agencies and system integration partners who are proficient in working on the platform. However, there is undoubtedly a multitude of functionalities and improvements that make the move to version 8 rewarding. So, if you are facing any challenges with Drupal 7, then you should consider moving to D8 immediately.

One of the real problems that D7 sites have is their confusing editorial experience - like one of the issues was lack of in-built WYSIWYG editors; making it difficult for editors to see the preview before pushing content live. Thus, instead of empowering teams, it increased their efforts. 

On the other hand, D8 encompasses key improvements for layout management, including many other techniques to manage pages.

Migration to Drupal 8 will serve you better now and later.

 

3.   Features that you are missing out in Drupal 7

Drupal 8 is altogether a new CMS that comprise of quintessential features for everyone onboard in the company. 

So, if you are using D7 and have FOMO on some really important features, then you should definitely plan out an upgrade to D8 or D9.

Besides, Drupal 9, as mentioned, is going to be quite similar to D8 except for deprecated code removed, and third-party dependencies updated, thereby holding similar features-

 

  1. Configuration management allows you to deploy configuration between environments
  2. Extended security coverage from one month after the next minor release to six months.
  3. HTML 5 changes Drupal’s default markup to meet HTML5 standards, including new semantic elements.
  4. The layout feature allows site builders to build pages intuitively, change layouts and add & rearrange blocks with real-time preview
  5. Mobile-centric for a wonderful experience on mobile devices
  6. Multilingual capabilities incorporated into Drupal core
  7. Allows content authors and site builders to implement basic settings from the front-end of their site
  8. PHPUnit converts all legacy SimpleTest tests to the standard PHP testing framework
  9. Spark improves Drupal 8’s experience for content editors through improvements such as WYSIWYG editing, a mobile-friendly toolbar, and in-place editing

Which Approach Should Be Taken to Migrate to Drupal 9?

 

1.   Migrate from Drupal 7 to 9. Drop D8 

 

Drupal 7 is durable and has enough shelf life as of now to keep your site up and running through the community’s constant support.

So, unless there's a specific module that only Drupal 8 can offer, you can feel assured that your Drupal 7 site will remain active until its end-of-life.

In addition, staying on D7 can give you some time to secure funding, and get all the stakeholders on the same page for the upcoming upgrade.

However, it isn’t easy. Procrastinating the potential problems by leaping upgrade to D8 won’t fade out problems; in fact, Drupal 9 will still require the same level of rework and investment. 

And in the meantime, updates to Drupal 7 will continue, such as requiring a more updated version of PHP. There will be more maintenance costs associated with an addition to the Drupal 9 rebuild.

Jumping on to Drupal 9 from Drupal 7 gives you room to operate.

 

2.   Upgrade from Drupal 7 to 8 to 9

Another option that can be considered is following the “straight line”, i.e, moving from Drupal 7 to 8 to 9, instead of trying to skip version 8 completely.

Also, it is paramount to take a unique feature of D9 into account- it is designed to be backward compatible. This indicates that unlike going from Drupal 7 to Drupal 8, it is much easier to go from Drupal 8 to Drupal 9.

Enterprises are already building Drupal 8 sites that will be Drupal 9 compatible by eliminating deprecated APIs and constantly running tests to verify. These sites will be upgradable like a regular quarterly update.

Thus, you can upgrade your D7 modules to D8 with the help of modules such as Drupal Module Upgrader, migrate the website content and code to Drupal 8 by checking for availability of modules in Drupal 8 through the Upgrade Status module, and finally upgrade to Drupal 9.

Upgrading from Drupal 8’s latest version to Drupal 9 is plain as day.

How To Start With?

Although Drupal 9 hasn’t embarked on its journey, the time to administer and refine your site has come now. It’s recommended taking an incremental approach instead of focusing on wholesale rebuild. Here are some factors that you should consider as you move further into 2020-

 

  • Analyze website strategy

Presuming that your site was built (or redesigned) not more than 5 years ago, keeping the business goals and current business strategy in mind is crucial. Have your goals shifted? Does your site still help you achieve your ultimate objective? 

Redefine your strategy to incorporate changes and align them on the right path for success.

 

  • Audit content

Managing enormous content on the site, especially when there are multiple authors and editors, the line of governance gets blurry. Make sure that you keep on archiving or deleting unnecessary content on a timely basis. Evaluate it for your authority voice and well-defined strategy.

 

  • Evaluate SEO

SEO written with the grey background

Apart from keeping a track of keywords, ensure that your content is mobile-centric, URL structures meaningful, and existing schemas properly used to illustrate the content of a page.

 

  • Code Quality

Auditing code should ascertain that-

  1. Code standards are being met as outlined by Drupal
  2. Code should be well-structured and easy to extend
  3. Proper documentation exists
  4. Code is reusable as much as possible for future projects

 

  • Optimize user experience

Check if the user experience and flow are making sense besides running a usability test on your interactive features. Use Google Analytics to see where your users are clicking and scrolling, and then tweak accordingly.

 

  • Active maintenance:

Make sure that your contributed modules are actively maintained so as to keep them working accurately and in case you find it necessary to replace the modules with an upgrade path, then do the needful.

 

  • Assess New Features: 

Examine new features carefully while being mindful of scope as per your upcoming rebuild. Figure out whether it can wait, or is it an urgent necessity?

So, When Should I Upgrade?

Enterprises should start planning out their upgrade to Drupal 9 without any further delays. It will be similar to the final D8 release, however, with deprecated code removed and third-party dependencies updated. Upgrading to D8 will eventually make it easier to hop on to D9.

 

Summing up-

Confused about which approach to take? Beginners should evaluate whether an upgrade benefits them in the immediate term or not. They should gather more information about Drupal 8, audit their site with our website checklist, and if still, don’t feel sure, contact us!
We offer Drupal 7 & 8 support and can help you work out a strategy for an upgrade from Drupal 7 to Drupal 8, & Drupal 9. 

Whichever way you pick to upgrade to D9, we’ve got your back!

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. 

Mar 04 2020
Mar 04

Technology has never failed to be a game-changer for any business that is striving to succeed online, especially eCommerce, which has become ubiquitous.

Given this, there are both high-cost enterprise software solutions as well as inexpensive SaaS options that offer ready-to-go eCommerce solutions. However, irrespective of whichever solution you choose, both types of solutions bring liabilities and risk for your business with them since they lock your business with agreement. Seldom, a deep dependency arises on a single vendor to provide scalable solutions and remain relevant in this fast-paced world of technology.

That's where Drupal Commerce comes in. 

It is a great open-source framework that brings a modern touch to online business and allows merchants to pick those features only that are crucial for their business. Centarro Toolbox, a new addition, is a collection of support packages enriches the Drupal Commerce project.

This blog will focus on Centarro’s existence, features to benefit commerce alongside Drupal Commerce’s capabilities.

And that’s how Centarro came into the community-

Centarro logo

 

 Post the inception of Commerce Guys (now called Centarro) in 2009, it developed two effective tools: Drupal Commerce and Platform.sh.

3 years down the line, Centarro Toolbox was launched to deliver more engagement for the next generation of Drupal Commerce users. This toolbox is a collection of SaaS products and extends support to packages that enhance any Drupal Commerce site. 

Growing up to more than fifty thousand merchants and processing billions in transactions per year, change has been at the center of eCommerce from the journey of Commerce guys to Centarro. In fact, it’s new products, support, and service offerings make their expertise accessible to even more teams to help them accommodate change and progress with ease.

Know What Centarro Has To Offer-

It encompasses its three owned SaaS tools aimed to boost any Drupal Commerce site. The features offer update automation, code quality monitoring, and a sales and analytics dashboard that offers deep insights on customers’ profiles, interests, and a lot more to merchants.

  1. Quality Monitor

Quality Monitor ensures an aggressive analysis of your codebase to discover problems in the development stage instead of deploying it for production.

It gives you intimation on necessary code updates and inadequate API usage.

Centarro’s static code analysis tool helps all the Drupal sites become Drupal 9 ready as Drupal Check. It continuously strives to expand its own library of rules to detect problems specific to Drupal Commerce.

 2.   Update Assistant

Update Assistant automatically connects your site to Drupal core, module and library updates. It traces the security release feeds to ensure that you remain updated as soon as these updates are available and email you as well when updates get implied.

Once hosting platforms qualify, the assistant creates a QA-ready staging environment where you can swiftly review updates before deploying.

Compatible with both Drupal 7 & 8 based sites.

 3.   Centarro Insights

Centarro insights provide a 360-degree overview of the sales and analytics dashboard that embeds right into the backend of Drupal Commerce. 

Built with third-party storage and analytics libraries, it doesn’t demand any maintenance - simply install the connector module and you are all set to go!

Its features include sales graphs and reports, conversion rate tracking and funnel reports, and channel-based analysis. New features appear on your site right after they are available.

What Happened to Drupal Commerce?

Drupal Commerce is employed for creating eCommerce websites and applications with various needs and sizes.  At its essence, it executes strict development benchmarks and leverages the greatest features of Drupal.

Drupal logo in shopping cart

Simply put, Drupal Commerce is built keeping in mind a framework mindset, focusing on what enterprises can create from it. Similar to a fundamental commerce system, it emphasizes developers and site builders, who can build custom eCommerce solutions as needed. It helps-

  • Built on an enterprise CMS

Drupal Commerce caters to all the needs of small and enterprise-level organizations indistinguishably. Apart from lending the support that enterprise-level online businesses need, it also offers a robust connection between eCommerce capabilities and the content part. Given this, it facilitates anyone in the team to keep the site up & running up-to-date and equipped for your customers.

  • Easy to install with Commerce Kickstart

Drupal remains mindful of its version 7 users so that they can install Drupal Commerce hassle-free through Commerce Kickstart - another tool built by Centarro. Commerce Kickstart comprises of the out-of-the-box demo facility for Drupal Commerce, replete with all the must-haves of eCommerce features.

On the other hand, Drupal 8 users can install Commerce Kickstart through Composer.

  • Meets every basic eCommerce need

Installing Drupal Commerce through Commerce Kickstart is remunerative for enterprises as it instantly equips your site with the essential built-in configurations and modules to get your eCommerce store from the flat and keep it running.

Further, the demo facility in Commerce Kickstart helps in eliminating weeks of development time by rolling out a sample eCommerce site that you can engage with and easily fine-tune it to cover your needs.

  • Flexibility for customization

Since some business needs can be unique depending on the business nature, Drupal Commerce comes as a right fit that enables flexible design, both as a modular and configurable system, to help the system acclimate the sales of physical products as well as online-only content. Likewise, it supports subscription-based business models, among others.

  • Extensibility with modules

Drupal Commerce provides enterprises’ eCommerce stores the liberty to modify and improve its functionality by installing the desired modules. Additionally, Drupal community members also fortify the development of contributed modules to enhance the power and flexibility of Drupal-powered sites, as well as your Drupal Commerce store.

Some features like shipping can be added through the Commerce Shipping module, or for say, subscription-based billing functionality can be achieved with Commerce Recurring.  Similarly, you can add more depending on your requirements.

  • Ample security for your online store

Adding various modules and functionalities to your site for engaging customers fails at a point when you as an enterprise, are not well-equipped to keep yours and your customers’ details secure.

Fortunately, Centaroo gives due importance to security and so, has been developed keeping the same in mind.

Furthermore, if you keep Drupal Commerce up-to-date, your site is able to fix the regular bugs and patches necessary to safeguard it from potential threats. 

Wrapping-up

Centarro is a powerful toolbox that can bring significant benefits to eCommerce business owners with its complete overview of the sales and analytics dashboard. Further, Drupal Commerce facilitates enterprises to leverage those features only which meets their requirements in today’s online business, thus making up for an efficient way to keep the business rock and roll!

Need help with setting up your commerce store?  Drop us a line and our experts will be in touch.

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 10 2020
Feb 10

Drupal, one of the prominent WCMS in the world, delivers its services to giants like AL-Jazeera, URRWA, and Georgetown University. Having an impressive network of committed developers, it makes up as a robust, flexible, scalable, and highly secure WCMS for small and big businesses alike. Migrating to Drupal 8 can prove a nice pull for enterprises if they are looking to enhance their workflow efficiency, however, the move must be undertaken with utmost care.

SEO plays a crucial role in building your brands’ credibility digitally, alongside a huge impact on traffic, leads, conversions, and sales 

Further, a continuous concern that looms while migrating is whether the SEO and the content value will remain integral and unharmed or not. 

SEO plays a crucial role in building your brands’ credibility digitally, alongside a huge impact on traffic, leads, conversions, and sales (ROI). And failure to protect SEO assets may likely result in a reduction of all the above-mentioned factors to the new website.

Therefore, enterprises planning to carry out the migration to Drupal 8 must not only pin down the exemplary solution in prior but also put content auditing into effect and strategize around safeguarding the SEO value on a priority basis.

Also, before you initiate your venture of shifting into a newer Drupal version, make sure all the modules are updated. This, in turn, will add to the smooth Drupal installation process. 

  1. Perform a complete site audit

In order to know how your current site is doing, it is imperative to perform a complete audit of your website. An in-depth site analysis should include the evaluation of every component on the website and how they appear to search engines, thereby providing you an overview to help you maintain and improve search engine rankings essential to your business.

Google Analytics tool is a good choice to evaluate the site as it detects pivotal issues on your top pages and can help you prevent traffic loss.

Further, you can also set up a priority list for fixing your pages and get actionable information on how to fix issues.

The following elements are evaluated-

  1. Page titles
  2. URLs
  3. Headings on Pages
  4. Internal Links
  5. Site Map
  6. Navigation on your website
  7. Structure of your website
  8. Paging
  9. Meta tags
  10. Robots.txt
  11. Optimization of graphic element
  12. Page loading times

 

There can be more components also apart from the above-mentioned ones, which can be included for some possible changes on the website.

During this step-I, you should also get your page score via the Google Lighthouse tool. The site score ranges between 0 and 100, 0 as the lowest and 100 being the highest score. The score depends upon the page performance, accessibility, best practices followed, and SEO tactics. This site score, however, will be checked post-migration also to comprehend the changes.

Post analysis, the audit report is prepared which encompasses an extensive list of recommendations on how to optimize your site effectively, depending upon the scope and structure of the website.

Download your pre and post-migration SEO checklist now!

2.   Keep every stakeholders and decision-maker on the same page and agree upon goals for the newly migrated website

Post the site-audit, all the stakeholders and decision-makers must be informed about the stats of the current website. Considering the same, the marketing goals must be set that you wish to achieve while migrating to Drupal’s newer version. These could be leads, traffic, rankings, sales, etc. 

Companies should align their strategies mindfully to recover traffic in the first two-three months itself

Besides, all sites experience a slump in traffic post-migration. Therefore, companies should align their strategies mindfully to recover traffic in the first two-three months itself. They can also set up pay-per-click campaigns to keep the lead numbers up during the migration process.

3.   Review content: keep, improve or redirect


Creating effective and relevant content takes both time and effort and hence, enterprises must apply all the measures meticulously which involves preservation and refinement of the content pieces during Drupal 8 migration processes.

Also, enterprises should not make the impulsive decision of removing something just because it’s old. Old does not imply that it’s bad but teams should keep a keen eye out for ways in which it can be updated. Because sometimes, even old content is valuable and can contribute largely to SEO value.

Enterprises must apply all the measures meticulously which involves preservation and refinement of the content pieces during Drupal 8 migration

So, filter out the content and push obsolete content only to trash while uncovering and retaining everything that is of great importance for user-engagement and conversion.

Teams can use a reliable content audit tool like SEMrush, or Google Analytics to track all URLs and content and learn about their usefulness as well as limitations. The content audit exercise will also facilitate in achieving your long term business objective, as it will help in

  • Identifying pages that need editing/copywriting
  • Access to a variety of metrics like visits, conversions, PA, risk score, etc.
  • Identify pages that need improvement/updates
  • Uncover content marketing opportunities

4.    Focus on technical SEO part for the new website - handy Drupal SEO modules

Now that you’ve crafted valuable content on the foundation of solid keyword research, it’s important to make sure it’s not only readable by humans, but by search engines too!

Technical SEO bears no connection with content, however, it ensures that your website is optimized for the crawling and indexing phase. It also helps search engines access, crawl, interpret, and index your website without any problems.

Here are the Drupal modules that contribute towards SEO- 

Drupal and SEO modules written inside box

A.  Metatag

The Metatag module allows you to set up Drupal 8 to provide title tags and structured metadata, (meta tags) on each page of your site.

It gives you complete control over your HTML title tags and also creates meta tags for your website. Meta tags are snippets of text that illustrate a search engine about your web pages by illustrating them and social media as well what each page on your website is about and how you want them to describe in it the search results.

B.   Pathauto

The Pathauto module generates URLs for your website content without needing to enter the path alias manually. Simply put, if the title of your new blog post is “My Big Cat” then Pathauto will set the URL to your Drupal8site.dev/my-big-cat instead of yourDrupal8site.dev/node/87. 

Keeping the URL neat and relevant with the right words in the URL is great for SEO, thereby this module is a must for your project. 

In case you don’t use the Pathauto module, you must remember to create every single content URL on your website manually.

C.   Google Analytics

The Google Analytics module empowers marketing teams in tracing the footprints and general behavior of users concerning their interaction with the landing pages and the content available on the website. It adds the Google Analytics code snippet to the website and allows you to control how and when it is used.

Additionally, it provides insights into your visitors including demographics, where they found you online, what keywords they used to find you and a lot more. It also eliminates the tracking of in-house employees who might be visiting the website very often and could be counted as visitors and unique sessions. 

D.    Real-time SEO for Drupal

You can improve your Drupal SEO by optimizing content around keywords in a fast, natural, and non-spam way.

The Real-time SEO module works best in combination with the Metatag module. Besides, it also checks whether your posts are long enough or not, or if you have used any subheadings within your post or not - to make sure that your content is approachable by both search engines and users.

Improve your SEO by optimizing content around keywords in a faster, natural, and non-spam way

E.    Node Noindex

This module lets the administrator set the HTML robots metatag to Noindex for a specific node. As a result, it will ask search engine robots to not index the node, preventing it from appearing in search engine results. 

This module comes handy in not indexing those pages which are:

  1. Unimportant
  2. Transitory
  3. Contain personal or sensitive data

Note: The same functionality is not achieved by disallowing a node in robots.txt.

F.    Smart Paging

Smart Paging ensures that you split up long Drupal content pages into subpages based on the number of characters, words or by a placeholder HTML tag for the node, user, and taxonomy term entities.

The URL for subpages have become more SEO friendly now and works even for aliased URL paths.

G.   Query Parameters to URLs

This module enables you to rewrite the URL query parameters into Clean URL components on specified paths.

Also, the URL path gets unwieldy quickly if there are multiple filters and filter values used. Also, as the path contains query parameters, t can impact SEO results.

Learn more about Drupal SEO from here:

[embedded content]

H.   SEO Preview

Shows preview of how your title tag, URL, and meta-description will appear on popular search engines to those who have permission. It also generates best practices and warnings for titles and descriptions.

I.    Dynamic Internal linking

It is always considered a best practice to link your valuable pages within the website for establishing site structure and redirecting the link juice to valuable landing pages.

This module also does the same! You can map your high ranking keywords into links within the content of other pages on the site. This way the first occurrence of the keyword in the content is dynamically replaced as a link.

J.   HitTail

This module provides integration with the keyword tracking tool HitTail.com.

It helps you target the most promising search terms based on your existing traffic in real-time with the help of an algorithm that is tuned by analyzing over 1.2 billion keywords.

It analyzes your visitor stream in real-time and provides you with a simple, actionable list of precise keywords that you can use to target audience and grow your organic search traffic.

K.  Stop Broken Link in Body

It determines broken links by visiting the destinations and evaluating the HTTP response code

Stop Broken Link in Body makes up a great module for editors & content publishers by which they can check embedded link’s validity before publishing the content. In case the content has broken links in the body field, then it won’t get published.

It determines broken links by visiting the destinations and evaluating the HTTP response code.

L.  Search 404

This module instead of showing a standard “404 Page not found”, performs a search operation on the keywords in the URL for instance, if a user searches for http://example.com/does/not/exist, this module will search for "does not exist" and will come up with the result instead of the 404 pages. 

This approach helps in retaining visitors coming in from old URLs linked from other sites or search indices.

5.  Evaluate your landing and transaction pages responsible for conversions

The ultimate goal of improving traffic on websites with SEO and user-friendly content is to generate leads and revenue. To execute the same, you need to keep a tab on your landing & transaction pages and the conversion rates of each one of them on your site. 

Also, figure out the approach that you can take to improve these rankings, for instance, you can check your call to actions (CTAs), contact-us forms, shopping carts, and lot more. Make sure that you don’t put too much emphasis on filling forms or information in the first step only, that annoyed users leave your site. 

Executing these techniques will certainly lead to a proliferation of sales. Further, you can also download your SEO pre and post-migration checklist to avoid missing out on any important step.

6.   Let search engines know about your site

When you are migrating a website and planning to change the domain name also in any way, it is imperative to let Google know what you are up to.

Google provides a mechanism in its search console to inform them that a site is going to move to a new address. However, if all the URLs remain intact, then you need not tell Google.

Google Analytics is also another key place where you would require to make some adjustments. The GA or Google Tag Manager module for Drupal will install the Javascript tracking code on every page of your new site. You can also run a crawler to find out if the code is showing up or not.

In addition, there are some Drupal modules that you can implement to help search engines crawl your website smoothly-

  1. Redirect

The Redirect module ensures that visitors are redirected from old URLs to new URLs whenever a content piece is moved to another section of your site or inadvertently changed the URL. It also creates 301 redirects to make sure that any URL which ranks in Google gets resolved when a visitor arrives. If you don’t install this module, you will have to regularly look for URLs manually that have changed to fix them. 

This module highlights the power of Drupal, automating what used to be a strenuous and constant SEO chore.

2.   Robots txt

You can use this module whenever you are running multiple Drupal sites from a single code base. However, you’ll need a different robots.txt file for each one. Robots.txt generates this file dynamically and enables you to edit it, on a per-site basis, from the web UI.

Note: It is mandatory to delete or rename the robots.txt file in the root of your Drupal installation for this module to display its robots.txt file(s).

3.   Schema.org Metatag

It maintains structured data and tags so that you can add them to your HTML code to improve the way search engines read and represent your pages on SERPs.

4.    XML Sitemap

Drupal XML sitemap module helps in SEO as it provides your website a sitemap on its own to make it searchable and crawlable by search engines. This practice helps search engines in understanding the hierarchy of your website and accordingly crawl in a tree sort of manner, which otherwise could have missed pages or even whole sections due to its huge size or complex structure.

The module is highly flexible also as it allows you to include or exclude certain pages from the sitemap of your website. This means that you don’t need to get those pages indexed which you are not using anymore.

Further, you can set up Cron too. It is an in-built system in the server which is responsible for running maintenance tasks regularly. Drupal Cron ensures that your site is spic and span, updated, and whether the content is indexed or not or if there is a requirement of rebuilding XML sitemaps.

5..Image Sitemaps

It’s up to you whether you want to use a separate sitemap for listing images or add the required info to an existing sitemap; the whole purpose is to let Google (or any other search engine) easily discover images on your site for effective indexing and crawling and hence be able to showcase them in image search results.

7.  Measure and monitor your new website pre and post-migration

Analysis post the deployment of solution or in this case, migration, will give you a better picture of what worked for you and whatnot. Also, it would be wise enough if you keep your site under observation post-migration, at least for three months to fix the errors and bugs being discovered now and then.SEO checklist pre and post-migration

Final Words

It’s not over yet! In fact, SEO has just begun post-migration. It is an ongoing process that enterprises need to pay attention to for enhancing their digital presence and boosting growth.  

Drupal 8 is a dynamic open-source software platform for site-building. Organizations that have outgrown their existing non-Drupal CMS should consider migrating to Drupal 8. However, migrating has its unique challenges, including data migration, and SEO retention. 

Srijan is an award-winning Drupal web solutions provider that can assist you in navigating through the process of migrating to Drupal efficiently, without compromising on data and SEO. Contact us now!

Feb 09 2020
Feb 09

With performance being a continuous bottleneck for enterprises trying to deliver an exceptional digital experience to customers and please search engines, this blog will serve as a sight to the sore eyes. 

Earlier, we covered tips and tricks for beginners to help them optimize the site performance.  Today, we are taking this forward to illustrate some intermediate-level techniques for optimal results. The many ways to configure web performance for your Drupal website are listed below-

 

1.  Theme optimization

Theme optimization is an essential technique to enhance performance. Because, when developers create new themes, they override the required templates such as home page layout or node page, and for the rest of the pages, they override CSS; leading to the addition of a lot of unwanted layers in the HTML.

Follow the steps mentioned below to optimize the theme for your Drupal website-

  1. Remove blank spaces and comments manually from .tpl
  2. Ensure there is no indentation in .tpl
  3. Turn on CSS & JS aggregation in the performance page
  4. Remove duplicate files and combine similar ones to reduce the CSS file size
  5. Move codes to functions in a custom common module. Use functions for similar problems instead of coding separately.

 

2.  Drupal external caching:


Desktop, ipad, and phone showcased with other iconsSource- Cloudways

 

There are a few methods in Drupal that can manage the CMS interaction with an external cache. This can be done using contributed modules, like-

A.   Advanced CSS/ JSS Aggregation

Known as AdvAgg, it ensures the improvement in the frontend performance of your site. You can also compare before and after results using Google’s PageSpeed Insights tool.

B.    Memcache

With Memcache, you can directly discharge cache bins into RAM; thereby speeding up the cache and making room for MySQL to breathe.

C.     Redis

Redis is an open-source (BSD licensed) & in-memory data structure store that can be used as a smart cache with the proper eviction policy. When implemented in a similar fashion, it can prove to be the most effective way by which the application can access stored content within it and improve the cache hit ratio substantially.

Know more about the clear cache tag module and how it helps in optimizing the website performance.


3.  Devel module:  

Devel is an amalgamation of modules, encompassing helper functions, admin pages, and additional development support. One can use Drush commands to use it during the development process to evaluate the query execution time or the number of times function was executed on a particular page.

4.  Sprite image: 

Sprites are 2-D images that are constituted into one from small images, defined at X and Y coordinates. To display a single image from the combined image, you could use the CSS background-position property, thereby showcasing the exact position of the image to be displayed.

5.  Lazy-load images

Lazy loading is a shrewd technique that involves displaying content only when it’s visible to users as they scroll down the screen. This comes handy for those sites which comprise a lot of images and don’t intend to waste the bandwidth by loading the whole page every time the user comes on it. 

Thus, images are visible only when the user scrolls.

6.  Implementing AMP standard to provide lightning-fast page loading on mobile devices

AMP refers to Accelerated Mobile Pages. It ensures the optimization of web pages for faster loading on mobile devices by providing content through lightweight pages. This certainly aligns with Google’s motive of making the web a more accessible and enjoyable place for users of mobile devices.

AMP is the open-source framework that lets you build pages which are stripped-down/lightweight version of your main pages by eliminating speed-taxing elements impacting load time.

So, whenever a standard webpage’s AMP alternative is available, a link to the AMP version is placed on the page via an HTML tag and then it is what displayed to the mobile device user.

This way, the implementation of AMP can boost the loading speed of your web pages, and hence, improve the end-user experience. 

7.  Accelerating your 404 responses with the Fast 404 module

Drupal logo, a meter, and other tools to measure performanceSource: Web peppers

The average site with an average module load consumes around 60-100MB of memory on the server to deliver a 404. However, Drupal Fast 404 module comprises a common method that handles both missing image & file 404 errors to fix the issues using less than 1MB of memory; depending on the method you choose - aggressive or super-aggressive.

8.  S3 File System

S3 File System or s3fs provides an additional file system to your Drupal site, which is stored in either Amazon’s Simple Storage Service (S3) or any other S3- compatible storage service. It’s up to you whether you want to use S3 File System as the default one, or only for individual fields. This is beneficial for the sites that have distributed their load across multiple servers, as the mechanism used by Drupal’s default file systems is not sustainable under such a configuration.

9.  Content delivery network 

Content Delivery Network module facilitates easy integration for Drupal sites. It modifies file URLs so that files (for example, CSS, JS, images, fonts, videos, etc.) are downloaded from a CDN instead of your web server.

However, only origin pull CDNs are supported. You just need to replace the existing URL with another domain name- thereby, allowing CDN to automatically pull the files from your server (the origin).

10.  Pick Nginx over Apache 

Apache and Nginx are the two common open-source web servers, however, the latter is quite faster and consumes considerably less space than the former one. 

Nginx has been designed to resolve the C10K problem - the most common problem that web servers (like Apache) face in supporting a large number of simultaneous connections, i.e, more than 10k connections at once.

Thus, Nginx comes as a quick fix for performance issues. You can opt for it without the need of changing your actual application code. It will seamlessly integrate with your Drupal code.

11.  Leverage browser’s cache for images and files

Leveraging your browser’s cache implies that you can specify for how long web browsers should retain images, CSS and JS stored locally. That way, the user’s browser will download less data while browsing on your site, thereby improving site performance. Below are the examples of the same for different web servers-

  • For Nginx web server :
 location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {

expires 365d;

}

location ~* \.(pdf)$ {

expires 30d;

}

  • For Apache web server :


It should be added to your .htaccess file.

 ## EXPIRES CACHING ##

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/jpg "access 1 year"

ExpiresByType image/jpeg "access 1 year"

ExpiresByType image/gif "access 1 year"

ExpiresByType image/png "access 1 year"

ExpiresByType text/css "access 1 month"

ExpiresByType text/html "access 1 month"

ExpiresByType application/pdf "access 1 month"

ExpiresByType text/x-javascript "access 1 month"

ExpiresByType application/x-shockwave-flash "access 1 month"

ExpiresByType image/x-icon "access 1 year"

ExpiresDefault "access 1 month"

</IfModule>

## EXPIRES CACHING ##

  • Cache-control
 # 1 Month for most static assets

<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">

Header set Cache-Control "max-age=2592000, public"

</filesMatch>

  • gzip compression
 mod_gzip_on Yes

mod_gzip_dechunk Yes

mod_gzip_item_include file .(html?|txt|css|js|php|pl)$

mod_gzip_item_include handler ^cgi-script$

mod_gzip_item_include mime ^text/.*

mod_gzip_item_include mime ^application/x-javascript.*

mod_gzip_item_exclude mime ^image/.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

12.  Drupal coding standards should meet

Coding standards specify the set of rules for programmers to ensure best practices like consistent formatting, indentation, and many more rules.

Drupal’s coding standards are articulated in English so that anyone working with Drupal team around the globe, which is common today, standards can eliminate any communication differences.

Further, many programmers come to Drupal from multiple programming language backgrounds, each with their syntax and style. Therefore, having a precise set of standards to look upon help in keeping the codebase consistent.

These standards, further, specify the guidelines on how to style and format your code precisely, especially concerned with its appearance and readability ease. This includes things like indentation, whitespace, and line length. 

Ensuring that all code abides by the given guidelines, Drupal acknowledges consistency & integrity in all its projects, making it easier for documentation. The API module itself parses the information to produce a document, which can be seen here. The documentation is generated by the specific format of the comments and a variety of tags in the source code to get detailed information on the code.

13.  Ensuring code security is a MUST

Security is the foremost issue for any developer that he or she must take care of, undividedly; no matter whether you are writing a PHP snippet or an entire module. 

The given basic rules will help you avoid any security breach if followed properly-

  • Apply check functions on the output obtained to prevent cross-site scripting attacks.
  • User-submitted content shouldn’t be placed directly as-is into HTML ever.
  • Take benefit of the database abstraction layer to avoid SQL injection attacks
  • Use db_rewrite_sql() to respect node access restrictions.

14.  DB query optimization in codes

Performance tuning can be a challenging task, especially when you tend to work with large-scale data. Even the smallest change can have a significant (positive or negative) impact on performance.

Query optimization can be stated as whenever a developer or the database engine revamps a query in such a way that SQL Server is capable of returning the same results more efficiently.

For more ease, you can follow these steps-

1.  Join DB queries whenever possible

2.  For any DB updates and insertion, use core API

3.   Follow Drupal coding standards

15.  DB table optimization

DB table optimization in Drupal refers to the refinement of all the administrator-selected tables in the database and displaying its sizes. Enable notifications stating the necessity to analyze tables, maintenance, and carry out repair operations. 

With it, you can prevent crashing of tables during regular cron.php executions.

16.  Table indexing 

A database index is a data structure that ensures the boost in the speed of operations in a table. You can create indexes using one or more columns for rapid & random lookups, and efficient ordering of access to records.

17.  Use Defer attribute for external js file to load the page faster

The role of the Defer attribute is to indicate to the browser that it should load the script in the background, while continuously working on the page. Once the script gets loaded, you can run it. 

The advantage here is that scripts with the Defer attribute never let the browser block the page. 

E.g. js/admin_toolbar.js: { attributes: { defer: true } }

18.  Upload compressed image for better performance results

Using compressed or smaller- sized images will help in saving bandwidth, which is appreciated by Networks and browsers as well.

Also, before starting the modification of images, ensure that you have chosen the best file type. There are several types of file that you can use:

  1. PNG - creates higher quality images, but the downside is its large file size. Though it was created as a lossless image format, it can also be lossy.
  2. JPEG - uses lossy and lossless optimization. You can adjust the quality level for a good balance of quality and file size.
  3. GIF - utilizes 256 colors only, making it suitable for animated images. It only uses lossless compression. 

Wrapping Up

With all the given methods from implementing a CDN to clearing caching, lazy-loading images, fixing 404s, and aggregating CSS/JS files, you can fix your Drupal-powered website’s performance extensively.

Jan 31 2020
Jan 31

Regardless of the extra-ordinary design, captivating content, and right product illustration on a company’s website, how bad would it be if it fails to engage users most of the times. A Google report unveils that a new visitor will stay and come back only if the app or page loads content within 3 seconds. Having said that, the online brands only get 3 seconds to hook the new visitor to their site or application. 

Though developers pull out all the stops to optimize the performance and improve the speed of the websites/apps, however, the results do not align with the efforts put into it. 

In such a scenario, web caching comes into existence, where the shared page elements, such as JavaScript, CSS, images, etc. are downloaded and stored closer to the user so that the browser can extract this data instantly from the stored location, instead of querying the web server again.

This blog will run you through a Drupal module, Clear Cache Tag - the only existing Drupal module that helps in clearing the cache of particular tags, and not of the whole site. You can learn about the benefits and installation process.

What is Drupal Clear Cache Tag Module?

Cache tags are essential for a content management system like Drupal, which, otherwise become difficult to determine the places where content is being used as well as cached, that too ahead of time. Taking this into account, a question that pops up is, “how can one invalidate all cache items where the content is in use”?

How can one invalidate all cache items where the content is in use?

To address this given issue, the Clear Cache Tag module ensures that the cached data from different bins is invalidated once it becomes old and defunct, apart from accommodating the latest changes to it. The objective is to accurately target multiple cache bins that contain identical data about the same object, page, etc.

In Drupal 7, there were 3 methods of invalidating cache items but none of them allowed users to invalidate the cache items that contained a modified entity as it was impossible to know about it.

But now, the clear cache tag module can invalidate a particular node (cache item(s)), irrespective of its visibility on three blocks or for say, twelve pages.

Thus, this module helps website developers economize on time and effort, which earlier were devoted to maintaining information. Besides, the other advantage is that the whole site doesn’t need to be cached now over and again, thereby enhancing user-experience extensively.

How Caching is Useful In Improving Customer Experience?

Among multiple components responsible for delivering rich user experience, Caching is one of the most important factors. It offers the following advantages-

  1. Reduced latency

As per this report, 51% of online shoppers in the US prefer to abandon a site or purchase if a site takes longer than usual time to load.

Thus, the speed at which the webpage loads is crucial in ensuring a good digital experience. Caching comes as a handy option for the same as it serves content from a location nearest to the users- either on the users’ hard disk or a nearby server. Thereby, reducing the latency in the roundtrip time & recovering the content much faster.

The time taken to retrieve the resource from the cache will be lower than the time it takes from the origin server and thus speeds up the content delivery process significantly.

  1. Content availability

While users access information online across the globe, content availability becomes a major problem to enhanced user experience. There can be many reasons behind poor website speed such as- frequent interruptions in the network or irregular disturbance on the site. In such cases, caching saves the day by serving end-users with the cached content.

2. Avoids network congestion

The internet handles huge amounts of data throughout the day and so, has to manage heavy traffic as well; thus congestion in the bandwidth can be an issue on major networks.

However, network congestion can be greatly reduced with caching as the path covered in fetching the content is reduced when it is cached. 

Now that all the user requests won’t be redirected to the origin, it will free up the network and reduce the load on the origin server, thereby serving non-cached content faster.

Challenges With Caching

There are some challenges as well that are associated with caching-

  • Keeping Cache Up-to-date

Cached data may not necessarily be the most accurate, especially that information which is time-critical. Therefore, volatile data should not be cached.

  • Personalization and Caching aren’t Always Compatible

Caching and personalization might not go hand-in-hand. This is because if you’ll try to cache one million users’ personalized responses, it would be quite similar to them just requesting the information from the backend directly anyway- so there is no tangible benefit there.

How To Set Up the Clear Cache Tag Module? 

Following steps will help you in easy setup of Clear cache tag module-

Step 1: Enable the Clear cache tag module

Step 2: Go to Admin > Configuration > Development > Clear cache 

tag (/admin/config/development/clear-cache-tag)

Step 3: Enter the tag name you want to invalidate.

Step 4: Click on the submit button to invalidate it.

clear cache tag_scrreenshot

Setting up clear cache tags module

You can also install this module via Drush and the composer. Below are the commands for each respectively-

Drush en clear_cache_tag 
composer require 'drupal/ctc:1.x-dev'

Here is the video for the same showcasing the usage of the module-

 

Clear Cache Tag_trimmed video

 

Summing up

Implementing caching techniques is a vital cog to help your business grow and prosper but it is equally important to understand that tailored solutions are the way to go. Since one-size-does not -fit all, enterprises must formulate optimal caching policies as per your business requirements.

Ultimately, it’s crucial to understand that caching may not be the amulet of luck, but it will ensure that your business stays on foot and well-off with minimal endeavors.

Jan 31 2020
Jan 31

Regardless of the extra-ordinary design, captivating content, and right product illustration on a company’s website, how bad would it be if it fails to engage users most of the times. A Google report unveils that a new visitor will stay and come back only if the app or page loads content within 3 seconds. Having said that, the online brands only get 3 seconds to hook the new visitor to their site or application. 

Though developers pull out all the stops to optimize the performance and improve the speed of the websites/apps, however, the results do not align with the efforts put into it. 

In such a scenario, web caching comes into existence, where the shared page elements, such as JavaScript, CSS, images, etc. are downloaded and stored closer to the user so that the browser can extract this data instantly from the stored location, instead of querying the web server again.

This blog will run you through a Drupal module, Clear Cache Tag - the only existing Drupal module that helps in clearing the cache of particular tags, and not of the whole site. You can learn about the benefits and installation process.

What is Drupal Clear Cache Tag Module?

Cache tags are essential for a content management system like Drupal, which, otherwise become difficult to determine the places where content is being used as well as cached, that too ahead of time. Taking this into account, a question that pops up is, “how can one invalidate all cache items where the content is in use”?

How can one invalidate all cache items where the content is in use?

To address this given issue, the Clear Cache Tag module ensures that the cached data from different bins is invalidated once it becomes old and defunct, apart from accommodating the latest changes to it. The objective is to accurately target multiple cache bins that contain identical data about the same object, page, etc.

In Drupal 7, there were 3 methods of invalidating cache items but none of them allowed users to invalidate the cache items that contained a modified entity as it was impossible to know about it.

But now, the clear cache tag module can invalidate a particular node (cache item(s)), irrespective of its visibility on three blocks or for say, twelve pages.

Thus, this module helps website developers economize on time and effort, which earlier were devoted to maintaining information. Besides, the other advantage is that the whole site doesn’t need to be cached now over and again, thereby enhancing user-experience extensively.

How Caching is Useful In Improving Customer Experience?

Among multiple components responsible for delivering rich user experience, Caching is one of the most important factors. It offers the following advantages-

  1. Reduced latency

As per this report, 51% of online shoppers in the US prefer to abandon a site or purchase if a site takes longer than usual time to load.

Thus, the speed at which the webpage loads is crucial in ensuring a good digital experience. Caching comes as a handy option for the same as it serves content from a location nearest to the users- either on the users’ hard disk or a nearby server. Thereby, reducing the latency in the roundtrip time & recovering the content much faster.

The time taken to retrieve the resource from the cache will be lower than the time it takes from the origin server and thus speeds up the content delivery process significantly.

2.  Content availability

While users access information online across the globe, content availability becomes a major problem to enhanced user experience. There can be many reasons behind poor website speed such as- frequent interruptions in the network or irregular disturbance on the site. In such cases, caching saves the day by serving end-users with the cached content.

3.  Avoids network congestion

The internet handles huge amounts of data throughout the day and so, has to manage heavy traffic as well; thus congestion in the bandwidth can be an issue on major networks.

However, network congestion can be greatly reduced with caching as the path covered in fetching the content is reduced when it is cached. 

Now that all the user requests won’t be redirected to the origin, it will free up the network and reduce the load on the origin server, thereby serving non-cached content faster.

Challenges With Caching

There are some challenges as well that are associated with caching-

  • Keeping Cache Up-to-date

Cached data may not necessarily be the most accurate, especially that information which is time-critical. Therefore, volatile data should not be cached.

  • Personalization and Caching aren’t Always Compatible

Caching and personalization might not go hand-in-hand. This is because if you’ll try to cache one million users’ personalized responses, it would be quite similar to them just requesting the information from the backend directly anyway- so there is no tangible benefit there.

How To Set Up the Clear Cache Tag Module? 

Following steps will help you in easy setup of Clear cache tag module-

Step 1: Enable the Clear cache tag module

Step 2: Go to Admin > Configuration > Development > Clear cache 

tag (/admin/config/development/clear-cache-tag)

Step 3: Enter the tag name you want to invalidate.

Step 4: Click on the submit button to invalidate it.

clear cache tag_scrreenshot

Setting up clear cache tags module

You can also install this module via Drush and the composer. Below are the commands for each respectively-

Drush en clear_cache_tag 
composer require 'drupal/ctc:1.x-dev'

Here is the video for the same showcasing the usage of the module-

 

Clear Cache Tag_trimmed video

 

Summing up

Implementing caching techniques is a vital cog to help your business grow and prosper but it is equally important to understand that tailored solutions are the way to go. Since one-size-does not -fit all, enterprises must formulate optimal caching policies as per your business requirements.

Ultimately, it’s crucial to understand that caching may not be the amulet of luck, but it will ensure that your business stays on foot and well-off with minimal endeavors.

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 28 2020
Jan 28

No wonder, the proliferation in the number of websites surfacing on the internet has stimulated the industrial groups to look out for alternatives to grab users' attention. In fact, a survey by Forrester stated in one of its reports that enterprises, on average, have to handle 268 customer-facing websites; which is enormous!

Consider a situation where several thousands of people are scattered over various geographical locations, working relentlessly to manage sites and deliver exceptional user experience.  

However, to manage even a small website change, a team of technically-sound people is required to oversee each of the alterations across its entire portfolio of sites, which with all probablity can turn disastrous!

Thus, to address these needs, Drupal offers its multisite configuration feature. Out of many benefits that multisite architecture offers, one of them is probably its easy configuration to set up and maintain.

The amalgamation of added features and simplified administration would be a winsome move for anyone wanting to set up and administer a multisite arrangement. This blog will help you understand the reasons for choosing Drupal multisite functionality-

Benefits of Using Drupal Multisite Architecture

Drupal’s multisite feature makes it a propitious pick for enterprises. Here’s why-

1. Maintenance and Security

With the proliferation in the variety of technologies or setup implemented, the complexity of maintenance and security has also seen an unanticipated upsurge. Given that, the Total Cost of Ownership (TCO) of maintaining an online marketing presence and communication tools goes up to the whole other level. In such scenarios, keeping up a single CMS to ensure its security and maintenance is advantageous.

2. Content Management

The time-saving benefit of Drupal multisite functionality applies to content management also. In a multisite setup, a single content editing interface can update multiple websites and content pieces with just one update.

Content management can be aligned and made easier by publishing content to many domains or across sites with one content entry or modification. 

3. Easily Create and Configure New Websites

Within Drupal multisite solutions, there are features implemented specifically for admins, by which, without the need of developers and their support, they can create and configure new websites. Admins can now, for instance, style these websites also via custom themes or drag and drop page elements.

Capitalizing on such tools makes the return on investment for multisite setup more attractive since those tools make creating a large diversity of website types easier while decreasing the need for technical IT development services.

A multisite setup can, therefore, reduce both the cost (maintenance, development) and the time-to-market and content management efforts of websites and their content.

4. Standardization

Multisite systems can also prove beneficial for marketing departments and management, who struggle every day to get everyone on the same page and adhere to the brand guidelines in the organization. 

Contrary to the above scenario, a multisite environment enforces everyone across the organization to work within the structured tools and templates, thus making sure all content management takes place within the defined limits, and also the corporate branding guidelines specified in the theme templates are met. If done right- these decentralized departments may even gain more and better features than they would have developed on their own.

5. Each Site Can Have Its Own Theme & Features

A multisite using the same codebase does not imply that you are restricted to choose the same layout, design, and features. Rather you can install a unique theme and add whatever plugins you’d like to implement as per your requirements.

Simply put, all the sites are built using a single codebase which naturally gives users access to all of the themes and modules deployed. They can also turn them on/off depending on the needs of the particular site. 

Thus, dev teams can focus on building components and features for a community of sites. As a result, it will give an organization a powerful shared library of reusable integrations, functionality, UI components, and workflows.

The Domain Access Module

Managing a database of every single site that has been created (say 11) without the multisite feature can prove to be an exhausting task.

That’s why Drupal has developed the Domain Access module which helps in consolidating all the individual databases to a single central database. The centralized database enables users to share content, tools, and site features across all sites while simultaneously being able to change the appearance of each site. 

Besides, a single database is easier to manage, upgrade, and makes the perfect solution if all sites serve a similar function.

 

But as there are pros and cons of everything, so does Drupal multisite have. Below mentioned are the challenges of using Drupal Multisite-

1. Heavy Maintenance Required

Using Drupal for multiple sites with each serving different purposes and functions means you’ll have to manage and update each database separately. The Domain Access module won’t be helpful in such a case as every site is different and so their databases would. 

Further, running websites with different functions and different versions of Drupal is a veil of tears when it comes to updates and general site management from a single dashboard. 

In fact, Drupal multisite poses as a hindrance rather than a help.

2. Restricted Innovation and Flexibility

Deploying a single codebase makes maintenance a bit easier for developers, however, it also restricts innovation. For instance, if marketing teams want to develop an interactive microsite, then the developers would have to make a lot of adjustments to the single codebase (a time-consuming process) just to allow your marketing team to create one microsite that has the desired interactive features.

3. Single Point Of Failure

The sole responsibility and dependence on a single codebase to operate multiple sites can cost you exorbitantly on the failure of the code due to even a single flaw. If your Drupal platform is not regularly kept up-to-date, then your multisite is extremely vulnerable to cyber-attacks.

4. Traffic Handling

If one of your Drupal sites experiences a huge spike in web traffic, then it can potentially impact the performance of other sites. That’s because of the hosting resources which would be hogged by the site attracting a lot of traffic.

 

Know more about Drupal multisite functionality from here

Is Drupal Multisite Right For Your Business?

Follow this golden rule to know whether your enterprise should use Drupal multisite platform or not-

  1. If the sites have similar functionality (for instance, if they use the same modules or same Drupal distributions) do it.
  2. If the functionality (across sites) differs, don’t use multisite

Generally, all modern enterprises and even most of the medium-scaled companies fall into the second category as each site is bound to vary in functionality in one way or another.

If your organization wants to deliver innovative marketing solutions and campaigns (interactive microsites), then Drupal’s multisite feature will enforce a lot of bottlenecks on your marketing team.

However, if most of your sites are composed of static pages that perform similar functions, then Drupal could prove a viable option.

From an IT and development perspective, maintaining Drupal multisite is quite difficult. The question that enterprises need to ask themselves is, does their organization possess enough resources to regularly update and maintain the system- as well as preparing for the inevitable migration process for every single one of your sites?

While there are several different issues that should be considered before opting Drupal’s multisite feature, here are some common reasons why site builders choose it-

  1. Users use multisite to create clone sites for others. (Single codebase, same features, and functionality except for the theme which varies site to site.
  2. Multisite is used by enterprises to host various interrelated sites, like a university with umpteen departments that all mostly need the same features, apart from some who need special things (shared core, shared module profile, with different sites having different custom modules).
  3. Sometimes multisite is used to upgrade a module on just one of the multiple sites to test out the upgrade so that one site has a newer version of the module than the other sites.
  4. Multisite is also used to economizing per-codebase hosting expenses either via upfront provider costs or because of difficulties provisioning and managing the hosting-in house.
  5. Multisite also decreases resource usage. Running the multiple sites that all share a single opcode cache is comparatively efficient.
  6. Multisite allows enterprises to quickly spin up a new sub site to work on a specific issue.

Summing Up

The primary function of any enterprise should be to find out whether they can leverage Drupal’s multisite feature or not, based on their requisites.

Multisite is an advanced proven site architecture that might not be as troublesome as it seems. Embracing the multisite platform can assist enterprises in delivering better and faster digital experiences. 

Contact us to learn more about the best multisite platform that can work wonders in your business environment.

Jan 25 2020
Jan 25

A sluggish-performing Drupal website not only impacts user experience but also worsens the ranking of the site on search engines like Google who are fanatical about faster page load times (user experience mostly).

Contrary to it, when a Drupal-powered website is perfectly optimized for performance, it can tackle many million visits on the site each day. 

There are multiple ways to configure web performance for optimal results. This blog post will walk you through the checklist of feasible performance optimization techniques for your Drupal website at a beginner level.

Beginners’ Level Tricks to Load Drupal Site Faster

There are several methods at the beginner level that can be implemented to speed up page loading. Specific Drupal tools and modules are listed for the same-

  1. Core Caching: Go to Extend -> Module

These two Drupal modules, “Internal Dynamic Page Cache” and “Internal Page Cache”, should be installed and enabled by default. 

  • Internal Page Cache:

Internal Page Cache is beneficial for sites that have several millions of unregistered users

This module is beneficial for sites that have several millions of unregistered users. It stores the entire page in the cache so that whenever a new user or even the same user revisits that page, it can load faster than ever without the need of putting information together from scratch.

  • Internal Dynamic Page Cache: 

This module is designed to cache small sections of each page for all users, no matter if the users are logged in or not. The objective is to accelerate the building of the website page on the go.

2. Twig Caching: 

Twig caching is deployed as a template engine for theming purposes in Drupal 8. It relies on its own cache of compiled Twig templates, which is separate from other caches.

Go to sites/default/ & copy your default.services.yml file to services.yml and check below config settings:

  • twig.config : debug: false
  • auto_reload: null
  • cache: true

These commands will help one on/off caching for the twig template.

3. Page Caching:

The information available online is valid for a certain period of time. In such a scenario, it is better to define a corresponding maximum age. However, in Drupal 8, there doesn’t exist any feature that validates data for a limited time. Rather, it caches data permanently and relies entirely on cache tags for invalidation.

Therefore, this module depicts the maximum time duration for a cached page. Whatever age we set here in Cache max-age, implies the maximum age that our site tells browsers to keep cached information/ data. 

  • To enable caching, navigate through Configuration- Development-Performance. 
  • Activate “Cache pages for anonymous users” by selecting the minimum time for the cache lifespan as well as the termination of the cached pages.

Drupal logo and Speed word written                             Source: CloudReviews

4. Bandwidth Optimization: Go to configuration -> development -> performance

Bandwidth optimization is performed to reduce both the size and the number of requests made to your website

Drupal 8 has already eliminated “compress cached pages”. Instead, it has introduced a default setting where one can optimize external resources efficaciously. This bandwidth optimization is performed to reduce both the size and the number of requests made to your website. 

With Drupal 8, you can simply aggregate CSS & JavaScript files to load them together faster with just a handful of aggregates.

5. Views Caching :

The Views caching module helps in displaying content in various ways. Views instances should be cached as the best practice so that when accessed, a cached copy is returned instead of having to rebuild each view every time it’s loaded.

There are 4 options in views caching :

  1. Tag-based

Cache tags make Drupal aware of the entities used during a page view. This implies that Drupal saves the cache tags along with the data it caches. Thus, if it needs to clear the caches because one entity is updated (let’s assume node with ID 55), instead of erasing all caches, it can easily find out which caches actually used node 55 and clear only those.

2. Time-based

The cached data remains valid for a certain period of time. To set time-dependent caches, one can use cache max-age and set the time duration for a cached page, further exceeding which, it will be erased or expired.

3. None (no caching)

It implies that there is no caching associated with the view.

4. Views custom cache tag

Views automatically add cache tags to every view in order to nullify content whenever it is updated (and can be cached maximum possible until they do).

However, Drupal 8 encompasses a single list cache tag for every entity type. Every view that enumerates nodes is tagged with node_list and will be invalidated when a node is added, changed, or deleted.

Views contain filters. They list nodes of a specific type or those which are tagged with certain terms and a combination of three other filters. With the usage of more specific cache tags, it is possible to update views that actually might list the changed node. 

This module allows developers to set different cache tags based on the configuration of the view. It is also possible to set cache tags based on arguments/contextual filters.

6. Clear Cache Tag

The caching process in Drupal is carried out through tags. The Clear Cache Tag module also uses the tags in the form of strings to pass it in sets and clear the required cache items only, unlike the conventional practice, which involves the cache clearance of the whole site.

This module helps website developers save a considerable amount of time and effort, which otherwise would have been dedicated to maintaining information. Besides, frequent caching can aggravate the website loading time, thereby impacting user-experience extensively.

7. Image Optimization


Image optimization module configuration                       Source: Drupal.org

 The ultimate goal is to reduce the file size as much as possible without sacrificing quality

The image size that you choose for your website has a profound impact on your website’s speed and performance. The right approach to ensure image optimization is to adopt correct sizing and formatting (JPEG, GIF, or PNG). The ultimate goal is to reduce the file size as much as possible without sacrificing quality. Fortunately, Drupal 8 core offers tools to control and optimize image sizes. Use the Image style features to have different image sizes for different devices like tablets and mobiles.

You can change the compression ratio of an image. By default in Drupal 8, it is set to 75%.

1. To change the ratio, go to Configuration -> media -> Image toolkit

2. change the % and Save configuration

8. Use Syslog For The Error Log

Syslog delivers valuable information for use in the system management and security auditing

The Syslog module records events by sending messages to the logging facility of your web server’s operating system. Syslog is an operating system administrative logging tool that delivers valuable information for use in the system management and security auditing. Suited for medium and large sites, Syslog offers filtering tools to route messages as per their type and severity. 

It can significantly improve the performance of the site.

Watch out how to set up the Syslog module-

[embedded content]

9. Disable Unused Modules

List out all the modules that you don’t need and disable them as these only add to the total overhead for additional PHP code to execute on each page load and demand extra CSS and JavaScript files, even if you are not using the module for anything.

In case you have modules that you use seldom, it’s suggested to disable them and try to find an alternate method to achieve the same result. 

10. Regularly Update Core, Contributed Module, and Themes Of Your Drupal Site

It is best to be cognizant of what each update offers and test things out before pushing them live

Per the proven methodologies and practices, you should keep an eye on updates to the Drupal core and contributed modules. The updates are released frequently and encompass performance improvements, so keeping them maintained is essential. 

Simultaneously, it is best to be cognizant of what each update offers and test things out before pushing them live.

Final Words

There are several factors to take into account which can hamper the performance of your Drupal site. Therefore, you must make sure that your site is cached appropriately, images are of the desired size, and unused modules are discarded. These factors consolidated with adequate bandwidth usage will give your Drupal site an edge against the competitors.

Jan 24 2020
Jan 24

A decade ago, the media and enterprise industry looked completely different. Those were the times when print media ruled, blockbuster (video store)  had around 100 stores around the UK, and barely anyone had heard of Netflix or Spotify. During those times, consumers preferred physical media and the mere thought of even accessing video content through the internet was considered as engaging in flights of fancy.

However, the time has changed dramatically- publishers of every kind are finding it difficult to deal with the digital incursion. Blockbusters exist no more, while Netflix on the other hand, is a gleaming example of how to engage customers in this digital age. 

In fact, last year saw the downfall of traditional satellite and cable services worldwide and subscriptions to online streaming services at a breakneck pace. 

Given the huge pace of change recently, this blog will run through the challenges that the media and publishing industry is facing right now, and how can it be resolved.

Challenges that Media & Publishing Companies Are Facing Currently

Cloud surrounded by various digital elementsSource: Tildeworks


Content plays a paramount role in building a brand’s online presence, engaging customers, and reaching new audiences altogether, provided it is in sync with the business guidelines. However, there have been some challenges that media and publishing companies especially are facing currently in achieving the same. Look what those are-

  1. delivering personalized results to keep readers engaged
  2. standing out in the crowd with a unique content approach
  3. improving the mobile experience
  4. adopting new technologies
  5. print versus digital
  6. revenue recognition
  • Delivering Personalized Results To Keep Readers Engaged

Media and publishing enterprises have not yet been able to leverage the power of personalization to its full extent. With personalization, enterprises can push a different set of content based on the users’ preferences, that too at the right time, and on the right devices.

Big data analytics and predictive technologies can serve as the basis for personalization but since multiple customer data points are stored in different repositories, enterprises are having a hard time getting valuable insights about the customers, thereby making effective personalization a mere reverie.

  • Standing Out In The Crowd With a Unique Content Approach

The proliferation in websites and a shedload of content on them have crowded the online world for years. Further, the rapid expansion in the number of ways information is disseminated has made it challenging for media & publishing enterprises to cut through the noise and reach, attract, & retain their target audiences.

  • Improving the Mobile Experience

As per this report, the consumption of online content on mobile devices has been steadily growing for years already now, but many prominent digital publishers are yet far short in this game. Enterprises are behind the curve in adopting “mobile-first culture”, which, as a result, is leading to an unpleasant end-user experience on screens of all sizes. 


Various vertical bars representing mobile usage statsSource: Smartinsights

  • Adopting New Technologies

Merely catching up with all the latest technologies available to digital content creators is challenging enough, never mind their evaluation and deployment!

Media and publishing enterprises need to gain expertise in information technology as a business can only be disrupted once companies move over conventional approaches. 

  • Print Versus Digital

It is normal to presume that print media is obsolete as digital publishing continues to blossom. However, it is partially incorrect. For example, 58 percent of online subscribers are primarily found interested in reading print. Additionally, publishing revenues are generated from 60 to 80 percent of print sales.

Simply stated, enterprises need to utilize the available information on their readers to better understand their preferences and the way they want to interact with their sites and products on a daily basis. 

  • Revenue Recognition

Addressing multiple sources of revenue in different ways proves challenging for a business. For instance, subscription revenues are only recognized when the product or service is delivered whereas advertising revenues are taken into account when the ad is published or broadcasted, while events & exhibitions are paid for on delivery of the event.

Whether small or big, companies can find it difficult to manage these variations as it is a very time-consuming and inefficient way as well. Relying wholly on Excel spreadsheets is an error-prone approach, making the enterprise vulnerable to reporting inconsistencies in their accounts as well as suffering from discrepancies across key information.

The repercussions of such inaccuracy and mismanagement of accounts can be serious enough that it can even threaten the existence of a business.

What Features the Best CMS Should Include

When building websites that are focused on content, one should opt for a content management system which is easily maintainable, free (e.g. open-source CMS), and user-friendly at the same time. Below are the features that an “ideal” CMS should possess-

1. Flexible Content Repositories

Segregating content and presentation layers in CMS is a requisite to do away with the concerns of content creators on how every single front-end would display content. Rather, they can work with structured content.  That’s how repositories come into play and ensure that your content is structured and accessible. Structured content enables you to separate your content into independent parts so that every single entity can be edited or repurposed. Following this;

  1. Your visitors will easily find what they are looking for on your site or app
  2. You can recommend visitors the associated content apart from their searches, to let them explore the other offerings and content on your site
  3. You can create meaningful relationships between content pieces to fortify the user experience significantly
  4. You can focus on delivering personalized user experience through dynamic content for a particular set of audience

2. Open APIs

API, Application Programming Interface,  ensures easy interaction of application programs with each other in order to share data.

A combination of flexible repository and open APIs implies that one can deliver content beyond the web. The CMS’ APIs can be leveraged by the app developers to build a targeted app using available content beyond the web. This way, it becomes a five-finger exercise to repurpose the existing content in an eBook, on websites, mobile, native apps, Facebook Messenger, and other platforms.

In addition, with APIs, you can integrate your CMS with other internal and external systems such as ERP, CRM systems that you already have established.

For instance, Federal Election Commission (FEC) uses API to allow users explore the way candidates and committees fund their campaigns. You can search candidates and committees and use their IDs to find reports on line item details with the other endpoints.

3. Personalization

Marketers delivering personalized web experiences to their users are getting double-digit returns & loyal customers in marketing performance and response. 

More and more CMS vendors are adopting stronger, and more tightly integrated personalized capabilities to fulfill the demand for personalized experiences. 

A significant role in enhancing the user experience comes down to verifying the content on your website. For instance, Ez content uses predictive analysis and intelligence to understand users’ preferences and accordingly showcase results. 

Acquia’s product, Lift is a personalization tool, designed for Drupal, to help marketers quickly optimize user experiences. 

Similarly, the merger of Acquia and AgilOne will help enterprises deliver powerful customer experience via AI, to  ensure higher engagement levels.

4. Multi-lingual

Enterprises already targeting an international audience, or have plans to cross borders in the future should consider a CMS that can meet your multilingual requirements. Many CMS vendors provide multilingual capabilities through plugins or extensions. However, the problem with this type of offering is that it can go unmaintained and hence introduce vulnerabilities. 

A CMS having multilingual capabilities should be able to fully customize URLs, support more translations than currently required, and has a language switch option, to enhance the user experience even after changing the language.

For instance, Drupal 8 offers multilingual capabilities (modules) to facilitate enterprises deliver seamless customer experience.

5. Multi-platform Capabilities

If your WCMS only facilitates you to manage one platform (i.e. a website), then that multi-platform management is either beyond reasonable capability or unwieldy to maintain with separate administrative platforms.

For instance, when you decide to run a seasonal campaign with a microsite, you would like to track your content, analytics, and general web management from your existing system. But if your CMS can only handle one site, or if the cost of additional sites is off limits, then it won't be possible.

Contrary to it, Multi-platform functionality gives your organization flexibility and space to grow.

One of Srijan’s clients, Crain, wanted it to build multi-platform capabilities (11 sites) for them, with each site being managed centrally to reduce inefficiencies and enhance ROI at the same time.

6. Tiered Permissions That Suit Your Organization


WCMS should have some form of tiered access so as to permit users access the platform as tailored for each one of them. For example, some organizations have many content writers but only one or two content publishers. 

Other organizations might need their content writers to be able to upload only certain types of content, while others might be able to publish-but only on certain parts of the site.

So, enterprises should ensure that the CMS should have tiered publishing options- what each level can do, if users can be designated with multiple roles, and how many users are there for each permission level.

7. Business Alignment

Ensure that the CMS you have chosen for your enterprise should meet your unique business requirements. The secret however is, there is no perfect CMS, it can be only made perfect for you. 

Therefore, it’s crucial to understand and pen down your requirements from CMS and use it as your guiding star. Because at the end of the day, you will be the user and not any sales guy offering you upgrades free of cost to an e-commerce storefront, and not the huge community of support and plugin creators, and not even the end user who would love the design.

8. Security

Security is a vulnerable issue for multinational organizations. On ensuring maximum security on their websites, they will not just protect their data but also their customers’ and business from a very public- and potentially devastating exploitation.

So, while considering various WCMS, keep the following points in mind-

  1. What does that CMS platform offers
  2. How much efforts your team will have to put to achieve your security standards
  3. Whether this approach will protect your customers’ data or not
  4. Customers can carry transactional activities without any security concerns.

9. Detailed Analytics

Content marketing team’s work does not limit to pushing content only. Rather they also track engagement on your platform to either continue or tweak their content strategy. WCMS should integrate seamlessly with the most popular analytics tools- like Google Analytics, so that you can track your KPIs right from your dashboard.

A good WCMS should enable your team to gather and analyze the business insights they need. 

For instance, Ez Content is built on top of one the most SEO friendly CMS, which takes your SEO and VSO efforts to the next level. 

10. Powerful Publishing Tools

Much like the content you publish is the foundation of your interaction  with the key audiences, publishing tools, in a similar manner, make the core of any WCMS.

A good WCMS can be identified as the one which can adapt to any type of content you want to publish- from short news items to long form articles with custom layouts to landing pages with embedded documents, while simultaneously integrating this into an overall publication workflow.

In addition, it should be capable of handling SEO, content tagging, inserting images, video, and more from within the publishing interface.

A CMS should be intuitive and easy to understand even for novice users. When working with content, it is also essential to be able to move articles around when needed.

11. Versioning for Quick Rollback

Versioning ensures that you always have an alternate of rolling back to the previous one when something gets published by accident.

A valuable feature in WCMS especially when you plan to update a page or section of your site for an upcoming event or promotion, and want to roll back to the previous version when it’s over.

Summing Up

With continuous evolvement of content management systems, enterprises can expect the addition of the new features to the existing set, primarily focusing on meeting customers’ demands.

From being capable of creating multiple robust websites, easy-to-use publishing tools to delivering personalized content, your next CMS should possess all these cutting-edge features -  to ease the burden of content marketers and help customers as well in finding what they have been looking for!

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 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 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!

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 05 2019
Nov 05

With developers under the constant pressure of completing the software development process expeditiously, more and more facets of the process are compelled to make a “shift-left”, and bob up in the software development lifecycle (SDLC).

Given this circumstance, security can no longer be taken as a casual job especially when the code is being updated and delivered every few seconds and minutes.

That is where this “AppSec Shift-Left” movement comes into the spotlight. A strategy to audit code by discovering and eliminating software vulnerabilities without hampering the development process.

This blog will elucidate the need for AppSec shift-left approach and the application security tools that can be leveraged to patch the same issues.

The Need of Shift-Left Approach

The idea behind using the shift-left approach is to find vulnerabilities at an early stage in the SDLC in a fast and efficient manner. The earlier the development teams find bugs, the lesser is the rework they’ll have to do later. This is the reason why enterprises are setting up their developers responsible for application security. 

As a result, developers will have to embed this approach asap as a part of their responsibility to keep security in check and deliver the applications on time, and in case errors occur, they can fix in on time and not throw it over the fence to let someone else take care of it.

How Application Security Tools Can Support Developers 

7 Hexagons closely placed with text insideGenerally, developers have the common goal of producing secure, functional code within a deadline. To ensure security and functionality, they typically perform a code review process to debug their code.

Debugging code is not among the hopes and dreams of most of the developers. Plus, lengthy debugging sessions can delay the projects. So the ideal application security tools should help developers debug their code swiftly to boost their productivity and help them meet their deadlines. 

All these accomplishments will encourage developers to use the tool to remove software vulnerabilities. 

Additionally, whenever developers embrace these app security tools as a means to enhance their productivity, these tools are far more likely to showcase a material impact on vulnerability remediation.

Simply put, these application security tools reduce the amount of time they take for developers to debug their code. However, this is no easy task! To help developers produce secure, functional software on-time, these solutions must:

  1. Integrate into daily developer workflows. They shouldn’t interrupt development processes geared towards complying with the next deadline.
  2. Produce accurate and actionable results. Going forward, developers can fix vulnerabilities quickly once they have been identified.

Implement Shift-Left Approach With These Tools

Below mentioned tools, when implemented in CI/CD pipeline, will empower developers in finding the security loopholes, if any, at the right time.

  1. Fortify Static Code Analyzer (SCA) - 

The Micro Focus Fortify Static Code Analyzer (SCA) can identify, analyze, and resolve complex issues efficiently as it scans massive amounts of code in a flash followed by immediate actionable results; making it convenient for developers to create secure code.

SCA plays an essential role in creating secure software by identifying vulnerabilities in software security architecture and application code with minimal effort & in negligible time; without compromising on the quality of the code. 

  1. Black Duck - 

Black Duck software composition analysis solutions and open source audits give you the insight you need to track the open source in your code, mitigate security & license compliance risks, and automatically enforce open source policies using your existing DevOps tools and processes.

Watch this video further to understand about AppSec Shift-Left Approach-

[embedded content]

Open Source and Third-Party Software Audits

No matter what your organizations’ business is, you must be using open-source in one or the other way. The question that arises with the use of open-source is, whether you know how your organization is using it, what kind of licenses are playing the roles, and whether you can meet all of your license requirements. 

To answer all these questions, an audit is conducted to find what kind of open-source software (OSS) is present within your code and what licenses that OSS falls under.

Black Duck, an open-source library analyzer, comprises of following features-

  • Open Source and Third-Party Code Audit

Provides you with a complete open source bill of materials (BOM) for the target codebase; showing all open source components and associated license obligations and conflict analysis.

  • Open Source Risk Assessment

It offers a detailed view of open source risks in the codebase, including known security vulnerabilities, using Black Duck Enhanced Vulnerability Data. It can serve as a high-level action plan to prioritize research and potential remediation actions.

  • Web Services and API Risk Audit

Lists the external web services used by an application, with insight into potential legal and data privacy risks. It allows you to quickly evaluate web services risks across three key categories, i.e., governance, data privacy, and quality.

Conclusion

The software development life cycle (SDLC) is constantly increasing the pace and becoming more automated.

Developers must keep up with the pace and leave security behind with the shift-left approach. Considered as the fastest and most comprehensive tool, it can be easily integrated into DevOps pipelines to analyze the code, and boost security into digital SDLCs without compromising on the innovation part!

Srijan takes security issues as a serious threat to organizations’ valuable assets and progress. And so, to mitigate the risk, it has provided its clients with a solution to deal with it efficiently. You too can reach out to us for the same. Contact now!

Nov 01 2019
Nov 01

The breakthrough in technology has brought a whole new range of tool suite for developers to make the software development process more efficient. React App is among one of them! A prominent tool recommended by the React community to create single-page applications (SPAs) and also get familiar with React.

React App ensures that the development process is refined enough to let developers leverage the latest JavaScript functionalities for better experiences and optimization of the apps for production.

For one of our clients- a giant retail travel outlet - who went out to get a realistic travel budget in mind for the travelers to plan ahead and avoid spending shocks along the way we built a budget planner. 

Built on React.js on top of Drupal, it is a dynamic feature and can be added anywhere in the website (under blogs, services) without coding. 

Creating React App doesn't require configuration of web pack (bundler for modules) and babel (compiler). They come inbuilt. Developers can right away start with coding here. However, the drawback is that they won’t be able to get an idea about things happening in the background.

If we set up React App without using the Create React App, then we will be able to know which all NPM packages/components are needed to make react app working.

About React App

Create React App was built by Joe Haddad and Dan Abramov. The GitHub repository is well-maintained by the creators to fix errors and deliver updates frequently. 

It is a prominent toolchain for building apps quickly and efficiently. A toolchain can be defined as a set of different s/w development tools that are optimized to perform specific functions. For example, the C++ development process requires the compiler to compile the code and a build system, say CMake, to manage all the dependencies. Similarly, the React App is used to create “hello-world” applications.

This blog will showcase how to create a React app from scratch. The prerequisite is to have the NPM package manager installed in the system.

Below mentioned are the steps for the same-

Step 1- Create an app directory

mkdir myApp

Step 2- Access myApp folder and run 

npm init

This, in turn, will create a package.json file for which you can provide the name and version.

Or

npm init -y

This will create a package.json file with a default package name and version.

Step 3- Install react and react-dom packages

npm install react react-dom

This will create a node_modules folder with all dependent libraries to further add dependency inside package.json file)

Step 4- Create a .gitignore file, to avoid pushing unnecessary files to GitHub

vi .gitignore

Under files section, add all the files which you don’t wish to be tracked by Git

  1. node_modules
  2. dist
  3. ._

dist ( Distributed folder ):- This is an auto-generated build directory. We don’t require this folder because it will be generated by the compiler.

Step 5- Create an app folder

mkdir app

Access app directory and then create three files 

  1. touch index
  2. js index.css
  3.  index.html

Step 6- Edit index.html and add below snippet

<!DOCTYPE html>

<html>

<head><title>

my-app

</title></head>

<body>

<div id="app"></div>

</body>

</html>

( No need to add any styling inside index.css file as of now )

Step 7- Edit index.js file and add below snippet

import React from 'react';

import ReactDOM from 'react-dom';

import './index.css';

class App extends React. Component{

render(){

return(

<div>Hello World</div>

)

}

}

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

At the time of running this JSX code (XML/HTML- like syntax used by React that extends ECMAScript) in the browser, it will drop an error. Because the JSX code browser doesn’t understand and that is when we require Babel and Webpack.

npm install --save-dev @babel/core @babel/preset-env @babel/preset-react webpack webpack-cli webpack-dev-server babel-loader css-loader style-loader html-webpack-plugin

NPM install takes 3 exclusives, optional flags that either save or duplicate the package version in your main package.

1.  JSON: -S, ~save: 

The package appears in your dependencies

2. -D,~save.dev: 

The package appears in your devDependencies

3. -O, ~save-optional:

The package appears in your optionalDependencies

We will use Flag--save-dev to differentiate between built dependency & app dependency. 

Once installed successfully, you can check the package.json file to check the differences.

Webpack Configuration

Webpack, as stated is a module bundler, which primarily focuses on bundling JavaScript files for usage in a browser. Though it is also capable of transforming, bundling, or packaging just about any resource or asset.

Check the steps below for webpack configuration-

touch webpack.config.js

Step 1- Add below snippet in this file

var path = require('path');

var HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {

entry : './app/index.js',

output : {

path : path.resolve(__dirname , 'dist'),

filename: 'index_bundle.js'

},

module : {

rules : [

{test : /\.(js)$/, use:'babel-loader'},

{test : /\.css$/, use:['style-loader', 'css-loader']}

]

},

mode:'development',

plugins : [

new HtmlWebpackPlugin ({

template : 'app/index.html'

})

]

}

Step 2- To allow babel-loader work well, we have to add babel preset config to package.json

"main": "index.js",

"babel":{

"presets" : [

"@babel/preset-env",

"@babel/preset-react"

]

}

Step 3- To run build, we need to add webpack to script within the package, i.e.,  package.json

"main": "index.js",

"babel":{

"presets" : [

"@babel/preset-env",

"@babel/preset-react"

]

},

"scripts": {

"create": "webpack"

},

Step 4- Run below command

npm run create

With this, webpack will be created, which, in turn, will create a dist folder and our bundle file including index.html.

Watch this video to learn more about it

[embedded content]

Step 5- Now to start webpack dev server, add below snippet inside package.json file

"scripts": {

"start": "webpack-dev-server --open"

}

It will start building our code as soon as we run npm start.

Step 6- All setup is done. Now run `npm run start` command to see the result on the browser.

The final directory structure will somewhat look like this as shown in the picture - 

Note: You might observe some storybook related extra files in the picture. However, these files won’t be visible in your setup. If you want to know about the storybook, stay tuned for our next blog.

Conclusion

I hope that now you have understood the fundamentals of Create React App better. If Yes, then implement the given steps right away and start building your awesome ideas!

Stay tuned for my next blog in which I will discuss Storybook. 

Happy Coding!

Oct 25 2019
Oct 25

 

With the proliferation in the touchpoints that enterprises use to connect with customers and provide them with the valuable experience, it’s has become a tedious and challenging task to optimize the content far and wide.

Further, the number of devices that consumers use to access brand content- desktops, mobile phones, laptops, tablets, and smartwatches - with yet more looming on the horizon; have their own set of restrictions and specifications which again increases the complexities of content creators & marketers in the dissemination of the personalized content.

Also, this Gartner report suggested that marketers & decision-makers should now opt for a unified experience strategy to streamline their customer-facing content. This can be done through the implementation of the latest technology and channels to promote dynamic personalization and optimize content in an avant-garde manner. And all this can be executed by dint of Content-as-a-Service.

This blog provides further insights on CaaS, its use cases & features, and how enterprises and marketers can leverage Drupal as CaaS for managing their content efficiently.

What is Content as a Service?

Content-as-a-Service (CaaS) focuses on managing structured content into a unified repository or feed that other applications and properties consume.

The idea behind it is to provide a future-ready CMS that makes content readily available by employing API with or without developing the presentation tier. The presentation layer can be a website, a mobile app, or a feed into a device’s interface. 

The idea behind it is to provide a future-ready CMS that makes content readily available by employing API with or without developing the presentation tier

This separation between the content itself and its presentation implies that RESTful APIs, for instance, can provide the same content that serves both your website to an iOS or Android app.

Put simply, it draws a clear line between the people creating the content, the people delivering the content, and of course, the people consuming it.

A long box with different elements inside

Source: Bloomreach

Characteristics of Content-as-a-Service solutions include:

  • The content disseminated across all channels via a Rest-based API

  • A method of developing content as per prescribed content models

  • Structured formats for returning content via simple queries.

  • Distributed authoring and workflow content administration

  • A content repository hosted in the Cloud for universal access

  • Triggers that alert customer experience applications that consume content to content updates

  • Metadata definitions that can be defined and move along with the content via API

How Does CaaS work?

The actual implementation of CaaS can vary as in the case with any architectural pattern but here is a general overview of how CaaS platform may work-

Multiple boxes connected in flowchart

The content management UI is a web application to centralize all content authoring and content management of the platform. Content is placed inside centralized storage: it is to note that the format and technology used for the same does not matter at this point, what matters is the correct storage of data.

At last, the content is made available through a technology-agnostic API, like REST API. There are products available in the market which lets you author the content whilst working on the presentation layer to provide you with a wide array of applications you may need (for instance, web apps, mobile apps). 

You could, as an alternative, also provide access to the public APIs of these platforms, allowing others to take care of building their own presentation layers and saving you the trouble of working on that. 

Know how Srijan helps enterprises in modernizing their platforms to manage their content across various channels

Explore Our Services

Why CaaS?

Creating dedicated content for every specific medium becomes cumbersome to the point of being unworkable

 

Have you ever thought that how enterprises and marketers can tweak content for each one of the channels and yet ensure that the content is safe and sustainable for any modification in the future? Since it’s understood that creating dedicated content for every specific medium becomes cumbersome to the point of being unworkable.

So, how is it possible? The answer to this simple question is CaaS!

It can be efficient for enterprises those who want to upgrade their CMS either into one which can serve as CaaS or when there was nothing before.

However, the key deciding factor(s) at the end will be your current context. The reasons are mentioned below-

  1. Siloed Content
    Enterprise deals with an enormous amount of content and the sources from where it comes in and having to manage them independently can prove labor-intensive. Either company can spend a lot of time from their schedule to simply manage the content or spend too many resources having a team manager & a set of independent tools with the added overhead of getting them to collaborate with each other. 

In either case, they are most likely dealing with one or maybe more of such situations:

  • They don’t own a uniform content format, which can be made use of for easy distribution. 

  • They don’t own a centralized method to make content available for consumers, be they internal or external ones.

  • Metadata is not given due importance in empowering their content and making it rich for consumers.

  • And centralized storage, so, companies have to put extra efforts to move from one source of data to the next.

The adoption of CaaS could be beneficial to anyone looking desperately to switch their content management strategies. A switch to content-centric approach, i.e., Content-as-a-Service, would significantly improve their performance.

2.   Limited formats for your content

Content has to be an abstract entity, and choosing the way how it should be consumed, should be your top priority

Your problem might not be about managing your content but inefficiency in reaching to the targeted consumers due to a restricted amount of formats you are compatible with. Content-as-a-Service is again the perfect solution for such kind of scenarios.

Many CMS, such as WordPress, take the responsibility for presentation ensuring that you don’t have to worry about it. However, you also get restricted to the number of devices with which representation of your content is compatible. There could be so many devices where your content can be rejected immediately or simply not pleasant to be consumed in. For instance, have you ever considered how will your online trading WordPress website will show stocks on your smartwatch? What about a VR headset? Or a holographic projection? Agreed that last one does not exist yet but you must ensure that the company is well-equipped and future-ready to be compatible with new technologies, especially when it is moving at breakneck speed and released to the public every day.

Even the new foldable phones are going to be accessible for the public now- what will happen then to the content?

Companies will limit their odds of success if they kept their content tied to their representation. Content has to be an abstract entity, and choosing the way how it should be consumed, should be your top priority.

3.  Native mobile app needing content

Content-as-a-Service provides you with the flexibility to use your content however you want, now or in the future

Since content display on mobile phones and apps demand extra attention, most of the traditional CMS fails to provide the necessary tools and facilities for the same. They only provide web-compatible formats (e.g., HTML) making it unfit for your app.

You can work around this by using a headless, decoupled CMS or Content-as-a-Service to simplify your work. 

In a nutshell, Content-as-a-Service provides you with the flexibility to use your content however you want, now or in the future.

What Drives the Adoption of CaaS?

There are two groups primarily that can leverage this type of content delivery the most: developers and business users/content creators.

  1. Developers

Developers do require CaaS no matter they are mobile app developers who need a backend to feed their apps with content or front-end developers who expect to interact with an API. 

Such technologies have been around since long and widely accepted as well, further fueling the demand for CaaS.

2.  Business
  • Those content creators who want to increase the reach of their content to as many platforms and channels as possible- web, mobile, social networks, smart devices, and so on. 

  • It becomes exorbitant to have a separate solution for every channel- development-wise and maintenance-wise. 

  • It is convenient to manage a single editorial team and a single software stack for all channels.

  • CaaS solutions can help developers in being more productive and efficient with the tools they like to use.

CaaS Use Cases

It’s often perceived that there is no single CMS that is equally good for maintaining both a personal blog and a huge online shop. Contrary to the assumptions, CaaS outperforms its harbingers in some use cases-

CaaS focuses on pushing wherever and whenever required, designers need not worry anymore

Pushing content on a mobile app via CaaS proves as the most effective way to have dynamic in-app content without having the need to resubmit the app to the app marketplace.

  • Multi-channel publishing

CaaS CMS is also beneficial when content needs to be transmitted across various platforms, for example, you want to push the same content to a website as well as to mobile apps.

  • Rich Web apps

Modern view controller, i.e., front-end frameworks, such as AngularJS, React, and Ember synchronizes well with structured content via APIs.

CMS can considerably reduce the complexities and simplify workflows in an existing project, for instance, eliminating hard-coded content from HTML pages, and maintaining them with a CMS. In contrast, the API by CaaS makes it highly integration-friendly and robust.

  • Tailored UX

The CMS of web age posed strong design restrictions. Though you could fully tweak the UI but building a Wordpress-powered web app from scratch was not very likely. 

On the other hand, as CaaS focuses on pushing wherever and whenever required, designers need not worry anymore!

It becomes a tedious task to manage already existing content and also the one arriving from multiple sources. Therefore, it is best-suited to upload content into one unified repository by creating content via APIs.

Content structured via API makes it easy for AI-powered agents and chatbots to move it around and churn it for ensuring relevance than screen scraping and using natural language for processing unstructured content.

How Drupal Can Prove to Be An Effective CaaS?

Drupal has unfolded the idea of Content-as-a-Service (CaaS) to solve the dilemmas posed by our newfangled digital ecosystem & its extremely high demand for new and different types of content. 

A square with multiple circles and squares connected to each other

Following features on how Drupal can be an effective CaaS-

  1. Reusable future-proof content

Drupal content can easily exist in the form of reusable chunks

Generally, CMSes manage content in a back-end repository and push it to the front-end templates for serving an experience.

However, Drupal decouples the back and front end whenever required. So, Drupal content can easily exist in the form of reusable chunks: free from the presentation and set for delivering content to sites and apps. Thus, content becomes future-ready.

  1. Set front-end developers free to create a better experience

With Drupal’s presentation-neutral content and a RESTful API, front-end developers can freely carry out their creative vision and build interactive sites & apps with the tools like Node, Angular, Backbone, Ember and others.

  1. Fill the content bucket more easily 

Content nowadays should not be restricted to one source only rather it should move in and out freely. And Drupal helps in that by ingesting third-party content (e.g. from aggregators and syndicators) to bring content into your Drupal ecosystem and making it further easy to push to any site, app or channel.

  1. Share content beyond your sites

Today, organizations want to share content on multi-channels where the audiences are inside of content aggregators disrupting the news business. Content teams need an optimal way to create content & then share it with minimal effort. And Drupal does that! The other sites and apps you choose can easily churn Drupal content.

  1. Alter the look

The separation of backend content from front-end presentation gives a leading edge to developers to refine an experience without worrying about the content in the CMS.

Additionally, Drupal’s 8.0 version comes with an inbuilt REST API which marked its beginning of API-first initiative.  

REST allows apps and websites to read and update information on the websites via the web. It also encourages developers to rely on HTTP methods to operate on resources managed by Drupal.

Furthermore, the Drupal community has been working on shipping Drupal modules with web service APIs instead of depending on a central API module in the upcoming releases of Drupal.

Contenta, one of the Drupal’s distributions, is an HTTP API provided for ready-to-use purpose with full auto-generated documentation. It offers modern API capabilities with JSON API, and also feeds content in the JS-driven websites, mobile applications, TV and even fridge applications.

Contenta supports Create Once, Publish Everywhere, be it single application development or multi-channel publishing.

Then there is another distribution, Reservoir, which helps in implementing the Decoupled Drupal architecture, is very flexible and simple-to-use for building content repositories of any application. It also helps in modeling content, governing content, and interacting with that content through HTTP APIs. 

In a nutshell, Drupal’s API-first approach offers the following benefits which further bolsters CaaS model-

  • The decoupled approach separates the presentation layer from the service layer thus allowing a detailed and dedicated focus on each of them.

  • A foolproof approach to help organizations connect to infinite digital signages for enhancing customer experience

  • Increased interaction with customers on their preferred devices will eventually scale up your marketing efforts

  • The decoupled approach is flexible and open for changes, addition, and modification of the structure.

  • Deploying a front-end framework like Angular or React will lead to sophisticated, enriched and dynamic web experience

 

Learn more about Drupal API-first initiative from here-

[embedded content]

Features to Lookout For in CaaS

CaaS comprises of three vital parts: the editing interface (typically a web app), the CMS infrastructure capabilities, and the development ecosystem.

Web editor

  • Enables content architects to design the structure of the content

  • Enables content editors to manage content from creating, updating to collaborating on it.

Technical infrastructure

  • Offers performance, uptime, and scalability to ensure that enterprises can rely on their vendor to deliver content in mission-critical applications.

  • SLAs with short incident response times and access to dedicated staff- so in case of a problem with a mission-critical app, companies can be provided back up again and fast.

  • Mobile delivery capabilities so that great user experience can be delivered even in network-challenged environments ( like subways, rural areas) and high bandwidth cost areas (such as emerging markets).

  • API-based importing, management, and delivery for controlling content programmatically in both ways

  • All-inclusive and up-to-date documentation to help the development team start using the tools quickly.

  • CDN ( content delivery network) to deliver the content rapidly

Development ecosystem

  • SDKs and libraries to increase the speed no matter what the tech stack is

  • Demo app source code so that developers don’t feel the need to reinvent the wheel all over.

  • Third-party integrations to obtain value from existing tools.

Other Characteristics of CaaS

The decoupled approach ensures that code and content are placed separately so that marketers and developers can do their respective work

  • Decoupled approach

The decoupled approach ensures that code and content are placed separately so that marketers and developers can do their respective work. Teams can also work parallelly on a creative copy, enticing visuals, and expert integrations in one unified platform.

This is the quintessence of the headless CMS approach - agnosticism towards how content is presented. This frees developers from creating highly custom front-ends and apps since they get to define the content display part.

A box with various elements listed inside and interconnected

                                                                       Source: Gartner 

  • Cloud setup

The complete separation of the content management and display part allows organizations to migrate infrastructure between Cloud and hybrid, even at the site level or project level. Some projects can be installed locally while some on Cloud depending on the business’ choices for optimization as per needs. 

Centralized Content-as-a-Service lets businesses evaluate the content consumption across the digital ecosystem. This ceases businesses from duplicating their efforts and content when posting to microsites, international sites, or apps. It can also measure the use of that content by looking at the API connections used to deliver that content, and keeping track of where the content is going. 

In the End

The digital revolution and breakthrough in technology have accelerated the efforts of content creators - be it creation, designing, or dissemination. The goal is clear- refined user experience.

With that said, the creation of content in abundance and its delivery as a service through thousands of APIs will generate more data thereby assisting content developers to create more precise business models.

The technology is already in place, and the architectural patterns will allow enterprise systems to scale up without hampering their performance.

Content-as-a-Service ensures that developers are rendered maximum freedom and flexibility to realize their digital innovation. Drupal as a CaaS has been delivering a wonderful experience to both content editors and developers alike.

It is definitely a convenient way to ensure that your strategy is future-proof and can handle any new media in the future.

Oct 25 2019
Oct 25

Long gone are the days, when cellphones were used just for calling purposes and desktops were switched on to browse the web. Today, information and entertainment can be accessed from anywhere and from any device.

According to Pew Research, over 95% of people currently own a cell phone, out of which more than 70% are smartphone users.

Users expect the best possible accessibility and functionality no matter what platform they're on. Let’s understand how Drupal solves the challenges inherent to this evolving model of content consumption with the concept of Create Once Publish Everywhere.

Understanding the Approach

COPE is a content management technique allowing content creators to add content in one place and repurpose it multiple times for different mediums.

It is important for enterprises to manipulate their content strategy as customers engage with the content they’re interested in across different touch points as per their needs.

So it’s beneficial to consider COPE approach while developing a web application. This revolutionary concept allows a considerable amount of work to be done in minimal time, effort and resources.

 

Marketers need to strategize for publishing content to this huge list of channels by treating content more like data. It’s no use conceptualizing content in the form of html pages, as this doesn’t apply to all forms of content available today. For example, through a smart speaker, you can book airline tickets, book a cab or pay your bills easily. The interaction with this conversational UI cannot be displayed through an html page as it has no visual display or screen.

It is important to understand that a smart speaker and a website do not understand and respond to the content in the same way.

Streamlining their ability in reaching out to their customers on their preferred device will allow enterprises to better scale their marketing efforts. Instead of html, enterprises need to transition towards structured content model by organizing digital content into independent fields so as to incorporate COPE across numerous channels.

On the other hand, the structured content approach could complicate an organization's digital strategy. This can lead to over dependence on Drupal as the platform for content distribution.

Drupal’s Solution to COPE

Drupal can provide a solution for your enterprise for content distribution to multiple channels by powering every instance of your digital system by adopting an API-first architecture.

Through API-first technique, the central web service would interact with a variety of applications to exchange data over a network. Drupal allows the API-first approach while decoupling the front end and using another cutting edge technology for the presentation.

Enterprises may implement a decoupled strategy to leverage Drupal as a service layer to drive complex digital ecosystems, or to provide front end teams with popular JavaScript framework capabilities or to use Drupal to power data to multiple touchpoints.

Drupal can provide the right solution to every problem, and an API-first approach could work when it is necessary to utilize technologies outside of the Drupal context.

Drupal gives the ability to make COPE a reality by providing the following:

  • Fields - to present different information such as image, video, product, text, select list, etc on the website
  • Content types - to make data more atomic for reuse
  • Views - to create lists of content curated by content type
  • Entity reference - to dynamically pull content from one page into another
  • View modes - to present the information in different formats on different pages
  • Services - to make information available to apps and feeds

API-first or decoupled architecture is considered among the most popular solution to create flawless digital experiences. The approach gives developers the flexibility to innovate as well as ensure future-proof builds that don’t require re-creating the entire feature.

Big names like Netflix have benefited from the decoupled approach in publishing content to every device which a user uses.

Drupal’s Distribution : Contenta

It’s often a challenge for non-drupalers to go for decoupled Drupal and enjoy the benefits of COPE as programming with decoupled Drupal is only for Drupal developers.

But, now the Drupal community has come up with a way to make it easier for them to leverage the power of decoupled drupal hassle free with Contenta.

Contenta is a stable API-first Drupal distribution adapted to make lives of non-Drupalers simpler and help them leverage Drupal 8’s outstanding capability for building decoupled application. With the help of built-in kits assembled with needed tools and configuration and demos, it can help to create cutting-edge apps in almost no time. After all decoupled Drupal should benefit everyone to its full potential.

https://www.youtube.com/watch?v=-KiMgk4wx2c

Keeping in mind the expertise in the subject, Contenta is simple and easy to use along with easy to understand documentation to refer for help and is fully-equipped to build an entire decoupled application without any external help or dependency on a front-end technology.

You can take up any front-end technology to go for with Contenta. So if you’re a front-end developer and are in search of a powerful back-end CMS for that impressive app that you’re planning to develop, you’ll just need to install Contenta and see for the out-of-the-box collection of your preferred front-end powered app examples that Contenta delivers by default.

Srijan teams can help you empower your marketing ability to reach out to enlarged list of customers and leverage Contenta to build decoupled applications for your enterprise. Reach out to us with your requirements and let our experts work on your needs.

Oct 24 2019
Oct 24

Marketing department these days are feeling the heat to make processes faster, agile, and efficient in this fast-paced digital world. That’s where the concept of Drupal comes into the picture! 

Drupal, since its inception, has been considered crucial for the companies which are trying to get on the digital transformation bandwagon in order to provide a faster and more nimble digital experience to customers.

Drupal comes equipped with a set of marketing tools to target the right audience and increase the overall ROI for the businesses. Additionally, the suite of tools and solutions available, build a solid foundation important for marketers, to unearth its potential and other martech capabilities; making it one of the most powerful and widely approached platforms for all the marketing needs. 

The blog gives you insights on how Drupal can be a perfect choice for marketers.

Leveraging Drupal For Marketing

Drupal has become an inseparable part of the marketing space which not only drives the business revenue but also makes a remarkable balance between marketing technologies and its ecosystem with its content first, commerce-first, and community-first marketing solutions.

Creative Freedom 

Dependence on the IT team for implementation is the most known problem for digital marketers. With traditional CMS it takes an added effort, time, and resources across design, development and marketing departments to work in sync.

By the time changes are implemented the model already looks outdated to the new situation.

“Drupal seamlessly incorporates with the existing marketing and sales technologies of the enterprises”

The cutting-edge Drupal modules and distributions empowers different teams with to have their creative freedom in order to manage the development of a project at their own pace and convenience. 

With Drupal’s architecture, organizations have a platform where they can dynamically launch their website. Marketing teams can curate the structure with segment content and visuals to lay the foundation of a strong digital strategy in its backbone.

Drupal turns out to be a useful asset for organizations which are looking for implementing it in their digital business as it seamlessly incorporates with their existing marketing and sales technologies.

Balancing Marketing Ecosystem

CRM systems are important in running businesses and boosting sales management. It is important for organizations to integrate and be able to customize the martech stack to their unique needs. 

Salesforce written in blue cloud
Drupal offers features that help you create a fine balance between CRM and marketing ecosystem- with content-first, commerce-first, and community-first marketing solutions. Business, technology, and marketing professionals use Drupal to create such agile solutions that are easy-to-use and offer a wide reach across the web. Built fully-responsive, customers and users can discover products and solutions with the help of any device. 

It possesses infinite potential with native features and module extensions, including collaboration with third-party digital marketing tools.

In all, it’s a platform to help you push your strategy for the upcoming phase of digital customer engagement and digital business.

Responsive Customer Experience

Based on the system of engagement, it gives a solid foundation important, for all the single interactions with customers and people within the organization alike, to provide the ultimate unified experience. Streamlining your business operations and aligning your digital strategies, it delivers on the mobile-first approach. Enterprises’ marketing teams can manage the website and administrative pages with ease across multiple platforms.

“Personalized customer experience is evolving at a blistering pace”

Organizations competing in this customer-centric age are putting efforts to provide a personalized experience to customers for keeping them engaged and simultaneously attracting new visitors on board for lead generation.

The digital strategies run by marketing teams majorly focuses on increasing leads, conversions, and revenue percentage of the company gradually via digital channels. 

As customers lie at the center of the organization, this can be accomplished by offering them a tailor-made experience across all channels.

The motive is the same but the way it is rendered has evolved significantly and Drupal has a large part to play in it. Here’s how-

Have a look at the video to understand more about the Acquia Lift and how it can be beneficial for marketers-

 

Focus on Personalization with Acquia Lift

There is no denying to the fact that companies are leaving no stone unturned to provide personalized results to users- it's not just about presenting content on the website but rather tweaking the whole experience. Simply put, they are trying to ensure that every single user-prospect or customer - gets what they want, even before they realize it.

Acquia Lift is a powerful amalgamation of data collection, content distribution, and personalization helping marketers deliver on the refined user experience 

Acquia Lift bolsters the personalized experiences of the customers. It is a powerful amalgamation of data collection, content distribution, and personalization that helps enterprises’ marketing teams ascertain the refined user experience without much dependency on development or IT teams. 
7 Vertical and 4 horizontal blocks with text written on themSource: Acquia

Acquia Lift encompasses three key elements to boost personalization-

Profile Manager

It helps you build a complete profile of your users right from when they land on your website as anonymous visitors up until the stage where they are repeat visitors or loyal customers. Collecting user info such as demography, historical behavior, and real-time interactions, it complements the collected insights on user preference with best-suggested actions in your capacity.

Content Hub

This cloud-based tool provides a secure content syndication, discovery, and distribution. Any content created within the organization can be consolidated and stored here; readily available to broadcast on any channel, in any format.

Searches on varied topics and automatic updates give insights on a wide spectrum of content being developed within the enterprise- in different departments, across websites, and on different platforms.

Experience Builder

This is the most essential element of Acquia Lift. It lets you create a personalized experience for your users from the beginning.

The Experience Builder is an easy-peasy drag-and-drop tool that allows you to personalize every section of your website to showcase different content to different target audiences, based on the information retrieved from the Profile Manager.

Marketing teams can:
  1. Define the rules and protocol on how content should be displayed to a different segment of site visitors
  2. Carry out A/B testing to determine what type of content drives more conversions for which user segments.

All this can be executed with simple overlays onto the existing website segments, without disturbing the core structure of the site and without depending on IT teams for implementation.

Multilingual

With companies expanding their reach to the international markets, Drupal multilingual features are definitely worth to make capital out of it. As it supports 94 international languages, it can translate the complete website within a fraction of seconds with less than 4 modules in action, enabling marketing teams to deliver localized content experiences; thus increasing the probability of turning a visitor into a customer. 

“Drupal multilingual features are definitely worth to make capital out of it”

Despite the features of Drupal site’s language for the audience, the editors and admins have the option to choose a different language for themselves at the backend. Marketing and editorial teams have the rights to create and manage multilingual sites, with no need for additional local resources.

Layout Builder

The Layout Builder with its stable features showcased in Drupal 8.7 allows content marketers to create and edit page layouts and arrange the presentation of individual content, its types, media, and nodes. It also lets you feed user data, views, fields, and menus.

"Marketing teams can preview the pages with ease without impacting the user-experience”

It acts as a huge asset for enterprise marketing and digital experience teams-

  1. It offers flexibility to help you create custom layouts for pages and other specific sections on websites. You can override the predefined templates for individual landing pages when required.
  2. Content authors can embed videos effortlessly across the site to enhance user experience and ultimately drive conversion rate.
  3. Marketers can preview the pages with ease and without the fear of impacting the user experience


Layout Builder explained with the help of flowers in square gift box

Source: Dri.es

All these features offered ensures that marketing teams have more control over the website and can work independently without needing to take help from developers. This ultimately reduces the turnaround time for launching campaigns and hence the dependency on development teams.

Improved UI with API - First headless architecture

With the ever-increasing demands of acquiring and retaining customers, marketing teams are always in a hurry to redesign and update the backend and front-end in a short period. However, this becomes quite a strenuous task for them to update and redesign digital properties rapidly keeping in mind the evolving customer expectations.

Traditional Drupal architecture could take ample amount of time to make updates and redesigns because the refinement needs to take place at both front end and back end resulting in a dependency on developers and designers for the completion of the project.

“A decoupled CMS strategy can work wonders for a website that is in desperate need for a change”

But now with the powerful feature of Drupal, i.e., decoupled Drupal, marketing teams can become more agile and efficaciously segregate the processes & streamline the upgrades without impacting the user experience at the front end. This uber-cool feature of the Drupal helps in making the design and UX alterations easier to maintain.

Three blocks on the grey background with text written on themSource: Acquia

Having the flexibility to come up with more ideas and implementing them by being able to easily add them to the website is a huge upliftment for marketers. New requirements can pop up anytime in the marketer’s mind that could be added to the site for more customer engagement and lead generation. The decoupled approach gives the extra agility needed to keep improving the public-facing site.

Final Words

Drupal has the potential to provide a promising future for better digital experiences with its every upcoming release. The appending of new features in Drupal will help marketing teams to become more flexible and scalable and yet provide a surpassing customer experience in no time. Consequently, conversion rate, sales, and brand visibility would increase manifolds.

Marketing teams in the organization who are already running their sites on Drupal have a lot to be happy about. Specifically, the development around Acquia Lift and Acquia Journey gives them freedom and hence no reliance on developers for any website updates and making content live, etc, to target the audience at the right time and increase ROI.

And for the marketing teams of the organizations those who are envisaging to roll out a plan for shifting to Drupal due to its all-inclusive features, the culmination from the highly-skilled and empowered team will make it worth all the efforts.

Oct 24 2019
Oct 24

With a successful API monetization strategy, enterprises can expand their business capabilities to new customers through the rapid consumption of business assets.

However, with APIs offering dozens of ways to monetizing data, content and technology, it can become overwhelming for enterprises to deal with the entire process.

In this blog post, we’ll take you through the technical knowledge needed to build a robust API monetization platform for Globe Telecom, which seamlessly drove new opportunities and broadened their marketplace.

Understanding Globe’s Concerns and Expectations

Globe Telecom, part of the Singtel Group, is a telecommunication giant in the Philippines with an estimated market capitalization of 3.8 billion USD and a subscriber base of almost 67 million.

It has a programme running on Apigee aimed at expanding the ecosystem and effective productization for increasingly complex APIs. Globe was seeking out to create a prototype for API monetization.

We helped them achieved the following key goals:

  • A unified and well-architected API programme to allow Globe to expand into other avenues faster than before
  • An organized API product strategy with an at least 6-18 months outlook, that allows for better-planned release cycles and innovative business models
  • Standardized infrastructure and ops for resilient architecture, platform security, and cost savings
  • Empowered API teams that can work in an efficient and optimized manner and help migrate selected APIs to the Apigee platform.

Read how Srijan helped Globe Telecom drive its API Monetization Strategy

Take Me Through
Building a Developer Portal on Apigee

A platform was built which could help the client to ideate, develop, and take feedback within planned timelines, with the ability to create new revenue models with an offering for both service providers and end-customers while vastly cutting down development time and costs.

Srijan teams built a unified developer portal which made APIs available to developers to communicate with the actual data in microservices through an Apigee API platform.

The Apigee platform ensured secured use of APIs and acted as the intermediate between developers and the microservices.

The Apigee platform ensured secured use of APIs and acted as the intermediate between developers and the microservices.

Architectural diagram showing communication between developers/admin and microservices

Now, let’s understand the features of the project and the various related terminologies.

  • GlobeLabs APIs

The developer portal renders several APIs which can be public, private and internal. These are then implemented on Apigee. The screenshot attached below shows a comprehensive list of Public APIs available to an anonymous end user.

GlobeLabs APIs

Developer portal exposing various APIs for developer use

  • Globe Labs ReDoc

ReDoc offers a customizable and incredibly nice theme. It is actively maintained by its developer team to offer a better user experience. It has a custom script written for better readability of a developer.

Here’s the sample doc rendered for:

1. Request

Request

2. Response

Response

  • GlobeLabs SmartDocs for an API

SmartDocs comes as a part of the Drupal-based Apigee dev portal. It provides smart documentation for an endpoint along with a tryout feature so the developer can tryout the endpoint on the page itself.

GlobeLabs SmartDocs for an API

  • Developer Dashboard

A logged-in developer on the developer portal dashboard can choose to create a new app, go to the apps transactions page or see the wallet balance.

Developer Dashboard

1. Developer App

7-3

Screenshot of creating new app interface

A developer can create an app by giving it a unique name, with a particular API product(s) and a callback URL. He/she can select different API types (which are basically API products on APIGEE which gets synced to dev portal) by simply selecting the check boxes.

In case of Consent App, a 'Consent' is a prompt when a subscriber sees while opening an app. The app accesses the list of permissions marked selected by the subscriber.

2. Developer Wallet

Developer can add balance to their wallet via online/offline transfers. The wallet is categorised into two types: prepaid and postpaid.

A developer can have any wallet (prepaid or postpaid) and can even be switched from one to another upon request. The developer will have SMS MO balance attached (see the image below), show the credit/balance history of the transactions done.

3. Navigate Transaction page

The transaction page displays the transaction types and the related balance details.

8-3

Screenshot of Transaction page interface

Admin Operations

Admin does the configurations to communicate between different layers in the entire system. Micro services implement the automated processes across the system wherever needed.

Micro services consists of all the APIs which does any internal operation in the system, and the response is brought back to APIGEE and then to portal/developer App.

Srijan is working with leading enterprises across the US, Europe and APAC regions, assisting them with their API lifecycle management with Apigee - creating and exposing APIs and building custom developer portals. Contact us to get started with your requirements.

Oct 22 2019
Oct 22

The website is no longer the sole arena of your brand’s digital experiences. We’ve transcended that and now a customer’s interaction with your brand is fragmented across multiple different channels - from the tiny smartwatch on their wrist to giant digital displays, from their mobile application to their in-flight screens. So your content needs to be on all these channels as well. 

But short of hiring numerous content writers and editors to write and reformat content for all these different channels, how do you play this game? The answer is Content as a Service.

Drupal has already proved its mettle when it comes to managing a huge volume of content at the backend. And now Drupal is channeling it’s decoupled capabilities to deliver a streamlined platform for CaaS - the Acquia Content Cloud.

What is Acquia Content Cloud

Acquia Content Cloud is 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. 

In essence, Acquia Content Cloud enables headless content creation and management for delivering multichannel digital experiences.

Though built on Drupal 8.7, the Content Cloud is a CaaS solution that can be used irrespective of whether you website and other display applications run on Drupal. You also do not have to worry about setting up Drupal (or upgrading to a new version of Drupal) to be able to fully leverage Acquia Content Cloud. Because it’s being made available as a software, you will have everything you need enabled out of the box.

Why use Acquia Content Cloud?

The whole challenge with delivering a multichannel digital experience is the fact that different channels have different ways of consuming and displaying content. And that can lead to some significant challenges:

Tedious Content Reformatting

Publishing content on different channels means copying and pasting the same content into the editing platforms for each of these channels. 

Let’s say you are a news outlet publishing a particular article. Your content team will upload it on the website with a headline, byline, images, text etc, on the CMS. TO send out the same news in an email newsletter, your team will have to go into your emailing platform and enter the headline and maybe some text, depending upon the design and structure of your email. To showcase the same image on the large digital displays you have in the office lobby, the team has to log into a different interface, reenter the content, maybe the headline, the byline and the image this time. 

All of this is just your team repeating the same bunch of things in different display system backends. Time they could have spent is getting more stories out. This repetition also creates room for more errors and confusion at the last updated versions, and even more work when there are real-time developments in a story.

Difficult Authoring Interfaces

While your CMS maybe editor-friendly (it likely is, if it’s on Drupal) but not all your display channels are easy to use at the backend. The more complex they are, the more time you content team spends on publishing content on them. The lack of efficiency can quickly get in the way of effective and impactful digital experience.

Content Silos

When you are reformatting content and separately publishing on each platform, your content begins to exist in silos. There is no one single place where you can view all content, or check on exactly which display channels a particular content piece has been published on. You can also not track revisions, or know if a particular content has been updates on all the display channels it was published on.

Basically, what you have is a whole lot of confusion and very limited visibility into your content.

The Acquia Content Cloud eliminates these problems by being a centralized platform for content creation and editing, which can then push it out to different channels. Here, you can enter all your content into a well structured template, where it can be stored, managed, approved and revised. Different channels can consume this content via APIs, and display it as needed, with no need for reformatting. 

How does the Acquia Content Cloud work?

With Acquia Content Cloud, the content team can create each content piece to include complete information and different media formats without worrying about how it would look when displayed on a particular channel. 

[embedded content]

The solution is designed on the concept of flexible or atomic content. The platform breaks down any content piece into different smaller parts, with each being entered in a different field. 

For example, you have your headline, by line, summary, rich media, and body text entered into different fields. All of these are now reusable components that can be picked up on the basis of which display channel we want to push the content to. 

So for the website, all the components of the content piece get pushed out. For the digital banner, only the headline, byline, and image component get pulled for display. All other channels similarly pull in the component they require to most effectively display that piece of content. 

The general content publishing workflow on the Acquia Content Cloud platform goes something like this:


  • The content writer starts with creating a project. Choosing the type of content they are creating - blog/promotional/case study etc, and choosing the different channels where they want the content to be displayed
  • Next, they create a complete content piece by filling out the different fields, including rich media like videos, gifs, animations and more
  • They can schedule a publish time, to the piece to be available on all channels simultaneously
  • The platform send review notification to the editor, who can review the content, make changes, or trigger a revision workflow if needed
  • All changes happen on the base version of the content, making it easier to track changes and keep all channel updated
  • Once okayed, the content is pulled to different applications via APIs. Multiple API formats like GraphQL, JSON etc are supported
  • Once published, content writers and editors can also go in to make display changes to any channel if needed

And that’s it. That all your content team has to do to ensure content is displayed well across multiple channels. You create your content once and publish everywhere. You content team is free to do actual content creation, rather than copy-paste to different channels. And your marketing team can rest assured that every brand interaction, on every channel, in optimized, updated, and immediate. 

Acquia Content Cloud is currently available for private beta testing and you can sign up for it to test it out yourself. 

Meanwhile, if you are looking to decoupled Drupal solutions to enable advanced digital experiences at your enterprise, Srijan’s experts Drupal teams can help. We are also Acquia implementation partners, helping brands leverage Acquia’s suite to personalization, customer journey orchestration, digital asset management and cloud hosting offerings. 

Tell a bit about your project and let's explore how our Drupal experts can help.

Oct 18 2019
Oct 18

In this digitally altered scenario, where every millisecond is crucial for the marketing industry to deliver customer responsiveness and enhance productivity, enterprises should start leveraging the marketing automation system earnestly & in a full-fledged manner to take their game to the next level.

 

The digital integration of marketing automation tools will create a huge difference in the upcoming times for marketing communication

After all, marketing automation is an efficient marketing strategy that draws together your different content with demographic information of your customers, to help you convert these potential leads at the most feasible time. 

The digital integration of marketing automation tools will create a huge difference in the upcoming times for marketing communication. As a result, these software tools and technologies will make it easier to incorporate seamlessly with a Drupal-based website through custom modules.

Now, let’s take a deep look at this blog which provides insights on marketing automation, it’s benefits, and available Drupal modules to make the work of marketing teams easier manifolds-

Marketing automation facilitates organizations to consolidate, streamline, and automate tasks with the help of modules and tools that were earlier bulky, repetitive, and consumed a large chunk of time, such as emails, social media, analyzing the audience, and pushing them the right content at the right time.

Marketing teams can view a centralized dashboard and also tweak their strategies to enhance the overall ROI of the organization

This way, marketing teams can view a centralized dashboard and also tweak their strategies to enhance the overall ROI of the organization. These time and cost-saving effects keep increasing along with the growth of organizations in size and complexity.


Various elements being pointed out by element in the centreThe benefits of implementing marketing automation tools are manifold for overall business as well as for marketing teams as well. Below is the list of benefits of marketing automation-

1. Reduce your staffing costs

Marketing automation tools let your team set up lead nurturing and marketing campaigns that can be automatically triggered based on certain defined criteria.

Within the few months of the setup of automated campaigns, your business can easily send thousands of personalized emails each day on autopilot.

2. Grow revenue

Once your company starts automating your cross-sells, up-sells, and customer follow-ups, you can observe an increase in your customer lifetime value. And when combined with better lead management and prioritization, it will possibly increase your sales activity too to boost your ROI.

3. Improves accountability of sales and marketing teams

Marketing automation ensures that the obstacles are identified well on-time with its tangible processes, and aerial view reporting of the company’s projects.

In case, the marketing team is unable to convert the identified leads into “sales-qualified leads”, it will get instant and impartial feedback for improving their nurturing campaigns.

This feedback mechanism not only reduces heated arguments but also lets staff members take the onus of their part and hence perform it more diligently.

4. Less repetition and more focus on creativity

When manual work is replaced with automated rules and campaigns, enterprises naturally free up their team members’ time to emphasize more creative tasks

When manual work is replaced with automated rules and campaigns, enterprises naturally free up their team members’ time to emphasize more creative tasks.

This clearly improves team members’ productivity & efficiency and simultaneously bestows them with the joy of enjoying creative work every day instead of performing mundane repetitive tasks. 

5. Refine your marketing processes

Enticing customers in this digital era is no more a cakewalk. If you want to engage customers with your services, then visualize their entire journey and work around making such worthy marketing strategies to gradually refine your leads targeting and nurturing process.

This whole journey will indicate to you about the leads that are falling off during the nurturing process, and hence, make refinements to those areas accordingly.

6. Target potential customers across various channels

Marketing automation lets enterprises reach customers in a personalized way across different online and offline channels

Personalization has become a newfangled solution now to show customers that companies do take their interests in likes/ dislikes. Marketing automation lets enterprises reach customers in a personalized way across different online and offline channels.

The services these tools offer range from multi-channel targeting, email, social, phone calls to text messages, and postcard targeting.

7. Schedule posts and campaigns ahead of time

Marketing automation tools give an edge to companies where they can easily schedule the different posts for different segments of their audience, based on the evaluation and insights gained on audience type.

Marketing teams can add variations in the content to send it to different sections of their audience, making it more personalized as per customers’ needs and interests.

8. Get reality check- what’s fruitful and what’s not

Marketing automation tools can help you figure out the campaigns that worked and for what segment of customers as per the data obtained through CRM

Marketing automation tools can help you figure out the campaigns that worked and for what segment of customers as per the data obtained through CRM. This level of detail enables you to create in-depth statistics reports, and hence, emphasize weak links for better results.


8 written inside Drupal logoHere is a complete list of the best Drupal marketing automation modules that you can incorporate in your website to reap its benefits-

1. Marketo MA

The Marketo MA module can help you incorporate the tracking capabilities of Marketo along with the ability to collect lead data during user registration and form submission.

Features include-

  1. Adds Munchkin tracking code to your webpages
  2. Collect lead data using Marketo’s Munchkin Javascript or API integrations.
  3. Ability to determine which user actions trigger lead capture
  4. Stipulate how user profile fields should align with Marketo fields

2. Marketo

Marketo is one of the prominent marketing automation modules in Drupal that offers consolidation of various Drupal components and the Marketo email marketing system.

It provides a framework by which Munchkin javascript can be embedded into your pages and an API as well for linking the tracking cookie and lead information. 

3. Eloqua

Eloqua is an automated marketing tool that streamlines all your stem-to-stern sales processes like, demand generation, revenue performance management, etc. 

It further boosts the sales processes by capturing a substantial amount of quality data of your customers’ sales leads and re-post the form submissions to the platform, provided you have an Eloqua subscription, to begin with.

4. Pardot

Well-known for its marketing and customer-relationship management tool, Pardot uses Pardot Analytics to collect details of your potential and current customers. For example, it can track whether a potential client was involved or discouraged by a particular price. Enterprises can also upload links and files to analyze if these particular sites are accessed or not, and so can create a list of links accordingly which customers can use to find other products that might interest them. 

Pardot offers a top-notch path based tracking system which can be leveraged throughout a Drupal-powered website.

Learn more about Pardot’s feature from here-

[embedded content]

5. HubSpot

The HubSpot module integrates with HubSpot API and Webform to submit Webforms directly to HubSpot’s lead management system. HubSpot’s JavaScript tracking code can be directly embedded into your Drupal website.

HubSpot mentioned in a boxFor example, a Webform based contact form on the website can submit its data to HubSpot, where marketing teams may already track potential clients and contacts; or Webform-based e-newsletter signup could transmit the lead to HubSpot’s targeted marketing system, allowing you to use your formerly existing email campaigns.

6. Poptin

With Poptin, you can create amazing popups, options, and forms in no time. 

Poptin popup plugin tracks the behavior of website visitors and accordingly shows them the right content at the right time.

This, as a result, increases leads, gets customers to subscribe to a newsletter, increases their engagement and retains visitors that are just about to leave website using exit intent technology and many other triggers.

7. Mailchimp

This module provides collaboration with MailChimp, a well-known email delivery service. The module provides the following features-

  1. Allows website users or visitors to choose the email lists which they want to be in and out
  2. Lets marketing teams generate and send MailChimp email campaigns from the site
  3. Marketing team and users both can view a history of emails they have been sent from Mailchimp
  4. Ensures that the email delivery service is efficient, simple and precise

8. Personalize

Personalize module comes with an array of extendable plug-ins and APIs to tweak Drupal content for giving it a personalized touch. Two fundamentals of this module are-

  1. Personalizing content should be easy for anonymous users as it is for authenticated users
  2. Personalization should continue to work even when the pages are fully cached (including in varnish and CDNs).

9. Loopfuse Integration

No matter whether you are running SMBs or MNCs, you can integrate this module on your Drupal website with LoopFuse Oneview to automate marketing processes. It facilitates enterprises to automate web activity tracking, lead qualification and lead scoring activities. 

Know more about marketing automation from here:

[embedded content]

10. Silver Pop Engage

Silver Pop Engage module caters to the sophisticated marketing automation product capabilities by integrating its Web Tracking API and XML API to allow tracking a user through various flows and levels of processes.

An anonymous user is allocated a distinctive cookie value as a result of which whenever they trigger any custom events, it gets stored in Silverpop’s Engage database. 

With the Engage Marketing Automation product, you can:

  1. Elevate the number of leads entering your pipeline and nurturing them until they are sales-ready
  2. Easily create multi-track drip campaigns driven by leads’ behavior
  3. Implement relevant communications and follow-ups constantly to keep your potential customers occupied
  4. Use several scoring models to score as per specified behavior and demographics.
  5. Establish a substantial marketing ROI by measuring the influence of campaigns.

11. Wildfire Email Marketing Platform

Wildfire is an email marketing system that incorporates completely into your website to allow the marketing team to send intuitive bulk emails to the subscribers in just a handful of clicks.

Any normal Drupal content can be put straight into an email hassle-free. The module also offers mail templates, list management, content management, and job tracking tools that are present in your Drupal website.

The marketing team has to just choose the stories that they want to include in their mail and rest WildFire takes care of. However, the prerequisite to use this module is to have an account with Wildfire HQ to perform a mail-out.

12. Automatr Marketing Automation

This is currently the only marketing automation tool and the first one as well that is specifically built for Drupal and other open-source platforms. It installs the basic integration code for Automatr on your Drupal website.

Below are the features it offers-

  1. Employs cookie and IP information to track every visitor on the website. It registers each page visit and download
  2. Keep a record of form submissions and tie them to the respective visitors so that you can analyze their actions.
  3. Showcases consolidated visitor history. 
  4. Powerful reporting
  5. Deploys SendGrid (highly efficient email distribution cloud) on the back end. And it is included in the cost.

13. Salesforce suite

This suite of modules supports integration with Salesforce by aligning Drupal entities such as users, nodes, files, with Salesforce objects such as contacts, organizations, and opportunities to perform more actions other than simply pushing or pulling information from Drupal to Salesforce or another way round.

Changes can also be made in real-time or independently during the scheduled runs.

Conclusion

To sum it up, marketing automation amalgamated with Drupal is the way ahead for businesses to design and deliver excellent experiences. It will facilitate enterprises in evaluating the levels of engagement which their site provides to the potential and existing customers. 

As consumers become more demanding and data growth breaks out, progressive companies will look forward to emerging technologies to lead in an era of intelligent and automated customer experience. 

However, the success of such content management and marketing automation solutions will depend on the ease of adoption and its ability to scale across millions of customers/ across locations while ensuring that errors and bugs are being fixed on a timely basis.

Oct 16 2019
Oct 16
Integrating CRM into web technology has come as a turning point in business process automation. Well, enterprises can now easily evaluate and manage their contacts, existing clients, and leads or prospects generated through the marketing campaigns on social media platforms without any nuisance.

 

Drupal integrates seamlessly with third-party applications catering to varied verticals and industries, making it a perfect building block to create a robust functional system

 

Given the fact that Drupal integrates seamlessly with third-party applications and systems catering to varied verticals and industries, it accounts for a perfect building block to create a robust functional system.

 

Drupal when integrated with CRM, makes an apt solution for handling colossal user and content databases

 

Drupal when integrated with CRM, makes an apt solution for handling colossal user and content databases. And all this comes to reality because of Drupal’s highly modular and scalable architecture. However, the best part of it is that it gives substantial operational efficiency through marketing automation.

This blog will elucidate some of the best enterprise-level CRM integration for your Drupal website and its modules and distributions that will help you create a robust CRM strategy for your business.

Benefits Of Drupal and CRM Integration

There are several benefits of integrating Drupal site with a third-party CRM solution. The most obvious ones to native CRM in Drupal comprises of-

 

CRM interfaces can easily leverage Drupal’s growing suite of mobile and responsive tools and themes. 

 

  1. The ability to utilize CRM data as content, or the ability to showcase aggregate CRM data on the website.
  2. More chances to integrate CRM data with Drupal dedicated tools- such as data visualization tools, geo-mapping tools, etc.
  3. Reduced staff training costs- as the staff doesn’t need to get trained on multiple platforms.
  4. A considerable amount of reduction in technical risk as all the tools will rely on a single, Drupal framework.
  5. Potential reductions in hosting and IT costs.
  6. The ability to customize your CRM solution up to 360 degrees.
  7. Users or site visitors registering for events, making donations or payments, or engaging in other website transactions are ensured a more seamless and interface-friendly experience.
  8. CRM interfaces can easily leverage Drupal’s growing suite of mobile and responsive tools and themes. 
  9. Tracks competitors and manages every opportunity through various built-in tools. Faster response to any client that enquires about services or products to show them you care about their business.
  10. Proficiency in managing complex engagement scoring or engagement analytics.

Modules and Distributions For Integration

There are a plethora of modules and distributions in Drupal that one can leverage and integrate with third-party tools and CRM. Take a look-

1. Webform CiviCRM Integration (CiviCRM)

Various features available in CiviCRM
This module lets you receive the data input in the specific format you want. You can also create & update contacts, sign-up forms, opt-in forms, tags, relationships, cases, and membership & contributions forms via these robust and user-friendly webforms that incorporate effortlessly into your Drupal website.

Its other features include-

  • Auto fillup of forms for already signed in users or anonymous users following a personalized link from CiviMail.
  • Use CiviCRM contact data to showcase customized messages, emails or set access restrictions to the form.
  • Approve credit-card payments for events, memberships, and contributions.

Available for - Drupal 7 | Covered by Security Advisory

2.  RedHen CRM

RedHen is a flexible and light-weight Drupal-native CRM that manages information about contacts, organizations, and their relationships with each other

RedHen is a flexible and light-weight Drupal-native CRM that manages information about contacts, organizations, and their relationships with each other. It comprises of an automated filter in the UI to let you filter by any field you add to contact, and a smart find-and-dedupe interface to keep contacts and the associated data spick and span.

It also provides engagement tracking, event registration integration, and customizable one-page donation forms. 

Available for - Drupal 7 | Covered by Security Advisory

3. Salesforce Suite

The Salesforce Suite enables the integration of Drupal and Salesforce, as a result of which, Drupal entities (for example, users, nodes, files) are synchronized with Salesforce objects (for example, contacts, organizations, opportunities). 

In addition to this, it also provides the ability of mapping tool that can push Drupal data to Salesforce as well as pull, or import Salesforce data into Drupal.

The changes can be made in real-time or independently in batches during cron run.

Available for - Drupal 8 | Covered by Security Advisory

Watch this video to find out more on the same-

[embedded content]

4. Webform2Sugar (SugarCRM)

There are two modules that connect to SugarCRM from Drupal. They are

  1. Drupal to Sugar
  2. Webform2Sugar

This module, however, in itself is available only for - Drupal 7 and not covered by the security advisory

  1. Drupal to Sugar- 

The integration of Drupal and SugarCRM at webforms level results into a more powerful business solution, where an innate GUI is integrated with these both in the admin section

The integration of Drupal and SugarCRM at webforms level results into a more powerful business solution, where an innate GUI is readily integrated with these both in the admin section, to provide a more intimate mapping of modules and related fields without the need for any custom coding.

However, in case you have a multi-page webform, this module won’t function as required.

Available for - Drupal 7 | Covered by Security Advisory

B. Webform2Sugar:

This user-friendly module works fine even if you have a multi-page webform. Similar to that of Drupal to SugarCRM, the mapping of the fields can be done directly from the admin UI. It can also capture webform results as a new lead in SugarCRM.

Available for - Drupal 7 | Not Covered by Security Advisory

5.  Zoho CRM

Zoho CRM suite of modules ensures integration of Drupal with Zoho CRM. It ensures streamlining of Drupal objects (users, nodes, Ubercart orders) with Zoho CRM modules (Contacts, Accounts, Potentials, etc) to enable easy exchange of data from both ends. 

It also defines the mapping between fields in the Drupal object and Zoho CRM module to send and receive data.

Available for - Drupal 7 | Not Covered by Security Advisory

6.  CRM Core

With this module, you can manage contacts, activities, and relationships in your Drupal website. It also provides immense support to these entities and integrates several tools to make it easier for further support on the website.

It's features include-

  1. User sync allows contacts to be linked with user accounts.
  2. Match provides support for duplicate records
  3. Offers central repository for reports
  4. Allows administrators to handle the UI for managing contacts.

Available for - Drupal 7 | Covered by Security Advisory


7. Leadsquared Integration

The Leadsquared CRM module integrates with the Drupal form to capture the leads. The leads are captured majorly during:

  • Registration
  • Form Submit
  • After publishing/payment/update of content

Available for - Drupal 7 | Not Covered by Security Advisory

8. Pardot integration

Pardot facilitates the marketing and sales department to create, deploy, and manage online marketing campaigns that can increase ROI and maximize efficiency

Pardot provides a software-as-a-service marketing automation application to facilitate the marketing and sales department to create, deploy, and manage online marketing campaigns that can increase ROI and maximize efficiency. It features certified CRM integrations with salesforce.com, NetSuite, Microsoft Dynamics CRM, and SugarCRM, to empower marketers with lead nurturing, lead scoring, and ROI reporting for creating and qualifying sales leads, contracting sales cycles and displaying marketing accountability.

Available for - Drupal 7 | Covered by Security Advisory

9. Freshchat

This module helps you in engaging your site visitors and users to improve sales, gather feedback, and provide support.

Features include-

  • Uses bot for the quick response

Engage dynamically with users through contextual and timely messages. The bot helps in capturing leads, validating and qualifying responses, and auto-uploading them into your CRM. Customize bot messages to deliver the right experience.

  • Fetches more info to improve sales

With details available such as events timeline, user information, and social profiles, know what your visitors are up to. Fetches more info from external tools like CRM or order management systems for more relevancy.

  • Retain customers

Setup in-app campaigns to get users, new users, onboard, retain old ones and re-engage lapsing customers. Send announcements, get feedback, and share product best practices inside the product to bridge the gap and maximize the impact.

Available for - Drupal 8 | Not Covered by Security Advisory

10. SnapEngage

Increase engagement with your visitors and improve your conversion rate to convert visitors and potential leads into customers

It is a straight-forward and streamlined live chat service. Increase engagement with your visitors and improve your conversion rate to convert visitors and potential leads into customers. Live chat with your visitors from your favorite instant messenger or mobile device and easily integrate with your existing CRM or Helpdesk solution.

Available for - Drupal 7 | Covered by Security Advisory

11. Optify

Optify offers a digital marketing software suite to easily create and manage several lead generation programs, nurture prospects, prioritize the best-performing programs and align the reporting of client results-just from one login.

In addition to this, it comprises of integrated SEO, email marketing, landing pages, lead intelligence and nurturing, contact management and seamless integration with Drupal.

Available for - Drupal 7 | Covered by Security Advisory

12. Vtiger CRM

vtiger written  inside box with two way arrow
                                                                Source: Drupal.org

Vtiger CRM comprises of three separate modules, each having distinct functionality. Let’s find out more on this-

  1. Vtiger CRM

This is the base module that provides forms for manipulating settings essential to connect with Vtiger CRM, along with the synchronization page and the VtigerCrmApi class with methods.

2. Vtiger Entity

It provides functionality that allows transferring any fieldable Drupal entity to any Vtiger CRM entity.

3. Vtiger Webform 

This module provides a similar field-mapping UI to specify mappings between Webform components and Vtiger CRM modules. A new Vtiger record is created every time upon the submission of the Webform.

Available for - Drupal 7 | Covered by Security Advisory

13. Re:plain

Re:plain written inside the box                                                                         Source: Drupal.org

It is a flexible and scalable module as it lets you add those functions only that you need as per your business requirements

Re: plain makes communication simpler by providing you with your messenger from where you can directly chat with customers instantly. It is a flexible and scalable module as it lets you add those functions only that you need as per your business requirements. As a result, you can see a significant boost in your and your customers’ revenue.

Its features include-

1. Unlimited Operators

An unlimited number of people can respond to clients with the further option of transferring clients between operators.

2. Template answers

Insert and utilize answers to a similar type of question to save time.

3. Scheduling

Set this module to off or on mode automatically as per your working hours.

4. Integration With Google Analytics

Send data directly to Google Analytics for deep insights.

5. Banners

Use this feature to announce a sale, promote a new service, or just draw your clients’ attention to an FAQ section.

6. Custom Forms

Collect your visitors’ information in customized forms. You can also customize the fields as per your requirement.

7. Video Welcome

Increase the engagement of users by creating and uploading a video on YouTube and setting this link under the Video welcome feature.

8. Active Invitation

Specify the time when you want your visitors to see the welcome message.

9. Relevancy

Integrate it with your mobile applications, CRM, support services, and ERP to leverage the data insights it offers. It will assist in tapping the potential customers at the right time and thus, increasing the overall ROI.

Available for - Drupal 8 | Not Covered by Security Advisory

Final words

If your organization can integrate and deploy Drupal with any of the above-listed CRMs, there are no second thoughts that your organization will enjoy streamlined and optimized business processes in the long term. Consequently, it will strengthen sales and also make the whole process much more effective and capability-driven.

That said, Drupal installations are all unique because of the different modules and customizations that they use, so integration has to be set up differently by an expert.

Every integration module is not ready-to-use, so special care must be taken to ensure compatibility and effectiveness. 

Srijan has a vast experience as well as skills that require integration of Drupal with CRM applications. It has helped its clients in building a reliable CRM strategy. Contact us now! 

Sep 26 2019
Sep 26

Search Engine Optimization (SEO) is the chief ingredient in preparing the recipe of top ranking on Google. SEO assist websites in acquiring traffic from organic, natural, or editorial search engine results. There are several other factors also that affects the ranking of the website, such as quality of content, site loading time, backlinks, and responsive designs.

Further, Drupal being a robust and highly customizable website content management system is considered as the most SEO friendly platform. Its unconventional architecture encourages site-builders to implement ethical SEO practices in their workflows, just to name a few, from  correct tagging of content,  and SEO-friendly naming conventions, to make your site search-engine friendly and user-friendly. 

Thus, with targeted content, properly coded website and theme, and installation of SEO modules can help organizations to make a success story seamlessly.

Integrate These Drupal SEO Modules For Better Visibility & Ranking

Text written horizontally and vertically inside box
Following is a Drupal SEO-friendly modules checklist that you can get ahold of to highlight your site-

1. Pathauto
One of the most essential modules of Drupal is the Patghauto. It saves your valuable time, which you devote to create the path/URL aliases. It does so by automatically creating URL /path aliases for the contents (nodes, taxonomy, terms, users) based on configurable patterns.

For instance, we configure our blog entry as blog-entry/[node:title]. And this blog post is published with the title, “Embracing Drupal SEO modules”, Pathauto will instantly generate an SEO friendly URL as “Blog/Embracing-Drupal-SEO-Modules” instead of “node/92”. 

2. SEO Checklist
If you are aware of the SEO basics and manage multiple websites at a time, then this module is perfectly suitable for you. With SEO Checklist, you can keep your SEO practices in check. 

It eliminates guesswork by creating a functional to-do list of modules and tasks that remain pending. The regular updates of this module make on-page search engine friendly without any hassle.

Two boxes interconnected with each otherSource: Drupal.org

It makes work simpler by breaking down the tasks into functional needs like Title Tags, Paths, Content, and much more. Next to each task is a link mentioned to download the module and a link to the proper admin screen of your website so that you can optimize the settings perfectly. It also places a date and time stamp next to each item when a task has been finished. This, in turn, provides a simple report that you can share with others showing what’s been done.

3. Metatag

This module allows you to automatically provide structured metadata, i.e., “meta tags”, about a website. In context with SEO, when people refer to meta tags, they usually mean referring to the meta description tag and the meta keywords tag that may help enhance the visibility and rankings on the search engine results.

4. XML Sitemap

Drupal XML sitemap module once installed will provide your website a sitemap itself and make it searchable by search engines. This, as a result, will help search engines in understanding the hierarchy of your website and accordingly crawl in a tree sort of manner.

The best part of having this module is the flexibility to include or exclude certain pages from the sitemap of your website. This means that you don’t need to get those pages indexed which you are not using anymore.

5. Google Analytics

The Google Analytics Module helps in tracing the footprints and general behavior of users concerning their interaction with the landing pages and the content present on the website. Not only this, but it also provides insights into your visitors including demographics, where they found you online, what keywords they used to find you and a lot more.

Further, it also eliminates the tracking of in-house employees who might be visiting the website very often and could be counted as visitors and unique sessions. 

6. Real-time SEO For Drupal

The real-time SEO module for Drupal relieves you from the tedious task of optimizing content by including keywords in a fast & natural way.

It works best in combination with the Metatag module. How?

It checks whether your posts are long enough to secure a place in SERPs, the meta tag is included with the high-ranking keyword present in it if there are subheadings in the post or not, etc.

This evaluation makes sure that you don’t miss out on a single opportunity even to increase organic traffic and hence improve your ranking.

7. Search 404

The search 404 module rescues your website by controlling the bounce rate, which search engines use as a criterion to rank websites’ quality. Whenever users come across some pages showing 404, this module automatically redirects them to the internal site search with the related term in the URL.

Besides, it helps you in retaining visitors coming in from old URLs linked from other sites or search indices.

8. Alinks

Alinks module automatically replaces keywords with links in the content body with a list of links. You can set the content type on which this should work by simply setting up the phrases and links through the administration interface. And from here onwards, the module will take over and replace the keyword phrases in the body field with links to the pages to specify.

9. SEO Compliance Checker

The SEO Compliance Checker analyzes the node content on search engine optimization whenever it is created or modified. Whenever a publisher saves or previews a node, the module performs audits and gives the user feedback on the compliance of the rules in the form of a result table to the editor. 

This can help SEO beginners immensely as they will get to know about the areas where they need to optimize content more accurately.

This comprises of scanning of alt tags in the image, usage of keywords in the node titles, keyword density on the body, etc. 

10. Schema.org Metatag

It maintains structured data and tags so that you can add them to your HTML to improve the way search engines read and represent your pages on SERPs.

11. Taxonomy Title

Taxonomy title modules let you edit the heading tag (H1) of the taxonomy page. The importance of H1 tag can’t be neglected and overlooked for it forms a crucial element in SEO and helps in achieving rank on the top page of SERPs. 

People interested in SEO may prefer to add more user-friendly, keyword-rich, and descriptive words to this heading element.

This is the only module that lets you control that title individually for every term. 

12. Menu Breadcrumbs

As per its name, it appends a breadcrumb menu line to the top of the website. It also provides substantial benefits for both users and search engines. Well, first it lets the user know where he is in the navigation hierarchy, and secondly, there is an anchor text in the breadcrumb, which internally links it to the appropriate URL.

13. Power Tagging

The PowerTagging module evaluates content from Drupal nodes and the associated file attachments. It interprets content and concepts automatically through thesaurus or taxonomy even if synonyms are used. Users can consolidate all suggested tags or index the bunch of Drupal content nodes automatically, leading to the formation of a semantic index. This practice makes search comfy than ever before.

Features-

  • Customizable entity’ tags with manual tags combined with an auto-completion of tags already used.
  • Multilingual tagging is supported
  • All content can be tagged automatically in one go with Bulk-tagging

Learn How To Use Taxonomy to Tag Content in 9 Steps

 

14. Similar By Terms
Similar by terms module tends to provide a framework for content items by showcasing a view block with links to other analogous content. The similarity is based on the taxonomy terms assigned to content. Views are available based on similarity within each of the defined vocabularies for a site as well as similarity within all vocabularies.

15. Footnotes
Footnotes module can be utilized for creating automatically tallied footnote references into an article or post, for instance, to add a reference to a URL.

16. Require on Publish
This module comes handy when fields to be required the only option is to be filled at the time of publishing content or if it is already live. This can be used when you have fields available such as tags or SEO information on your content that editors generally don’t need to fill up until the content is going live.

17. Auto Recommend Content Tags (Thru Apache Stanbol)
This module uses Apache Stanbol via a web socket to recommend real-time tags, or even find keywords while the editor is writing, editing, or creating a new piece of content.

18. Drupal SEO Tools

This is an all-inclusive SEO suite. This module offers a dashboard which encapsulates a plethora of SEO functions for the sites, from keywords, titles, tags, paths, redirects, sitemaps to Google analytics, webmaster tool, etc.

However, it has some prerequisites that must be met to make full use of the suite. 

19. Redirect

Redirect module lets you rechannel an existing URL to another one. Additionally, it keeps the two links on your website without delivering a 404 not found error. It also works wonder in case you want to handle duplicate content.

Watch this video further to understand more about Drupal 8 SEO-

[embedded content]

20. Global Redirect

The problem with the alias system in Drupal is that the default URL is still present, i.e., there are still 2 URLs pointing to the same content on your website. The search engine bot can identify the duplicate content easily, and so it can put an impact on your website ranking.

Global Redirect module cures this problem by checking if there is an alias for the existing URL and if it is, then it redirects to the alias URL.

Besides, it exhibits other features like removing the trailing slash in the URL, cross-checking that clean URLs are being implemented correctly and checking permission and access to nodes, URLs.

21.Content Optimizer
Content optimizer module improves your website’s search engine ranking by refining the on-page optimization factors and ensuring that your content meets all the requisites listed under Drupal SEO best practices. It instantly audits your website content through SEO analyzer and guides as per the content stats obtained to improve search engine rankings.

22. Site Verification
Search engines rank your website when they are able to properly navigate through your website and also index it. Now, to know if your site is crawlable you need to verify it. This site verification module helps in the same by either uploading an HTML file or adding meta tags. It supports search engines like Google, Yahoo, & Bing. 

You can use this in combination with XML sitemap to let search engines index your up-to-date website content appropriately.

23. Links Checker
Broken things are considered unlucky and so as is the case with broken links for your website ranking. Broken links put a bad impression on search engines. Hence, Links Checker module can help specify the failed results which you can rectify easily.

24. Menu Attributes
The Menu attributes module facilitates the admin to point out specific attributes comprising of id, name, class, styles and rel.

This module is helpful in your SEO strategy especially when you want to “nofollow” certain menu items to mold the flow of PageRank through your site.

Are You The One Who Is Offending Search Engines? --- Follow These 5 Tips To Avoid Common SEO Mistakes

“To err is human, to forgive is divine”- Alexander Pope

After all, we, being humans, can also flub in achieving our goals. However, if not rectified on time, can result in heavy loss. And here by heavy loss means, your site won’t show up on top pages of the search engine results.

Notebook, phone and glasses kept near a man

Perhaps, you can prevent it from happening by following these 5 simple tips and tricks-

1. Include top-ranking keywords in your content

The primary task to be SEO-friendly is to focus on the keyword strategy for your website. Use various keyword tools, like Google Keyword Planner or SEMrush to find out the high ranking keywords that you can use in your website content ( landing pages, blogs, and other information pages) to secure top rank on the search results of the search engine.

2. Ensure that your URLs are search-engine friendly

Another important factor in our SEO checklist is to URL structure. Yes, it does matter! Search engines like Google, Bing put a lot of stress on the use of user-friendly URLs. Such clean URLs make the content more readable and also give a clear picture of what the page is about. Example of an unambiguous URL for a service page of a site would be something like this-www.example.com/services.

As discussed above, the Pathauto module is an excellent Drupal module which makes this process a whole lot easier by converting complicated URLs to clean and clear URLs.

3. Don’t underestimate the power of metatag

Metatags are those micro-sized text pieces that you (should) place in the header part of your website to make search engines aware of what the web page is about. 

In case you don’t include metatags in your content, the search engines are forced to guess what the page contains and trust us, this could seriously piss off search engines, and eventually, your SEO ranking will suffer!

Fortunately, you don’t need to indulge yourself into the code of your Drupal site’s web pages to implement meta tags since Drupal already has a solution (module) for it- Metatag module

With the metatag module, you can automate the process of placing meta tags and HTML title tags in the header of your webpage.

4. Indulge Users With Your Mobile-friendly Website

The changing technology scenario has brought everyone together with the advent of mobile phones, especially millennials, who use their smartphones to access the internet for every small detail.

Having said that, Google now prefers those websites who offer users mobile-friendly interface. Therefore, it’s high time that companies optimize their Drupal website well to adapt to the screen size of different devices. Enterprises can use content-as-a-service (CaaS) to push their content via APIs on their Drupal website. CaaS automatically adjusts the size and format of the content, increasing the feel of the content.

That’s why Drupal 8 is considered as an out-of-the-box solution for driving the SEO compatibility of the website effortlessly.

5. Keep Drupal updated

Drupal, being open-source software, and managed by a huge community of developers is regularly updated to incorporate new features and fix bugs and errors to keep potential security risks at a dead end. 

This has two benefits, one- your website will be safe from any cyber-attacks and second, search engines list those sites on top which keep vulnerabilities at bay. 

Hence, keeping your website updated is an important factor in your Drupal SEO journey. Make sure that you keep on updating your Drupal site as soon as an update is rolled out to keep website ranking high on SERPs.

Final Words

Confining yourself to just creating a website and pushing content on it is never enough to get your website on the top search results of search engine pages especially when there is a slew of websites present on the world wide web.

Search engine optimization for Drupal is a homogeneous practice that evolves as you keep investing time on it. The more you practice, the more is the visibility! Integrate these modules onto your website and also follow the mentioned Drupal SEO guide religiously to witness a significant boost on your website’s ranking on search engines. After all, it’s worth a try!

Sep 22 2019
Sep 22

Though big data, AI, Cloud, blockchain, and open-banking have been here since quite a long time to transform the way financial services are designed and rendered, there is still a roadblock in the way ahead - core banking infrastructure.

Open-source banking can level the playing field and enable incumbent players to take advantage of these powerful trends and transformative technologies

Outdated architecture, costly licenses, specialized consultants-all of these hinder accessible FinTech services from keeping up the pace with current trends even in this era of smartphone ubiquity, where with one click, everything gets done!

Open-source banking can level the playing field and enable incumbent players to take advantage of these powerful trends and transformative technologies.

By leveraging common technology infrastructure, it can analyze the customer data and deliver a seamless banking experience via the mobile phone, leverage the power of the cloud, connect into a distributed ledger and digital payments, and more.

As per the PWC Report, there are over 80% of the financial institutions that believe business is at risk to innovators; 56% believe that they have put the transformation in their core strategy ; 82% expect to increase FinTech partnerships in the next three to five years, and 77% expect to adopt blockchain as part of an in production system or process.

Drupal is the perfect website content management framework to create open-source banking platform where it will not only reduce costs significantly, free up IT teams to focus on innovation but also enable greater security and extensibility to new devices and delivery channels.

Challenges Faced by FinTech Ecosystem

Though FinTech solutions have been doing the rounds for quite some time now in the market, there are a few constraints that are still stonewalling the industry’s growth. Some of these are underlined below:

  1. Market regulators

    1. Balancing data privacy needs with the industry’s requirement for open data
      Market regulators are having a hard time in striking the balance between consumer needs of data security & data privacy and industry’s need for open data for insight generation. Data privacy is critical to safeguarding consumers’ trust in the FS space, however, stringent practices on data sharing can hamper the free flow of data crucial for creating innovative solutions. Data privacy is critical to safeguarding consumers’ trust in the FS space
    2. Aligning with the anticipated risk associated with advanced technologiesMarket regulators need to match the pace with the fast-changing technology landscape to fully understand the evolving risks on the wider ecosystem. For example, cryptocurrencies could be used for money laundering, and AI-driven algorithm trading could lead to system-wide risks by increasing market unsteadiness.

      Also, AI-led models for credit assessment and underwriting could lead to a segment of one and end up pricing certain customer segments out of the market for good.
      Various elements and text in one rectangleSource: Mastercard

    3. Ensuring stability in the FinTech sector in this close network of world
      It’s evident that FinTech players have created a diversified FS ecosystem which has led to the strengthening in interconnectivity, but it has also brought forth new systemic risk by launching disruptive models.

      For instance, local regulators are grappling to supervise global technology firms who operate across multiple jurisdictions, leading to regulatory arbitrage.

  2. FS Incumbents

    1. Reskilling people for the modern digital world
      It is one of the key challenges that industry is right now facing and i.e., “How to adopt workforce re-skilling strategies to endure the technology-led revolution”?

    2. Regular monitoring of advanced technologies
      Such regulations have clipped conventional players’ ability to experiment with advanced analytical models in areas directly influencing customers
      The FinTech industry is finicky about consumer security necessitates that advanced models should be employed in sensitive areas such as lending pass the test of explainability to protect consumer interests. Such regulations have clipped conventional players’ ability to experiment with advanced analytical models in areas directly influencing customers.

  3. FinTech players

    1. Tackle the cyber-security concerns to gain consumers’ trust
      The advancement of technology has its pros and cons. And one of the cons is increased cybercrime! Its now FinTech players and their partners’ responsibility of ensuring that appropriate digital control measures are taken to secure customers’ trust and assets.
    2. Lack of early-stage funding
      Despite the FinTech space appealing sustained investments over the past few years, many smaller startups still struggle to gain early-stage capital, prohibiting their potential to scale up.
    3. Managing regulatory uncertainty
      Although Indian FinTechs have worked in an enabling regulatory environment, they still have not been resistant to regulatory uncertainties. Many FinTechs who had built their business models around Aadhar-enabled services for customer onboarding had to pull it out due to physical mandates, leading to the disruption in their operations.

How Drupal Modules can Power FinTech?

Organizations planning to or delivering FinTech solutions need to maintain a robust online presence. Drupal has been powering the landscape of FinTech with its extraordinary capabilities.

However, unlike with media publishing, education, or government verticals, which have dedicated distributions, there is no such scenario in FinTech.

The mentioned ones satiate the needs of consumers by providing related features with ease-

  1. Commerce PayPal
    Commerce Paypal incorporates PayPal into the Drupal Commerce payment and checkout programs. Currently, it lends support to:
    1. Off-site payment via PayPal Payments Standard (WPS) & PayPal Express Checkout (EC),
    2. Off-site or on-site payment via PayPal Payments Advanced (PPA),
    3. Payflow Link (PFL), and
    4. On-site credit card payment via PayPal Payments Pro (WPP).
      The PayPal WPS / EC Integration supports PayPal’s Instant Payment Notifications (IPNs) to respond to authorizations, captures, voids, and refunds with full logging for testing and debugging.
  2. Currency
    Currency takes this overwhelming task on it by converting currency with its inbuilt conversion and price display input filter.
  3. Commerce Paybox
    Paybox is integrated with Drupal Commerce payment and checkout system. It offers two mechanisms - Paybox service and Paybox Direct (PPPS), wherein former service offers a payment solution on its server and redirects customers to paybox.com during the payment process and the latter one supports on-site payments. This implies that payments are done on the Drupal site.
    Installing HTTPS before implementing this payment method is considered good practice to ensure security.
  4. The Google Currency Converter
    The Google Currency Converter module has integrated Google finance calculator within it to convert currency on the website. It also offers an option where you can set your default currency and default currency conversion format.
  5. BudgetUsers can set up a budget with this module to manage their finances. The list of requirements goes like this:
    1. Data Structure- Data will be broken down into four main taxonomy terms: income, expenses, debt, and savings. From there, sub-terms can be added by the site administrator to further classify data items. Main terms can also have sub-terms, where the user can enter their description.
    2. User-interface- The data entry will be a multi-part question and answer session, with help pop-ups to help users enter data and select sub-terms from a drop-down menu to manage their finances.
    3. Security- Appropriate measures will be taken to ensure the privacy and security of the user and their data. Only the user, system administrator, and financial adviser role will be able to view the individual user’s data and report.
    4. Recommendations- The finance recommendations will be based on the user data’s deviation from normal as a percentage of net income for his/her income group. Additionally, the site administrator will be able to set thresholds where red flags will be raised along with the description for the user to understand the reasons behind it.
    5. Aggregate Reporting- The module will produce aggregate reports in spreadsheets with 6 months cost projections. These reports will be exportable in excel spreadsheet format.
    6. Open Source- The module will be licensed under the GPL and contributed to the Drupal community.
  6. UC OmniKassa
    Integrate Rabobank OmniKassa  to make it as a default checkout method for UberCart.

    This module offers different payment configuration methods (iDEAL, Credit Card, transfer) to use via SHA-1 encryption for secure payment status verification. All settings are adjustable in admin form.

  7. Ubercart Affirm
    Affirm is an off-site payment method and a financing alternative to credit cards and other credit payment products. This project integrates Affirm Credit Payment Gateway into the Drupal Ubercart payment and checkout systems.

    Watch this video to understand further how technology is changing the Finance sector-

    [embedded content]

     

  8. Commerce Lending Works
    Lending Works aligns investors with borrowers directly who want to spread the cost of their purchase. It offers flexible finance on purchases from £50 to £25,000, without any hidden fees.

    This module is useful for a retailer in:

    1. Boosting sales- Finance services can shoot up retailers’ sales by 17% and order value by 15% on average.
    2. Refined customer experience- Customers enjoy the hassle-free process whether its online, in-store or over the phone.
    3. Rocket science made simple- The integration process is super-fast and provides round the clock support to help them analyze sales on one easy-to-use online account, or connect by API.
    4. Flexible finance - Split small purchases into 3 interest-free payments or Finance from 6 to 60 months on purchases from £250.00
  9. Drupal Finance
    Drupal Finance aims at providing complete business accounting and finance solution. However, don’t use it in production as it is in the very early stages as of now and entity schema will likely change without any prior information.

The following features are either currently available or are in development:

  • Organizations
  • Financial Documents Entity Type with Bundles
  • Supplier Entity Type
  • Financial Field Type to store the monetary value of a particular currency, along with performing currency conversion based on the primary currency of the organization.
  • Formula Field Type (experimental) which can be used to dynamically perform calculations based on mathematical equations and can contain Tokens to include values from other fields.

    It comes in handy where value is based on values of other fields, such as adding together an invoice total amount and tax.

    Integration with the Currency module, along with an Exchange Rates Plugin which provides real-time and historical exchange rates powered by ExchangeRatesAPI.io.

Distributions

  1. Guardr
    Guardr is a Drupal distribution made in combination with the modules and settings to upgrade the Drupal’s application security and availability to meet enterprise security requirements.

    Sufficient information must be fed to the system so that it can store it and compute it to prevent any service disruptions caused by power outages, hardware failures, and system upgrades.

  2. Droopler
    Droopler is a Drupal 8 distribution offers pre-built websites with complete functionalities so that you can tweak as per your requirements and get your good-looking website ready swiftly.

    Droopler is great for:

    1. Website factories - Used to build various microsites with editors having the power to edit content. Pick a theme to match your brand colors and get your website ready instantly.
    2. Corporate websites - Having a site is essential for all to stay in business but it's not necessary that all companies have an extravagant budget. Drooplers is a great start to create websites in a pocket-friendly manner.

      Custom Bootstrap 4 theme

      SCSS included and all variables & settings can be customized to match your needs.

      Built on Paragraphs

      Multiple boxes with lines drawn inside them
      Source: Drupal.org

      It uses Paragraphs module to create the pages. During the installation, you get one content type with various paragraphs (banner, feature list, text with an image on the site, headline text with background image), all themed and working exceptionally.

      Multi-language support

      Two languages are set by default for a demo with options to remove them/add more as in the case with any multilingual Drupal site.

  3. Seeds- Drupal Starter KitSeeds is a light distribution which SMEs can use to kickstart their projects irrespective of scale to speedily complete their projects.
  4. Panopoly

    A base distribution of Drupal powered by lots of Chaos Tools and Panels magic enacts as both general frameworks for site-building and a base foundation upon which other Drupal distributions can be built. 

Final Words

Consumer demands are taking a paradigmatic shift- and FinTechs are iterating on the product quickly to get ahead of demands by offering alternative financing sources, branch-less banking, and more. However, there is no need for enterprises to reinvent the wheel to achieve the necessary objectives, as the tools and technology that they need to deploy, Drupal, Blockchain, Cloud, AI, & Big data are all available commercially and they can leverage it to scale a comprehensive data ecosystem using APIs while mitigating risk.

They will either demonstrate significant improvements in automation, digitalization, analytics, quality, security, and compliance or else they will go backward compared to their peer group.

Here is to the hopes of using better technology and getting great business outcomes in the year ahead!

Sep 21 2019
Sep 21

Content has proven itself king time and again. The enthusiasm with which B2B and B2C companies are investing in content production, has however brought up a significant question- Are users able to find the relevant content?

Finding the relevant web content has been one of the biggest issues that enterprises and users both have been facing

Finding the relevant web content has been one of the biggest issues that enterprises and users both face and so, it needs to be addressed without further delays to avoid poor user experiences and negative sentiments. 

Additionally, big brands and companies also lose out on opportunities due to the content searchability issue, like failing to quickly come up in the search results for a given phrase or set of keywords, which can jumble the company’s revenue percentage.

The problem can be fixed with little effort for Drupal powered enterprises. They just have to inculcate content tagging while classifying their piece of content. 

Having said that, this blog will provide insights on content tagging, taxonomy, and how implementing these factors on your Drupal website can take your marketing efforts to a whole other level.

Why Does Strategic Taxonomy Matter?

Content tagging can be huge resource-demanding and tedious task, especially when done manually, leaving companies wondering even if it’s worth the efforts. So, before building your tagging taxonomy, it’s better to understand why it matters.

All your efforts put into procuring and producing content will go wasted if there is no one to read it

  • Searchability- For your targeted  audience to find it

Enterprises have diverse and in-depth categories of resources available but what if users visit the site and could not find the desired content, they’re going to leave of course. 

All your efforts put into procuring and producing content will go wasted if there is no one to read it. Thus, it’s better to help your targeted audience access your content in the simplest and convenient way through a proper tagging structure.
Box comprising circle in it                                                                 Source: Curata

  • Usability: For your internal team to leverage it

Content tags not only benefit users but also internal teams of the company, especially sales. Including tags such as buying stage, persona, industry, product line, and geographical region, will only benefit the sales team to leverage and share relevant content with potential customers that align with those components. 

It will facilitate key stakeholders in disseminating content in their network to move users through the preferred funnel

This strategic content plan and execution as per business goals will increase the shareability of content for your users and will also facilitate key stakeholders disseminate content in their network to move users through the preferred funnel.

  • Data Insights: For your analytics team to gain insights from it

Another key benefit of proper tagging taxonomy can be leveraged through tag structure. It helps in building custom segments of data for your analytics teams to extract data and insights on the content framework, calendar promotion schedule, and content production cadence, and audience preferences so that you can tailor your content accordingly.

  • Sales Acceleration: For your readers to navigate, curate and refer to it

The agenda has been always on enhancing user experience. If they have engaged with a piece of content that resonated with them, they are more likely to read more content on the same topic, category or style. Tagging taxonomy with simple tag filtering showcase users the next article they should read as in line with your preferred funnel structure.

If users have engaged with a piece of content that resonated with them, they are more likely to read more content on the same topic, category or style

All this can be achieved by simply organizing content through a strict tagging taxonomy.  A better content tagging structure can create more business efficiencies for users and internal teams- they can tangibly impact the bottom line!

Content Tagging and Drupal Taxonomy

In Drupal, taxonomy is the core module used for categorizing or classifying content being built on the website with the CMS. It is critical to the website’s information architecture, on both the back and front ends.

Taxonomies in Drupal consists of vocabulary associated with them. This vocabulary list helps CMS to determine what items belong with what types of content. Further, vocabularies have terms with them, where the list of terms define the contents of the vocabulary. 

These can be a part of a hierarchy or simply a compilation of tags. Tags group nodes (elements in Drupal sites that contain content; eg. articles and basic pages) together. These can then be referenced with the search on the website. 

Sites built on Drupal can have an unlimited number of vocabularies and terms, so complex sites can be built using the framework. These two elements associated with your website can serve several purposes, especially for displaying content and managing content assets. It can also be important for reference as well.

Content tags, on the other hand, are a great way to navigate websites. In fact, this type of tag often appears as a hyperlink that users can click on to view other content in the system that contains the tag. These are used within the content management system, say, Drupal, to organize, filter, and relate content for end-users.

These tags can be applied in a few different ways, depending on the system that is using them. Some systems will allow for the creation of highly controlled tagging lists that content providers can choose terms from. Other systems may supply a free-tagging method, where users just type in terms.  Some systems allow for both methods.

How to Use Taxonomy in Tagging Content?

Although you can optimize your content based on its type, you might also want to view content based on what it is about. Taxonomy allows you to link terms with the content which you can put to use in organizing and presenting content on your website. 

Taxonomy allows you to link terms with the content which you can put to use in organizing and presenting content on your website

You can refer to this blog , Adding Tags with Drupal Taxonomy In 9 Steps,  to learn using taxonomy in tagging content. There are nine steps given which you can follow to classify your content hassle-free and increase your site visibility.

How Drupal-powered Enterprises Can Benefit From Using Taxonomy?

Taxonomy plays an important role in content strategy as it can make sense of your organization’s content by supporting the following activities-

  • Search and Discovery

This is the most common and useful benefit of taxonomy-  as it facilitates search and discovery in knowledge-driven and Drupal-powered organizations; leading to improved discovery layers including search, related content, and personalization so that it can work across various content repositories and even multiple organizations. In the end, the objective is to empower users and knowledge workers so that they can quickly find what they need. Search is essential for their productivity  and taxonomy can ensure it to a great extent.

Search engines like Google and Bing will be able to easily determine the site’s content, architecture, design, and organization of the website files, and hence improving ranking on SERP.

  • Permissions or Visibility

The goals of Drupal-powered organization determines how best to use taxonomy, permissions & metadata to share the information (public, confidential, semi-confidential, etc.) within the organization with various parties. There are many nodes and specific content that only certain members with the organization are allowed to edit.

Developers can use the permissions in the administration page within Drupal to assign permissions and roles for registered users of the site

Developers can use the permissions in the administration page within Drupal to assign permissions and roles for registered users of the site. This ensures high flexibility to developers as  they can also modify the content which the public can view.

  • Repurposing

Re-using the existing content wherever it’s relevant instead of starting from scratch or simply recombining the taxonomy (if there is not even one in place to allow items to be found) into new useful information sets can save plenty of time and efforts of the organization. It can also help in reaching new audiences and reinforcing your message.

  • Future-proofing knowledge held in the business

Taxonomies are “knowledge insurance” that stores and shares classified information assets, to retain knowledge accessibility while people move on. Obviously, a taxonomy can also move by continuously evolving in line with the needs of the organization.

 6 Best Practices To Tag Content Well

  • Consistency is the key

Use clear, consistent tagging throughout your organization to provide a uniform experience to the customers. Marketing and sales team should  use the same taxonomy terms to tag content. 

However, if you won’t share tags from the same taxonomy, you are going to have a fractured website.

Too many tags oversaturate search results, and too fewer tags fail to provide enough personalized content

  • Strike the right balance

Users find it informative when tags are marked appropriately. Too many tags oversaturate search results, and too fewer tags fail to provide enough personalized content. So, it’s important to find the right balance.

  • Focus on the user

The right balance can be easily achieved by focusing on users’ experience. Ponder upon the tags before adding that, will it add value to users’ experience or is it just because you want the asset to get more attention on the site?

Three circles connected to each other

                                        Source: business2community

Take yourself out from the tagging equation and focus on the experience part, you’ll get a much clearer picture of which tags are and aren’t appropriate

  • Prioritize your time

Tagging consumes a lot of time so it’s a good practice to prioritize and maximize your time by evaluating the content. Find out which assets need more detailed tagging (for say, only those that will live on the site for a long time) and which can have more general tagging as they will change often (e.g. industry reports) so that you can your time and sanity.

  • Fill your content containers well

A tag associated with a topic having a  plethora of information within it is likely to keep a reader more engaged than a tag that has only one or two pieces of content. So, before creating a new tag, ensure that you have ample amount of content that could be tagged the same way.

  • Consider SEO while selecting tags

Use keyword planner tool to check SERPs and find out what keywords do users use to search the content-  is it the acronym, plural construction, or spelled out version. 

Drupal Modules

Here are some modules listed that work around the principle of taxonomy and content tagging-

The Power Tagging module is linked with thesaurus or taxonomy to interpret content and its concepts in Drupal. Users can easily curate all suggested tags at one place or can even compile collections of Drupal content nodes to create a semantic index. This makes search more comfortable than ever before.

It also allows you to customize your entity’s tags with manual tags and perform multilingual tagging. 

Features

  • Tweak your entity's tags with manual tags combined with an auto-completion of already used tags.
  • Supports multilingual tagging
  • Whole content can be tagged automatically at once via Bulk-Tagging

Available for - Drupal 8 | Not covered by Security Advisory

This Drupal module provides context for content items by displaying a view block with links to other similar content. The similarity is defined as per the taxonomy terms assigned to content. Views are available based on similarity within each of the defined vocabulary for a site as well as similarity within all vocabularies. 

Simply put, you can use this module by creating a free tagging vocabulary called “Tags” assigned to the content types on which you would like to display a similar view block.

Available for - Drupal 8 | Covered by Security Advisory

Good search engine optimization practices bring organic traffic to the website. And so this module helps in updating the heading tag at the top of the taxonomy term page so that it appears on top in SERPs. This is the only module that lets you control the title individually for every term.

Enterprises should add more user-friendly, keyword-rich, and describing words to this heading element. 

Available for - Drupal 7 | Covered by Security Advisory

Azure Cognitive Services API module  seamlessly incorporates intelligent features and technology into the Drupal applications, like Machine Learning, Artificial Learning, and Natural Learning Process, to detect speech, facial and vision recognition other than detecting the emotions. 

Among the 4 features it provides text analysis, API module is helpful for tagging

  • Azure Text Analytics API Module

Text Analytics API is a cloud-based service that provides advanced natural language processing over raw text and comprises of three main functions- sentiment analysis, key phrase extraction, and language detection.

Available for - Drupal 8 | Covered by Security Advisory

This module helps in optimizing content around keywords in a fast, natural, and non-spam manner. It also keeps a check on other SEO factors such as the length of the post, written meta-description using focused keywords, and subheadings within the post. 

This real-time page analysis ensures that your content is easily searchable and liked by users.

Available for - Drupal 8 | Covered by Security Advisory

It is a great SEO module since it takes away the boring and laborious task from you. It automatically defines URLs which are both user-friendly and relevant as per the category and page title. This clarity in classification helps users churn information with ease and you can also get brownie points from search engines.

Available for - Drupal 8 | Covered by Security Advisory

Metatag module facilitates enterprises to provide more metadata on their website. This includes tags, page titles, descriptions, etc. As a result, it helps Google in ranking the website in SERPs.

Available for - Drupal 8 | Covered by Security Advisory

It is a semantic vocabulary of tags that you can add to your HTML to improve the way search engines read and represent your page in SERPs.

Available for - Drupal 8 | Covered by Security Advisory

Final Words

Embracing taxonomy and tags to classify content is a great way to solve the problems of those organizations who possess a gigantic amount of data or are anticipating to create a huge amount of it in the future.

Also, since Drupal is open-source software, there is an outstanding opportunity for enterprises to learn from a community of developers and users. However, the foremost task that organizations should do is start thinking hard about what they are doing with their content once it is classified and how they intend to deliver it so that it serves best customers’ manifold needs.

Sep 20 2019
Sep 20

While compelling content marketing taxonomy in Drupal isn’t just about enhancing the searchability of your content but to also ascertain content priorities based on what’s in an item. However, there were 56% marketers from B2C and 64% marketers from B2B who didn’t even have a documented content marketing strategy as per this source. 

A content marketing taxonomy aids content strategizing by organizing content in an easy-to-understand way for marketers to analyze data and gaps

Let’s dive into this blog to learn using taxonomy for tagging content-

How to Use Taxonomy in Drupal to Tag Content?

Each set of taxonomy terms is part of a category set that you define and is called a vocabulary. Terms in vocabularies are that can be broken down further and can contain sub-terms.

Therefore, it is of prime importance to first understand how to create vocabulary-

1. Go to Manage >> Structure >> Taxonomy. By default, tags (as a vocabulary) is here.
At this place, we can add vocabulary by clicking on the + Add Vocabulary

Rectangle box with text written inside

Enter the name of the newly created Vocabulary along with the short description.

Box with name and description fields inside

2. Click on the Save button. You will be redirected to the Ingredients page, which shows a list of all the terms that you have added in this vocabulary.Box with text inside it

3. Now click on the Add term. Enter "Butter" in the Name field. Once done, click on the Save button.

Box with Add term title page

4. You will receive a confirmation about the term you created. You can also add more terms, like "Eggs" and "Milk".

5. In the Manage administrative menu, navigate to Structure > Content Types(admin/structure/types). Click Manage fields for your Recipe content type.

6. Click Add field, and enter values from the table below. Once done, click on the Save button and continue.

Field name Explanation Value Add a new field Select the field type Reference > Taxonomy term Label The title to give the field Ingredients

Rectangle box with Add field title page

Field name Explanation Value Type of item to reference The type of entity that is referenced by the field Taxonomy term Allowed number of values The number of values a user can enter Unlimited

Dropdown menu option in a box

8. On the following configuration screen, enter the values from the table below. Click Save Settings.

Field name Explanation Value Help text Help showed to users creating content Enter ingredients that site visitors might want to search for Reference type > Reference method Select the method used to choose allowed values Default Reference type > Vocabulary Select the vocabulary to choose allowed values from Ingredients Reference type > Create referenced entities if they don’t already exist Whether new ingredient terms can be created from the content editing form

Checked

Box with various fields and options

Click Save Settings. You will be taken back to the Manage Fields page. A message will pop up stating that the configuration for Ingredients is complete.

Box with manage fields page

And you’re done!

You can also watch the video shared below to learn further on setting up taxonomy.

Drupal 8 User Guide- 6.6. Setting Up a Taxonomy (1)

   Video Courtesy: Drupalize.me

Conclusion

Following the given steps will help you in implementing clear and concise content marketing taxonomy in Drupal, which as a result, will improve the readability of your editorial calendar. It will also allow all the stakeholders and team members to know what kind of content you’re creating in just a glimpse.

Happy Tagging!

Sep 19 2019
Sep 19

With the proliferation in the touchpoints that enterprises use to connect with customers and provide them with the valuable experience, it’s has become a tedious and challenging task to optimize the content far and wide.

Further, the number of devices that consumers use to access brand content- desktops, mobile phones, laptops, tablets, and smartwatches - with yet more looming on the horizon; have their own set of restrictions and specifications which again increases the complexities of content creators & marketers in the dissemination of the personalized content.

Also, this Gartner Report  suggested that marketers & decision-makers should now opt for a unified experience strategy to streamline their customer-facing content. This can be done through the implementation of the latest technology and channels to promote dynamic personalization and optimize content in an avant-garde manner. And all this can be executed by dint of Content-as-a-Service.

This blog provides further insights on CaaS, its use cases & features, and how enterprises and marketers can leverage Drupal as CaaS for managing their content efficiently.

What is Content as a Service?

Content-as-a-Service (CaaS) focuses on managing structured content into a unified repository or feed that other applications and properties consume.

The idea behind it is to provide a future-ready CMS that makes content readily available by employing API with or without developing the presentation tier. The presentation layer can be a website, a mobile app, or a feed into a device’s interface. 

The idea behind it is to provide a future-ready CMS that makes content readily available by employing API with or without developing the presentation tier

This separation between the content itself and its presentation implies that RESTful APIs, for instance, can provide the same content that serves both your website to an iOS or Android app.

Put simply, it draws a clear line between the people creating the content, the people delivering the content, and of course, the people consuming it.

A long box with different elements inside

Source: Bloomreach

Characteristics of Content-as-a-Service solutions include:

  • The content disseminated across all channels via a Rest-based API

  • A method of developing content as per prescribed content models

  • Structured formats for returning content via simple queries.

  • Distributed authoring and workflow content administration

  • A content repository hosted in the Cloud for universal access

  • Triggers that alert customer experience applications that consume content to content updates

  • Metadata definitions that can be defined and move along with the content via API

How Does CaaS work?

The actual implementation of CaaS can vary as in the case with any architectural pattern but here is a general overview of how CaaS platform may work-

Multiple boxes connected in flowchart

The content management UI is a web application to centralize all content authoring and content management of the platform. Content is placed inside centralized storage: it is to note that the format and technology used for the same does not matter at this point, what matters is the correct storage of data.

At last, the content is made available through a technology-agnostic API, like REST API. There are products available in the market which lets you author the content whilst working on the presentation layer to provide you with a wide array of applications you may need (for instance, web apps, mobile apps). 

You could, as an alternative, also provide access to the public APIs of these platforms, allowing others to take care of building their own presentation layers and saving you the trouble of working on that. 

Know how Srijan helps enterprises in modernizing their platforms to manage their content across various channels

Explore Our Services

Why CaaS?

Creating dedicated content for every specific medium becomes cumbersome to the point of being unworkable

Have you ever thought that how enterprises and marketers can tweak content for each one of the channels and yet ensure that the content is safe and sustainable for any modification in the future? Since it’s understood that creating dedicated content for every specific medium becomes cumbersome to the point of being unworkable.

So, how is it possible? The answer to this simple question is CaaS!

It can be efficient for enterprises those who want to upgrade their CMS either into one which can serve as CaaS or when there was nothing before.

However, the key deciding factor(s) at the end will be your current context. The reasons are mentioned below-

  1. Siloed Content

    Enterprise deals with an enormous amount of content and the sources from where it comes in and having to manage them independently can prove labor-intensive. Either company can spend a lot of time from their schedule to simply manage the content or spend too many resources having a team manager & a set of independent tools with the added overhead of getting them to collaborate with each other. 

In either case, they are most likely dealing with one or maybe more of such situations:

  • They don’t own a uniform content format, which can be made use of for easy distribution. 

  • They don’t own a centralized method to make content available for consumers, be they internal or external ones.

  • Metadata is not given due importance in empowering their content and making it rich for consumers.

  • And centralized storage, so, companies have to put extra efforts to move from one source of data to the next.

The adoption of CaaS could be beneficial to anyone looking desperately to switch their content management strategies. A switch to content-centric approach, i.e., Content-as-a-Service, would significantly improve their performance.

2.   Limited formats for your content

Content has to be an abstract entity, and choosing the way how it should be consumed, should be your top priority

Your problem might not be about managing your content but inefficiency in reaching to the targeted consumers due to a restricted amount of formats you are compatible with. Content-as-a-Service is again the perfect solution for such kind of scenarios.

Many CMS, such as WordPress, take the responsibility for presentation ensuring that you don’t have to worry about it. However, you also get restricted to the number of devices with which representation of your content is compatible. There could be so many devices where your content can be rejected immediately or simply not pleasant to be consumed in. For instance, have you ever considered how will your online trading WordPress website will show stocks on your smartwatch? What about a VR headset? Or a holographic projection? Agreed that last one does not exist yet but you must ensure that the company is well-equipped and future-ready to be compatible with new technologies, especially when it is moving at breakneck speed and released to the public every day.

Even the new foldable phones are going to be accessible for the public now- what will happen then to the content?

Companies will limit their odds of success if they kept their content tied to their representation. Content has to be an abstract entity, and choosing the way how it should be consumed, should be your top priority

3.  Native mobile app needing content

Content-as-a-Service provides you with the flexibility to use your content however you want, now or in the future

Since content display on mobile phones and apps demand extra attention, most of the traditional CMS fails to provide the necessary tools and facilities for the same. They only provide web-compatible formats (e.g., HTML) making it unfit for your app.

You can work around this by using a headless, decoupled CMS or Content-as-a-Service to simplify your work. In a nutshell, Content-as-a-Service provides you with the flexibility to use your content however you want, now or in the future.

What Drives the Adoption of CaaS?

There are two groups primarily that can leverage this type of content delivery the most: developers and business users/content creators.

  1. Developers

Developers do require CaaS no matter they are mobile app developers who need a backend to feed their apps with content or front-end developers who expect to interact with an API. 

Such technologies have been around since long and widely accepted as well, further fueling the demand for CaaS.

2.  Business
  • Those content creators who want to increase the reach of their content to as many platforms and channels as possible- web, mobile, social networks, smart devices, and so on. 

  • It becomes exorbitant to have a separate solution for every channel- development-wise and maintenance-wise. 

  • It is convenient to manage a single editorial team and a single software stack for all channels.

  • CaaS solutions can help developers in being more productive and efficient with the tools they like to use.

CaaS Use Cases

It’s often perceived that there is no single CMS that is equally good for maintaining both a personal blog and a huge online shop. Contrary to the assumptions, CaaS outperforms its harbingers in some use cases-

CaaS focuses on pushing wherever and whenever required, designers need not worry anymore

Pushing content on a mobile app via CaaS proves as the most effective way to have dynamic in-app content without having the need to resubmit the app to the app marketplace.

  • Multi-channel publishing

CaaS CMS is also beneficial when content needs to be transmitted across various platforms, for example, you want to push the same content to a website as well as to mobile apps.

  • Rich Web apps

Modern view controller, i.e., front-end frameworks, such as AngularJS, React, and Ember synchronizes well with structured content via APIs.

CMS can considerably reduce the complexities and simplify workflows in an existing project, for instance, eliminating hard-coded content from HTML pages, and maintaining them with a CMS. In contrast, the API by CaaS makes it highly integration-friendly and robust.

  • Tailored UX

The CMS of web age posed strong design restrictions. Though you could fully tweak the UI but building a Wordpress-powered web app from scratch was not very likely. 

On the other hand, as CaaS focuses on pushing wherever and whenever required, designers need not worry anymore!

It becomes a tedious task to manage already existing content and also the one arriving from multiple sources. Therefore, it is best-suited to upload content into one unified repository by creating content via APIs.

Content structured via API makes it easy for AI-powered agents and chatbots to move it around and churn it for ensuring relevance than screen scraping and using natural language for processing unstructured content.

How Drupal Can Prove to Be An Effective CaaS?

Drupal has unfolded the idea of Content-as-a-Service (CaaS) to solve the dilemmas posed by our newfangled digital ecosystem & its extremely high demand for new and different types of content. 

A square with multiple circles and squares connected to each other

Following features on how Drupal can be an effective CaaS-

  1. Reusable future-proof content

Drupal content can easily exist in the form of reusable chunks

Generally, CMSes manage content in a back-end repository and push it to the front-end templates for serving an experience.

However, Drupal decouples the back and front end whenever required. So, Drupal content can easily exist in the form of reusable chunks: free from the presentation and set for delivering content to sites and apps. Thus, content becomes future-ready.

  1. Set front-end developers free to create a better experience

With Drupal’s presentation-neutral content and a RESTful API, front-end developers can freely carry out their creative vision and build interactive sites & apps with the tools like Node, Angular, Backbone, Ember and others.

  1. Fill the content bucket more easily 

Content nowadays should not be restricted to one source only rather it should move in and out freely. And Drupal helps in that by ingesting third-party content (e.g. from aggregators and syndicators) to bring content into your Drupal ecosystem and making it further easy to push to any site, app or channel.

  1. Share content beyond your sites

Today, organizations want to share content on multi-channels where the audiences are inside of content aggregators disrupting the news business. Content teams need an optimal way to create content & then share it with minimal effort. And Drupal does that! The other sites and apps you choose can easily churn Drupal content.

  1. Alter the look

The separation of backend content from front-end presentation gives a leading edge to developers to refine an experience without worrying about the content in the CMS.

Additionally, Drupal’s 8.0 version comes with an inbuilt REST API which marked its beginning of API-first initiative.  

REST allows apps and websites to read and update information on the websites via the web. It also encourages developers to rely on HTTP methods to operate on resources managed by Drupal.

Furthermore, the Drupal community has been working on shipping Drupal modules with web service APIs instead of depending on a central API module in the upcoming releases of Drupal.

Contenta, one of the Drupal’s distributions, is an HTTP API provided for ready-to-use purpose with full auto-generated documentation. It offers modern API capabilities with JSON API, and also feeds content in the JS-driven websites, mobile applications, TV and even fridge applications.

Contenta supports Create Once, Publish Everywhere, be it single application development or multi-channel publishing.

Then there is another distribution, Reservoir, which helps in implementing the Decoupled Drupal architecture, is very flexible and simple-to-use for building content repositories of any application. It also helps in modeling content, governing content, and interacting with that content through HTTP APIs. 

In a nutshell, Drupal’s API-first approach offers the following benefits which further bolsters CaaS model-

  • The decoupled approach separates the presentation layer from the service layer thus allowing a detailed and dedicated focus on each of them.

  • A foolproof approach to help organizations connect to infinite digital signages for enhancing customer experience

  • Increased interaction with customers on their preferred devices will eventually scale up your marketing efforts

  • The decoupled approach is flexible and open for changes, addition, and modification of the structure.

  • Deploying a front-end framework like Angular or React will lead to sophisticated, enriched and dynamic web experience

 

Learn more about Drupal API-first initiative from here-

 

[embedded content]

Features to Lookout For in CaaS

CaaS comprises of three vital parts: the editing interface (typically a web app), the CMS infrastructure capabilities, and the development ecosystem.

Web editor

  • Enables content architects to design the structure of the content

  • Enables content editors to manage content from creating, updating to collaborating on it.

Technical infrastructure

  • Offers performance, uptime, and scalability to ensure that enterprises can rely on their vendor to deliver content in mission-critical applications.

  • SLAs with short incident response times and access to dedicated staff- so in case of a problem with a mission-critical app, companies can be provided back up again and fast.

  • Mobile delivery capabilities so that great user experience can be delivered even in network-challenged environments ( like subways, rural areas) and high bandwidth cost areas (such as emerging markets).

  • API-based importing, management, and delivery for controlling content programmatically in both ways

  • All-inclusive and up-to-date documentation to help the development team start using the tools quickly.

  • CDN ( content delivery network) to deliver the content rapidly

 

Development ecosystem

  • SDKs and libraries to increase the speed no matter what the tech stack is

  • Demo app source code so that developers don’t feel the need to reinvent the wheel all over.

  • Third-party integrations to obtain value from existing tools.

Other Characteristics of CaaS

The decoupled approach ensures that code and content are placed separately so that marketers and developers can do their respective work

  • Decoupled approach

The decoupled approach ensures that code and content are placed separately so that marketers and developers can do their respective work. Teams can also work parallelly on a creative copy, enticing visuals, and expert integrations in one unified platform.

This is the quintessence of the headless CMS approach - agnosticism towards how content is presented. This frees developers from creating highly custom front-ends and apps since they get to define the content display part.A box with various elements listed inside and interconnected Source: Gartner 

  • Cloud setup

The complete separation of the content management and display part allows organizations to migrate infrastructure between Cloud and hybrid, even at the site level or project level. Some projects can be installed locally while some on Cloud depending on the business’ choices for optimization as per needs. 

Centralized Content-as-a-Service lets businesses evaluate the content consumption across the digital ecosystem. This ceases businesses from duplicating their efforts and content when posting to microsites, international sites, or apps. It can also measure the use of that content by looking at the API connections used to deliver that content, and keeping track of where the content is going. 

In the End

The digital revolution and breakthrough in technology have accelerated the efforts of content creators - be it creation, designing, or dissemination. The goal is clear- refined user experience.

With that said, the creation of content in abundance and its delivery as a service through thousands of APIs will generate more data thereby assisting content developers to create more precise business models.

The technology is already in place, and the architectural patterns will allow enterprise systems to scale up without hampering their performance.

Content-as-a-Service ensures that developers are rendered maximum freedom and flexibility to realize their digital innovation. Drupal as a CaaS has been delivering a wonderful experience to both content editors and developers alike.

It is definitely a convenient way to ensure that your strategy is future-proof and can handle any new media in the future.

Pages

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web