Integrating Drupal 7 with MongoDB to Manage Dynamic Web Content

MongoDB can be easily integrated with Drupal 7 to support millions of dynamic web pages on a daily basis to speed up the websites. This document oriented application is a schema less database that can store large files without complicating your stack.

Here’s a look at how to install MongoDB on Linux and integrated it with Drupal 7.

Step I : Install MongoDB on Linux

# Importing the MongoDB public GPG Key

The Ubuntu package management tools (i.e. dpkg and apt) ensure package consistency and authenticity as the distributors need to sign up with GPG keys. The following command is to be issued to import the MongoDB public GPG Key:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

# Creating a list file for MongoDB.

Create a list file called mongodb-org-3.0.list using the following command:

echo "deb https://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
  
sudo apt-get update

# Installing the MongoDB packages.

Finally install the latest stable version of MongoDB.

sudo apt-get install -y mongodb-org

Reference: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

 

Step II : Installing the MongoDB PHP driver using Pecl

Install Pecl to install MongoDB PHP if it is not installed already.

# Install PEAR

PEAR is installed to put in place a package and distribution system that is used by both PEAR and PECL

sudo apt-get install php-pear

# The php5-dev package when installed lets you access the PHP5 source files that are needed to compile additional modules:

sudo apt-get install php5-dev

In case you fail to install the php-dev package before trying to install a PECL extension using “pear install”,the following error will show up on your screen :

sh: phpize: not found ERROR: `phpize’ failed

# The PECL_HTTP extension requires an additional dependency package to be installed. sudo apt-get install libcurl3-openssl-dev # Install MongoDB PHP driver using Pecl:

Pecl is the preferred way to install the MongoDB driver.

pecl install mongo

# Add the mongo extension to php.ini file to Configuring PHP To Use The Driver.

extension=mongo.so

Reference: https://www.mkfoster.com/2009/01/04/how-to-install-a-php-pecl-extensionmodule-on-ubuntu/

https://spf13.com/post/getting-started-with-drupal-and-mongodb

Step III : Configuring Drupal to use MongoDB plugin

Download the MongoDB module ( https://drupal.org/project/mongodb) like any other module and place it in sites/all/modules directory.

Although there isn’t an admin interface to configure MongoDB, it is a fairly easier task to configure it manually.First create a file called local.settings.php and it should be in the same directory as settings.php.

Populate the file with the following contents. Make sure you replace the placeholders [YOURDATABASENAME] and [SITENAME

 array( // Connection name/alias
    'host' => 'localhost', // Omit USER:PASS@ if Mongo isn't configured to use authentication.
    'db' => 'mongo' // Database name. Make something up, mongodb will automatically create the database.
  ),
);
include_once('./includes/cache.inc');
# -- Configure Cache
$conf['cache_backends'][] = 'sites/all/modules/mongodb/mongodb_cache/mongodb_cache.inc';
$conf['cache_class_cache'] = 'DrupalMongoDBCache';
$conf['cache_class_cache_bootstrap'] = 'DrupalMongoDBCache';
$conf['cache_default_class'] = 'DrupalMongoDBCache';
# -- Don't touch SQL if in Cache
$conf['page_cache_without_database'] = TRUE;
$conf['page_cache_invoke_hooks'] = FALSE;
# Session Caching
$conf['session_inc'] = 'sites/all/modules/mongodb/mongodb_session/mongodb_session.inc';
$conf['cache_session'] = 'DrupalMongoDBCache';
# Field Storage
$conf['field_storage_default'] = 'mongodb_field_storage';
# Message Queue
$conf['queue_default_class'] = 'MongoDBQueue';

Step IV : Enable the MongoDB module

NB:If you want to use MongoDB Block module then you need to disable the core block module as it conflicts with MongoDB Block which in turn does not allow Drupal to enable the MongoDB plugin.

In our case we did not use the MongoDB Block so we kept using the core block module.

MongoDB Module Installation

Fix common issues in the MongoDB integration with Drupal

I encountered a few issues while using this module. The first issue I faced was while adding a content type field using field storage as it threw back a warning that said:

Notice: Undefined property: EntityFieldQuery::$propertyConditions in mongodb_field_storage_query()

I fixed this issue by applying this patch.

The second issue was with saving a new content or node. The warning issued was about the save method that is being used to save records in MongoDB as it is deprecated and we need to use ‘w’ instead.

I edited the mongodb_field_storage.module and made changes to line number 198

$collection->save($new_entity, array('safe' => TRUE));

to

$collection->save($new_entity, array('safe' => TRUE, 'w' => 1));

We at Valuebound are committed to furthering your business initiatives with our Enterprise level web solutions. For further information on our service offerings, pleaseContact Us

Content Marketing Strategy for Lead nurturing and Successful Conversions

The Lead nurturing process plays the part of a catalyst that triggers the movement of leads down a sales funnel. Apart from the momentum it provides, lead nurturing gets the conversation going with prospects as they move through different phases of lead conversion to becoming “sales ready”. Content Marketing has evolved into a critical resource that breeds familiarity and establishes trust in a B2B or B2C lead nurturing initiative.

The relevancy of your content not only establishes your credentials as a “Go to Industry Expert”, it also lets you have these brand conversations with your audience for improved engagement and eventual conversions. Here we have a look at some ways you can use Content Marketing to nurture your leads and improve your lead conversion rates.

# Content Mapping

When you are done creating some visually appealing content like an infographic or something more intensive like a video that in all probability is set to go viral, the next thing to do is to map your content. Content mapping lets you take the impact levels of your content notches higher than what regular promotion would do. Content Mapping from the context of buyer personas helps you organize content and create blueprints for content distribution through the right channels at the right time so as to resolve their queries and doubts at different stages in the buying cycle.

# Content Retargeting

Often regarded as a paid search marketing strategy, the prime aim of a retargeting campaign is to recapture the interest of your web audience and nurture them in the process. A Content retargeting campaign lets you improve brand recall to stay connected with your audience in order to help boost your engagement levels. A sound understanding of your audience’s objectives will help your content marketing team in creating a retargeting strategy that leverages high quality informative content in varying formats. Blog post ideas sourced from active social media channels can be used to create consumable content that can be accompanied by strong calls to action to retarget your customers.    

# Drip Campaigns

Drip nurturing your sales leads gets easier when the prospects are nurtured to a sales ready state with the help of relevant information that is sent via emails over regular intervals of time. Content resources in varying formats are effective tools to kickstart a Drip Campaign which is largely an automated process wherein the information is literally “dripped” to your leads to keep them engaged and informed.

These drips can be customized according to the initial reactions of your prospects, for instance promotional drips can be designed to entice prospects with promotional offers while competitive drips can be targeted to lure your competitor’s customer base. You can target a particular segment based on their preference/feedback regarding the frequency of messages, type of content and the format they would like to receive the content resources in. Marketing Automation Software automates this content personalization process by sending out emails at regular intervals during a drip campaign.

# Brand Storytelling/ Brand Journalism

A multitude of online platforms and other social networking sites let you tell stories and post brand messages through content. Social media is indeed a potent medium to deliver your business messages without an emphasis on direct promotion.The fact that the tone of your content resonates with your web audience is what renders your storytelling effective as it results in the brand message being shared across different channels.

Your content must be compelling and factual with a special emphasis on customer centricity so that it captures the emotional attention of your audience and encourages buying. Your stories must inspire change with the desired outcome being the driving force behind the direction of the story. A documented content strategy in the form of an Editorial Calendar ensures that your storytelling is consistent and right on track.

# Engagement Marketing

Engagement Marketing

If your digital marketing campaign is not yielding results as you have anticipated, it may be the right time to review your campaign goals and evaluate the engagement metrics. With an ever-increasing usage of Adblock technologies by the online population, indulging in hard-sell by sending out self-aggrandizing messages through content marketing channels is bound to fall flat in the long run. Customer engagement should be the key goal of your content marketing initiative if you want to build brand awareness. While focusing on a narrative that is thought provoking and problem solving all the same, you can rest assured that your lead nurturing efforts will hit the target.

A lead nurturing campaign expects you to have a long term content strategy that addresses the need for a steady flow of content that can be repurposed based on a particular stage in the buying cycle. It is important that you get acquainted with your target audience’s expectations and pre purchase behaviour patterns before a headlong dash into wooing them with promotional content and other offers.

We at Valuebound keep a tab on the latest B2B content marketing trends and developments to provide you with Enterprise level web solutions to boost your digital marketing initiatives. For more information on our service offerings, please Contact Us

How to Create Custom Web Services for Drupal 7

Web based service applications/web services integrate different network platforms, applications, softwares and various other services to help you enjoy a seamless experience. Custom Web services allow you to display content from one site to another using the Services module.

In one of the recent project, we need to exposes value of filed collection items of a node via API. But default services provides only node values. THere Default services module does not provide the values from field collection items of a node while written custom web services can be used to fetch paired values of field collection items. I have created a Custom Web Service to get the Field Collection item value. I began with creating one content type “Housing Scheme” with the fields listed below :

# Title (Text)
# About Scheme ( Long Text)
# Distance from the City (Text)
# Nearest Major City ( Text)
# Locality Review( Long Text)
# Property Description ( Field Collection)

For this purpose, I used Drupal 7 and the Services module. I have written a custom module to handle the back end. The first step would be to download and install the Services module and enable the REST Server module that comes together with it.

Step I : Add service

To create a service you have to navigate to Service UI (admin/structure/services) and then click add service.

Add service

Step II : Open the Resources Page

The Open Resources Page will show a service list after you have saved a new service in it.

Now edit resources.

Service list page

Resources are available in default setup where all resources come hard-coded with the Services module.

Drupal Resources List

Step III : Create Custom Module

As my resources are not showing yet I have created a custom module for the same:

# Created custom module “housing_schemes_services”.
# Created directory for custom Drupal module in my Drupal site: /www/sites/all/modules/housing_schemes_services

I have empty files in my module directory:

  • housing_schemes_services.info
  • housing_schemes_services.module
  • includes/housing_schemes.services.inc

Step IV: Create the .info file

I added this code in housing_schemes.info file:

name = Housing Schemes Services
description = WebService APIs for Housing Schemes.
core = 7.x
package = Housing Schemes
project = housing_schemes
dependencies[] = services
dependencies[] = rest_server

 

Step V : Create the .module file

Then I added this code in housing_schemes_services.module:

/**
 * @file
 * Module file for Housing Schemes Services.
 * Contains the resource declarations for the service APIs
 * and other commons functions/hooks. if necessary
 */

/**
 * Implements hook_services_resources().
 * Create service resource for APIs to return the necessary json data.
 */
function housing_schemes_services_services_resources() {
  $resources = array();

//Include the necessary inc files.
  module_load_include('inc', 'housing_schemes_services', 'includes/housing_schemes.services');

//Service Apis for contents.
  $resources += housing_schemes_services_resource();

  return $resources;
}

Step VI : Create the .inc file

Finally I added this code in the housing_schemes.services.inc file:

function housing_schemes_services_resource() {
  $api = array(
	'housing_schemes' => array(
  	'operations' => array(
    	'retrieve' => array(
      	'help' => 'Retrieves housing schemes info.',
      	'file' => array(
        	'type' => 'inc',
        	'module' => 'housing_schemes_services',
        	'name' => 'includes/housing_schemes.services',
      	),
      	'callback' => 'housing_schemes_services_resource_retrieve',
      	'access callback' => 'user_access',
      	'access arguments' => array('access content'),
      	'access arguments append' => FALSE,
      	'args' => array(
        	array(
          	'name' => 'nid',
          	'type' => 'int',
          	'description' => 'Function to perform',
          	'source' => array(
            	'path' => '0'
          	),
          	'optional' => TRUE,
          	'default' => '0',
        	),
      	),
    	),
      	),
	),
  );

  return $api;
}

Created callback function retrieve

/**
 * [housing_schemes_services_resource_retrieve] definition.
 * Returns the information about a housing scheme.
 * @param $nid
 *   The nid of the housing_scheme node.
 * @return array
 *	The node processed information array.
 */
function housing_schemes_services_resource_retrieve($nid) {
  $node = node_load($nid);
  //Check if the node type is housing schemes.
  if ($node->type == 'housing_schemes') {
//Get PROPERTY DESCRIPTION data from field collection.
$property_description = $node->field_property_description[LANGUAGE_NONE][0][‘value’];
// here we are loading field collection
$pd_item = field_collection_item_load($property_description);

//getting field collection item value.
$pd_item_values = array(
  ‘scheme_type’ => $pd_item->field_scheme_type[LANGUAGE_NONE][0][‘value’],
  ‘area’ => $pd_item->field_area[LANGUAGE_NONE][0][‘value’],
  ‘property_type’ => $pd_item->field_property_type[LANGUAGE_NONE][0][‘value’],
  ‘budget’ => $pd_item->field_budget[LANGUAGE_NONE][0][‘value’],
);

	//PROPERTY DESCRIPTION ENDS.



//Create return object.
$return_obj = array(
  'scheme_name' => $node->title,
  'scheme_id' => $node->nid,
  'created_date' => $node->created,
  'about_scheme'=>$node->field_about_scheme[LANGUAGE_NONE][0]['value'],
  'distance_from_the_city'=>$node->field_from_city[LANGUAGE_NONE][0]['value'],
  'nearest_major_city' => $node->field_nearest_city[LANGUAGE_NONE][0]['value'],
  'locality_review' =>$node->field_locality_review[LANGUAGE_NONE][0]['value'],  
'property_description' => $pd_item_values,
	);
  }

  return $return_obj;
}

Step VII : Enable the Custom Drupal Module

Enable custom Module "Housing Scheme Services".

Enabling housing scheme services

Step VIII : Enable the Custom Service Resource

On Drupal site:

  1. Go to admin/structure/services/list/housing_scheme/resources
  2. Expand the "housing_schemes" under the "Resource" column then check the box and click save.

Custom resource

Test the Custom Service Resource

After enabling the resource you will be able to query the service by navigating to this path :

http://localhost/drupal/cf_api/housing_scheme/{{nodeid}}.json

It will return the Housing Scheme’s node details so that you are able to get field collection item values in your Services. You should be able to use JSON dump to consume the data in your application.

We at Valuebound are committed to creating exceptional web experiences and solutions based on your unique business needs. For further information on our service offerings, please Contact Us.

Cheatsheet for an Editorial Calendar : Gearing up for a Content Marketing Initiative

A Content Marketing campaign gains the right momentum when the entire content creation process has been scheduled in advance. The chief objective of having an editorial calendar is to showcase your content before the right audience at the right time. An ideal content calendar lets you save time while ensuring consistent content creation and repurposing. A key content marketing tool, an editorial calendar is instrumental in tending to your web properties as it lets you plan beforehand in more ways than one that we have covered here.

# Get a grip on your Basics : Let the Ideas germinate

Before you go about the task of filling in the entries for a content creation schedule, it is crucial that you take stock of the who’s,hows and whys of your Content marketing strategy. After you have identified your target audience and the motive behind content creation, the ideation phase lets you come up with probable content ideas and formats that are ideal for content generation. The Editorial Calendar must be designed in a way to keep the content contributors and the key stakeholders in the loop about how the Content Marketing initiative is progressing.

#  Plan ahead : Calendar for Content Strategy

The more well-defined your target, the clearer is your content strategy. While creating content for a specific audience the focus should be on the generation of marketing content that is customer centric. An editorial calendar brings in a disciplined approach that lets you attach a time frame or a deadline for your content marketing efforts. A regularly updated publishing schedule will make it easier to keep track of your content plans. If you are planning a viral marketing campaign on popular social marketing platforms, a content calendar that keeps track of the content generation and the frequency of social media postings is exactly what you need.

# Repurposing Content : Recycle your Best Content

An editorial Calendar affords you the much needed luxury of repurposing your content. As you keep repeating your valuable content in varying formats, the content marketing initiative receives a major boost as the shelf-life of your content increases. It lets you minimize the time lost in the ideation and creation of fresh content. For instance a blog post can be repurposed into a slideshow or an infographic while multiple blog posts from a particular series can be clubbed together to create an E-book.

# Master Editorial Calendar:Get an Overview

A Master Editorial Calendar is meant to provide you with a monthly/weekly overview of how your content marketing efforts have paid off. It lets you create a Content Timeline on a monthly,quarterly or annual basis. A content log helps you keep track of the changes made in the content based on date it was published on.You could also add data from analytics tools like Google Analytics to the calendar and track the performance of all your content items on different platforms.

# Track new ideas using a Content Calendar

An Editorial Calendar lets you record content ideas generated during all those brainstorming sessions or the inspirational moments in the ideation phase. Editorial Calendar tools cater to both SMEs and major organizations alike as they play a major role in keeping the content consistent and relevant. Google Doc is a widely used Editorial Calendar solution for its ability to support collaborative editing while you go about scheduling your weekly/monthly content calendar.

Kapost is another popular editorial calendar tool that helps you track the workflow of your content marketing strategy through the ideation, execution and promotion stages. This software would be an ideal choice if you plan on generating large volumes of content. Content Marketing tools like Gather Content can be used in sync with editorial calendar solutions like Excel spreadsheet/ Google Spreadsheet.

The current process of planning a content marketing initiative revolves around content amplification strategies that are executed in accordance with the schedule in a content calendar. Although there are multiple Editorial Calendar formats available to choose from, you should ideally stick to a single format that you have zeroed in on based on your business model.

We at Valuebound keep a tab on the latest B2B content marketing trends and developments to provide you with Enterprise level web solutions to boost your digital marketing initiatives. For more information on our service offerings, please Contact Us

How to Set up Instamojo Payment Gateway Module in Drupal Commerce

The Instamojo Payment Gateway is an easy way to collect payments for the digital sale of products ranging from instant downloads and subscriptions to physical goods and business services. To install the Commerce Instamojo Payment Gateway Module in your Drupal commerce (https://www.drupal.org/project/commerce), download the module and add it to your sites/all/modules directory. Enable it under /admin/build/modules.

Enable instamojo module

Configuring the Module

Step I

Login to your Instamojo account and create a payment link. You can select the “Pay What You Want” option for pricing your products.

Create a Payment Link in your Instamojo account

Step II

Navigate to Advanced Settings of the payment link to put your site URL/response_page and click on the “Get Started” button.

Advance settings of payment link

Add custom redirection URL as yoursiteurl/response_page. Replace yoursiteurl with your own site URL.

Step III

The Payment Link will look like this : instamojo-name/username/slug. The payment URL link is to be added in the module configuration page. Copy the payment URL as shown in the screenshot below :

Payment URL link

Step IV

Now navigate to the Instamojo Dashboard’s Footer and click on the Developers link.

developer link on Instamojo site

Step V

On your developers Page, you will find the Private API Key & the Private Authentication Token.

Instamojo for Developers-API & Auth Token

Step VI

Now fill the values on module configuration page.

Store > Configuration > Payment Methods

Or you can browse directly through : http://mystore.com/admin/commerce/config/payment-methods

Private API Key & Token: Copy it from Step VI

Virtual Payment Client Url : URL copied as in Step III

Site URL: your_site_url (Replace this with your site URL without “/”)

Current Payment Api URL: https://www.instamojo.com/api/1.1/payments

Instamojo Drupal Module Configuration Page

Now you are all set to use the Instamojo Payment Gateway.

If you face any issues while setting up the module, please update it in Drupal issue queue here. You can also Contact us for site specific paid customization of the module and further information on our service offerings.

Structuring a Content Marketing Squad : Have you put together the Dream Team ?

Content Marketing is a multi-phase process that rides on the expertise of a well structured content marketing team. Content professionals are responsible for creating content that is not only coherent but appealing to a target audience for its convincing undertone and undeniable credibility. A content creator par excellence is a thought leader and a strategist bundled up together to add value to a content marketing team. The eventual quest for putting together a strategic mix of talent that is passionate about content can be broken down into a few sub-tasks as described here.

How to identify the Key Stakeholders?

A well structured Content Marketing Team is characterised by well defined roles and responsibilities. Content marketing professionals assume various responsibilities on a content marketing team based on their interests and core competencies. While some may enjoy coming up with creative ideas for content per se, strategizing and online promotional activity may be the forte for others. But if we talk about a professional Content Marketing unit that is passionately committed to the Content marketing initiative, it is definitely a structured team with well defined roles that wins the day hands down.

# Content Director/ Managing Editor

As an Opera Director involved in the ideation stages of scripting, stage setting and guiding performances in a theatrical, the Content Director is in charge of the entire Content Marketing initiative. A Content Editor is responsible for editorial management, content design approval and finalizing web, print or event resources. According to a report by Altimeter, a leader at the helm of a Content Marketing Team in an organization is a Content Evangelist who creates and monitors B2B content strategies for operating a content machine manned by a dedicated team of Content professionals.

# Content Strategists

As digital storytelling continues to rule the roost in online marketing, the role of a Content Strategist has evolved into that of a storyteller who can refine a content marketing initiative. Folks from Copywriting and Advertising backgrounds can add that extra zing to a content strategist’s role in a structured Content Marketing team. A Content Strategy basically revolves around the theory that there are multiple content resources at a content strategist’s disposal that are yet to be unexplored.

# Content Ideation Experts

They are ideation experts who are not necessarily engaged in content creation themselves but are the lifeblood of a brainstorming session. A content ideation expert could be anyone who is well acquainted with the industry related topics trending in the virtual marketplace. Although they are not a core member of a structured content marketing team, ideation experts can be invited over for their valuable suggestions and content generation ideas.

# Web Content Promoters

Content Promoters are part of the Content crew that is entrusted with the task of sharing and promoting the content across different social media platforms. They are expert social media networkers who have perfected the art of deciphering the web audience’s inclination towards a specific brand of web content. Although their main job is to promote the published web content, a Content promoter manages to reach a wider audience if they have an established brand persona for themselves on the social media.

# Web Content Specialist /Content Creator

A Content Creator is the glue in the Content marketing team as they put all the ideation and planning into audience ready formats. The backbone of any Content Marketing Campaign, a Content Creator or the Web Content Specialist is the person who coordinates with the Marketing Managers and technical staff to create and update dynamic web content. Their responsibilities also include scheduling and timely implementation of marketing campaigns and other promotional activities. Their skill sets are a combination of analytical thinking and creativity to craft strong visual presentations that maximize the impact of the content generated.

# Content Analyst

A Content Analyst is an individual who puts in the hours to assess the impact of your marketing campaign by reviewing the analytics for the promotional content. This person is responsible for evaluating the level of engagement based on the social shares, amount of traffic generated, search rankings and lead conversions. Their analysis lets you figure out the type of content that resonates with your target audience along with ways to optimize the entire content generation and promotion cycle.

Where to Look for the right Content Minded Marketers?

The search for potential candidates for your ideal Content Marketing Team should begin in your own backyard as there will be no dearth of enthusiastic internal contributors there. You can assign content creation jobs to your internal contributors based on their area of expertise or subject of interest. The tasks of content ideation, creation, editing, promotion and analysis can be delegated within the organization based on the aptitude and inclination of your employees. You can assign the content creation job  to an Agency in case you need a specific amount of content to be generated at a given time.

What to Look for in the prospective Content Professional?

The passion for ideating or generating unique content is an imperative quality that a content professional must possess. Members of a Content Marketing team should ideally have rock solid writing and editing skills with a keen eye for the details. Organizational skills,a disciplined approach and a reasonably sharp business acumen are some other plus points that will make the team a strategic unit that clubs in powerful and actionable insights.

How to hire an Undefeatable Content Marketing Team?

The Content Professionals may have to work in a cross-functional environment wherein they will have to coordinate with developers, product management teams or marketing specialists. Although there are no hard and fast rules on the how to hire the right Content Marketing personnel, the key lies in finding the right talent at the right time. Professionals should be hired based on the fact that each member of the team will have a definitive role to play in the content marketing initiative.

We at Valuebound keep a tab on the latest B2B content marketing trends and developments to provide you with Enterprise level web solutions to boost your digital marketing initiatives. For more information on our service offerings, please Contact Us.

Valuebound releases Commerce Instamojo Payment Gateway integration module

Valuebound has released the Commerce Instamojo Payment Gateway Module to integrate Drupal Commerce with Instamojo Payment Gateway.

Instamojo is a payment solution that can be seamlessly integrated with a business website. Its remote checkout feature combined with the ease of using add-on services like Discount Codes makes it a smoothly functioning Internet Payment Gateway. It has found favour with some top of the line E-commerce vendors as it significantly improves the conversion rates when integrated with an e-commerce website.

Requirements:

# You need to create a merchant account with Instamojo.

# Commerce Kickstart 7.x

OR

Drupal 7.x +

- commerce module
- commerce_payment module
- commerce_ui module
- commerce_order module

Installation & Configuration

Step I

The first thing to do is to download and install the Commerce Instamojo Payment Gateway Module.This module will successfully integrate Drupal Commerce with Instamojo Payment Gateway. The module should be placed in /sites/all/modules to create a path [DRUPAL-ROOT-FOLDER]/sites/all/modules/commerce_instamojo], before enabling it on a Drupal Commerce website.

Step II

The module needs to be enabled before it is configured at admin/modules.

instamojo_module_enable_page.png

Step III

After enabling the module the next step is to configure it by clicking on the Configure link :

instamojo configuration page

Step IV

After the module has been configured the next step is to choose Instamojo Payment Gateway as your payment method.

You can download the module here. Valuebound is a regular contributor of code to the Drupal Community. We at Valuebound understand your unique business needs and cater to them with our enterprise level web solutions. For further information on our service offerings or customizing this module, please Contact Us.

Disclaimer : The brand names and logos used herein are the sole properties of their respective owners. None of the listings here are intended to imply any endorsement or direct affliation with respective companies.

Content Strategy : How to strategize before diving into B2B Content Marketing ?

If you find yourself reading up a lot on Content Marketing of late, I'm sure you must have cracked the keyword cipher behind it turning into a focal point in digital marketing.The idea of thought leadership has gradually percolated into content marketing as both SMEs and major corporations are leveraging it alike. Now Web Content offers you the opportunity of establishing your credentials as a thought leader while it serves as an effective medium to share innovative ideas and concepts. B2B Content Marketing is a focused approach by an organization to showcase its expertise and carve a niche for itself in the marketplace.

Here I have put together a checklist for creating a B2B Content Marketing Strategy before you embark on a full fledged Content Marketing expedition.

# Align your Content Marketing plan with your Business Objectives

You need to devise a content marketing strategy based on the objectives that you have identified for your business.The purpose of planning content development is to prioritize your marketing objectives in accordance with the needs of a marketing campaign. These objectives may be categorised into customer acquisition, lead generation, customer retention, lead nurturing/management, reputation management and the generation of brand awareness.

# Focus the Content on your Business Goals

As a content strategist it is important that you identify the end goal for your content generating endeavour. The task of pushing out content on a regular basis plays a crucial role in attracting new leads and generating more sales. A Content Calendar or Marketing Calendar is one of the essentials that you need to figure out before starting out with the creation of content. A content calendar will not only let you plan the content in advance but will let you plan it around key events or phases in lead prospecting.

# Identify your Target Audience/ Buyer Persona

The ultimate aim of content generation is creating marketing content that caters to an audience that your business needs. The relevancy of your content solely depends on the audience you are catering to, which makes it an imperative to plan the creation of content that is unambiguous and customer-centric. It requires a certain level of concerted research to gain a perspective into what a buyer persona would ideally look for, while planning the creation of content meant to address specific requirements.

# Choose a Content Format that suits your plan

The key to connect effectively with your target audience is to create some well thought out content that is engaging enough to garner the much needed organic shares. The content format may vary depending on the needs of your audience. For instance a case study may help an existing customer with a pain point while a video or an infographic may attract the attention of your target audience. E-books are supposedly more elaborate when it comes to disbursing complex information in a reader friendly format that aligns with your brand strategy as well. What matters at the end of the day is not the format of the content but the fact that the content is useful and has some substance to it.

# Challenges you need to Overcome

The task of finding trained content marketing professionals can be quite a challenge if your company needs to implement a content marketing plan at short notice. The key may lie in finding the right mix of internal and external contributors for value-adding content. In addition to that you may need to generate content that keeps pace with the new trends and developments in the marketplace in order to stay competitive.

As a content writer/ content strategist or a digital marketeer you must possess domain knowledge that is beyond a particular product or category. There are multiple facets of content marketing like optimizing content, measuring content effectiveness, technological challenges, content organization and management, that need to be pre-planned before the content is even published.

A well-planned Content strategy lets you make some informed decisions while you go about setting up a content marketing plan. There are various tools that can help in refining your content strategy. Marketing Automation softwares like Volacci Automator along with Content Marketing tools like Curata or Gather Content can be easily integrated with a Drupal based website to steer an effective digital marketing strategy.

We at Valuebound keep a tab on the latest content marketing trends and developments to provide you with Enterprise level web solutions to boost your digital marketing initiatives. For more information on our service offerings, please Contact Us.

My first attempt at understanding configuration management in Drupal 8

The Configuration Management module has been integrated into the Drupal 8 Core which lets you make and verify site configuration changes in the development, staging and production environments respectively. Configuration Management is gradually turning out to be an effective replacement for Features as it lets you create and modify configuration entities with great ease.

Here I am sharing my first hand experience with the Drupal 8 Configuration Management System with the help of a few case scenarios.This is what the Development Menu of Drupal 8 looks like with a Configuration Management link that leads you to the Configuration Page.

Configuration Manager Module Setting Page

Configuration Management Workflow : Importing, Exporting & Synchronizing Configuration

As you know the file-based Configuration management system in Drupal 8 lets you use version control for configuration and to track changes as well. The configuration on your site can be imported, exported and synchronized via Manage> Configuration > Development > Configuration management (admin/config/development/configuration).

# Creating a Content Type

I created a Blog Content Type titled “Blog Content” while configuring multiple fields like Blog title, blog description, Author Name, Publishing Date and Author Image. Then I exported this single configuration file and imported it in the production environment.

configuration management yml structure drupal8

This resulted in adding new content type “Blog Content” in production. This was cool.

# Creating a Menu

I created a Menu titled “Footer Menu” with Menu Links like Home, About Us and Contact Us. But when the changes were exported only the menu was created while the menu links failed to reflect in the production version.That's because even though I have created menu links with external URL, this might have created a conflict if menus were created while creating a page. Drupal will not allow adding menu without the page if is an internal URL.

# Enabling a Core Module

I enabled a few Core Modules like Aggregator, Serialization, Ban, Actions in the Development Version. The modules got enabled in the production version when the changes were imported from development.

# Installing a Contributed Module

I installed a few contributed modules and enabled them in the Development Version. I could not export the changes to the production version as the Configuration management system failed to support it.

# Creating a Taxonomy Vocabulary

I created a Taxonomy Vocabulary titled “Programming Languages” with Taxonomy Terms like PHP, Java, .Net, C++ and C. Although the Taxonomy vocabulary got reflected in the production version, the Taxonomy terms failed to show up.

# Creating a Basic Block

I created a Basic Block with fields like a block description and a body. The changes when exported showed up in the production version as well.

# Making Permission Changes

I made some Permission Changes for the authenticated and anonymous users that extended certain privileges like posting comments on a blog post. The changes when exported showed up in the production version as well.

# Creating a Custom Block Type

I created a Custom Block Type titled “Recent Content” with fields like title, description and Image. The changes reflected perfectly well in the production version after they were exported.

# Enabling Core Themes

I enabled some Drupal 8 core themes like Classy, Bartik and Seven which got enabled on the production version as well once the changes were exported.

# Installing a Contributed Theme

I installed some contributed themes like Acquia Marina, Bootstrap and  Bear Skin in the development version. Like in the case of Contributed Modules I could not export the changes to the production version.

# Creating a User Role

I created a User role titled “Blog Author”and allowed in some permissions to moderate content. The permissions got reflected along with all the other changes once the changes were exported to the production version.

#Creating an Image Style

I created an image Style titled “Author Image” with dimensions measuring 120x140 pixels. The changes showed up successfully once they were exported to the production version.

Full Import/Export

The full export feature lets you download an archive of all the active configuration files. It also lets you import on a development site, synchronize, make changes, package up again and import and synchronize back on the live site as well.

The changes made on the development site will be saved into the active storage on the development site. These changes can be exported and imported on the live site, the import copies the YAML files into the staging directory. The full development site configuration can be exported at admin/config/development/configuration/full/export. This will create a compressed file called config.tar.gz .

Exporting Configuration Changes Drupal Site

On the live site when you navigate to admin/config/development/configuration/full/import and upload the compressed file, you can review the changes before finalizing the content that needs to be imported. When the changes are imported, the development site gets updated with the live changes. Further changes are made on the Development version before they are imported back to the live version.

Import configuration settings

Once the import is complete the changes need to be synchronized. The synchronization process leads to the elevation of the staging directory contents to the live configuration wherein new fields and content types get added while new modules get enabled.

Export Import Synchronization Drupal Configuration

Drupal8 configuration synchonization process

All the changes made on the development version are then deployed to the live version. In case there are direct changes made in the live version, the changes have to be exported from the production version to the development version.

Configuration import success message

We are Valuebound are committed to creating exceptional web experiences and solutions based on your unique business needs. For further information on our service offerings, please Contact Us.

Product companies Using Drupal as a Collaboration Platform for Developers

Drupal has emerged as a widely used open source platform  for hi-tech product companies to power their developers portal. This collaborative developers knowledge base features a wide array of information ranging from resources for designing, developing applications, coding and troubleshooting tips to social media integration.

Here we have a listed few widely used developer portals that have been developed using Drupal.

eBay Developers Programme

eBay Developers program powered by Drupal

The eBay developer community with a sizeable strength of developers connects through a portal that has been built using Drupal. The eBay Developers Program is an open platform which ran on Jive and since has migrated its data to Drupal. The community focuses on documentation and an easy to use Forum like interface wherein the developers can interact and even promote conversation threads through social networking sites like Facebook. The community website features an extensive support system for seasoned developers as well as beginners.The site has a support Ticketing system called eBay Developer Support that lets the developers seek assistance in case their issues are still unresolved in the Developer forums.

Twitter Developer Community

Twitter developer using Drupal

The Twitter platform enables developers to build great mobile apps while guiding entrepreneurs to make better business decisions based on Twitter data. Twitter has one of the largest developer community that has a Drupal based development community portal.The collaborative community has been engaged in the creation of more than a million apps with their API calls running into a figure of billions. The multiple discussion forums hosted on the platform help the developers to collaborate on app. development projects while sharing information on the Twitter platform about other related products.

Intel Developer Zone

Intel developer zone using Drupal

The Intel Developer Zone is an initiative by Intel to get its Developer Community to connect on a common platform. It is equipped with a user interface that lets the developers access their areas of interest like embedded systems, Game Development, technical and enterprise solutions along with other web solutions. It also features Product Support, documentation and a Registration Centre for the Developer Community.

Nvidia: Tegra Developer Community

Nvidia developer zone using Drupal

The gaming industry giant and a trusted manufacturer of Graphics Processing Units(GPUs), Nvidia has a Drupal based collaborative technical community known as the Tegra developer community. The site has some stunning looks along with a UI that helps developers access different developer zones based on their preferences like GPU Computing, Gameworks, Embedded Computing and professional graphics.

Brightcove Developer Docs

Brightclove developer doc portal using Drupal

Brightcove is a widely used cloud based online video platform that provides live transcoding of the worldwide events.The Brightcove Developer Docs is a community website that features multiple developer resources like product updates, SDks and developer specific guidelines to get started with the development of VideoCloud APIs. The Drupal based community platform offers extensive developer documentation and support for its flagship, Zencoder which is a high quality video encoding software.

Product companies can leverage the capability of Drupal as a tool that improves User experience. A lean backend combined with improved accessibility features lets you leverage an architecture that supports collaborative software development. The Drupal solutions implemented to develop a community site can be prioritized in accordance with the intended goals and budgetary constraints. If you are keen on putting together a Drupal based community website, we at Valuebound can guide you through the process with our enterprise level solutions. For further information on our service offerings please Contact Us

Disclaimer: The respective screenshots, logos and other identification belong solely to the companies they represent.

Download the Drupal Guide
Enter your email address to receive the guide.
get in touch