Sep 17 2019
Sep 17

“Should I upgrade or should I just wait?” This question has been constantly bothering business decision-makers when it comes to migrating their website from Drupal 7 to Drupal 8. Change can be hard and terrifying, especially at its inception. Yet, a change is what allows you to grow, evolve and progress. It can get painful to take a decision as big as a migration of your Drupal 7 (or 6) website – the one that you knew and have loved. But soon you will know you have made the most brilliant business decision, ever! 

Drupal 8 Migration - A Long-term vision

There has always been a perception that Drupal is a difficult CMS to get a hang of. Starting from end-users to developers, Drupal was considered as having a huge learning curve.  Yes, with the previous major versions (before Drupal 8), the process of upgrading and adjusting to the change was harder. It was also more expensive (needed more resource time), the release of contributed modules (and necessary features) were slower and the release cycles got longer.

But with Drupal 8, everything changed. 

Tom Wentworth, (SVP Product Marketing from Acquia), summed up accurately in his article that unlike a few other CMS’s, “Drupal 8 was a teardown all the way to the foundation”. Creating an upgrade based on the same old foundation would have been a much easier task for the Drupal community. But starting from Drupal 8, the Drupal community has focused on long-term sustainability and on getting people to adopt Drupal effortlessly. This called for a complete re-architecture of Drupal 8 with the adoption of Symphony for high performance, Twig for a more modern templating engine, object oriented programming for easier maintenance, modern user experience design creators and editors for rich content editing, and much more. 

Drupal 8’s continuous innovation approach propels an evolution with regular (and shorter) minor releases, semantic versioning (in a ‘major.minor.patch’ format) that helps in backwards-compatibility enhancements and faster stability in modules by releasing experimental modules in core.

Your Drupal 8 Questions, Answered. (To some extent)

Although it has been a while since Drupal 8 has been around and stable, we still get asked a ton of questions by our customers before a migration. 

1. Why should I upgrade to Drupal 8 (from Drupal 7) when Drupal 9 is just around the corner? (We get this nearly every time)

I have a whole blog dedicated to this question, but if you insist, here are your benefits of upgrading to Drupal 8 now -

  • Time crunch – So Drupal 9 does not release until June 2020 and Drupal 7 reaches its end-of-life by December 2021. Which means you have only a year and a half to upgrade to Drupal 9. If your website is considerably simple and needs less customizations, this is a viable option. Else, you’d better off start an upgrade to Drupal 8 now and migrating from Drupal 9 from Drupal 8 is as easy as upgrading to a next minor release.
  • Living with a FOMO – That’s a term I recently learnt about – Fear Of Missing Out. Why do you want to miss out on some powerful and modern enhancements when you can migrate to Drupal 8 now and boost your Drupal website’s performance and experience? Upgrading from Drupal 8 to Drupal 9 is a cakewalk anyway!
  • Just a better version – Drupal 9 is just Drupal 8 minus the deprecated code and modules. Migrate to Drupal 8 now, enjoy a better performing website and an easy upgrade to Drupal 9 (and any future versions of Drupal)

2. We’re still stuck on Drupal 6. Help!

If you’re still stuck on to Drupal 6, you must know that everyone else has moved on. Today, the web has changed and so has Drupal. The Drupal community no longer supports Drupal 6 since February 2016. Which means, there will be no new Drupal modules or features to look forward to, no more bug-fixes, security updates and patches. Thus putting your website’s security at high-risk and of course depriving it of some TLC from the community. If you still want the best for your website, migrate to Drupal 8 now! Yes, you can completely skip Drupal 7. Drupal Migrate module is now included in Drupal 8 core and makes the switch easy and fast.

3. What performance upgrades does Drupal 8 offer?

Drupal 8 comes packed with performance-enhancing features and modules that can turn your website into a speedy and high performing one. Here are a few to name -

  • The Symfony Framework – Drupal 8’s adoption of Symfony framework isn’t just a great move for developers but for website owners as well. Symfony offers a robust, flexible and high-performance framework that allows for easy scalability of a website.
  • BigPipe Caching - It lets you segregate your page into different sections (called Pagelets) which can be rendered as they get available (Cached first). This lets you drastically improve your page’s perceived performance and speed.

migration-d8

  • Caching for Authenticated Users – Drupal 8 uses Varnish to cache page content and serve them to authenticated users for better and faster performance.
  • PHP7 support – Did you know PHP 7 is now two times faster than PHP 5.6 because of its new Zend engine? With PHP 7 support in Drupal 8, your websites can see a performance rise up to about 110% and reduced memory usage.

4. What challenges will we encounter during a Drupal 8 migration? What can be done to alleviate those issues?

Challenges encountered during a website migration from say Drupal 7 to Drupal 8, completely depends upon the complexity of a website, if it includes a redesign, the amount of content needed to be migrated and many more other factors. The first and the most crucial step towards a Drupal 8 migration is to audit your existing website. Auditing and analysing your website could be the biggest challenge if not handled well and could lead to a successful (and quick) migration when done right. If not planned well, you might run into problems where you are unprepared to handle -

  • Module compatibility issues
  • Might migrate old and unused modules that will increase migration time
  • Unavailability of existing modules/features/themes/views/entities (in core or contrib) 
  • The need to rebuild and rewrite custom modules in Drupal 8. (Coz as discussed earlier, D8 has restructured itself to be able to be more future-ready)
  • A rebuild/repackage of features and views
  • A redevelopment of the theme – because of Drupal 8’s new and powerful templating engine Twig

How do we fix this? – Easy. Audit your website well. Get a Drupal technology partner to do a complete analysis and audit of your existing website and list out features, modules and other elements that need to be migrated. They will need to provide you with details on what needs a rebuild and what can just be easily ported. You can also use evaluation modules like the Upgrade checker which will give you a comprehensive list of migration components and an estimate of how long it might take.

5. Can we migrate to Drupal 8 and yet preserve our existing data whilst remaining GDPR compliant?

Absolutely! The reason why Drupal is so successful is because of its proactive and battle-ready Drupal community. The Drupal GDPR Compliance team project aims at providing websites with modules and features that can assist in making them GGDPR compliant. There are over 15 new modules in Drupal 8 for GDPR compliance to choose from with some modules that can be ported to Drupal 8 and some that may need a rewrite. Check here for a list of Drupal modules that help you build GDPR compliant websites.

6. What happens to my content? 

Drupal understands how important content is to every organisation. With efforts from more than 500 contributors, the release of Drupal 8.5.0 brought together a stable and robust Drupal Migrate architecture. Modules like Migrate API, Drupal Migrate module and Migrate Drupal UI allows for a flexible and easy content migration from the database or sources like JSON, CSV or XML.

7. If we migrate to Drupal 8, will it break any of our existing features/modules?

The answer to this question depends on your website structure, complexity and the way Drupal 7 (or Drupal 6) was implemented on your website. Many times, there is no direct path for a Drupal 8 upgrade. Custom modules will need a rebuild and will break if simply ported because Drupal 8 is now built on Symfony framework (and OOPS principles). Themes will need to be redeveloped as with the new template engine Twig, migrating your existing Drupal theme will not work.

8. Will our integrations with third-party software break when we migrate to Drupal 8?

Integrations with third-party software have just gotten better with Drupal 8. With web services in core in Drupal 8, creating RESTful APIs are easy and fast. This is invaluable in connecting with many third-party applications. Additionally, Drupal 8 has added many more integration modules to its list.

9. Will our core Drupal 7 modules still work?

Yes. Drupal 7 Core modules have made their way to Drupal 8 and some of them are even better in Drupal 8! While most of them are automatically upgraded, a few modules will need manual work if they don’t have an automatic upgrade path. Some Drupal 7 (or 6) modules are not mapped to the same Drupal 8 module. For example, the Block module in Drupal 7 is now divided into a Block and Custom Block module in Drupal 8. Nonetheless, many contributed modules in Drupal 7 are now in Drupal 8 core (like the Views module). 

10. What happens to our custom and contributed modules?

After Drupal 8’s adoption of the Symfony framework and Object Oriented Programming principles, Drupal has opened its doors to wider set of developers and programmers. This also helps in building code that is more robust and reusable. But this time-saving, future-ready concept brings along some bad news too. The bad news is that most of the existing custom modules and some contributed modules will need to be rebuilt from scratch to be able to support Drupal 8’s futuristic mission. But the great part about this is from Drupal 8 onwards, any major/minor upgrade will be easy as pie.

11. Will our Drupal theme break on migrating to Drupal 8?

Unfortunately, yes it will. Since Drupal 4.7 up until Drupal 7, PHPTemplate has been the default Drupal Theme engine. But with the adoption of the Twig (part of Symfony2) for a more powerful, secure and modern templating engine, themes will need to be redeveloped. However, parts of code can be replaced as is.

12. How can Drupal 8’s API-first approach benefit us?

By the year 2020, there are going to be more than 50 billion internet connected devices. Content is now consumed via a plethora of mediums – computers, mobiles, IoTs, wearables, conversational interfaces, smart TVs… and the list keeps growing. Which means, your brand needs to interact with a lot more devices and in many more formats than just a website. Content delivery has gotten a lot more challenging.

Just so we are on the same page, an API (Application Programing Interface) is a set of rules or routines (functions or programs) that specifies how applications can interact with each other. For example, if you want to display the current weather on your website, you can invoke an API with websites that offer this service.
To be able to handle the content delivery challenge efficiently, content needs to be treated like well-structured data. Drupal’s API-first approach, lets you create an API before you build your website or mobile app. This futuristic approach allows you to turn content into services which can then interact with diverse devices irrespective of the formats. While Drupal 7, also supports the API-first approach with the help of additional modules, Drupal 8 comes built-in with the content-as-a-service model.
This is what our in-house expert Drupal Practice Head, Malabya Tewari has to say about Drupal 8’s API first approach – “Drupal 8 has taken this approach to another level and here’s why- REST module is now in core, where you can create own custom web-services using Views (which is also added in core in D8). It is easier to create custom REST APIs using the core REST module. Adding basic authentication is in core as well. You can get APIs, including JSON API and GraphQL, for all entities - out of the box! 

13.What are the benefits of upgrading to Drupal 8?

One of the most stunning features of Drupal 8 is that you have (almost) everything you need, out-of-the-box. 

  • Responsive websites are not a luxury anymore, they are a necessity. All of Drupal 8’s themes are responsive off-the-rack – which not only works great with all devices also makes configuration and set up of your Drupal website a lot easier.
  • A built-in, well configured WYSIWYG editor CKEditor lets you preview and edit your content in a breeze. You also have an in-place editor that lets you edit blocks, content, menus, etc. right in the same page.
  • SEO gets you noticed and out-there. With some of Drupal’s built-in powerful SEO modules, you can take your website places! Modules like SEO Checklist, PathAuto, Redirect, MetaTag, etc. are killing it!
  • The newest and most powerful version of HTML, which is HTML5 is now built-into Drupal 8. It lets you embed complex input elements like audio, video, date, email, etc with ease and better functionality across all devices.
  • Take your business global with Drupal 8’s out-of-the-box multilingual support. You can not only create pages enabled with language-based views, even the admin interface allows you to select our preferred language. The built-in content translate modules enables you to translate any content entity into different languages.
Sep 11 2019
Sep 11

Adding media content to a website instantly turns it into an engaging and attractive one. Media like images, videos, audio, slideshows, etc. work wonders in creating better and compelling digital experiences. The Media module for Drupal 8 lets you manage your media elements easily and systematically. The release of Drupal 8.4 saw the inclusion of many media features like the Media module and Media Library in core.

What is Media module?

The Drupal 8 Media module is often called as a ‘File browser to the internet’. 
Media module for Drupal 8 lets you manage media files and assets regardless of where they are hosted. With this module you can add/embed different kinds of media to your website content, save them in the Media Library, embed videos with a URL and more.

Drupal 8 Media Entities

The concept of Media entities are similar to that of Nodes. Media types are to media entities as Content types are to nodes. However, with Media entities, every media type is different. For example, an Image media type will come with a different set of features that can be modified (like dimensions) when compared to a video embed with a URL media type. When you enable the Media module, these Media types are created automatically -

  • File
  • Image
  • Audio File
  • Video File
  • Remote Video

You can also add fields to media types and create your own media types based on your selected media source.

Installation of Media module:

The Media module ships with Drupal 8 core but you will need to enable it first to be able to use it. Here are the steps to enabling and using the Drupal 8 Media module-

Step1: 

First we have to go to Extend tab and enable the Media and media library module as shown in the below image.

Step2:

Once we enable the module now we can see that the Media types are part of the site’s structure, which has 5 types - Audio, Image , Remote video, File and video. Here we can create our own type as well.

Step3: 

Now we can use this as an entity reference for any field.
For example, here we will create a field for Images as Media type as shown in the below.

Next, we have to select a Reference type of media as shown in the below image.

Step 4: 

The field has been created successfully. It is time to add some media of the available types. You can add it in two ways:

  1. From the admin dashboard “Content ->  Add content ->  Article” for Image field

  1. Directly from the “Media” tab in “Content” where you will see the entire Media Library with all media that you have added.

The new Media Library interface can display your media in the Gridview and in the Table view

It is easy to filter and sort the media by various criteria, as well as select particular items to do actions with them (delete, publish, save, unpublish).

Sep 03 2019
Sep 03

Debugging is not something us developers look forward to. Developer detest bugs but to be able to build a fine quality software, debugging is an indispensable part of a developer’s life. Every PHP developer has a different style and go-to methods for debugging their code. This depends on their experience, their problem-solving approach and most importantly - the amount of time they have in hand! 

How important is debugging and why do you need to debug your code? 

Debugging is an integral part of a software development life cycle that assures quality results. 
Picture this - The codebase is big, You are new to the project, You do not have much details of the project/functionality. But you are supposed to fix a bug. Where do we start from? We start by analyzing the code step by step to understand what is done and where things are going wrong. That, my friends, is Debugging. Debugging is an art that can get better with practice and experience.

How to debug your PHP code

Okay so here is a case that I have come across in my development career. There is a commerce site built on Wordpress in which the checkout process was taking around 5-8 minutes and I was asked to solve it. In this case, I don’t have much knowledge on how things work with Wordpress. So I started with checking off the options from the list one by one such as, (a) Is it because of some plugin? (b) Is it Theme related? (c) Is it any custom code base? etc. 

The tool that helped me in php debugging and solving this case is Blackfire. This gives you a more user-readable option of the stack trace of all the functions, the time taken for each function in the whole process. By using this, I found the function that is eating up the checkout process. All you need is some setup to add the key to your code base and you are all set to analyse any functionality using the documentation.  
So, you can solve the bugs if you have knowledge on multiple methods of php debugging.

Code Debugging Techniques

Let me talk about a few techniques that I have used for debugging PHP.
A simple and most common way to check if the function or the method you have written is being called up, write an exit. There wouldn’t be any developer who hasn’t used this!
To check the value of some variable, print_r(), var_dump(), var_export(). Okay, let’s see the difference.

Example:

Assume an array 
$a = array( 1, array( "a", "b") );

print_r($a);
Array
(
    [0] => 1
    [1] => Array
        (
            [0] => 'a'
            [1] => 'b'
        )
)
 
Array
(
    [0] => 1
    [1] => Array
        (
            [0] => 'a'
            [1] => 'b'
        )
)

This gives a human-readable format and information about the variable. Also, we can store it to a variable with print_r($var, true).

var_dump( $a );
array(3) {
  [0]=>
  int(1)
  [1]=>
  array(2) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
  }
}

This prints along with type, length of each value. And this is faster comparatively to print_r()
 var_export( $a );

array (
  0 => 1,
  1 => 
  array (
    0 => 'a',
    1 => 'b',
  ),
)
 

This prints along with type, length of each value. And this is faster comparatively to print_r()
 

var_export( $a );

This returns valid php, if variable exists, else returns false. Which means, the output of var_export can be used directly in a php file.

Have you ever made use of debug($var, NULL, TRUE) provided by Drupal core? This uses print_r() or var_export based on the arguments passed to the php debug function.

What about the warnings like below, which you don’t have a clue on which line of code is causing such a warning.

warning: Invalid argument supplied for foreach() in /modules/node/node.module on line 485.

We know that there are so many places that the node module will be called. So, how do you resolve this? One faster way without using any other external resources is using PHP function debug_backtrace(). Go to “drupal_set_message”, because you know, this is the method that is printing the warning. Put the below line, in that function

debug_backtrace();

Output:

Array
(
    [0] => Array
        (
            [file] => /includes/common.inc
            [line] => 552
            [function] => drupal_set_message
            [args] => Array
                (
                    [0] => warning: Invalid argument
supplied for foreach() in /modules/node/node.module on line 504.
                    [1] => error
                )

        )

    [1] => Array
        (
            [file] => /modules/node/node.module
            [line] => 504
            [function] => error_handler
            [args] => Array
                (
                    [0] => 2
                    [1] => Invalid argument supplied for foreach()
                    [2] => /modules/node/node.module
                    [3] => 504
                    [4] => Array
                        (
                            [param] => 
                            [revision] => 
                            [reset] => 
                            ...
                        )

                )

        )

    [2] => Array
        (
            [file] => /sites/all/modules/custom/custom_module/
custom_module.module
            [line] => 10
            [function] => node_load
            [args] => Array
                (
                    [0] => 
                )

        )

    [3] => Array
        (
            [file] => /includes/form.inc
            [line] => 365
            [function] => custom_module_form_alter
            [args] => Array
                (
                ...
 

This function shows the stack of all the functions that are called in the process of causing the warning. Make sure you restrict the limit, otherwise PHP shows a “memory exhausted” message if the stack takes too long to be displayed.

Debugging through CLI:

Heard of phpdbg! Yes, there is a php extension that is available from PHP 5.6+ which is used to debug a php file from command line.
Open you terminal, enter “phpdbg”. This starts  an interactive php debugger shell. You can also use breakpoints! Just try it out - the hidden way of debugging PHP. 
The only problem is: you will have to get used to the commands of phpdbg to make better use of it.

Debugging through Drupal:

Devel Kint:

Drupal developers use this pretty often. Kint is a submodule of the Devel module that can be used to debug Drupal 8 twig templates together with dump(); 

DB Log: 

Who is not aware of this Drupal module?! In D7 it is watchdog() and D8 it is logger service.

\Drupal::logger('my_module')->debug($message);

But the only reason why we don’t encourage the use of this module even though we are in love with this is that the log message is written into the database every time!

And imagine if it is a huge database, this would be even worse and will affect the performance. That’s the reason, it is not recommended to use DBLOG module on Production sites.


Do you still want to use DBLog, module and reduce the performance impacts? There is a solution for that as well - DBlog Filter. This is a contributed module which helps in restricting the type of logs to be written into the database. For example, if you want to store only logs of severity “error”, you can configure them with this module. So you don’t have to completely get rid of Dblog module. Oh yes, and this module is contributed by me ;) 

Web profiler

Web profiler is a contributed module provided by Devel again. Once you have the module enabled, you will see a report at the bottom of the window. Whenever a page is loaded, this report gives us the page load time, number of queries running in the page, number of forms, number of js/css files, etc. in that page.

web profiler

Yes, This even offers details of each section by clicking on them. For example, the following image shows the queries in the home page.

Xdebug

XDebug - Debugging through IDE:

The best and more user-friendly way of debugging most of the people prefer if they are using an IDE for coding is using XDebug. XDebug is a PHP extension that helps in the development and debugging and provides a single step debugger that you can use with an IDE like PHPStorm. Of course to get the best results, you have to put more effort to install and configure the extension with the IDE you are using.

Aug 27 2019
Aug 27

Want an easy way to extend your market reach and ultimately your sales? Do you feel you need to personalize your website to every user no matter which country they belong to or what language they speak? Getting yourself a multilingual website is your best bet. Not only is it a more cost-effective marketing strategy, it also helps in increasing your website traffic and overall SEO. Drupal CMS has particularly taken up this challenge of providing not only users but also developers with the ability to access Drupal in a language that they prefer. And with Drupal 8 being multilingual out-of-the-box, it has become an ideal choice for businesses and developers. Powerful Drupal translation modules offer developers with granular configuration capabilities where every content entity can be translated.

What are Multilingual Websites?

Multilingual basically means written or available in different languages. Multilingual websites connect better with users from different countries as it immediately adds an element of familiarity. Drupal 8 provides an easy and a great experience of building a multilingual website. Currently Drupal 8 supports 100 different languages for translation.

Drupal 8 has a multilingual feature which comes along with the installation interface. As soon as you install Drupal, based on the browser preference, it provides a language for your Drupal website. Based on the option selected the site is installed in that particular language. Drupal 8 basically provides 4 different modules for language and content translation. We can enable the required Drupal modules in our site and use according to our needs in the website. 

Drupal-8-migration

The four core modules provided by drupal are

  1. Language module
  2. Content translation module
  3. Interface translation module
  4. Configuration translation module

Let’s catch up with what each module does, its configurations and how each module can be used in our Drupal website.

Firstly, you need to enable all the 4 core modules in your drupal site. All the translation modules can be configured at path /admin/config/regional

Drupal Language Module

This Drupal 8 language module is one of the core modules located at core/modules/language. It provides a feature of adding and choosing a new language to your Drupal website. Under /admin/config/regional/language/ you can simply add a new language to your site by clicking on the “Add Language” button. It provides a list of different languages from which you can choose the language you need for the development.

drupal-8-migrationdrupal language module

Choose the preferred language from the list and add it

Once the language is added the interface will look similar to this. In the above picture, the default language of the interface is set as English and spanish is the additional language installed. The 9172/9340(98.2%) under Interface translation indicates that 9172 words out of 9340 words available for translation are translated i.e 98.2% of the words in the interface are translated.

It also provides a block( Language switcher) to switch the language from one to another which can be placed at  any region of your Drupal website. Under /admin/structure/block we can place the language switcher block with which we can switch the default language of our website.

Drupal Language Switcher                                                                                Language Switcher

Once the block is placed in the region we will be able to switch to the different languages in the web page itself.

Content Translation Module

The Drupal Content Translation module allows you to translate content entities such as comments, custom block, contents, taxonomy terms, users etc. In order to translate the content entities, the website should have at least two languages installed. The content translation can be configured at path admin/config/regional/content-language . It provides a list of entity types which can be translated. 

For example, click on the content configuration option that appears for each content type.

Let us consider that the content translation is being enabled for the article content type. It provides an option to decide if each subtype entity to be translatable or not. We can also change the default language for a particular content type. Each field has an option to translate its content or not. 

Content Translation Module - Choosing the content                                            Content Translation Module - Choosing the content

It also provides an option to input the content in the language which is suitable for the user while adding content from the backend interface. Once the above configuration is set up and when we try to add content to the Article content type we can see a Select option with the languages installed in our site. We can select any language and add content in the particular language selected.

Content Translation Module - Select the language                                       Content Translation Module - Select the language


Once the contents are saved, users with translate permissions will see links to Translate its content. It provides an additional tab called “Translate” along with the  "Edit" links, and you'll be able to add translations for each configured language.

Content Translation Module - Select the language                                                           
                                                         Content Translation Module - Select the language

Interface translation Module

 The Drupal Interface translation module is also a part of core module and can be easily enabled like any other drupal module. Once this module is enabled it is possible to replace any string in the interface with string which has been customized. Whenever this module encounters any string it tries to translate the particular string to the current language of the interface. If a particular translation is not available it is remembered and we can lookup into the untranslated string in the table.   

Interface translation Module                                                                Interface translation Module


In the above example, the strings which are both translated and untranslated are displayed and we are able to modify the strings for the language that is installed as well.
The translations for the strings are put up in a single place called http://localize.drupal.org and the Localization Update module will automatically import the updated translation strings for your selected language. In Drupal 7 and previous versions, this was a contributed module. In Drupal 8 it is a part of a core module.

Configuration translation Module

The Drupal 8 Configuration Translation module allows configuration to be translated into different languages. The site name, views name, and other configurations can be translated easily using the configuration translation.

Configuration translation Module                                                                    Configuration translation Module

It also provides an option to input the content in the language which is suitable for the user while adding content from the backend interface. Once the above configuration is set up and when we try to add content to the Article content type we can see a Select option with the languages installed in our site. We can select any language and add content in the particular language selected.

Aug 21 2019
Aug 21

Do you like people who are warm and friendly or cold and hostile? You’ve got it right! I’m comparing Interactive to Non-interactive (static) websites here. In this increasingly digital generation, it isn’t sufficient to place some content on your website and wait for it to work its magic. Providing a web User experience without interactivity is like opening a store filled with inventory without a salesperson to interact with. 
When you create an interactive website, you are forming a connection with your audience. It propels a two-way communication on a medium where you cannot directly interact with a user. Studies have proven that people are more likely to convert on, return to or recommend websites that are interactive. Drupal CMS offers a wide variety of interactive themes and modules that can be easily adapted to your website and further customized.

What is an interactive website?

Put simply, an interactive website is a website that communicates and allows for interaction with users. And by interaction, we don’t just mean allowing users to “click” and “scroll”. Offering users with content that is amusing, collaborative and engaging is the essential objective of an interactive website. An interactive website design will not just display attractive content, it will exhibit interactive content. Content that will compel users to communicate and deeply engage with the website. 
 

Interactive website design 
Interactive Website Designs Communicate & Engage with users 

Why do you need one?

Today, all businesses in the digital market are racing to expand their audience. Most of them, however, forget that increasing traffic is simply not enough. Retaining and engaging users is what converts. Engaging your users should be your prime motive and for this you will first need an interactive business website. 

  • Drives more engagement. Interactive business websites can make your website less boring, thus garnering more action. 
  • Users will spend more time on a website that interacts with them. This increases your conversion rate, decreases bounce rate and can boost the SEO of your website.
  • Develops a more personalized user experience that can result in happy users. 
  • Engaged users are more likely to maintain a long-term relationship with websites.
  • Interactive website designs can create lasting effects in user’s minds. This improves your brand awareness and reach. 
  • Interactive websites encourages users to recommend your website and link back to it.
  • More conversions means you have a better chance in making a sale!

How to make interactive websites? 

Creating an interactive website from scratch is easier and more effective as you envision and plan the customer journey from day one. Nevertheless, if you already have a website that you think is static or needs more interactive website features, it is never too late. The first step is to define your business objectives and then identify various touch points from where you can interact with your customers.
If budgets and timelines are constraints you could also look at HTML5 interactive website templates (not recommended if you need customizations).
There are various interactive website features that can increase user engagement but you should pick the ones that suit your business goals. For example, if you are sell financial services, having an interest calculator in your website can prove to be very useful. Nonetheless, the most essential interactive feature that you just cannot ignore is responsiveness. Users will respond to your website on various devices only when it looks and feels presentable.
So what kind of interactive website features or elements can you utilize for your benefit?

  • Social Media Applications

There is no denying that Social media marketing can give you the visibility like no other marketing programs if done right. Provide your users with an option to like and share your content on social media platforms like LinkedIn Twitter or Facebook. Or just to be able to follow your page. You can also display live feed from your social media page to keep users updated. 

  • Simple Interactive Tools

Offer your users with simple interactive tools like Quizzes, short Games, math tools, tax calculators, etc. connected to your business objectives. Integrating simple software tools that can provide your users with instant results have proven to boost user engagement. 

  • Interactive Page Elements

You can enhance your page elements by adding something interesting and attractive to it. For example, colourful and dynamic hover-states on links or images, on-scroll or on-click loading/animation, navigation with clicks on image stories, and much more. Add videos or animations to say more about your business in an interactive way.

  • Forms and Feedback

Allowing users to get in touch with you via a contact form is a great way to connect with them. Not only does it let you increase your database of leads, it is a nice way of saying “We care”. Feedback forms lets you identify your strengths and weaknesses via the best source – your audience! 

  • Chat Widgets

What’s better than a live person chatting with you, answering all your questions about the products or services being offered?! That’s probably the highest level of interactivity you can offer in an interactive business website. If live chat sounds like too much commitment, you could also opt for Chat bots that can be configured to answer predictive questions.

  • User-generated Content

Letting users add their content on your website is a great way to improve interactivity. This can be done in the form of Comments (in your blogs/articles section), inviting them to write guest posts, submit images or even creating a small discussion Forum.

  • Other interactive website Features

You can get creative with the interactive features you want for your audience but here’s a short list of commonly used interactive elements –

  • Google Maps makes you a more trust-worthy brand and provide a great way to improve interaction especially when they are clickable.
  • Newsletters can keep your users coming back to your website for more updates.
  • Voting and showing them results of previous polls helps increase engagement.
  • Search functionalities eases the user from the pain of navigating through your website.
  • Ratings can be a quick and interactive method of getting instant feedback that can improve your products/services/work.
  • Slideshows offer a great way to engage users and can make them want to keep going to the next image.
interactive elements     
           Interactive Website Features and Elements 
                                         

Drupal for Interactive Websites

When you build your website with Drupal, you will come across multiple options in the form of modules and features that can instantly turn your static website into an interactive one. With Drupal 8, responsiveness comes out of the box. Which means that you don’t need any additional modules to make your Drupal website look great irrespective of the devices. In addition there are a variety of modules that encourage interactivity like the Search API, Contact forms module, Social Media module, Slideshow module,  SimpleNews (or newsletters) and much more! 

Aug 20 2019
Aug 20

It is no mystery why Drupal has been the chosen one for over a million diverse organizations all across the globe. Unsurprisingly, the reason behind the success of this open-source software is the devoted Drupal community. A diverse group of individuals who relentlessly work towards making Drupal stronger and more powerful every single day! To them, Drupal isn’t just a web CMS platform - Drupal is a Religion. A religion that unites everyone who believe that giving back is the only way to move forward. Where contributing to the Drupal project gives them meaning and purpose.

Recently, I had the privilege of interacting with a few of the most decorated and remarkable members of the Drupal community - who also happen to be Drupal’s top contributors. I questioned them about the reason(s) behind them contributing to Drupal and what do they do to make a difference. Their responses were incredible, honest and unfeigned.

Adrian_Cid_Almaguer

Adrian Cid Almaguer

Senior Drupal Developer. Acquia Certified Grand Master - Drupal 8

quotes I use Drupal every day and my career in the last years are focused to it, so I want to work with something that I feel comfortable and that meets my needs. If I find errors or something that can be done in a better way in projects I´m using or in the Drupal Core, I open an issue in the project queue and if I have the knowledge and the time, I create a patch for it. This is a way I can says THANKS to the Drupal community.

The strength of Drupal is the community and the contributes modules you can use to create your project, one person can’t create and maintain all the modules you will need, but if several of us give ourselves the task of doing it, all will be more easy, and is not just code, we need documentation, we need examples, translations and many other things in the community, the only way to do this is if each of the Drupal user give at least a small contribution to the community. So, when I contribute to Drupal, I’m helping you to have time to contribute to something that I may need in the future.

I maintain many Drupal modules, so basically the main contributions are create, update and migrate Drupal modules, but I contribute too in other areas. I contribute translating Drupal to the Spanish language and moderating the user translations, I create patches for some projects I do not maintain, sometimes I review some patches in the issue queue, I write and update modules documentation, I make some contributions creating tests for Drupal modules, I give support to the community in the Slack channels and in the Drupal Stack-exchange site and help new contributors to learn how to contribute projects to Drupal in the correct way. And as I’m a former teacher, I participate in regional Drupal events promoting how and why is important to contribute to Drupal projects and how to do it.

I will love to maintain a Drupal core module but I don’t know if I will have the time to do it, so for the moment I will continue migrating to Drupal 8, evolving and having up to date the modules I maintain.

Alex_Moreno

Alex Moreno

Technical Architect at Acquia

quotesContributing to open source is not just a good and healthy habit for the communities. It is also a healthy habit for your own projects and your self-improvement. Contributing validates your knowledge opening your knowledge to everyone else. So you can get feedback that helps yourself to improve, and also ensures that your project is taking the right direction. For example when patching other contributed modules with fixes or improvements.

I enjoy writing code. My main contributions have been always on that direction. Although more recently I have been also helping on other tasks, like Spanish translations in Drupal 8 Umami.

Baddy Sonja Breidert.

Baddy Sonja Breidert

Co-Founder of 1xINTERNET

quotes One of the reasons why I contribute to Drupal is to make Drupal more known in my area, get more people involved, attract new users, etc. I do my bit in contributing to the Drupal project by organising events like Drupal Europe and Drupal Camps in Germany and Iceland.

It is extremely gratifying to see new people from all over the world join the Drupal community - be it as developers, designers, volunteers, event organisers, testers or for example writing documentation. There are so many different ways to contribute!

And what happens over and over again is that people originally come for a very specific purpose, say a project they want to launch, and then stay in the community just because it is such a friendly, diverse and welcoming place! My work in the board of the Drupal Association confirms the old slogan over and over again: Come for the code, stay for the community!

Daniel_Wehner

Daniel Wehner

Senior Drupal Engineer at Times Higher Education

quotesUnlike many other projects the Drupal community tries to create a sustainable environment. Both from the technical site, but probably on the long run more important from the community side. Initiatives like Drupal Diversity & Inclusion lead the foundation for a project which won't just go away like many others

Jacob_Rockowitz>

Jacob Rockowitz

Drupal developer. Built and maintains the Webform module for Drupal 8

quotesContributing to open source software provides me with an endless collaborative challenge. My professional livelihood is tied to the success of Drupal which inspires me to give something back to the Drupal community. Contributing to Drupal also provides me with an intellectual and social hobby where I get to interact with new people every day.

Everyone has a personal groove/style for building software. After 20 years of writing software, I have come to accept that I like working towards a single goal/project, which is the Webform module for Drupal 8. At the same time, I also have learned that building open source software is more than just contributing code; it is about supporting and creating a community around the code. Supporting the Drupal community has led to also write documentation, blog about Drupal, Webform, and sustainability, present at conferences, and address the bigger picture around building and maintaining software

Joel_Pittet

Joel Pittet

Web Coder. Drupal 8 Theme System Co-maintainer

quotesI feel that I should give back to ensure the tools I use keep working. Monetarily or with my time. And with Drupal it’s a bit of both:

I started submitting patches for the Twig initiative for Drupal core, then mentoring and talks at DrupalCons and camps, followed by some contrib patches, then offered to co-maintain some commerce modules, which snowballed into more and more contrib module co-maintaining, mostly for ones I use at work.

I pay the Drupal Association individual membership to help the teams for all the Drupal.orgwork and event work they do.

Joachim_Noreiko

Joachim Noreiko

Freelance Drupal developer. Built and Maintains Drupal Code Builder

quotesI guess, I like fixing stuff, I like to code a bit in my spare time, I like to contribute to Drupal, and as a freelancer, it’s good to be visible in the community.

Lately I’ve actually been feeling a bit demotivated. I’ve been contributing to core a bit, but it’s always an uphill struggle getting beyond an initial patch. I maintain a few contrib modules, and my Drupal Code Builder tool as well.

Joris_Vercammen

Joris Vercammen (borisson)

Drupal developer, Search API + Facets

quotesBeing able to pull so many awesome modules for free really makes the work we all do in building good solutions for our customers a lot easier. This system doesn’t work without some of us putting things (code/time/blogposts/…) back into it. The Drupal community has given me a lot of things unrelated to just the software as well (really awesome friends, a better job, the ability to travel all over Europe, etc.). To enable others that come after me to have a similar experience, I think that it is important to give back, as long as it fits in the schedule.

Most of my contributions are under the form of code. I try to do some mentoring but while that is a lot more effective, it is really hard and I’m not that great at it, yet. I’m mostly interested in the Search API ecosystem because that’s what I got roped in to when I started contributing. A lot of my core contributions are for blockers (of blockers of blockers) for things that we need. I try to focus a little bit on the Facets module, since that is what I’m responsible for, but it’s not always easy or the most fun to do. Especially since I’ve still not built a Drupal 8 site with facets on it.

Malabya_Tiwari

Malabya

Open-source evangelist. Drupal Practice Head at Specbee

quotesCommunity. That’s what motivates me to contribute. The feeling I get when someone uses your code or module or theme is great. Which is a good drive to motivate for more contributions. Drupal being an open-source software, it is where it is just of the contributions by thousands of contributors. So, when we use Drupal it is our responsibility to contribute back to the software to make it even better for a wider reach

Apart from contributing modules, theme & distributions I help in organising local meetups in Bangalore and mentoring new developers to contribute and begin their contribution journey from the root level. This gives me immense pleasure when I can help someone to introduce to the world of Drupal and make them understand about the importance of contributions and community. Going forward, I would definitely strive towards introducing Drupal to students giving them a career choice and bring in more members to the Drupal community.

Nick_Wilde

Nick Wilde

Drupal developer at Taoti Creative

quotesMy main motivation has always been improving what I use - first OS contribution before my Drupal days was a bug-fix for an abandoned at the time project that was impairing my Modding of TES-III Morrowind ;). I like the challenges and benefits of working in a community. Code reviews both that I've done and those done on my code have been incredibly important to my growth as a developer. I also have used it as a portfolio/career advancement method, although that is important it is only of tertiary importance to me. Seeing a test go green or a getting confirmation that a bug is fixed is incredibly satisfying to me personally. Also, I believe if you use an open source project especially professionally, contributing back is the right thing.

My level of contributions vary a fair bit depending on my personal and professional level of busy, but mostly through contrib module maintenance/patch submissions. Also in the last year or so, I've been getting into a lot more mentorship roles - both in my new company and within the broader community. Restarted my local Drupal meetup and am doing presentations there regularly.

Rachel_Norfolk

Rachel Norfolk

Community Liaison at Drupal Association

quotes Contribution for me is, at least partly, a selfish act. I have learned so much from some of the best people in the industry, simply by following along and helping where I can. I have also built up an amazing network of people who, because they know I help others, are more prepared to help me when I need it. Both code and other ways of contributing. I’m occasionally in the Drupal core issue queues, I help mentor others and I get involved in community issues.

Renato_Goncalves

Renato Goncalves

Software Engineer at CI&T's Drupal Competence Office ()

quotesMy first motivation to contribute to the Drupal community is helping others that have the same requirement as mine. To be honest, I get very happy when someone uses my community code in their projects. I'm glad to know that I'm helping people. When I'm developing a new feature I check if my solution can be useful to other projects and that way I create my code using a generic way. - Usually, I'm the first to reuse the code several times. I think this is important to make Drupal a powerful and collaborative framework. I liked my first experience using the framework because for each requirement of my project, Drupal has a solution. I think contributing to the community is important for that. More and more new people are going to use the framework, and consequently new contributors, and in that way, it becomes increasingly powerful and efficient. An example of this is the Drupal Security Team, where they work hard to ensure that Drupal is a secure framework. I'm making contributions at the same time I delivery projects. Today I write my code in a generic way, that is, the code can be reused in other times. A good example of this model is the Janrain Connect project. This project is official in the community (contrib project) and my team and I w hard using 100% of the generic code, so we can reuse this code on other cases.

When we need to make some improvement in the code, the first point is checking a way to make this improvement using a generic solution. Using this approach we can help our project and help the community. In this way, we are contributing to making an organized and agile framework. The goal is that other people don't need to re-write code. It is a way of transforming the framework into a collaborative model.

Thomas_Seidl

Thomas Seidl

Drupal developer, “The Search API Guy”

quotesMy motivation comes from several sources: First off, I just like programming, and while fixing bugs, writing tests or giving support isn’t always fun, a lot of the time working on my modules is. It’s just one of my hobbies in that regard. Then, with my modules running on more than 100,000 sites (based on the report), there’s both a sense of accomplishment and responsibility – I feel proud in providing functionality for so many sites, and while, as a volunteer, I don’t feel directly responsible for them, I still want to help improve them where I can, take away pain points and ensure they keep running. And lastly, having a popular, well-maintained module is also the base of my business as a freelancer: it not only provides marketing for my abilities, but also the very market of users who want customizations. So, maintaining and improving my modules is also, indirectly, important for my income, even though the vast majority of my contributed work is unpaid.

Apart from participating in coding standards discussions, I almost exclusively contribute by maintaining my modules (and, increasingly rarely, adding new ones) – fixing bugs, adding features, answering support requests, etc. I sometimes also provide patches for other modules, but generally only when I’m paid to do so. (“My modules” being Search API and its add-on modules Database Search, Autocomplete, Saved Searches and, for D7 only, Solr, Pages, Location and Multi-Index Searches.)

And Lastly....

It’s not just brands that have adopted Drupal as their CMS – they are the cream of brands. From NASA to the Emmy Awards. From Harvard University to eBay. From Twitter to the New York State. These brands have various reasons to choose Drupal as their Content Management System. Drupal’s adaptability to any business process, advanced UX and UI capabilities for an interactive and personalized experience, load-time optimization functionalities, easy content authoring and management, high-security standards, the API-first architecture and so much more!

The major reason why Drupal is being accepted and endorsed by more than a million websites today is because Drupal is always ahead of the curve. Especially since Drupal adopted a continuous innovation model wherein updated versions are released every 6-months with seamless upgrade paths. All of this is possible because of the proactive and ever-evolving Drupal community. The goals for their contributions may vary - from optimizing projects for personal/professional success to creating an impact on others or simply to gain more experience. Either way, they are making a difference and taking Drupal to the next level every time they contribute. Thanks to all the contributors who are making Drupal a better place.

I’d like to end with an excerpt from Dries - “It’s really the Drupal community and not so much the software that makes the Drupal project what it is. So fostering the Drupal community is actually more important than just managing the code base.”

Warmly thanking all the mentioned contributors for helping me put this article together.

drupal community infographic
Aug 13 2019
Aug 13

When the open-source Accelerated Mobile Pages (AMP) project was launched in October 2015, Google AMP was often compared to Facebook's Instant Articles. Nonetheless, both of the tech-giants share a common goal – to make web pages load faster. While AMP can be reached with a web URL, Facebook’s Instant Articles aimed only at easing the pain for their app-users. Teaming up with some powerful launch partners in the publishing and technology sectors, Google AMP aimed to impact the future of content distribution on mobile devices.

Fast forward to today, and Google AMP is the hottest thing on the internet. With over 25 million website domains that have published over 4 Billion AMP pages, it did not take long for the project to be a huge success. Comprising of two main features; Speed and Support to Monetization of Objects, AMPs implications are far reaching for enterprise businesses, marketers, ecommerce and every other big and small organizations. With great features and the fact that its origin as a Google Initiative, it is no surprise that the AMP pages get featured in Google SERP more prominently. 

What is AMP?

With the rapid surge in mobile users, the need to provide a website-like user experience does not just cut it. Today mobile user’s come with a smaller attention-span and varied internet speeds. Businesses can cater to each of these challenge with a fast-loading, light-weight and an app-like website with Google AMP.

AMP is an open-source framework that simplifies the HTML, streamlines CSS rules, restricts use of Javascript (can use AMP’s component library instead) and delivers pages via a Google AMP cache (a proxy-based Content Delivery Network).

Why AMP??

Impacting the technical architecture of digital assets, Google's open source initiative aims to provide streamlined web pages to mobile browsers and other apps.

It is Fast, like Really Fast

Google AMP loads about twice as fast as a normal comparable mobile page and the latency is as less as one-tenth. Intended to provide the fastest experience for mobile users, customers will be able to access content faster, and they are more likely to stay on the page to make a purchase or enquire about your service, because they know it won't take long.

An Organic Boost

Eligibility for the AMP carousal that rests above the other search results on Google SERP, resulting in a substantial increase in organic result and traffic is a major boost for the visibility of an organization. Though not responsible for increasing the page authority and domain authority, Google AMP plays a key role in sending far more traffic your way.

ROI

The fact that AMP leverages and not disrupts the existing web infrastructure of a website, makes the cost of adopting AMP much lesser than the competing technologies. In return, Google AMP enables better user experience which translates to better conversion rates on mobile devices.

Drupal & AMP

With better user engagement, higher dwell time and easy navigation between content benefits, businesses are bound to drive more traffic with AMP-friendly pages and increase their revenue. The AMP module is especially useful for marketers as it is a great addition to optimize their Drupal SEO efforts.

AMP produces HTML that makes the web a faster place. Implementing the AMP module in Drupal is really simple. Just download, enable and configure!
Before you begin with the integration of AMP module with Drupal, you need -
AMP Module : The AMP module mainly handles the conversion of regular Drupal HTML pages to AMP-complaint pages.

Two main components of AMP module:

AMP Module : The AMP module mainly handles the conversion of regular Drupal HTML pages to AMP-complaint pages.
Two main components of AMP module:

AMP Theme: I'm sure you have come across AMP HTML and its standards. The one that are responsible for your content to look effective and perform well on mobile. The Drupal AMP theme produces the mark up required by these standards for websites looking to perform well in the mobile world. Also, AMP theme allows creation of custom-made AMP pages.

AMP PHP Library: Consisting of the AMP base theme and the ExAMPle sub-theme, the Drupal AMP PHP Library handles the final corrections. Users can also create their own AMP sub-theme from scratch, or modify the default ExAMPle sub-theme for their specific requirements.

How to setup AMP with Drupal?

Before you integrate AMP with Drupal, you need to understand that AMP does not replace your entire website. Instead, at its essence, the AMP module provides a view mode for content types, which is displayed when the browser asks for an AMP version.

Download the AMP Module

With your local prepped up, type the following terminal command:

drush dl amp, amptheme, composer_manager

This command will download the AMP module, the AMP theme and the Composer Manager module (suppose if you do not have the Composer Manager already).

If you have been a user of Drupal 8,  you are probably familiar with Composer and its function as a packaging tool for PHP that installs dependencies for a project. The composer is used to install a PHP library that converts raw HTML into AMP HTML. Also, the composer will help to get that library working with Drupal.

However, as the AMP module does not explicitly require Composer Manager for a dependency, alternate workflows can make use of module Composer files without using Composer Manager.

Next, enable the items that are required to get started:

drush en composer_manager, amptheme, ampsubtheme_example

Before enabling the AMP module itself, an AMP sub-theme needs to be enabled. The default configuration for the AMP module sets the AMP Theme to ‘ExAMPle subtheme.’

How to Enable AMP Module?

The AMP module for Drupal can be enabled using Drush. Once the module is enabled, the Composer Manager will take care of the downloading of the other AMP libraries and its dependencies.

drush en amp

Configuration

Once everything is installed and enabled, AMP needs to be configured using a web interface before the Drupal AMP pages can be displayed. First up, you need to decide which content types should have an AMP version. You might not need it for all of them. Enable particular content type by clicking on the “Enable AMP in Custom Display Settings” link. On the next page, open the “Custom Display Settings” fieldset. Check the AMP box, then click Save.

image

Setting an AMP Theme

Once the AMP module and content type is configured, it is time to select a theme for AMP pages and configure it. The view modules and the field formatters of the Drupal AMP module take care of the main content of the page. The Drupal AMP theme, on the other hand, changes the mark-up outside the main content area of the page.

Also, the Drupal AMP themes enables you to create custom styles for your AMP pages. On the main AMP config page, make sure that the setting for the AMP theme is set to the ExAMPle Subtheme or the custom AMP subtheme that you created.

Drupal-theme

Aug 08 2019
Aug 08

Back in early 2010, when Jason Grigsby pointed out that simply setting a percentage width on images was not enough, and that you needed to resize these images as well for a better user experience. He pointed out that if you served the right sized images on the original responsive demo site, more than 75% of the weight of those images can be shaved on smaller screens. 

Ever since, the debate on responsive images have evolved in what is the best solution to render the perfect, responsive images without any hassle.

We all know how Drupal 7 does a great job in handling responsive images with its modules. However, with Drupal 8, things are even better now!

Responsive Images in Drupal 8

The Responsive Image module in Drupal 8 provides an image formatter that maps the breakpoint of the original image to render a flawless responsive image using a picture tag.

When we observe how Drupal 8 handles responsive images when compared to Drupal 7, some of the features to be noted are:

Drupal 7 consists of the contributed module picture element, which in the latest version is known as Responsive Images.
In addition to this, Responsive images & Breakpoint modules are a part of the Drupal core in the latest version of the CMS.

The Problem

One of the major problems with the images in web development is, browsers do not know about the images, and are clueless about what sized images are rendering in relation with a viewport of different screens until the CSS & Javascripts are loaded.

However, the browser can know about the environment in which the images are rendering, which includes the size of the viewport and resolution of the screen.

The Solution 

As we mentioned in previous sections, responsive images use picture element which basically has sizes and srcset attributes which play a major role in notifying the browser to choose the best images based on the image style selections.  

So Drupal 8 has done a great job in providing the responsive images module in the core. This will download the lower sized images for the devices with lower screen resolution, resulting in better website load time and improved performance. 

Steps to reproduce

  1. Enable Responsive images and breakpoint module.
  2. Setup the breakpoints for your projects theme.
  3. Setting up the image styles for responsive images
  4. Creating a responsive image style for your theme
  5. Assigning the responsive image style to an image field.

Enable Responsive images and breakpoint module

Since it's a part of drupal 8 core, we will not require any other extra module. All you have to do is enable the responsive images module, since the breakpoint module will be installed with the standard profile. Else enable the breakpoint module.

To enable the module goto->admin->extends select the module and enable the module.

extend page

Setup the breakpoints for your project's theme
 

breakpoints

Setting up the theme’s breakpoint is the most important part for the responsiveness of your site.


If you are using a core theme like bartik , seven, umami or claro, you will already have the breakpoints file and you don’t have to create any new ones. 

However, if you are using a custom theme for your project, it is important that you define the breakpoints in "yourthemename.breakpoints.yml" which can be found in your theme directory, usually found in "/themes/custom/yourthemename".

Each breakpoint will assign the images to media query.  For example images which are rendering in mobile might be smaller i.e width less than 768px, where in medium screens will have a width between 768px to 1024px.


Each breakpoint will have: 

label:  Is the valid label given for the breakpoint.
mediaQuery:  Is the viewport within which the images are rendered.
weight:  For the order of display.
multipliers:  It's a measure of the viewport's device resolution normally 1x will be used for standard sizes and 2x for retina display.

Setting up the image styles for responsive images

Now we will have to create an image style for each of the breakpoints. You can configure your own Drupal 8 image styles at admin->config->media->image-styles. 

Click ‘Add image style’.  Give the valid name for your image style & use scale and crop effect which will provide the cropped images. If the images are stretched, add multiple image style for different viewports.

add image style

Creating a responsive image style for your theme 

This is where you provide the multiple image style options to the browser and let the browser choose the best out of the lot. 

responsive-image-styleresponsive image


To create new responsive Drupal 8  image style navigate to:
Home -> admin- > config-> media->responsive-image-style and click on ‘Add responsive image’. 

Give a valid name for your responsive image style & select the breakpoint group (choose your theme) & assign the image styles to the breakpoints listed 

There are multiple options for the image style configurations

  • Choose single image style: Where you can select the single image style that will be rendered on the particular screen
  • Choose multiple image style: Where you can select the multiple-image style and also specify the viewport width for the image style

At last, there is an option to select a fallback image style. The fallback image style should only appear on the site if an error occurs.

fallback responsive image

Assigning the responsive image style to an image field 

  • Once all the configurations are done, move to the image field by adding the responsive image style.
  • To do that go to the field’s manage display and select the responsive image style which we created.
  • Add content and see the results on the page with a responsive image style.assigning responsiveresponsive image style to an image field

Final Results 

responsive image style to an image field

 The image at a minimum width of 1024px (For large Devices).

minimum width of 1024px

Image at minimum width of 768px (For Medium Devices).

Responsive image style

Image at maximum width 767px (For Small Devices).

Aug 06 2019
Aug 06

Did you know that the term “One-Stop-Shop” is one of the most clichéd marketing taglines to use, according to Hubspot? Thankfully, I came across that article before I sat down to write this one. So, I’m NOT going to say that a Drupal distribution is a “one-stop-shop” for a quick and easy way to launch your website. Let’s put it this way instead – If you want to build a Drupal website and eager to see it go live real quick, while making sure that you want to save time on maintenance too, Drupal distributions are meant for you.  

What is a Drupal distribution?

A Drupal distribution is an all-inclusive package to get your website up and running quickly. This package consists of the Drupal Core (basic features), installation profiles, themes (for customized designs), libraries (consists of assets like CSS or Javascript) and modules specific to an industry. For example, if you run a publishing company, a distribution like Thunder can help you speed up your development process. Here you can find modules like Paragraphs, Media Entity, Entity Browser and features like Thunder admin theme, scheduled publishing and much more – all in one place. 

Why should you use a Drupal 8 distribution?

Let me give you a few reasons for that -

  • You don’t have to scramble your way through thousands of Drupal modules only to find a few that you really need.  
  • Configuring Drupal core is easier too as most part of it comes preconfigured.
  • The features and modules included in a Drupal distribution are time tested, optimized and proven for quality.
  • Maintenance of a Drupal distribution is simpler because updates for all modules and features can be performed on one shot!  
  • Since you don’t have to reinvent the wheel every time, you save on time. You save precious resource time. Which also means, you save on money! 
  • Now that you have saved some time, you can spend more time on customizing and personalizing these components to tailor-fit your business needs.

Top 15 Drupal Distributions (alphabetically sorted)

1. CiviCRM Starter Kit

The CiviCRM Starter Kit brings together the power of Drupal and the open-source CRM tool – CiviCRM. The popular CRM is used by more than 8000 organizations to centralize constituent communications. Along with core Drupal and CiviCRM, the distribution also packs in CiviCRM related modules like CiviCRM Cron, Webform CiviCRM, CiviCRM Clear All Caches, etc.

 2. Commerce Kiskstart

If you are looking to quickly get your e-commerce store up and running on Drupal Commerce framework, this one’s for you. Commerce Kickstart is a Drupal distribution made for both Drupal 7 and Drupal 8 and is maintained by Centarro (previously Commerce Guys). The Commerce Kickstart 2.x version comes loaded with beautiful themes, catalog, promotion engines, variety of payment tools, utility tools, shipping and fulfilment tools, analytics and reporting tools, marketing tools, search configuration, custom back office interface and much more.

drupal distributions

                                Source - https://www.drupal.org/project/commerce_kickstart

3. Conference Organizing Distribution

Creating a website for events and conference gets easier with this Drupal distribution. Conference Organizing Distribution (COD) was made for Drupal 7 but is being actively ported to Drupal 8. With COD, you can -

  • Create/manage tickets for event registrations
  • Create announcements for paper submissions
  • Moderate session selections
  • Provide an option for attendees to vote for their favourite sessions
  • Schedule sessions on any day and place
  • Easily manage sponsorships
  • Event management made easy with a powerful event management dashboard
  • Keep a track on multiple events and sessions
  • Sell tickets with Drupal commerce

4. Contenta

This API-first Drupal distribution provides you with a framework that is API ready. It reduces the complexity and pain of using or trying decoupled/headless Drupal. Contenta also comes pre-installed with code and demo content along with front-end application examples. Even if you are new to Drupal, Contenta offers simple and quick ways to get the Drupal CMS part ready and you can then focus on frontend frameworks you intend to use. If you’re looking for a complete solution for a headless Drupal project, ContentJS is your best bet. Content JS integrates Contenta CS with front-end framework NodeJs for a powerful, high performing digital experience.

5. Drupal Government Distributions (federal, regional, local)

The aGov Drupal 8 distribution was developed to meet the guidelines of the Australian government. It allows government bodies to follow standards like the WCAG 2.0 AA, Australian government Web guide, AGLS metadata and Digital Service Standard. However, the developers of aGov, PreviousNext, no longer develop of support this distribution as they are now focused on the GovCMS Drupal distribution. GovCMS was built on the foundation of aGov to build more secure, compliant and adaptable government websites. 
deGov Drupal 8 distribution was built for German government websites and used Acquia Lightning to offer more valuable features and functionalities. Some features common to all the Drupal government distributions-

  • Meeting all government standards
  • Workbench moderation
  • Citizen engagement portals
  • Responsive design
  • Example content
  • Intranet/Extranet

6. Acquia Lightning

True to its name, Acquia Lightning is a light-weight Drupal 8 distribution that you can use to develop and deploy a website in lightning speed (up to 30% lesser development time!). Developed by Acquia, Lightning aims to provide full flexibility and a great authoring experience to editorial teams and content authors. Built on Drupal 8, it offers powerful features like page layouts, drag and drop of assets using Panels, rich text, media, slideshows, Google maps, content scheduling and much more. You can also streamline the workflow process of publishing, reviewing, approving and scheduling content.

7. Open Atrium

OpenAtrium is a Drupal distribution built specifically for organizations to be able to create a collaborative intranet solution for social collaboration and knowledge management. It offers features like a drag and drop layout, events management (Events), document management (Files), issue tracking, granular access controls, media management, a worktracker (to monitor tasks and maintain transparency), and much more. It is also offers responsive layouts and themes.

8. Open Academy

Built on the Panopoly base distribution, the Drupal distribution is tailor-made for higher education websites which can be further extended and customized. It is an easy-to-use tool that does not need users to be technical. You can have a great website without any customizations too! Open Academy distribution consists of a Drupal 7 installation profile and features meant for managing courses, departments, faculty, presentations, news, events, publications and more. The themes provided are optimized and mobile ready.

9. Open Social

Open Social is a Drupal 8 distribution that allows organizations to create intranets, online communities and other social portals easily. It is being used by hundreds of organizations including NGOs and government bodies to facilitate communication and connection with their volunteers, employees, members and customers. It also has features like multi-lingual support, private file system, social login, Geo-location maps, etc.

drupal distribution social module

Source : https://www.drupal.org/project/social

10. Opigno LMS

Opigno Distribution is a Learning Management System built on Drupal. It is an easily scalable solution built not just for universities but also for organizations looking to create e-learning solutions. It allows to manage training paths that are organized in courses, activities and modules. It also provides with features like adaptive learning paths, management of skill acquisition, quizzes, blended learning (online modules + in-house sessions + virtual classrooms), award certificates, forums, live meetings and more.

opigno lms drupal distributions

                                               
 Source: https://www.drupal.org/project/opigno_lms

11. Panopoly

This is a base Drupal distribution – which basically means it also acts like a foundation or a base framework for many other distros to be built upon. Panopoly Distribution is powered by the magic of the Panels module and its features like In-place editor, Panelizer, Fieldable Panel Panes, etc. The Panopoly package consists of contributed modules and libraries. It offers cross-browser and responsive layouts, drag and drop page customizations, a powerful easy-to-use Admin interface, etc. It can also be extended through many Panopoly apps. 

12. Presto!

Want a Drupal 8 starter-kit that can meet all your content management needs and get you up and running, presto?! Count on Presto! Whats better, you can start using Presto right out-of-the-box! It is power packed with some great content features like Intelligent content editing, Promo bar (inline alerts for news/announcements), Divider (adding space), Carousel (interactive images), Blocks, etc. It also comes shipped with a responsive theme based on Bootstrap framework that can be further customized to add more layouts. It also lets you easily integrate with Drupal Commerce to make selling on your website easier. With Presto, you can reduce the development time by 20%!

13. Reservoir

Like Contenta, Reservoir too is an API-first Drupal distribution for decoupling Drupal. With this tool, you can build content repositories that are ready to be consumed by front-end applications. It is packed with all necessary web service APIs necessary to create decoupled websites. Reservoir was developed with the objective to make Drupal more accessible to developers, to provide best-practices for building decoupled applications and to provide a starting point for Drupal developers (with less or no Drupal experience) to build a content repository. Reservoir uses JSON API (a specification used for APIs in JSON) to interact with the back-end content. It also ships with API documentation, OpenAPI format export (compatible with a plethora of tools) and a huge set of libraries, SDKs and references.

14. Thunder

This Drupal 8 distribution is designed exclusively for professional publishing. Thunder was originally designed for and by Hubert Burda Media. The Drupal distribution is loaded with features meant for the publishing sector like the Paragraph module, drag and drop of content, Media Entity, Entity browser, Content lock, Video embed field, Facebook Instant articles, Google AMP, LiveBlog, Nexx.tv video player and much more. All of this along with Drupal core features and responsive themes. 

Drupal distribution module thunder


Source: https://www.drupal.org/project/thunder

15. Varbase

Are you lost in a mountain of Drupal modules and wondering which one to pick? Looking for a package that can jumpstart your web development process right away? Varbase is your go-to Drupal distribution then! Varbase provides you with all the necessities and essential modules, features and configurations to speed up your time to market. 

Jul 30 2019
Jul 30

Today, User experience (UX) is not just about how a user feels when interacting with your website. In this world of rapidly growing interfaces and APIs, content plays a supreme role in offering your users with exceptional UX. To keep up the pace, you need to adopt hot-selling, fast-moving front-end technologies like Angular JS, React JS, etc. that can deliver your content in an application-like speed.  Headless Drupal (or decoupled Drupal) is one such approach that is gaining much popularity because of its innovative ability to deliver outstanding digital experiences. Bigwigs like Weather.com, The Tonight Show, Great Wolf Resorts, Warner Music Group and many more, have taken the headless Drupal route offering their customers with interactive and unique front-end designs and fast-loading websites.

What is Headless Drupal?

headless drupal

To go headless or not is a rather tricky decision to make in this digital world. So what’s the whole buzz about going Headless? Simply put, in a headless Drupal architecture, the front-end (consumers of content) of the CMS is detached from the back-end (provider of content). 

Conventionally, Drupal websites are meant to multi-task. Which means, Drupal manages both - the back-end content management as well as the front-end rendering of content. There is no doubt that Drupal CMS on its own can deliver a rich user experience to the end user but when it comes down to instantaneous responses for a request, delivering content seamlessly in different interfaces, it does fall short. In a decoupled Drupal architecture, instead of the Drupal’s theme layer, a client-side framework like AngularJS, React or Backbone.JS is used. A user request does not have to be processed by the server all the time, which can drastically improve the speed and UX of your Drupal website.

Technically speaking, a headless Drupal website sends out data in JSON format instead of HTML. A powerful front-end UI framework renders this data in JSON format and delivers the web page.

decoupled drupal                           Headless Drupal Architecture

Categorizing Decoupled Drupal

In a traditional Drupal CMS architecture, the browser invokes a request that is processed by PHP logic which then renders the HTML and sends it back to the browser. Of course, the developer can embed Javascript for some client-side improvements but this can result in a situation where different client-side frameworks are being used for different modules. Thus making it an extremely complex system.

Progressive Decoupling

If you are looking to preserve your Drupal Theme layer and yet be able to provide immediate responses to the browser, the Progressive Decoupling approach is your best move. Here you can have your cake and eat it too! The initial application state is rendered by Drupal which can be then manipulated by client-side coding. Modules can be written in PHP or Javascript while you can avail the powerful performance benefits of Drupal.

This version of decoupled Drupal allows for contextualized interfaces, content workflow, site preview, and other features to remain usable and integrated with Drupal as a whole. While content editors and site assemblers feel at home with this decoupled Drupal version, it also allows front-end developers to pursue their own velocity while keeping site assemblers unblocked, by dedicating a portion of the page to a JavaScript framework.

In short, a progressively decoupled Drupal offers an approach that does a great job in striking the perfect balance between editorial needs like layout management and developer desires to use more JavaScript.

decoupling drupal
A graph illustrating the progressive decoupling spectrum for these examples – Source- Acquia
 

Fully Decoupled Architecture

And then there’s the Full decoupling – where Drupal’s presentation layer is completely replaced with a client-side framework. This version of the decoupled CMS allows an uninterrupted workflow as the client-side framework also acts as a server-side pre-renderer. Drupal CMS is purely used as a content repository that takes care of all the back-stage jazz. When you completely ignore Drupal’s theme functionality you are also letting go of some effective performance benefits that Drupal provides. Also a lot of rebuilding would need to be done to fully decouple the administrative interface and front-end of a Drupal website. Using Javascript on the server-side also complicates the infrastructure requirements.

While a fully decoupled Drupal architecture has gained more attention in recent years with the growth of JavaScript showing no signs of slowing down, it involves separation of concerns between your content structure and its presentation. In a nut shell, creating a fully decoupled Drupal system is like treating your web experience as a separate application that needs to be served content.

Is it a good idea?

Traditionally, Drupal CMS is meant to do both – content management and rendering the front-end for the whole website. A lot of pressure, don’t you think? Drupal experts believe that Drupal’s strengths lies in the power and flexibility of its back-end and that it needs to be service oriented first instead of HTML oriented. Decoupling Drupal means letting some other system manage the front-end while Drupal takes care of the back-end system. Why is it a good idea to decouple Drupal, you ask?

If you want to adopt cutting-edge and modern front-end technologies that Drupal cannot provide you will need a powerful front-end framework like React JS or Angular JS. With a headless Drupal approach, you can have all of this and still maintain your robust backend Drupal CMS.

  • With the Headless Drupal architecture, you can “Write once and publish everywhere”. This system allows content editors, marketers and business owners to create content once and deliver it to multiple interfaces seamlessly.
  • With a decoupled CMS, detaching the front-end from the back-end content management system will allow for more flexibility and efficiency of the Drupal content model. Just like how delegating work decreases your workload and increases productivity.
  • A layered architecture promotes a more secure system. Site admins can restrict access to different areas of the infrastructure. 
  • Headless Drupal allows front-end developers to have full control over the presentation, UI design and UX of the website. The combination of a great client-side framework and a seasoned front-end developer can get you a website with a rich, faster, application-like user-experience, and seamless interactivity.
  • Integrating with third party applications is easier and more efficient with a headless Drupal model.
  • Both the front-end and back-end developers can work independently which can lead to efficient and speedy delivery of a project.
  • If you want to redesign your website, you won’t have to re-implement your Drupal CMS. Likewise, revamping your back-end system can be accomplished without having to alter your front- end.

Is headless Drupal for everybody?

Although decoupling Drupal can help you achieve your goals of an uninterrupted and application-like user- experience, it might not be a good fit for everyone. Here’s why –

  • Websites like News sites or Blogs, that don’t really need much user interactivity, will not benefit from decoupling their Drupal website.
  • When you opt for a fully decoupled Drupal architecture for your website, you are letting go of some of the top (and free) functionalities that come with the Drupal theme layer like the block placements, layout and display management, content previews, UI localization, security features like cross-site scripting (XSS), etc. Some of them cannot be replicated by a client-side framework.
  • If budget is an issue you need to keep in mind about the price you will have to shell out for experienced front-end developers. Also the cost for rebuilding a missing (otherwise freely available) Drupal feature from scratch. 

Who uses Headless Drupal?

Many top enterprises have taken the headless Drupal approach and successfully so! Their websites are fast to load and offer interactive experiences to their users in all devices and interfaces. Some examples are –

  • The Tonight Show with Jimmy Fallon – uses Backbone.js and Node.js for the front-end
  • Weather[dot]com – uses Angular.js for the front-end
  • Great Wolf Resorts – uses CoffeeScript and Spine framework
  • EC Red Bull Salzburg – uses Angular.js for the front-end
  • Warner Music Group – uses Angular.js for the front-end

…And many more on this list here.

Jul 23 2019
Jul 23

Yes, you read that right. Having to take your application offline for updates or while launching a newer version is a daunting task and a real pain. True that you can mitigate this with scheduled downtimes, but that is not something that will bring make the customers happy. Some sites actually lose thousands of dollars every minute they are down!  Should deployment or upgrading your application be the real reason behind your loss? 

Blue Green Deployment is one of the mainstays of deployment strategies that conquers the limitations of traditional approach to application deployment. How much do you know about Blue Green Deployment? How is Blue Green Deployment in Drupal implemented?

What is Blue Green Deployment?

Blue-Green Deployment is a technique for releasing applications by shifting or moving the traffic between two identical environments running two different versions of an application. 

In a brief, there is a version of an application, lets call it "blue version" in production. And then, there is a router that is used to route the traffic to the app. Now you need another version. the "green version" with some more goodies added, to be deployed. However, you also want to ensure that while this deployment is happening, a user can still look at your application, press a button or do whatever he wants, without your application going down! More like secretly deploying the "green version" while the "blue version" handles all the traffic in the meantime, before eventually swapping out the connections. 

blue_green_deployment

 

With near zero downtime release and rollback capabilities, the fundamental idea of the Blue-Green Deployment is to shift the traffic between two identical environments that are running two different versions of the application. While the current version of the application is represented by the Blue environment, the green one is staged running a different version. 
 

Why Blue-Green Deployment? 

One of the major challenges with automating the deployment process is the cut-over itself, i.e moving the application from the final stage of testing to the live stage. And this has to be taken care of quickly in order to minimize any sort of downtime. This is exactly what blue-green deployment does. With two production environments (as identical as possible in nature), at any given point of time, one of them is live. And as you prepare for a new release, you do all your testing on the other environment which is not live. Once you are ready to roll, all you have to do is switch the router so that all your traffic is directed towards your latest release & the other environment just goes idle. 

Also, Blue-Green deployment provides one of the most important features, a rapid rollback. Suppose if anything goes wrong with your latest release, you just have to switch back the router. While there might still be an issue with the lost transactions when the faulty environment was live, you could also design it in a way that both of your environments are fed with the transactions and one acts as a backup for the other one. 

How Blue-Green Deployment? 

Now that we know about the two environments of Blue-Green Deployment, let us look at some of the best practices to implement the same. 

  • Load Balancing over DNS Switching

Keep in mind that while switching environments, make your domain to eventually point to different servers. Instead of going to the DNS records & making changes in DNS management interface, use load balancing. 

The problem with making changes in the DNS records will just result in a long traffic trail. This means that while some of your users will still be served by the old environment, you won't even have full control on where your traffic is routed to. 

However, load balancers will allow you to set your new servers up immediately and you wouldn't have to depend on the DNS mechanism. This way, you will have full control on the traffic and you can be absolutely sure that all the traffic is routed to the new environment. 

  • Rolling Update

DO NOT switch all your servers at once. Execute a rolling update instead. That is, instead of switching over to the Green servers from the Blue ones all at once, work with an integrated environment. Add one new server, retire an old one. Repeat until every new server is in place. This will reduce your downtime by a huge margin! 

  • Environment Monitoring

While monitoring the live environment is obvious, you do not want to end up being caught off guard by not monitoring the other environment. Yes, the monitoring of the other environment is less critical. However, since the same environment can act as both states, you will need an easier way to switch the alerting between the two. Set up different API tokens for the two environments reporting back, or programatically change the alert policy on the environment when its role is changed/switched. 

  • Automation

Manual set of actions will just increase your work. Instead, script every action in the switch process. Automating the switch process will result in a quicker, easier and safer implementation of Blue-Green Deployment. 

Blue Green Deployment for Drupal Websites

Problems

  • During code deployments, Drupal needs to run database updates to operate and this is a major problem since the Drupal updates sets the website in maintenance mode and your users are greeted with this beautiful white screen. 
Drupal MaintenanceSource : drupal.org

If the deployment fails, then a rollback is only possible by restoring the database from dump, considering the database schema may have been modified. This means downtime! 

Solution: Blue Green Deployment! 

Let us look at some of the infrastructure overview to implement Blue Green Deployment with Drupal. Any kind of ops in Drupal requires Nginx and a php server (to mainly run Drupal), we need a database, a file storage, some cache, and the stack is designed in a way that it is highly available. 

With Blue Green Deployment, you need to deploy a new stack with a new codebase and copy all of your database and the different states from the previous codebase, preferably using Drush. 

infrastructre overviewSource: Drupal Con Seattle 2019

Once the two different stacks are set up, the staging stack has to be tested independently from the production stack. Basically, you need your users to go to the stack (production stack) and test out the version of the website that is deployed. And when the other version (the staging stack) is ready, you just need to flip the versions. Now the users are being directed to the new stack and the older version is available for testing. 

Blue Green Deployment with Docker

Deployments in Drupal is not easy. While you have to make sure that the code is deployed, composer dependencies are handled, schema updates are up-to-date and all the caches are cleared, you also need to ensure that the "responsive website" is up and running. And what happens if there is a problem and the deployment fails? Do you rollback? Or stop the deployment? 

The phrase you are looking for, is Blue Green Deployment

During Drupal deployment, Docker ensures an easy shift between applications, and makes it easy to build and run different versions of the same. On the EC2 instance, there is always a set of raised docker containers of blue and green, and nginx works as a reverse proxy server. Blue green deployment with Docker allows a user to build a Drupal website which runs parallel in the two different environments.


Blue Green Deployment with AWS 

While historically, blue green deployment was not the first choice to deploy software on-premises because of its high cost and complexity involved, containers have changed this perception for good. 

Containers ease the adoption of blue green deployment because of their easy package and consistent behaviour as they switch between environments. And to change the configuration of a container, you just have to update its dockerfile and rebuild and redeploy the container in place rather than updating the software. 

Amazon ECS performs these rolling updates when you update an existing Amazon ECS service. The rolling update for ecs blue green deployment  involves replacing the existing version of the container with the latest one. This number of containers that the Amazon ECS adds or removes during the update is controlled by adjusting the maximum and minimum number of healthy tasks allowed during the service deployments.Once the update the service's task definition is updated with the latest version of the container image,  Amazon ECS automatically starts replacing the old version of the container with the latest one. 

AWS blue green deployment

 

Blue green deployment with AWS ECS will also provide optimization benefits since you are not tied to the same set of resources. That is, when the performance envelope of the application changes from one version to the other, you simply launch the new environment with the optimized resources (can be fewer in number or a completely different set of resources). 

Blue green deployment in AWS also fits well with the continuous integration and deployment workflows, keeping a check on their complexities by allowing deployment automation to consider fewer dependencies on an existing environment. 

This solution allows the users to easily manage the deployment and scalability of web platforms without wasting any time. This deployment helps in configuring a high-availability environment that will run a Drupal website without any problems.
 

Jul 16 2019
Jul 16

Great vision without great people is irrelevant - James Collins 

As Collins describes in his book - "Good to Great,” we often expect the good-to-great leaders to begin their quest for greatness by setting a new vision and strategy. Instead, they first get the right people on the bus, the wrong people off the bus, and the right people in the right seats. Then, they figure out where to drive it! 

Hiring a professional team of experts is a common challenge faced by most companies in today's world. And the process of hiring gets tougher when you want to hire a team of talented individuals in the open-source industry, particularly in the Drupal community.  

While there are a plethora of Drupal agencies with developers - all working with, in, for Drupal, the real challenge is narrowing down to find the right partner to suit the needs of your organization, long or short term.

With fierce competition and the never-ending challenges, how do you hire a Drupal developer or a team of experts who is the right fit for the project?

Be sure of what you need

Need someone with expertise in building multisite websites with multiple Drupal codebase & custom theming? Say it! Or, if you need someone with experience in creating custom modules and specializes in building Enterprise websites? Say So! 

Since different drupal project types demand different talents, it is very important that you understand the key process involved in the project development when you hire a drupal developer

Before you reach out to a Drupal agency, it is essential that you know the scope of the project for which you need the Drupal developers for. This will lead you to the most important elements to be considered before the start of the project. The limitations of the budget and the timeline. 

The nearly impossible task of getting quality work done by meticulously following the timeline set before the start of the project is something that should always be in the back of your mind. Add to it the budget constraints, and the bracket narrows further down. 

However, most Drupal companies offer a productive staff augmentation services that will allow them to scale in tandem with your business needs and these constraints can be handled by the right Drupal partner. 

Know Your Drupal Partner

From the front-end & back-end Drupal developers to the DevOps personnel and the QA testers, it is very important that the Drupal agency has the right team. 

Your project will have various tasks that will require more than one skill set, and if your Drupal partner and its team of experts can't handle the requirements, it will pose a serious threat to the development efforts. 

Thus, it is better to consider the experience levels of the team you want to hire, how long have they worked on Drupal and how familiar are they with the previous versions of the CMS. An experienced team of Drupal experts will know what goes where and their skill set will always play a vital role in crunch situations.   
 

A part of the Drupal Community?

As an open source platform, Drupal does a phenomenal job in encouraging its individual members and teams to actively contribute to the betterment of the platform. Thousands of developers strive to improve Drupal and it is important to see how big of a role is the Drupal agency you pick, is playing an active role in encouraging its developers to be a part of the community. 

Acquia Certified - An added advantage
 

Started in early 2014, Acquia has a certification program for Drupal developers looking to improve their proficiency in the particular field. An Acquia Certified resource stands apart from the plethora of drupal professionals out there. Having a certified member in the team will act as an added advantage as his proficiency and expertise will play an essential role in the  amelioration of the project development workflow. 

Support & Maintenance? 

While Drupal offers constant updates for security & other vulnerabilities, it is important that your Drupal partner is accessible when you need these upgrades the most. You do not want to end up being stranded when you face glitches in an already deployed project. Most agencies offer Drupal support & maintenance services to ensure a smooth, secure and a seamless performance of your website. 

Not Just Drupal

Web application development with Drupal may also require your Drupal expert to be proficient in third party application integration to meet some of your end requirements. Hire a Drupal developer with expertise in,

  • Integrating with other third party applications, such as  CRM, ERP, marketing automation, logistics applications etc. which you may need to meet your business requirement. 
  • Data visualization and analytics tool that can be used along with Drupal in order to measure application/website efficiency.
  • Javascript frameworks to handle decoupled Drupal in case you choose that route.
     
Jul 02 2019
Jul 02

Pull, Fetch, Commit, Push, Merge, Rebase – have these terms have managed to make their way into your everyday lives yet? When Linus Torvalds created his very first version of Git, he described it as “the stupid content tracker”. Fast-forward to today, this free open-source software is now the most popular version control system.

What is Git? 

Don’t you wish you could turn back time sometimes, so you could have made a better decision or done things differently? Well, in the world of technology and coding, you can. Git is an open-source distributed version control system that saves versions of your precious code every time you make any changes/additions to it. So whenever you need to rollback, you just pick the working version and voila! Git also allows disruption-free working within teams as developers work on their individual local copies concurrently. Every change by every team member is tracked, thus maintaining transparency in an organized flow. So what is GitHub then? GitHub is a repository hosting service for Git that also has plenty of features to optimize your version control system. 
Git Workflow

Every organization has a different Git workflow. The most successful Git workflow is the one that gives your team enough space for productivity while maximizing the effectiveness of their outputs. It should be scalable with your team’s size and should minimize the number of conflicts that can arise. The Centralized Git workflow is the base upon which other Git workflows are built, like the Feature branching workflow, the forking workflow, the Gitflow workflow, etc. A workflow should be planned to enhance and complement your organization’s culture. To each Team, their own Git Workflow. 

Why use Git?
 

1. The distributed architecture 

Unlike Centralized version control systems that force developers to access the single central repository to be able to “checkout” and commit changes to the individual files, Git follows a distributed approach. In the distributed architecture, every developer has their own local copies of the entire central repository, allowing them to work offline, access complete revision history and easy branching and merging.

2. Powerful performance

Branching, merging, committing, etc. are really easy and fast with Git workflow because of its intelligent deep knowledge algorithms that understand the access patterns to the T.


3. It is Secure

Git stores all file content including relationships between versions and directories, cryptographically using a SHA1 as its hashtag algorithm. Any accidental or malicious code change is completely traceable.


4. Open-source

Being open-source, Git is free, enjoys good community support, continuously scrutinized for quality and is backed-up with loads of documentation and tutorials for learners.


5. Faster releases

Git’s distributed development and easy branching and creating of new features encourages developers to make more frequent changes in an agile workflow
 

Git - Distributed Architecture                       
                           Git - Distributed Architecture

Best practices for Git

  • New project? New repository

It just makes good organizational sense to create a new repo for every new project you want to start working on. Once done, push it to GitHub.

  •  New feature? Branch out

Now that you have created a new project, how about creating some new Git features? Git Branching lets you create and manage an organized workflow within your repo. Team members can be assigned various Git branches allowing them to work concurrently but in an isolated manner. Always give a meaningful to your git branch so others know what exactly you are working on. 

  • Start your day by staying current

Always “rebase” or get the latest, the most current version of your project (master) before you start working on the features you created/ assigned to you. You don’t want to make changes on outdated files.

  • Have periodic check-points

Don’t save your commits for a big change. “Commit” small changes frequently so the code is easier to comprehend for you and your team members. Reverting back and tracking is also easier when the changes are small and frequent. 

  • Stash your work

Often, you might come across situations where you are working on one Git branch but you have suddenly remembered that you need work on another branch but don’t want to “commit” those half-done changes. Or you might simply want a clean working copy. “git stash” to the rescue. Stashing lets you save your unfinished changes on a stack where you can get back to anytime!

  • Squashing them commits

Having lesser commits in your history makes it easier to monitor and track where you went wrong. If you want to keep a clean commit history, this one’s for you. Squash and merge all your commits into one when the pull request is merged.

  • Commit messages

Always provide clear and understandable information in your commit message. Start by writing a short summary of your changes, leave a blank line and then follow it up with a detailed description of the change. You don’t want your commit history to end up looking like this :/ 

git-commit message                      
                         https://xkcd.com/1296/
  • Don’t change history

Once you have committed your changes the repository, do not go back and change history. Although Git allows you to do that and rewrite pubic history, it is never a good practice to do so. Both for you and your team.

  • Apply a Git patch

At times when you don’t have write access to the repository but you still want to fix a bug – apply a Git patch. Always remember to clone the master repository and then create a branch for the new feature. When you have your .patch file ready, always preview it and do a dry run to check for errors. Git apply the patch (git apply -R path/file.patch) once done. DO NOT forget to test and check for 

  • Don’t leave Pull requests out for too long

An open “pull” request can create conflicts sooner or later. Don’t leave them unattended for more than 2 days. Always review the code and if it is ok to deploy, merge the pull request. This will not only fasten the shipping process but also avoid code conflicts.

  • Better organizing with project management tools

If you have been using project management tools like Redmine, it is a good practice to use it in conjunction with Git to be able to manage multiple team members and their tasks better. Creating your Git branches with the Redmine task as the name is one of the best Git best practices as it allows for better transparency and organizing. 

Git Project Management tools                                                               
                                                                       Task created in Redmine Creating git branch
                                                              Creating a branch with the Task id and name
 
  • GitLab CI/CD

Using a Continuous Integration/ Continuous Deployment tool like this one allows you to test and check for bugs and errors and ensures compatibility with code standards. These jobs are performed after the code is pushed to the staging server.

Gitlab CI
                                                                                GitLab CI/CD list of jobs
  Git best practices infographic
Jun 17 2019
Jun 17

If you look around on the Internet, you can see that a very large number of services use APIs.  A mobile application of an ecommerce website uses an API; Anything with a social login uses an API;  even the ads that you see on the Internet use APIs!

By creating an API for your service, you enable third-party developers to create applications based on your service. For example, the social newspaper Frrole uses the Twitter API to generate contextual insights by analyzing a large volume of tweets.
 

API_description

Creating & Testing APIs

Although there are a number of ways in which an API can be created, a Web API is usually created by using the REST (Representational State Transfer) framework. The REST framework sets a set of guidelines that should be followed while creating an API. As the prime motive of creating an API is to enable other applications to use the services, every stage of the API development process requires testing for functionality, exception handling and security.

Make Testing Easier With Postman Tool

What is Postman Tool? How does it work? 

At the first glance, Postman testing tool is a simple GUI for sending HTTP requests and viewing responses. But deep down, Postman is built on an extensive set of powerful tools that are very easy to use. Postman allows you to organize your API requests into collections and folders share common values across requests with environment variables, script tests with the built-in node.js based runtime, and automate it all with its very own CLI – Newman.


The Postman testing tool is a complete API development platform with various built-in tools that support every stage of the API lifecycle. Postman allows you to design, mock, debug, automatically test, document, monitor and publish the APIs - everything from one place. Postman can be accessed through native apps for MacOS, Linux and Windows.

postman_description

Postman’s complete API development platform will allow you to create requests, build and manage collections, and govern the complete life cycle of your APIs.

Evolution of Postman Testing Tool

The postman started out as a Postman Chrome App when it first came out, used along with the Postman Interceptor Chrome extension. The Google Postman extension was widely accepted and was one of the most sought after tool for testing. Over the years, the API ecosystem evolved, and with this the Postman native apps' capabilities were also improved to surpass the performance of the postman chrome extension. 

However, if you are still using the Postman Google Chrome app, you may notice a banner on top which says  "Chrome apps are being deprecated. Download our free native apps for continued support & better performance." 

This is something that happened when Google announced their not-so-great plans to end support for Chrome apps for Windows, Mac & Linux users. In response to the deprecation of Postman Google Chrome extension, they introduced native apps for Windows, Mac and Linux users and encouraged their users to begin the migration. The new Postman native apps covered all the features & functionalities of the postman chrome extension, and in many cases, the native app was even better than the original Chrome app.

native apps

With the native Postman application performing better than the Postman Chrome app, and the process of migrating being easy (takes less than minute!), it is time to say Goodbye to Postman extension and switch to their native apps.

Why Postman?

Test Suites - Create them with ease

In order to ensure that your API is working as expected, Postman tool allows you to create collections of integration tests. For each of these tests, that are run in a specific order, an HTTP request is made and the assertions written in JavaScript are used to verify the integrity of the code. You also have the freedom to manipulate the data that you receive, courtesy of the assertions written in JavaScript.

postman_screenshot

Testing on different environments? No Problem!

How often do you find that since your local environment is configured a little differently than the test server, your test collection that runs perfectly against your local environment  faces problem when your run it against a different one. Postman testing tool allows you to store certain information about the different environments that you use and automatically insert the correct environment configuration for the test collection that you are running. 

postman_screenshot

Data Storage 

You may have an API which requires some specific data received from another API. Postman tool allows you to store such data from previous tests into global variables, and these can be used in a similar way as environment variables. You can either store the response or a part of the response and use it for the subsequent  API calls. 

Better Integration

The Postman testing tool has a unique interface that allows you to easily run a collection of tests right from the command line. Newman, which is Postman's very own Command Line Interface (CLI) enables running these tests on systems that do not have a GUI. Also, Newman gives you the ability to run a collection of these tests right from within most build tools. 

Newman - Continuous Integration in Postman

Newman is basically a Command Line Interface tool which will allow you to run Postman collections directly from the command line.  Their official website describes Newman as - "Newman is a command line Collection Runner for Postman. Newman allows you to run collections in the same way they are executed inside a Postman collection runner. Since we all know that a Continuous Integration helps us to combine different codes and execute different tests continuously. This combination of tests and code is usually a success due to continuous integration, which in Postman is done by Newman.

Newman is built to integrate easily with your build systems and continuous integration server. It allows developers to get a quick feedback about the performance of the APIs after changes in their code. With the help of Newman, it gets integrated with the CI and after that if any changes are pushed, CI will run the postman collections with Newman. 
 

Jun 07 2019
Jun 07

The term Drupal invokes different feelings among different people, based on their professional background or on what they have heard or learned about the CMS . Over the years, Drupal CMS has evolved from a simple tool for hobbyists, to a powerful digital experience platform for Global enterprises. While Dries describes Drupal as a platform for "ambitious digital experiences" (apparently he never loved "for the enterprise" categorization of Drupal), it is commonly referred to as a content management framework which allows for extensibility & scalability through the addition of various user-created modules that build upon its core framework.

Drupal is one of the most popular CMS' currently available & is the preferred choice for government agencies, large associations, non-profits & numerous Fortune 500 companies. This graph compares the trend for the term "Drupal" with another popular CMS "Joomla" over a period of 3 years & it clearly depicts the growth of popularity of Drupal.

Image removed.

But why do large enterprises prefer Drupal? Is it as "easy to use " as they say? Or does the picture below depicts the true story of Drupal? Let us find out.

Drupal - A CMS for Everyone

One of the toughest challenges that Drupal adopters face, whether they are new site owners or beginning developers, is trying to figure out what is hard & what is easy with Drupal. Most of their questions revolve around the ease of use that Drupal as a platform brings to the table. Let us look at some of the basic (yet important) features that Drupal CMS provides to website owners.

Installation

For Drupal installation, more than the “technical knowledge”, you will rather than just need to know how to connect through FTP and install databases. Would you believe me if I say that the installation time of Drupal CMS for a new user with knowledge of general installation of other systems might be less than “One & half minute??”

Image removed.

Maintenance and Upgrades

Drupal CMS ensures that the maintenance and upgrades are easy to handle by the site administrators. The procedures for updating your website include backing up the website and then replacing the files using a web update interface.

Backing up the website takes minimal effort as the site administrator can back up the whole website by downloading only one file which contains the assets of the website.

Drupal also notices the site admin every time an upgrade is required, thus ensuring that the website never misses an opportunity to stay up-to-date. However, if the administrator does not wish to change the version, Drupal CMS also provides security updates for the previous versions.

Community Strength and Contribution

The unofficial tagline of Drupal - “Come for the Software, stay for the Community” speaks volumes about the strength of the community. Functioning well since 2001, the Drupal Community is known for its dedicated bunch of developers and contributors who use, build, teach, document and market the best practices in Drupal. You can find their amazing works on Drupal.org.

Usability

Drupal CMS allows administrators to access any page or a section of the page in visitor mode by clicking on edit. While the core does not include a WYSIWYG editor, you can still get it in the form of a module, replacing all the other editor integration modules. Drupal CMS allows easy editing of pages or sections of a page by creating a simplified experience for the editors and administrators.

Scalability

Drupal CMS is highly scalable with high traffic handling capabilities. Its WebPages are cached indefinitely as the default setting configuration, but can also be manually cached for a specific time. Moreover, functionality area blocks can be cached, thus allowing better traffic handling capabilities for your websites.

Whether it is the extreme traffic spikes on certain occasions or the constant web traffic, Drupal handles all of that with utmost ease. Did you know that the digital experience of Australian Open 2019 was powered by Drupal? Like Dries said “When the world is watching an event, there is no room for error!”

Web 2.0 Features

Drupal CMS is an excellent community platform provider and It outperforms all other options in this particular area. The platform allows a website administrator to set permissions for site visitors to comment on any content of website.

Drupal also facilitates administrators to set permissions on who can edit, create or delete various content types. It can be an article, pictures, videos or any other media files, everything managed by the admin.

Security

Security is a major concern for web properties these days and Drupal leaves no stone unturned to ensure that your website is secure from any possible security breach. Security updates are published on drupal.org and the users are provided a notice every time a new update is released. Drupal’s active community is alert and any security loopholes are remedied very quickly. They also provide references to guide the user in making a site more secure.

User Roles and Workflow

The greatest asset of Drupal CMS is its ability to create any number of user roles and assign different permissions. While Drupal’s core includes two default set of roles, anonymous user and authenticated user, it allows you to create multiple user roles depending upon the content types. Also, granular permissions to each user can be assigned based on content section using the taxonomy function.

Image removed.

How Does Drupal Make Things Easy?

  • Advanced Control of URL: Drupal provides a precise control over URL structure of a page. Each content item which is called node in Drupal can be given a custom URL. Also, the path auto module can automate custom URL structure for each content type.
  • Custom Content Types and Views: Using Views and the Content Construction Kit (CCK), Drupal allows you to create new content type without having to write a single line of code! Yes, any number of custom content types can be created and displayed in many different ways without any code! Some examples of content types that you can create are forum posts, tutorials, blog spots, news stories, classified ads, podcasts, videos and more.
  • Themeing and PHP Template: PHP knowledge for themeing? No, not anymore! Themeing in Drupal can be done with absolutely no PHP knowledge. Drupal CMS uses PHP template theme engine by default.
  • Hook System: This system in Drupal enables you to hook in new modules easily. This hook system is invoked when a particular activity is performed in Drupal. This approach allows Drupal core to call at specific places certain functions defined in modules and enhance the functionality of core. They make it possible for a module to define new urls and pages within the site (hook_menu), to add content to pages (hook_block, hook_footer, etc.), to set up custom database tables (hook_schema) and more.

I completely agree with Dries when he said that Boris nailed it!

Drupal sucks less - Dries BuytaertImage removed.

Image removed.

May 30 2019
May 30

A thing of beauty is a joy forever – this old adage may be about the beauty of nature, but it aptly fits any situation. As humans, we generally form positive opinions about anything that is aesthetically pleasing. This is the core notion of any art form, be it painting, architecture, or graphics.

In the digital world, good design translates into good conversion. It is the backbone of a great customer experience, which in turn determines whether they will buy from you or not.

Anyone who understands the fact that an ecommerce website is the digital alternative of a retail store must also know how important the design can be. Businesses spend truckloads of money in creating an impressive store. A place that is appealing and welcoming, to say the least. You need to keep it clean and well decorated. You also need to make sure everything is well-organized so that your customers can easily find what they are looking for.

Imagine entering a store only to find a shabby looking place with no proper structure, would you still go ahead and buy from them. You might reconsider the moment you step inside. That is exactly the effect bad design can have on your ecommerce store visitors. It creates your first impression and leads the entire user experience.

Design Leads the Customer Experience

Customer experience begins with the very first click on your website’s link. What opens next has a solid impact on how they would perceive your brand.

According to stats, 38% of users do not engage with a website if the layout isn’t impressive enough. They most probably have a dozen tabs open, and they can’t just settle for the dull and boring experience. Without further engagement, there is no conversion. On the other hand, a good design will make them want to further explore how else you can impress them.

In a way, it won’t be wrong to say that they judge the quality of your service and products by your design. And you don’t have to be a professional logo design and web design company to let the design speak for you. It can be any other business.

It isn’t just the look though. Speed is just as important as aesthetics when it comes to user experience. Users expect a website to load within 2 seconds. Longer waits make them consider your competitors instead.

That impression, however, is just the beginning of it. You’ve just hooked them in. This isn’t the only purpose served by good design. A good design is one that is able to smartly reel them in. It leads the way in an intuitive manner. Every scroll or click should take them closer to the product they are looking for, and ultimately, to your call to action.

Design Guides through the Conversion Funnel

Remember how a salesperson in a retail store nicely guides you towards the product you are looking for. They help you towards the checkout counter. For an ecommerce website, this navigational help is offered by the design.

You might think that a chat assistant may be the best alternative, but users usually see that as a last resort. Therefore, the design should be intuitive enough to help them choose their action. Great design is one that drives them towards an action that is most desirable for you.

When you offer intuitive navigation through design, you don’t have to force their actions through words and content. Your prospects slowly glide through the conversion funnel without feeling like their decision was actually motivated by anything but their own desire.

In order to ensure this kind of conversion, you need to create a design that is simple and user-friendly. Users shouldn’t have to spend more than a second to figure out how they can get to the product they are interested in. For instance, if a leather skin shop has an attractive website, a visitor would assume the same about their products. They would consider stores that show some knack for creativity and style.

Users want to see all the relevant information about your product without going through too many clicks.

Design Ensures Maximum Optimization

The whole conversion and first impression story is quite understandable. People do judge a book by its cover and a website by its design. However, one of the most crucial aspects of an ecommerce design is SEO.

Google has a vast number of SEO metrics, and many of them are actually design related. SEO literally begins with design. The more user-friendly your design is, the better your rank will be. And there are many factors that determine how user friendly the design is.

For starters, your design should be responsive. It should appear its best despite the difference in screen dimensions for different users. Also, there should be a proper image and text balance, along with other media elements such as videos and animations.

That said, a good design is also optimized in terms of security. A good design can make a user feel safer. Just like SEO, security is another aspect that now needs to be incorporated into the design. It is also a factor that can have a huge impact on your overall SEO. There are security signatures that can serve as the security personnel guarding a store’s gate. Anyone would feel more comfortable shopping on a secure and safe store.

The more optimized a design is according to the current standards, the better your chances of acquiring an organic lead.

The equation is fairly simple – they came, they saw, they bought. A good design isn’t all about the aesthetics anymore; it is as much about functionality. Your design can serve as a roadmap for your store visitors, subliminally guiding them towards the BUY button. If your website seems too dull or too complicated, the users won’t think twice before they switch to your competitor’s store.

May 09 2019
May 09
  • Malabya
  • 09/05/2019

How do you stay ahead of your competition? Easy - Be relevant. Address your audience’s pain points. Repeat. With the adoption of the continuous innovation model, Drupal is doing that and more. Drupal 8.7 was released on May 1st following the 6 months release cycle for Drupal 8. We saw huge improvements in Drupal 8.6 which was a big release. With 8.7, it just got better - With more stable modules ready to be used on productions and other interesting out-of-the-box features.

What's new in Drupal 8.7.0

Drupal 8.7 release is a big step which makes it more modernized, competitive, and user-friendly. Drupal is now truly API first, accessible, easy to use for editors and uses the latest PHP. The new features in Drupal 8.7 makes it easier for marketers to manage and update content effectively.

JSON:API lands in Drupal core

Drupal 8 ships with the JSON:API module which takes forward the API first game. API first initiative is one of the most anticipated features that the Drupal community is working towards. With API first, Drupal will do what it does best - Manage content,and talk to different integrations to deliver content over HTTP APIs. JSON:API is the first module which is added to the core as a stable module without going through an experimental phase.

JSON:API is a contributed module which is meant to deliver high performing API endpoints to expose content using JSON:API specifications. With JSON:API module, to expose any entity from your Drupal 8 site you just need to enable the module and JSON:API that will do the job for you. With its flexibility, the payload can be modified as needed by using just parameters. There's a lot more to that, which can be a topic of another blog post.

Layout Builder is now stable

Layout builder is one of top modules and I was really looking forward to it. In Drupal 8.7 it finally got a stable release and Layout builder now ships with massive improvements. In the current state, I will recommend Layout builder to replace a bunch of layout building modules like Panels, Panelizer, Display suite and another one of my top modules “Paragraphs”.

What’s new in Layout Builder? Well, not only you can have layouts for fieldable entities but now we can have unstructured data as well on our layouts. This means, we can now attach various block types in your Drupal site and create one time block instances.

Here is a short video to demo the powerful Layout Builder from Driesnote in Drupalcon Seattle.

[embedded content]

Umami goes Multilingual

The evaluation and demo installation profile, Umami Food Magazine, has a lot of improvement in Drupal 8.7. Umami is an out-of-the-box initiative which demonstrates the power of Drupal 8 out of the box. In 8.7, Umami is now more accessible, has multilingual features, a new welcome tour and uses the new Layout Builder module on Recipe pages to demonstrate the capabilities of the module. It now includes a Spanish version and more languages are being added as you read this.

A new Shiny look for Media Library

Even though still in experimental phase, the Media library gets a fresh look. Built on top of the stable Media module, the Media library allows usage of reusable Media in your Drupal site. These Media can vary from Images, Videos, Files, Documents and even Remote videos. These media assets will have their own identity with a set of attributes and meta information attached to them. This makes search and reusability extremely beneficial for marketers to quickly search and attach media for their contents. Apart from that, it’s easy to use with it’s drag and drop functionality, inline media creation and flexible grid and table views.

Here is a short video to demo for the new things in Media from the Driesnote in Drupalcon Seattle.

[embedded content]

Other Notable Updates in Drupal 8.7:

Support for PHP 7.3 and drop of PHP 5.6 support

PHP 7.3 was released in December 2018 and comes with numerous improvements and new features. Also with this release new Drupal sites can only be installed on PHP 7.0.8 or later. Installing Drupal on older versions results in a requirement error.

Support for automatic entity updates has been removed

In Drupal 8.7, automatic entity updates were removed which allowed to a site to update the existing schema of an entity type and its fields storage definitions to the latest (in-code) definitions. It was done to remove data integrity issues since it’s hard to anticipate side effects and critical bugs when executed.

Revisionable Taxonomy terms and Menu items

Taxonomy terms and Menu items are now revisionable which makes them eligible for the editorial workflow like Contents and Blocks.

As we’re getting closer to welcome the release of Drupal 9, things are already falling in place. Drupal 8.7 is packed with new features like a stable Layout Builder that lets you create layout templates really fast and easy. Comes with stable JSON:API support to help you build powerful decoupled applications. A more efficient and good lookin’ Media library (experimental) for content builders. Added features in Umami demo profile. While Drupal 8.7 makes way for PHP 7.3, it also dropped support for PHP 5.6. On the whole, Drupal 8.7 release has something for everybody - content editors, site builders, developers and site owners. Stay updated with Drupal’s new releases - stay ahead of your competition. We can help you do just that.

May 09 2019
May 09

How do you stay ahead of your competition? Easy - Be relevant. Address your audience’s pain points. Repeat. With the adoption of the continuous innovation model , Drupal is doing that and more. Drupal 8.7 was released on May 1st following the 6 months release cycle for Drupal 8. We saw huge improvements in Drupal 8.6 which was a big release;. With 8.7, it just got better - With more stable modules ready to be used on productions and other interesting out-of-the-box features.

What's new in Drupal 8.7.0

Drupal 8.7 release is a big step which makes it more modernized, competitive, and user-friendly. Drupal is now truly API first, accessible, easy to use for editors and uses the latest PHP. The new features in Drupal 8.7 makes it easier for marketers to manage and update content effectively.

JSON:API lands in Drupal core

Drupal 8 ships with the JSON:API module which takes forward the API first game. API first initiative is one of the most anticipated features that the Drupal community is working towards. With API first, Drupal will do what it does best - Manage content,and talk to different integrations to deliver content over HTTP APIs. JSON:API is the first module which is added to the core as a stable module without going through an experimental phase.

JSON:API is a contributed module which is meant to deliver high performing API endpoints to expose content using JSON:API specifications. With JSON:API module, to expose any entity from your Drupal 8 site you just need to enable the module and JSON:API that will do the job for you. With its flexibility, the payload can be modified as needed by using just parameters. There's a lot more to that, which can be a topic of another blog post.

Layout Builder is now stable

Layout builder is one of top modules and I was really looking forward to it. In Drupal 8.7 it finally got a stable release and Layout builder now ships with massive improvements. In the current state, I will recommend Layout builder to replace a bunch of layout building modules like Panels, Panelizer, Display suite and another one of my top modules “Paragraphs”.

What’s new in Layout Builder? Well, not only you can have layouts for fieldable entities but now we can have unstructured data as well on our layouts. This means, we can now attach various block types in your Drupal site and create one time block instances.

Here is a short video to demo the powerful Layout Builder from Driesnote in Drupalcon Seattle.

[embedded content]

Umami goes Multilingual

The evaluation and demo installation profile, Umami Food Magazine, has a lot of improvement in Drupal 8.7. Umami is an out-of-the-box initiative which demonstrates the power of Drupal 8 out of the box. In 8.7, Umami is now more accessible, has multilingual features, a new welcome tour and uses the new Layout Builder module on Recipe pages to demonstrate the capabilities of the module. It now includes a Spanish version and more languages are being added as you read this.

A new Shiny look for Media Library

Even though still in experimental phase, the Media library gets a fresh look. Built on top of the stable Media module, the Media library allows usage of reusable Media in your Drupal site. These Media can vary from Images, Videos, Files, Documents and even Remote videos. These media assets will have their own identity with a set of attributes and meta information attached to them. This makes search and reusability extremely beneficial for marketers to quickly search and attach media for their contents. Apart from that, it’s easy to use with it’s drag and drop functionality, inline media creation and flexible grid and table views.

Here is a short video to demo for the new things in Media from the Driesnote in Drupalcon Seattle.

[embedded content]

Other Notable Updates in Drupal 8.7:

Support for PHP 7.3 and drop of PHP 5.6 support

PHP 7.3 was released in December 2018 and comes with numerous improvements and new features. Also with this release new Drupal sites can only be installed on PHP 7.0.8 or later. Installing Drupal on older versions results in a requirement error.

Support for automatic entity updates has been removed

In Drupal 8.7, automatic entity updates were removed which allowed to a site to update the existing schema of an entity type and its fields storage definitions to the latest (in-code) definitions. It was done to remove data integrity issues since it’s hard to anticipate side effects and critical bugs when executed.

Revisionable Taxonomy terms and Menu items

Taxonomy terms and Menu items are now revisionable which makes them eligible for the editorial workflow like Contents and Blocks.

Apr 24 2019
Apr 24

Recently, I had the privilege of interacting with a few of the most decorated and remarkable members of the Drupal community - who also happen to be Drupal’s top contributors. I questioned them about the reason(s) behind them contributing to Drupal and what do they do to make a difference. Their responses were incredible, honest and unfeigned.

Adrian Cid Almaguer

Senior Drupal Developer. Acquia Certified Grand Master - Drupal 8

I use Drupal every day and my career in the last years are focused to it, so I want to work with something that I feel comfortable and that meets my needs. If I find errors or something that can be done in a better way in projects I´m using or in the Drupal Core, I open an issue in the project queue and if I have the knowledge and the time, I create a patch for it. This is a way I can says THANKS to the Drupal community.

The strength of Drupal is the community and the contributes modules you can use to create your project, one person can’t create and maintain all the modules you will need, but if several of us give ourselves the task of doing it, all will be more easy, and is not just code, we need documentation, we need examples, translations and many other things in the community, the only way to do this is if each of the Drupal user give at least a small contribution to the community. So, when I contribute to Drupal, I’m helping you to have time to contribute to something that I may need in the future.

I maintain many Drupal modules, so basically the main contributions are create, update and migrate Drupal modules, but I contribute too in other areas. I contribute translating Drupal to the Spanish language and moderating the user translations, I create patches for some projects I do not maintain, sometimes I review some patches in the issue queue, I write and update modules documentation, I make some contributions creating tests for Drupal modules, I give support to the community in the Slack channels and in the Drupal Stack-exchange site and help new contributors to learn how to contribute projects to Drupal in the correct way. And as I’m a former teacher, I participate in regional Drupal events promoting how and why is important to contribute to Drupal projects and how to do it.

I will love to maintain a Drupal core module but I don’t know if I will have the time to do it, so for the moment I will continue migrating to Drupal 8, evolving and having up to date the modules I maintain.

Alex Moreno

Technical Architect at Acquia

Contributing to open source is not just a good and healthy habit for the communities. It is also a healthy habit for your own projects and your self-improvement. Contributing validates your knowledge opening your knowledge to everyone else. So you can get feedback that helps yourself to improve, and also ensures that your project is taking the right direction. For example when patching other contributed modules with fixes or improvements.

I enjoy writing code. My main contributions have been always on that direction. Although more recently I have been also helping on other tasks, like Spanish translations in Drupal 8 Umami.

Baddy Sonja Breidert

Co-Founder of 1xINTERNET

One of the reasons why I contribute to Drupal is to make Drupal more known in my area, get more people involved, attract new users, etc. I do my bit in contributing to the Drupal project by organising events like Drupal Europe and Drupal Camps in Germany and Icelan

Daniel Wehner

Senior Drupal Engineer at Times Higher Education

Unlike many other projects the Drupal community tries to create a sustainable environment. Both from the technical site, but probably on the long run more important from the community side. Initiatives like Drupal Diversity & Inclusion lead the foundation for a project which won't just go away like many others

Jacob Rockowitz

Drupal developer. Built and maintains the Webform module for Drupal 8

Contributing to open source software provides me with an endless collaborative challenge. My professional livelihood is tied to the success of Drupal which inspires me to give something back to the Drupal community. Contributing to Drupal also provides me with an intellectual and social hobby where I get to interact with new people every day.

Everyone has a personal groove/style for building software. After 20 years of writing software, I have come to accept that I like working towards a single goal/project, which is the Webform module for Drupal 8. At the same time, I also have learned that building open source software is more than just contributing code; it is about supporting and creating a community around the code. Supporting the Drupal community has led to also write documentation, blog about Drupal, Webform, and sustainability, present at conferences, and address the bigger picture around building and maintaining software

Joel Pittet

Web Coder. Drupal 8 Theme System Co-maintainer

I feel that I should give back to ensure the tools I use keep working. Monetarily or with my time. And with Drupal it’s a bit of both:

I started submitting patches for the Twig initiative for Drupal core, then mentoring and talks at DrupalCons and camps, followed by some contrib patches, then offered to co-maintain some commerce modules, which snowballed into more and more contrib module co-maintaining, mostly for ones I use at work.

I pay the Drupal Association individual membership to help the teams for all the Drupal.orgwork and event work they do.

Joachim Noreiko

Freelance Drupal developer. Built and Maintains Drupal Code Builder

I guess, I like fixing stuff, I like to code a bit in my spare time, I like to contribute to Drupal, and as a freelancer, it’s good to be visible in the community.

Lately I’ve actually been feeling a bit demotivated. I’ve been contributing to core a bit, but it’s always an uphill struggle getting beyond an initial patch. I maintain a few contrib modules, and my Drupal Code Builder tool as well.

Joris Vercammen (borisson)

Drupal developer, Search API + Facets

Being able to pull so many awesome modules for free really makes the work we all do in building good solutions for our customers a lot easier. This system doesn’t work without some of us putting things (code/time/blogposts/…) back into it. The Drupal community has given me a lot of things unrelated to just the software as well (really awesome friends, a better job, the ability to travel all over Europe, etc.). To enable others that come after me to have a similar experience, I think that it is important to give back, as long as it fits in the schedule.

Most of my contributions are under the form of code. I try to do some mentoring but while that is a lot more effective, it is really hard and I’m not that great at it, yet. I’m mostly interested in the Search API ecosystem because that’s what I got roped in to when I started contributing. A lot of my core contributions are for blockers (of blockers of blockers) for things that we need. I try to focus a little bit on the Facets module, since that is what I’m responsible for, but it’s not always easy or the most fun to do. Especially since I’ve still not built a Drupal 8 site with facets on it.

Malabya

Open-source evangelist. Drupal Practice Head at Specbee

Community. That’s what motivates me to contribute. The feeling I get when someone uses your code or module or theme is great. Which is a good drive to motivate for more contributions. Drupal being an open-source software, it is where it is just of the contributions by thousands of contributors. So, when we use Drupal it is our responsibility to contribute back to the software to make it even better for a wider reach

Apart from contributing modules, theme & distributions I help in organising local meetups in Bangalore and mentoring new developers to contribute and begin their contribution journey from the root level. This gives me immense pleasure when I can help someone to introduce to the world of Drupal and make them understand about the importance of contributions and community. Going forward, I would definitely strive towards introducing Drupal to students giving them a career choice and bring in more members to the Drupal community.

Nick Wilde

Drupal developer at Taoti Creative

My main motivation has always been improving what I use - first OS contribution before my Drupal days was a bug-fix for an abandoned at the time project that was impairing my Modding of TES-III Morrowind ;). I like the challenges and benefits of working in a community. Code reviews both that I've done and those done on my code have been incredibly important to my growth as a developer. I also have used it as a portfolio/career advancement method, although that is important it is only of tertiary importance to me. Seeing a test go green or a getting confirmation that a bug is fixed is incredibly satisfying to me personally. Also, I believe if you use an open source project especially professionally, contributing back is the right thing.

My level of contributions vary a fair bit depending on my personal and professional level of busy, but mostly through contrib module maintenance/patch submissions. Also in the last year or so, I've been getting into a lot more mentorship roles - both in my new company and within the broader community. Restarted my local Drupal meetup and am doing presentations there regularly.

Rachel Norfolk

Community Liaison at Drupal Association

Contribution for me is, at least partly, a selfish act. I have learned so much from some of the best people in the industry, simply by following along and helping where I can. I have also built up an amazing network of people who, because they know I help others, are more prepared to help me when I need it. Both code and other ways of contributing. I’m occasionally in the Drupal core issue queues, I help mentor others and I get involved in community issues.

Renato Goncalves

Software Engineer at CI&T's Drupal Competence Office (DCO)

My first motivation to contribute to the Drupal community is helping others that have the same requirement as mine. To be honest, I get very happy when someone uses my community code in their projects. I'm glad to know that I'm helping people. When I'm developing a new feature I check if my solution can be useful to other projects and that way I create my code using a generic way. - Usually, I'm the first to reuse the code several times. I think this is important to make Drupal a powerful and collaborative framework. I liked my first experience using the framework because for each requirement of my project, Drupal has a solution. I think contributing to the community is important for that. More and more new people are going to use the framework, and consequently new contributors, and in that way, it becomes increasingly powerful and efficient. An example of this is the Drupal Security Team, where they work hard to ensure that Drupal is a secure framework. I'm making contributions at the same time I delivery projects. Today I write my code in a generic way, that is, the code can be reused in other times. A good example of this model is the Janrain Connect project. This project is official in the community (contrib project) and my team and I work hard using 100% of the generic code, so we can reuse this code on other cases.

When we need to make some improvement in the code, the first point is checking a way to make this improvement using a generic solution. Using this approach we can help our project and help the community. In this way, we are contributing to making an organized and agile framework. The goal is that other people don't need to re-write code. It is a way of transforming the framework into a collaborative model.

Thomas Seidl

Drupal developer, “The Search API Guy”

My motivation comes from several sources: First off, I just like programming, and while fixing bugs, writing tests or giving support isn’t always fun, a lot of the time working on my modules is. It’s just one of my hobbies in that regard. Then, with my modules running on more than 100,000 sites (based on the report), there’s both a sense of accomplishment and responsibility – I feel proud in providing functionality for so many sites, and while, as a volunteer, I don’t feel directly responsible for them, I still want to help improve them where I can, take away pain points and ensure they keep running. And lastly, having a popular, well-maintained module is also the base of my business as a freelancer: it not only provides marketing for my abilities, but also the very market of users who want customizations. So, maintaining and improving my modules is also, indirectly, important for my income, even though the vast majority of my contributed work is unpaid.

Apart from participating in coding standards discussions, I almost exclusively contribute by maintaining my modules (and, increasingly rarely, adding new ones) – fixing bugs, adding features, answering support requests, etc. I sometimes also provide patches for other modules, but generally only when I’m paid to do so. (“My modules” being Search API and its add-on modules Database Search, Autocomplete, Saved Searches and, for D7 only, Solr, Pages, Location and Multi-Index Searches.)

And Lastly....

It’s not just brands that have adopted Drupal as their CMS – they are the cream of brands. From NASA to the Emmy Awards. From Harvard University to eBay. From Twitter to the New York State. These brands have various reasons to choose Drupal as their Content Management System. Drupal’s adaptability to any business process, advanced UX and UI capabilities for an interactive and personalized experience, load-time optimization functionalities, easy content authoring and management, high-security standards, the API-first architecture and so much more!

The major reason why Drupal is being accepted and endorsed by more than a million websites today is because Drupal is always ahead of the curve. Especially since Drupal adopted a continuous innovation model wherein updated versions are released every 6-months with seamless upgrade paths. All of this is possible because of the proactive and ever-evolving Drupal community. The goals for their contributions may vary - from optimizing projects for personal/professional success to creating an impact on others or simply to gain more experience. Either way, they are making a difference and taking Drupal to the next level every time they contribute. Thanks to all the contributors who are making Drupal a better place.

I’d like to end with an excerpt from Dries - “It’s really the Drupal community and not so much the software that makes the Drupal project what it is. So fostering the Drupal community is actually more important than just managing the code base.”

Warmly thanking all the mentioned contributors for helping me put this article together.

Apr 19 2019
Apr 19
  • Shriganesh
  • 19/04/2019

“The limits of my language are the limits of my world" - Ludwig Wittgenstein, Philosopher

Recently, I came across a very interesting stat. 56% of users either spend more time on sites in their own language than they do in English or boycott English-language URLs altogether.

This was confusing, given to the fact that English IS THE MOST popular language in the world! Well, apparently it stands third behind Mandarin and Spanish!

As the internet continues to grow, more people around the world are getting familiar with it, and this means just one thing. If you need to internationalize your business for better revenue, you need to go multilingual!

For most of the CMS tools, non CMS languages and frameworks, creating a multilingual website is a challenging task with numerous pain points. However, thankfully, this is not the case with Drupal CMS.

As a platform with capabilities of delivering multilingual websites right out of the box, reaching a broader audience, targeting more locations and taking your business global with a perfect multilingual solution is the giant leap for competitive advantage.

It is a Drupal world

A multilingual website is not an easy task. Just to begin with, you will have hundreds of questions over which you might break your head. Should you display the content in native language? How will media files be handled? Will the translations fail? Will the CMS be flexible enough to handle the changes incurred by the translations?

Well, to answer all these questions and more, creating a multilingual website just got a lot easier with Drupal CMS. Having tremendously evolved from its previous versions, Drupal 8 comes with huge benefits for both the site administrators and end users with Drupal 8's multilinguistic support.

So what makes Drupal 8 your “knight in shining armour”? Let’s find out.

Multilingual is in Drupal core now

Drupal 8 has brought in a lot of changes in the implementation of multilingual sites, making it easier and less complex. In the previous versions of Drupal, one had to install extra modules just to have support for multilingual functionality. That meant a lot of extra work, more maintenance, and increased costs. Drupal 8, however, brings in multilingual support to Drupal core with 4 modules (about which we will be discussing in the later sections) thus improving your website performance.

Localized Content

Out of the many great features that Drupal 8 brings in for multilingual websites, field-level translations for localized content is a key aspect for better usability. With such translations, it becomes easier to show localized content in every region without having to create a huge number of new nodes. This means that content translation is possible for all types of content, like user fields, taxonomy etc.

Language Support

The Drupal CMS has a very impressive list of available languages, allowing you to cover every nook and corner of the world. This list with over a hundred languages also supports languages with right-to-left text direction. Some of the default languages available are Arabic, Hebrew, Persian, Farsi and Urdu.

A highly motivated multilingual community

Drupal CMS is not just known for its amazing features, but also for those amazing people behind these features. Yes, I'm talking about the Drupal community that works selflessly to make Drupal an excellent CMS than before. The multilingual support in Drupal 8 is the cherry on top. With developers from around the world supporting the multilingual initiative, you have an extremely powerful driving force for your multilingual website!

The Core Modules

Unlike the previous versions of Drupal, most of the major functionalities and features that are necessary to build a multilingual website is offered in the 4 new modules in Drupal core. These modules replace the suite of various contributed modules, making it a lot easier for site administrators and the users. Let us dig in and learn what exactly these modules are, and the key roles that they play.

Language Module

This is the base module that is required for any multilingual website. This module lets you choose from 94 languages, and allows you to assign your preferred language for everything from nodes and users to views, blocks and menus. The module also allows each user to select his own language for the admin interface and configure how page languages are chosen, and apply languages to content. Some of the other features of this module are:

  • Better language selection defaults (URL negotiation enabled by default)
  • Allows browser language detection, which is made configurable with external language codes.
  • Has built-in Transliteration for machine names.

Interface Translation Module

The interface translation module plays the role of translating the built-in user interface, along with the modules and themes added. It also allows automatic downloads and updates and lets the user to use any translation interface available in the Drupal community (in any language supported by Drupal 8 ). English is not the default language anymore and it can be customized or even removed completely. Also, the module has built in translation UI for easier editing. Some of the other features of the interface translation module are:

  • Default protected local translations.
  • Plural versions are now editable on an integrated interface.
  • The module also has protected custom translations which are exportable.

Content Translation Module

Content entities, site content, pages, taxonomy terms or just the blocks; as a user, you can translate any of these into different languages using the Content Translation Module. Resembling the Interface Translation Module, this module allows easy configuration of the default language of the content. Also, users can hide or display the position of language selector for an easy interface. Some of the other features of Content Translation Module include:

  • Allows for field-level configurability
  • Integrated Views
  • Exposed language information via search API
  • Allows per-language content access for better control and accessibility.

Configuration Translation Module

The Configuration Translation module translates texts that are a part of the configuration. These texts include field labels, the text used in Views etc. In short, the module offers a built-in responsive translation interface for configurations. Some of the other features of the Configuration Translation Module are:

  • Everything shipped is pre-translatable on localize.drupal.org
  • Availability of an overview screen for any assistance needed in the process.

Contributed Modules for a Multilingual Website on Drupal 8

Apart from these four important core modules, there are some unique contributed modules which you might consider using for your website. These contributed modules have unique features that will help your website speak your customer’s language. Let's discover some of them in this section.

Language Selection Page

It is a cool thing to allow your website visitors to choose the languages (it can be their own mother tongue) they'd like to see your site's content translated to! This module empowers your visitors by presenting them a landing page where they can choose their preferred language. As a business, when you have minimal information about the data of your visitors, (which country they are accessing your website from, or what their mother tongue is) this module provides a huge advantage.

Language Fallback

Suppose a certain translation cannot be delivered to your website visitor in the custom language, this module provides a backup or a plan B and allows this undelivered translation to fallback to another language (specified by you). Thus, in case anything happens and the translation gets messed up, the user will still get the requested content in another familiar language or dialect.

Language Cookie

How cool will it be if your website could detect the visitor's mother language? Well, the language cookie module identifies the visitors' mother language by basically adding a new "cookie" field to the Language Negotiation settings. This in turn will set the language on your site in accordance with the extra cookie.

IP Language Negotiation

A key module for a Drupal 8 multilingual website, this module is quite similar to the Language Cookie module. The IP Language Negotiation detects the specific country from which a visitor is accessing your website and automatically displays the content of the entire website in the respective native language.

Localization Client

With an on-page translator editor, this module ensures that the next time you need to fix, create or add new translations to specific pages on the website, you don't have to go through all the pages to find them precisely and add or edit the translated content. Localization Client allows easy navigation around the pages to find the targeted ones directly, and fix/edit them.

It would take you over 7,000 languages to reach the entire global population. Reaching a wider audience with an optimized user experience and improved communication efforts to drive better conversion rates is not possible without a CMS warehouse that represents your web content. With a seamless multilingual solution straight out-of-the-box, Drupal 8 is the platform for your non-English users. Numerous benefits, customizable features and amazing capabilities to handle the multilingual support that your website needs. Drupal 8 is the complete package.

Mar 21 2019
Mar 21
  • Shriganesh
  • 21/03/2019

B2B and B2C DO NOT EXIST anymore. It is time businesses realise this…..

As a business, when you label an individual as your consumer, there is a very common disconnect which classifies you as a B2C brand. However, the distinction between B2C and B2B is no longer a thing in the market. These days, companies climb the success ladder or fail, based on their ability to build and maintain a long lasting personal relationship with individuals.

Energised by tech innovations, individuals today have very high expectations about what makes a great customer experience and fail to have patience for businesses that do not deliver. This has depicted the interdependence between two major business groups in the industry: B2B & B2C. The growing trends have democratised the marketplace and bridged the digital divide, giving rise to the B2All (Business to All) strategy. As a result, everyone is equal in this new way of selling, whether your target audience are businesses, or an individual customer.

How does Drupal 8 fit in?

Helping organizations to keep pace with these growing demands are the content management systems, which play a key role in presenting businesses in front of audiences, connect with leads, convert these leads into customers, and keep customers coming back.

With robust and flexible infrastructure, innovative design and some great out of the box features, Drupal CMS is one of the top web solutions considered by businesses around the world to stay abreast with the surge in demand for personalization, interactivity and scalable tools. However, it turns out that a lot of marketers are quite unfamiliar with Drupal's potential.

As a modular CMS, Drupal 8 creates tonnes of opportunities for digital marketers to integrate with marketing platforms and configure the website to act as a central node for the entire digital marketing ecosystem.

This makes things a lot easier for marketers, allowing them to manage everything from the admin interface of Drupal CMS.

Serve Every Platform

The digital economy has exploded in the past decade, and everyone connects to you with a device of their choice. As a business, you cannot channel your efforts to be picky about your online platform, and whom it will serve. One study found that on an average, more than 55% of the users won't recommend a business with a poorly designed mobile site.

With its customisable features and the ability to create responsive websites or web applications, Drupal 8 is the CMS that can adapt your business to any modern device without any hassles.

Seamless Experience

Remember the last time you saw a restaurant ad on a website, and you looked it up on your mobile device? Only to find that the site would not load because it was only readable on a 25 inch PC. Odds are that you never went back to that restaurant and you found somewhere else to go. DON'T let your business be that restaurant! Your possible customers should never pay the penalty for switching devices. Drupal 8's out of the box features lets you create impeccable user experiences on various devices, while handling all your information on the website.

Easy-to-use back-end

With a lot of information to handle, marketers often get stuck trying to handle the functionalities of the online platform, every time they have a new requirement for implementation. Sometimes they are required to remove or change some of the features/content from the back-end and their dependency on the technical team is always a big hurdle to cross.

However, with Drupal 8, things are different! Drupal CMS has a powerful back-end which can be managed without any coding skills. This gives marketers the option to handle content authoring with ease and customise accordingly.

Marketing Automation

At the end of the day, marketing strategies are all about raking in revenue by implementing these methods into your business models. And 78% of marketers believe that marketing automation systems dynamically contribute towards improving the revenue of a business.

While automation works towards driving the right crowd to your website, once the prospects arrive, these automation systems turn themselves off and it is your CMS that has to do the further talking! It plays a huge role in identifying the visitor to your website, and feeding the required data to the automated system so that further action can be taken based on their behavior.

Drupal CMS being the most scalable and flexible CMS for enterprises, has some of the best modules to integrating marketing automation tool into Drupal. Some of the best modules of Drupal 8 are Marketo, Hubspot,Pardot, and Salesforce.

Room for Infinite Growth

Also known as an "open marketing platform", Drupal CMS is a robust CMS that creates room to plan ahead for eventual growth of your marketing strategies. Built from the ground up to integrate with an endless number of marketing tools, Drupal enables you to seamlessly integrate digital marketing platforms to interoperate content and create a hassle-free experience.

Convenient Modules

Each of your marketing strategies centered around platforms such as email marketing, customer relationship management, marketing automation etc have dedicated modules that need simple configurations to set up and start working their magic with your website. These modules are an essential part of the content management system and add the extra functionality, making your online presence powerful and unique.

Over the years, Drupal CMS has evolved to become flexible, accommodating and an essential part of a marketing ecosystem. With unique capabilities like high degree of customization, scalability, better adoption, integration and more, Drupal is the most preferred choice for businesses. Add to that the rise of marketing strategies focused around the B2All business models, this content management system acts as a single platform to rule them all. Flexible design, terrific scalability, improbable features right out of the box and great security, means your depiction in the ever competent market is as unique as your brand.

Feb 07 2019
Feb 07
  • Shefali
  • 07-02-2019

“It takes time to save time”, said Astrophysicist Joseph Hooton Taylor Jr. and how right he is! The good folks from Acquia have thoughtfully curated a package that can save businesses from tons of time spent in marketing and editorial efforts. Acquia Lightning is an open-source Drupal 8 distribution that was designed to enhance, fasten and simplify the process of creating powerful (and responsive!) digital experiences.

Drupal 8 gives developers and content authors full flexibility to shape their websites and applications that meets their vision. It is packed with thousands of powerful features that requires to be able to support a wide variety of content-rich applications. Acquia Lightning is a lean, ready-to-use starter-kit that encompasses just the tools needed to develop and manage your enterprise-grade digital experiences. Lightning is built specifically to empower your marketing and editorial teams to build better, easier and faster. Here are 5 reasons why choosing Acquia Lightning could be a great decision for your organization’s editorial and content teams.

1. Speed of Lightning

This aggressively competitive era calls for quick formulas that can produce epic digital experiences. Acquia Lightning enables organizations to develop new applications in Drupal 8 faster. According to Chris Stone, former Chief Product Officer at Acquia, “Lightning removes 20 percent of the time required for every new Drupal 8 development project.” With Acquia Lightning, Drupal developers can now empower business and non-technology savvy users with powerful tools to enable them build on their websites faster.

2. Drag This and Drop That

Lightning enables you to easily design and customize new website layouts yourself without a Drupal developer’s assistance. Content editors won’t need to use any code to design a layout. With the help of Panels, Lightning layouts lets you easily drag and drop content blocks (elements wherever you like! This powerful feature lets you create compelling User Experiences as you can visually design the layout of your website the way you want to. With just a few clicks (and zero code), you can – add rich text, media, content references, slideshows, Google Maps and just about everything you need to create an interactive and engaging website. Not just this, your Drupal developers can also create custom components which you can then use from your library.

3. Effortless Workflows

Having everything together, without rummaging through the place, makes life simpler and easier – don’t you think? Editorial workflows call for tons of significant activities like creating, editing, reviewing and publishing content. Acquia Lightning’s easy all-in-one-place workflow management system, lets you easily tackle the chaos. It provides you with an approval dashboard meant just for your editorial workflow. Here you can easily check the status of the content you are reviewing - change, delete or publish it at your convenience. The version tracker allows you to check for changes and updates between different revisions, giving you the freedom to revise, compare and revert your content. You can review them, pick the most appropriate version, schedule and publish the content, all in the dashboard.

4. Manage your Media

You cannot have an engaging website without leveraging the power of Media. Lightning offers an easy and effective approach to add, embed and manage your media like Videos, Audio files, Images, Social Media Widgets, Documents, Maps and DAM (Digital Asset Management). All added Media will be stored in a Media library, giving you easy and quick access to all your media. Using the CKEditor (rich text editor), you can attach or embed any media into any content type. Cropping and resizing your images is easy as pie.

With the power of Drupal 8, Acquia Lightning can give your business that edge over your competitors. Learn how and why..

tweet this With Acquia Lightning, designing interactive digital experiences is simply effortless.

5. Sneak Peek – Experience Preview

You’ve got to think like your customer if you want to sell better. And to provide great digital experiences, you should be able to see exactly what your customer is seeing. Acquia Lightning for Drupal 8 (upgrade now!) enables you to conduct a comprehensive preview at every stage so you view what you publish before it goes live.

drupal-lightning

Acquia Lightning Features

Right out-of-the-box, Acquia Lightning is a slick, lightweight, all-you-need Drupal 8 solution that will meet all your web initiatives’ demands. It is one of the best ways to jump-start your Drupal projects and can accelerate your time to market. Headless Lightning lets you create beautiful and effective decoupled web applications with ease. Security is almost synonymous with Drupal CMS and Acquia lightning conforms to security best practices. Lightning undergoes regular security audits and releases frequent patches to keep your website’s health in check. Acquia Lightning makes development on Drupal simpler, faster and more powerful.

Jan 31 2019
Jan 31
  • Shriganesh Hegde
  • 31-01-2019

“The real question is, when will we draft an artificial intelligence bill of rights? What will that consist of? And who will get to decide that?” —Gray Scott, American Philosopher

Keeping in mind the spectacular potential that Artificial Intelligence has, and given the way we interact with technology, we might have to consider this "bill of rights' anytime soon now! Over the years, AI has been instrumental in personalizing user experience and this is one of the prime reasons why brands are investing in Big Data as a key element of their customer offerings.

However, organizations have failed to utilize the enormous potential of Artificial Intelligence by not embracing the technology completely in the field of website development. In the fast growing digital age, web presence plays an important role for businesses to stay ahead of the curve. Artificial Intelligence with its amazing capabilities will give the companies the boost that they need to craft a seamless digital experience for their customers.

Drupal & Artificial Intelligence

In the recent years, modern mainstream website development has mainly focused on building a customer-facing front-end presence on the Internet and the integration of the front-end with enterprise back-office operations. And Drupal is a leading open-source platform for creating such enterprise websites.

As a reliable enterprise-grade CMS, Drupal is well known for its ability to organize and present content in the most effective way to create a seamless omnichannel digital experience. On integrating Artificial Intelligence algorithms to your Drupal-based website, you can turn it into an interactive ecosystem capable of handling your potential customers, interacting with them, studying their behavior and identifying patterns in them to aid targeted marketing and subsequent revenue growth.

However, the question is, what is the 3rd-party AI solutions and libraries that Drupal developers have in their toolkit? Which of these provide the most value? We have picked some of the top modules that can assist your team in creating a AI driven digital experience.

Cloudworks for Multilingual Drupal Module

Cloudworks for Multilingual Drupal empowers you to deliver successful global campaigns and localized assets with speed and scale. With the ability to onboard any language provider in a matter of few minutes, Cloudworks can help you deliver globally consistent, high quality content to multiple countries in various languages. The smart AI allows workflow automation and powerful project manahrgement capabilities to pick the content you want to localize while Cloudworks does the rest.

It also has a CAT tool that has a smart internal translator which increases the productivity by leveraging artificial intelligence and machine learning.

Azure Cognitive Services API

With an ability to seamlessly integrate with intelligent features and use machine learning, artificial intelligence and natural learning process to detect speech, facial expressions and vision recognition, and other sentiments, this module can do wonders. The four different module that it offers are:

1. Face API Module

Integrates with Microsoft Face API, a cloud based service that provides some of the most advanced face algorithms. With two main function of face detection with attributes and face recognition, it can

  • Detect human faces and compare similar ones
  • Organize images into groups based on similarities
  • Identify people in previously tagged images

With an ability to seamlessly integrate with intelligent features and use machine learning, artificial intelligence and natural learning process to detect speech, facial expressions and vision recognition, and other sentiments, this module can do wonders. The four different module that it offers are:

2. Emotion Recognition API Module

Although in beta stage, this module is capable of taking image as an input and return the confidence across a set of emotions for each face in the image, as well as bounding box for the face, from the Face API.

3. Computer Vision API Module

This module is capable of extracting rich information from images to categorize and process visual data and machine assisted moderation of images to help curate your business services.

4. Azure Text Analytics API Module

  • Sentiment analysis
  • Key phrase extraction
  • Language detection

Acquia Lift Connector

A module that can help you merge content and customer data into a single tool, thus allowing marketers to target audiences in real time, enabling them to scale their web personalization efforts to drive better conversions. The Acquia Lift Connector module provides the integration with Acquial Lift Service and an enhanced user experience for better personalization, testing and direct targeting. This will help you in delivering cohesive, personalized experiences across multiple channels and cross devices.

Some of the features of Acquia Lift Connector include:

  • Drag-and-drop UI for content targeting Unified customer profile Content distribution Behavioral targeting and A/B testing
  • Unified customer profile
  • Content distribution
  • Behavioral targeting and A/B testing

Integrating AI into your Drupal Website - Why is it good for your Company?

Let your website be HUMAN!

The current level of AI, by no means allows developers to teach your Drupal website to think or behave like humans. However, this smart technology is catching up soon and is getting better at automating content management and customer service tasks. This in turn allows you to free up your editorial and customer support teams.

Better user experience

One thing that stands out in an AI incorporated Drupal-based business website is its ultimate user experience. With effortless content management and publishing, round-the-clock approach to customer support, better targeting and connecting with the customer touchpoint, Artificial intelligence empowers your company to craft personalized experiences for your customers.

Better targeting

It is a known fact that 80% of the digital data generated by businesses around the world is unstructured, confusing and thus underutilized. However, with AI and Machine Learning anchoring the tools that help your company analyze these data, mapping the digital customer journey is a cakewalk. With better understanding of the customer behavior based on historical data, you can come up with relevant products or service recommendations targeted to each individual customer and his needs.

Higher ecommerce conversion rates

Implementing AI in ecommerce will potentially grow the global ecommerce market profitability by 59% in a span of 15 years. Features such as advanced lead generation, predictive analytics, targeted customer service, and upselling opportunities will help you to create a AI driven ecommerce ecosystem with better conversions and revenue.

The Future?

The future of websites looks interesting and is predicted to be automatically tailored to individual user behavior by analyzing their searches, reads, time spent on each page etc. Every user will be assigned a unique ID (uid) and their behavior like the clicks, searches and exits on the website will be linked to this particular uid. Just like how the analytics tools do. Using AI and Machine learning, each uid and the data connected will be analyzed to tailor the website according to each individual user. While such personalizations have already been implemented by certain big websites, integrating it with Drupal will take it up by a notch.

Artificial Intelligence and Machine Learning have a lot to offer and on integration with Drupal CMS will open up new possibilities of feature rich modules with futuristic features. A digital ecosystem with features such as "voice controlling", "website personalization based on user behavior" and more can be seen as the dawn of customer interaction 2.0. Leveraging the power of AI and Drupal CMS will allow businesses to gain a competitive advantage and achieve sustainable futuristic growth.

Jan 07 2019
Jan 07
  • Shefali Shetty
  • Date: 07-01-2019

Did you know, on an average an adult makes about 35000 decisions each day?! And suddenly, life feels more difficult. Most are mundane but taking the right step towards an important decision can turn you into a winner. Since the release of Drupal 8 in November 2015, Drupal website owners have been in a dilemma. To upgrade or not to upgrade. To migrate to Drupal 8 now or simply wait till Drupal 9 releases and completely skip 8. And to make things more knotty, there are PHP, Symfony and other version upgrades to keep track of too.

At this point, you might wonder why choose or stick with Drupal at all when everything seems so complex and tedious. Why shouldn’t I just switch to a rather simpler CMS where I can sit back and just let my content work its magic, you ask? Here’s the thing – Drupal is an open-source content management framework that is best known for the security, robustness and flexibility it offers. Without constant and consistent updates and patches, Drupal wouldn’t have been the relevant, dependable and trusted CMS that it is today. This continuous innovation approach has helped Drupal in offering new Drupal features, advanced functionalities and security patches with every minor release.

Drupal’s Plan of Action

Few months ago, during his keynote, Dries announced (and wrote) about Drupal’s structured release schedule. Although this clarity gave much relief to many, it also sent some of our Drupal 7 clients in a frenzy.

Taken from https://dri.es/drupal-7-8-and-9

Optimistically, Drupal 9 releases in June 2020. The initial plan, however, was to release it in December 2020 but that would give website owners only 12 months to migrate to Drupal 9. Hence it was decided that it would be best to have an 18-month window at the least or a smooth migration. Drupal 8 support will end in November 2021.

Drupal 7 was expected to reach end-of-life by November 2020 initially but since several websites might still be running on Drupal 7 even by 2020, the community has decided to extend support to Drupal 7 till November 2021. Which means that both - Drupal 7 and Drupal 8, will reach end-of-life at the same time!

The Dependence

I believe PHP and Symfony are the heart and soul of Drupal. Every move Drupal makes depends on the release cycles of these two significant elements. Symfony releases a new minor version every six months and a major version every two years. In order to be compatible with Symfony’s releases, Drupal has timed its minor releases one month after every Symfony release. Because Drupal 8 depends on Symfony 3, which has an end-of-life in Nov 2021, Drupal 8 HAS TO end-of-life by Nov 2021.

Security Support for PHP version 5.x and 7.0 have ended in December 2018. While Drupal websites can still continue to run on older PHP versions, upgrading the PHP version will not only receive active community support but also immensely improve site performance. Dries recommends updating the website’s PHP version to at least PHP 7.1 and ideally to PHP 7.2 (supported by Drupal 8.5). The latest PHP version 7.3 will be supported by Drupal 8.7 which is scheduled to be released by May 2019.

So, why migrate my Drupal 7 websites to Drupal 8 now instead of simply migrating to Drupal 9?

I concur. This is an extremely valid query which makes total sense. Yes, you can completely skip Drupal 8 and migrate to Drupal 9 before Drupal 7’s end-of-life (Nov 2021). If you plan to hang on to Drupal 7 till then, you have to make sure you update your PHP versions for better support and optimized performance. You could also hire a vendor who will provide you with a Long Term Support (LTS) for your Drupal 7 website beyond its end-of-life.

Although, there are a few advantages of migrating to Drupal 8 now.

Mark your calendars!

Like everything else, Drupal too has evolved over the years and now has an extremely structured roadmap that can help tackle most of its obvious obstacles. With every release, Drupal is getting better while embracing its past and deprecating those outdated/unsecure elements. Drupal isn’t competing with anyone but itself – trying to outdo its past with every minor/major upgrade release. To upgrade to Drupal 8 now from Drupal 7 or to wait till Drupal 9 is out, is really a choice site owners need to make depending on their business goals, website complexities, budget and time constraints. Specbee is a Drupal development company and our Drupal experts can help you make a better decision.

 

Huge shout out to @malavya88 for his very insightful inputs!

Nov 13 2018
Nov 13
  • By: Shefali
  • Date: 13-11-2018

Digitalization has opened doors that nobody imagined even existed. Opportunities did not just come knocking, they exploded their way in. Digital evolution has taken the world of professional publishing by storm. However, this evolution brought along a whole new set of challenges that publishers are still trying to cope up with. Many publishers of physical magazines had to shut shop as most of their readers had now shifted to e-magazines but the ones who saw the silver lining in the cloud, went online! And now the whole world is their audience.

Consumers are altering their preferences of consuming content ever so often and publishers have to make sure they reach their audience through more than just one medium. Plain text is passé – content that’s not enriched with any media (images/videos/gifs) are blindly rejected.

As our attention-spans are evolving (for the worse), it has become crucial for content to be fresh, relevant, interactive and alluring. Which means, publishers need to work even faster and find efficient ways to exhibit their content for better consumer engagement. A good Content Management System will let publishers to create and publish fresh content fast and efficaciously. Thunder - a Drupal 8 distribution – aims to resolve the problems faced by professional publishers and make their lives much easier.

Feel the Thunder

Originally designed for and by Hubert Burda Media, Thunder was later released as an open-source software in 2016. This community-driven CMS is based on Drupal 8 and consists of varieties of hand-picked modules meant solely for the publishing sector. Because it is open-source and completely non-profit, a Thunder Coalition was shaped where publishers, industry partners, core team and developers share their code/modules/extensions. So everyone benefits from the coalition while giving back at the same time.

With Drupal 8 already providing a vast collection of modules that are valuable for professional publishers, it was the most obvious choice of CMS to backup Thunder. Custom modules developed for Thunder are also contributed back to the Drupal community which encourages a strong circle-of-life.

So why reinvent the wheel when you can just realign it? – Said Anthony J. D’Angelo. And with Thunder, you don’t even need to realign it most times.

Get launched – quick and easy

A Drupal distribution is a complete package that comprises of installation profiles, modules, themes, libraries that are industry-centric and easily downloadable. Thunder distribution is an all-in-one package focused on professional publishers that is stable, extremely scalable and customizable. It consists of all the bare-necessities needed for a publisher to get up and running in the market faster. Installation is easy and quick and allows you to set-up your website faster than you think. Because it is open-source and free, it cuts down development efforts helping you save on time and money!

The Out-of-the-box Experience

Unless you want a feature that is very specific and bespoke, you are good to go with the core features Thunder has to offer. Responsiveness comes out-of-the-box not only for site visitors but for the editors and administrators too. The Paragraph module lets you create, modify and play around with content. It lets you drag and drop content and multimedia making it really flexible and easy to create beautiful stories.

Scheduling your content to be published is as easy as 1-2-3! Modules like Media Entity and Entity Browser make media handling more effective. Content Lock comes handy especially when many editors work together. It lets an editor lock a node they are working on and notifies the other(s) that the content is being edited. When you want to instantly check if your content looks alright on different devices, use the Responsive Preview module. Embedding videos from Youtube or Vimeo just got easier with the Video Embed Field module.

The Extra-Ordinary Extras

The little extras are what makes the ordinary, extra-ordinary. Thunder provides some optional modules that promise to give professional publishers that extra boost. Have you seen those articles on your Facebook app that load up in a jiffy and makes you feel like you haven’t even left the app? Yes, I’m talking about Facebook Instant Articles. With this module, editors can easily add content from their Drupal website to Facebook and drastically reduce load time on mobile devices.

The Google AMP (Accelerated Mobile Pages) module lets you deliver content like text, images, videos, Instagram and Twitter cards in a flash. If you need to cover an event as it occurs, the LiveBlog feature is your best friend. When you want to add content like surveys, polls, quizzes or top 10 lists, the Riddle Interactive Content plugin is precious. The Nexx.tv video player integration allows efficient distribution and flexible streaming of videos across various platforms.

The Drupal Advantage

Being a free and open-source content management framework, Drupal was the most obvious choice and Hubert Burda Media had to look no further. They had already had a great experience with Drupal and the release of Drupal 8 just made things better. Core Drupal features like Menu Management, User Management, Taxonomy, RSS feeds, system administration and page layout customization helped Thunder in building a strong foundation. A foundation that has been further enhanced with many more publisher-centric modules.

The Drupal community is constantly evolving, thereby adding more features, beefing up security and giving you all the support you need. The Thunder and Drupal Community are so closely-knit, you can’t tell the difference. Thunder makes it easy for organizations to share their customized modules with other industry-partners and the Drupal community so everyone benefits from their contribution.

Thunder has been built for publishers by publishers and just cannot be ignored if you are a professional publisher. It addresses all the pain-points of a publisher and helps accelerate the process of getting to market. Top publishers like Marie Claire, BUNTE, ELLE, Playboy, InStyle and many more trust Thunder. “Don’t give to get. Give to inspire others to give”. This seems to be the thought motivating the Thunder Coalition and the Drupal community to share the power of innovation. The advantages of being open-source are abundant but the most significant is the fact that you can give back to the community. It is like this amazing cycle of life that runs on trust and goodwill.

Oct 29 2018
Oct 29
  • By: Shriganesh
  • Date: 29-10-2018

One of the most important aspects of technology in education is its ability to level the field of opportunity for students. --- John King, U.S. Secretary of Education

How many of you were aware of the fact that the very first instance of what became of the internet, was a communication link between UCLA and Stanford in October 1969?! At that time, more than half of the eventual nodes on the ARPANET - the precursor to today's Internet - were universities. To be fair, the internet was literally born in universities.

In the 80s and the 90s, most of these organizations had a significant online usage penetration and were amongst the first ones to have a digital presence and develop a website of their own.

With the faculty members and the administrators of the education organisation having better access to the internet in much larger numbers, this was viewed not as a potential source of revenue, but as an educational imperative. Unlike their corporate counterparts, higher ed organisations had fewer restrictions, thus making this less about profits and more about the mission.

Today's Scenario?

Over the past 2 decades, the advancements in technology have been tremendous and these changes have played a major role in allowing educational institutions to move into a teaching and learning method inspired and driven by technology.

However, the changes while creating new opportunities for students, have brought upon new obstacles for colleges and universities to overcome.

Today's technology driven higher education is rich and also in tangles. With almost zero editorial governance, most of the universities are caught up in a heap of long trail of microsites, internal portals, mismatched designs, and patchwork integrations.

In the present scenario, from textbooks to exercises, from software simulations to data sets containing educational data, it is necessary to rethink the way these educational resources or “learning objects” are managed.

Though this is all exciting to begin with, it is not just tiny web presence that is the issue. Let us discuss about some of the common problems that higher education institutions face when it comes to content management.

Diverse Audience

In an ideal condition, a website is crafted for a specific audience. However, think of an higher ed institution and the website of its own which will be serving multiple audiences from all the possible corners of the world with a diverse background of their own. Apart from the main set of audience, serving dozens of smaller sub-audiences, the higher education institutions faces the daunting task of serving more people with more complexity in a more challenging web environment.

When we talk about the challenging environment, it is just not about different people needing different information. For example, students might want to access a class video on their mobile device. However, this is driven by various other factors such as students with different economic backgrounds and financial conditions, different broadband speeds, different internet access regulations and many more.

This clearly implies that the requirements for a higher education universities with respect to content, design and development need to be broad, drastically broad!

Contributor Base

With a long tradition of direct web publishing with little or no oversight whatsoever, the higher education projects are always present with larger numbers of content contributors from various departments and wings of the organisation than any other type of industry. They have their own independent departments, each with their own stake, audiences and outcomes, resulting in the faculty members publishing their content in the form of research to public websites under the university banner without clearing this with the central governing body.

To add to the complication, even if the higher education body has a centralized editorial board, the departments often come up with their own editorial teams, making it difficult task for the central governing body to maintain the vision of each individual team.

With all this going on, the most affected are the permissions and the security features under the high number of users and student population. A streamlined user management driven by a central management for permissions and supported by a user database for the website independent of the rest of the organization is a rare sight in the higher education institutions.

Too Many Units, Websites

Most of the large higher ed websites are actually several (in some cases even hundreds) of loosely associated microsites, department websites, external applications and more. Consisting of a number of semi-autonomous departments, the organizational structure is completely paralleled in their website management and governance. This results in a major architectural issue, struggling to keep consistency between the various different groups and their content.

With so many microsites, it often appears as though there is a seperate website for each department. In some cases these websites might differ in terms of visual appearance, architecture of the information, and also the editorial tone. Some extreme cases can also have the micro sites running on seperate servers, powered by their own CMS and operated as complete separate entities!

System Integrations

A great university does more than just handle a bunch of students and teach them a few subjects. Similarly, a great website does more than just show a text page or two. An average higher education institution is quite complex, involving lot of people, departments, students and more. Thus the average website of this average institution is bound to be complex system of interlocking technologies.

A typical website for a higher education institution is a complex world of system integrations with functionalities bolted onto the main content management systems. With multiple portals and support systems to service the academic needs of the student population, there lies a huge challenge in how to balance the specific needs of their diverse audience and also manage the technology constraints with respect to standards of integrations.

The Solution

When we think from the perspective of an educational institution there is a lot of data that is travelling among the teachers, students and the administrators. Comprising of worksheets, homework, reports, assignments and so on, most of this content is not managed and maintained by the educational institution but by the teachers themselves, making it entirely dependent on context and the learning goals to be achieved.

Quoting Wiley, in his “content is infrastructure,” the learning process must be created on top of such infrastructure, and there is a real need for managing all those contents available on the Web.

This fact combined with the concept of open educational resources, enables a new environment for learners that view the web as a learning space with many possibilities, with no time or space barriers. While content management has traditionally been related to content producers such as news and media agencies, publishers and other portals, the higher education institutions are a major contender (courtesy of their methods to churn out their own content on a regular basis) to use a CMS effectively.

A CMS is basically defined as a combination of three distinct concepts: content, process and technology.

Content usually refers to the text, graphics, videos, animations and other media that comprise the base of a system.

Process is more concerned about the users and the actions performed by the users. Defined as the set of actions that produce a notable outcome, process refers to the ways integrated into the system for the users to perform certain tasks such as publish, share or download.

Technology is the driving force to perform the process and control content over the internet.

Content Management System & The Concept of Compound Learning

The basic purpose of any CMS in any industry is to manage the information workflow in a database and publish the content onto the web environment. However, even when the purpose is standard for any user, the process and the way to present it to many other users differs according to the user requirements that can range from a simple task to a complex one.

In the case of educational purposes, a CMS can be used to submit various assignments or publish research papers or update information on the student portal etc. Furthermore, using the CMS as a support for classroom instruction results in a structure for Compound Learning.

Compound Learning is the combination of both the traditional instructions and e-learning with the support of an effective CMS like Drupal. This ensures that the students are not deprived of the interactivity in the classroom and also are exposed to technology that eases their workload.

From the teacher's point of view, this integration of a CMS like Drupal helps them effectively manage their online information such as audios, videos, animation, interactive applications and more. Providing an effective usage to control processes for managing content and its users, some of the features that Drupal CMS offers are,

  • Easy navigation
  • Effective information management
  • Ease of access and usage
  • Architectural organization
  • Different interfaces and functions for different user groups
  • Robustness & Scalability

Furthermore, by using a CMS like Drupal, higher education institutions can develop up-to-date information on a regular basis, improve their system administration and also lower their expenses at the same time. Also, achieving following goals with a Drupal CMS becomes much easier.

  • Ease of use with security and permissions
  • Creating workflow administration
  • Separating content from design and view
  • Managing and controlling content
  • Handling structures for metadata
  • Creating depository for reusable content and more...

When education systems find it hard to maintain knowledge acquisition, management and publishing process because of their complexity, web based content management systems like Drupal makes things easier irrespective of the amount of content owned and the amount of updates and modifications required.

In any higher education institution, it is very important to understand how a CMS impacts a number of people and the departments concerned. While analyzing the current website of the institution and using the input from some of the key individuals helps in understanding how a CMS fits into the environment, the decision is still based on an extensive process and open communication. In the field of educational technology, it is an often repeated motto to emphasize teaching with technology rather than teaching the technology itself.

Sep 20 2018
Sep 20
‌‌

"You want to enable your developers to easily deliver content to different devices, channels, and platforms. This means that the content needs to be available through APIs. This is aligned with Drupal 8's roadmap, where we are focused on web services capabilities."

tweet this

Dries Buytaert

If you know Drupal, you HAVE to know Dries. He’s the founder of Drupal, CTO of Acquia, an excellent blogger and a Young global leader at the World Economic Forum.

Quoting him from one of his blogs where he was talking about why headless Drupal is gaining more and more popularity within organizations and how Drupal 8 is focusing on making it more efficient and easy to adopt -

“You want to enable your developers to easily deliver content to different devices, channels, and platforms. This means that the content needs to be available through APIs. This is aligned with Drupal 8's roadmap, where we are focused on web services capabilities. Through Drupal's web service APIs, developers can build freely in different front-end technologies, such as Angular, React, Ember, and Swift, as well as Java and .NET. For developers, accomplishing this without the maintenance burden of a full Drupal site or the complexity of configuring standard Drupal to be decoupled is key.”

He also gives us some statistics on the adoption of Drupal 8 – “Drupal 8 continues to gain momentum, as the number of Drupal 8 sites has grown 51 percent year-over-year.”

"You want to enable your developers to easily deliver content to different devices, channels, and platforms. This means that the content needs to be available through APIs. This is aligned with Drupal 8's roadmap, where we are focused on web services capabilities."

tweet this
Sep 12 2018
Sep 12
  • By: Ganesh
  • Date: 12-09-2018

"The most compelling advantage of API-first Drupal is not the way it negates Drupal's presentation features, it's the way it enables the capabilities of the CMS to power multiple applications and devices.”— Jason Enter, Manager Technical Services, Acquia.

The relationship between content and code is not a healthy one anymore. The consumer-facing presentation layer is not as removed from the content editor layer, as it used to be, mainly because of the new interactive experiences being provided to consumers through apps.

Modern frameworks and programming languages allow for flexibility in the formation of your content management stack. Thus, decoupling content from code has become a common practice in the recent years and Drupal was one of the early adopters of the same.

What is “Decoupled”?

Well, decoupled Drupal does sound "cool" doesn't it? Seems like everybody is talking about it, so it must be a better, more easier solution right? Well, maybe. Offering a wide array of benefits, this strategy, also known as "headless drupal" is used to exploit Drupal solely as a Content Management System without a presentation layer. i.e there is only content and the administrative UI, sans the public facing themes and the other templates, thus exposing an API for other applications.

But perhaps the most important question that you have in mind would be, what are the benefits of decoupled architecture?

A headless architecture does a great job in reducing or completely eleminating most of the problems that are a part of the monolithic content management systems.

Simplified upgrades: A decoupled architecture ensures that a CMS upgrade does not affect the presentation layer, thus keeping you from having to set-up again after every CMS upgradation.

Better focus: A huge advantage for developers, with decoupled architecture, they only need to be concerned about setting up their part of the stack. Back-end developers need not worry about compiling CSS and the front-end guys need not scratch their heads about composer installs.

Easy troubleshooting: A headless architecture is structured in such a way that the platform consists of smaller, discrete parts rather than a single giant application. This makes it a lot easier to locate bugs and troubleshoot them.

Improved performance: With both the teams working simultaneously in a decoupled manner, development of new features can happen seamlessly without running into walls. This in turn improves the overall performance of the platform.

Easy troubleshooting: A headless architecture is structured in such a way that the platform consists of smaller, discrete parts rather than a single giant application. This makes it a lot easier to locate bugs and troubleshoot them.

How Important is JSON for a Decoupled Website?

Powerful architectures, responsive and user-friendly web applications are a result of JavaScript frameworks, that has become quite popular since its introduction in early 2010. And with an increasing number of people opting to use mobile devices to access digital content, building native applications for a website makes a lot of sense.

Realizing this potential, Drupal has added the support for building RESTful APIs into the core. However, this comes with its own drawbacks as the RESTful services of Drupal core does not provide robust solutions out of the box.

A traditional REST API implementation usually come face to face with a certain set of problems:

  • An entire data graph needed to construct the view in the consumer will require too many requests.
  • A significant response bloat returning all the fields and relationships of every entity.
  • Finding content based on the data attributes of the entities is a herculean task.
  • Versioning the API so consumers and back-end implementations can iterate separately.

In order to address these problems, there are several specifications out there, JSON API being one of the most prominent ones.

What is JSON?

JSON - JavaScript Object Notation is one of the most common data format for the exchange of data over web services. Primarily replacing XML, the lightweight and easy to read nature of JSON makes it quite awesome.

Why you should consider implementing JSON specifications?

A set of pre-defined standards and conventions that describe how the APIs should be served by the servers and consumed by the clients for exchanging data in JSON format, the JSON API specifications offer key benefits when implemented:

Efficiency: The JSON API specifications are designed in such a way that, they keep the number of requests and the size of the data to bare minimum.

Productivity: It so often happens that, as a devloper you are quite confused about which best practices to follow when building an API. On the other hand, by following a set of standards you are out of dilema.

Consistency: The specifications offer a consistent structure and behaviour while being consumed to build applications.

Support: The specifications are widely accepted and the implementations required for client libraries can be found for almost every framework and programming language.

The JSON API Module

When you install and enable the JSON API module, a REST API is immediately available for every type within your Drupal implementation. By traversing entity types and bundles such that it can generate URL's at which it can access and manipulate entities, the module achieves this feat.

While the JSON API is quite a complex specification to deal with, the JSON API module does a great job in simplifying the process of consuming it, especially for early decoupled Drupal developers.

tweet this

However, by following the approach of "less configurations" and production readiness right of the box, the JSON API module does come with a set of disadvantages of its own.

Support: The JSON API module is entirely entity-based, which means that it is centered around the Drupal's entity types and bundles. However, the module fails to support or handle custom data.

Task Failure: Since the module is entity-based and cannot handle custom data, it also fails to perform other tasks such as login, creating sessions or logging out a user etc.

Pre-defined Structure: The JSON API Module presents a pre-defined payload structure that cannot be modified. Once the module is enabled in Drupal, the consistent payload structure cannot be changed or customized with change in vendor requirements

Learning curve: As JSON API module exposes all the attributes of an entity, it might get complex in nature. With quite a steep learning curve, JSON API may not be everyone's cup of tea.

How to download and install JSON API Module?

Having a dependency on serialization module, it has to be enabled first before downloading and installing JSON API. This can be done by using any of the following methods:

Using Drush

$ drush en serialization -y

$ drush dl jsonapi && drush en jsonapi -y

Using Drupal Console

$ drupal module:install serialization

$ drupal module:download jsonapi && drupal module:install jsonapi

While the JSON API is quite a complex specification to deal with, the JSON API module does a great job in simplifying the process of consuming it, especially for early decoupled Drupal developers. Although the module lacks certain features (Drupal core's REST web services can be used for the same purpose) it still provides production-ready API right of the box with advanced features including paging, sorting and filtering to minimize the requests for retrieving the required data. JSON API is more than just a specification. It really puts the focus on the hard problems.

Sep 07 2018
Sep 07
  • By: Malabya
  • Date: 07-09-2018

On September 6th the Drupal team shipped Drupal 8.6.0, a huge update to the Drupal project. Packed with powerful features shipped with Drupal, the release is a significant one for content editors, site builders, developers and evaluators.

With a rapid year-on-year adoption of Drupal 8, the release is set to be the leading choice for many big organisations. Known for constantly improving itself with every release, the features of Drupal 8.6.0 are quite interesting.

The new features of Drupal 8.6.0

As mentioned, Drupal 8.6.0 ships with a lot of new features out of the box which will help business leaders to showcase the potential of Drupal as a platform. The notable features added in Drupal 8.6.0 are:

Media library for Ease access to Media

One of the major features of Drupal 8.6.0, this addresses the media support provided by Drupal. While Drupal had basic files & image support, it was still far behind from what a modern web system should ideally support out of the box, for media handling. The media initiative was taken to include a rich media support system which enabled the content editors to reuse the existing media, and also have more control and meta information of the site media. In the latest version of Drupal, the rich media library is added which not only provides a quick access to the existing media entities, but also uploads new media entities out of the box.

drupal-8.6.9

Apart from this, a more significant improvement was the ability to add remote media types. Now content editors can easily embed YouTube or Vimeo videos into the content. This approach makes it very easy to add videos from a remote source to your content with ease. Drupal in its latest release will also provide a library for the remote media type, to easily attach a media in your content.

3D object

New Experimental Workspace Module

Drupal at its core, is a Content Management System which is all about managing your content. The experimental workspace module will change the way content authors and site maintainers work and review their content before publishing it to the end users. This will enable the creation of environments like Staging and Production, allowing content to move from one environment to another with ease. The approach will drastically relax the tiresome effort of reviewing the content, and editors can have a full site preview of how the site appears once the content gets published.

3D object

Improvements in the Layout Builder

As a site builder, it is really important to create pages of different layouts quick and with ease. In Drupal 7, this was done by contributed modules like Panelizer & Display Suite. But now, Drupal 8 has this capability in its core. Using the Layout Discovery module, site builders can easily create new layouts which will be used by Layout Builder module to build beautiful landing pages.

The features of Drupal 8.6.0 bring something new for each user, whether you are a content editor or a developer.

tweet this

3D object

Quick Installation of Drupal

One of the biggest problem for evaluators was setting up a new Drupal site which was quite a task. In this modern and fast paced world, evaluators and first time users would like to quickly set a fresh Drupal instance and review it. To tackle this issue, a new “quick-start” command was added in Drupal 8.6.0 , with only one dependency i.e PHP, enabling a new user to quickly launch a new Drupal site from scratch without the need of setting up a webserver and database.

3D object

Umami Demo environment

Apart from the “quick-start” command to launch a fresh Drupal site, the team has worked relentlessly to build a demo profile for the evaluator. The Umami demonstration will quickly exhibit the powerful features of Drupal 8 like data modelling, content listing, blocks and content moderation. This will not only help a new user to come onboard, but also help the service providers to demo, thus harnessing the capabilities of Drupal to potential customers.

3D object

Drupal has been evolving rapidly and bringing in a lot of modern functionalities which are out of the box while improving the usability and robustness of the system. The features of Drupal 8.6.0 bring something new for each user, whether you are a content editor or a developer. With releases like this, it proves the potential and the enthusiasm of the contributors to make Drupal a better product with every release.

Aug 29 2018
Aug 29
  • By: Johnny Aroza
  • Date: 27-08-2018

The Drupal bangalore community came together for the July Meetup and it was quite an informative experience, with experts sharing their knowledge on some of the best practices on Drupal.

There were 3 informative sessions, one of which was on “Improving your Development workflow” by Malabya that showed how developers can improve the quality of Development by efficiently using git and by setting the local environment with Lando or Docker instead of the traditional way. He also spoke about the importance of using composer for dependency management and deployment.

Codebase

Malabya quoted very well that “if you don't use git even God cannot help”, and that's quite true for developers. In every project CODE is the backbone for any webapp and often developers waste a lot of time in just struggling to deploy and in version controlling, while GIT can help developers in version controlling without any hassle.

While maintaining a codebase, it is always better to follow these points.

  • One Codebase per application/site.
  • Tracked by a version control (Git or other version control)
  • Many deploys (dev, staging & production)

3D object

By using GIT we can have the same codebase and switch branches according to the environment.

Local Development

Developers can follow one of these approaches for local development,

  • Mamp/Xamp/Lamp
  • Vagrant/VM
  • Docker

It so often happens that developers face a lot of problems in setting up their local with ideal environment. The scene as it stands would be that the local environment set-up using Mamp/Xamp/Lamp will have issues with production, or functionality which will be working fine in local machine, but failing when deployed in server(prod/dev/stage)

How developers can improve the quality of Development by efficiently using git and by setting the local environment with Lando or Docker instead of the traditional way

tweet this

To avoid this, developers can opt for Docker or Vagrant which helps in replicating the environment as per the requirement and it's easy to customize.

For Vagrant, Developers can go for Drupal VM,Scotch Box,vagrant boxes or can create their own box according to your need. And In Docker Developers can chose between Lando,DDev,Dockersal,Wodby Docker4Drupal.

Composer Workflow

Developers can use composer to declare and install dependencies via manifest files. Drush make is an age old practice now, and it's time to adopt COMPOSER.

Composer can be used to download Drupal, Drupal contributed projects (modules, themes, etc.) and all of their respective dependencies. These instructions vary based on your approach to managing your Drupal installation.

One of the following approaches can be used for installing a drupal site using composer,

  • drupal-composer/drupal-project
  • hussainweb/drupal-composer-init
  • drupal/drupal
composer create-project drupal-composer/drupal-project:8.x-dev \
example --stability dev --no-interaction


composer require drupal/devel
composer require --dev drupal/devel
composer install --no-dev

composer require cweagans/composer-patches
"extra": {
  "patches": {
    "drupal/devel": {
      "2860796: Create a branch of devel compatible with Media in core": "https://www.drupal.org/files/issues/2860796-2.patch"
    }
  }
}
composer update drupal/devel
composer remove drupal/devel
composer config platform.php 7.1

Deployment

Deployment becomes a piece of cake when developers use Git. All the configurations stays in one code base and it is recommended to have the config folder outside the Drupal root.

Gitignore plays an important role, and it is better to have the following files/directory in gitignore,

  • Core directory
  • Contributed modules
  • Contributed themes
  • Contributed themes
  • Contributed profiles
  • CSS files
  • Vendor

By having these files in gitignore, git diff files will be smaller in size, easier to review and quite impossible to hack the core.

Deployment Process

Manual deployments are error prone. This is because it involves humans doing stuff,if developer is lucky he can recover. This job can fall to developers and testers in a development team who would otherwise be spending their time producing the next set of awesome features and improvements to the software.

Developments team can have automation in deployment.Implementing automation needs some basic configuration and then you are all set for the automation deployment. If your using Slack u can use configure to get the notification.

There are lot of Automated Deployment Tools available you can chose them according to your requirement ,some of them listed here,

  • Jenkins
  • AWS CodeDeploy
  • CircleCI
  • Travis CI
  • BuildBot

These Continuous tools reduce lot of time and makes the deployment process easy.

Deployment Process commands

git pull origin master
composer install
drush update-database -y
drush config-import -y
drush cache-rebuild

By adapting to Git, Composer and automated Deployment, the development team can save lot of time. It also reduces human prone errors, thus allowing the developers to concentrate on coding without wasting time on non-productive configuration.

Jul 20 2018
Jul 20

Change can be hard and terrifying, especially at its inception. Yet, a change is what allows you to grow, evolve and progress.

I know it can get painful to take a decision as big as a migration of your Drupal 7 or 6 content management system – the one that you knew and have loved, but once done, you will know you have made the most brilliant decision, ever! Don’t just take my word for it, get hold of Drupal 8’ers (yeah, it can be a term!) and ask them. As you read on, you will know how Drupal 8 migration can play a key role in the success of your business.

It has been a while, about three years now, since Drupal 8 has made its entry into the field. The best of the Drupal community toiled for 4 years to produce this masterpiece of a CMS and finally announced its arrival in November 2015. Since then, more than 150,000 drupal websites have migrated to Drupal 8, only to find a higher performing, robust and a more flexible solution. If you’re not ready to take the plunge yet, maybe these reasons will help you dive in.

Still on Drupal 6?

If you’re still stuck on to Drupal 6, you must know that everyone else has moved on. Today, the web has changed and so has Drupal. The Drupal community no longer supports Drupal 6 since February 2016. Which means, there will be no new drupal modules or features to look forward to, no more bug-fixes, security updates and patches. Thus putting your website’s security at high-risk and of course depriving it of some TLC from the community. If you still want the best for your website, migrate to Drupal 8 now! Yes, you can completely skip Drupal 7. Drupal’s migrate module is now included in Drupal 8 core and makes the switch easy and fast.

High-performance Personalization

Personalized content has time and again proven to be one of the most effective content marketing strategies to improve your revenue. However, there is a fine line between personalization and being creepy. When you start using personalization the wrong way, you will look like an intruder. But when you implement it the right way, you will look like a company who cares for your consumer’s preferences and choices

Although Drupal 7 also supports personalization by providing many modules to select from, Drupal 8 makes the deal even sweeter. With personalization, there’s bound to be tons of unique content which cannot be cached. Lesser caching of a page means slower loading time, thereby driving the customer away. Drupal 8’s new BigPipe module to the rescue! It lets you segregate your page into different sections (called Pagelets) which can be rendered as they get available (Cached first). This lets you drastically improve your page’s perceived performance and speed.

Google Trends

Drupal 8 comes packed with even more powerful features and functionalities like never before. If you thought Drupal 6 or 7 was amazing, wait till you experience Drupal 8

tweet this

Drupal 8 also integrates seamlessly with third-party personalization tools and our personal favourite is Acquia Lift that connects customer data with content efficiently. While Drupal 7 also provides this integration, it does not receive any new features now. The latest version of Acquia Lift in Drupal 8 features a suave in-context, drag and drop UI.

You’ve got your basics covered!

One of the most stunning features of Drupal 8 is that you have (almost) everything you need, out-of-the-box. This is why content managers are loving Drupal 8 - It’s almost like Drupal 8 has been personalized just for them.

  • Responsive websites are not a luxury anymore, they are a necessity. All of Drupal 8’s themes are responsive off-the-rack – which not only works great with all devices also makes configuration and set up of your Drupal website a lot easier.
  • A built-in, well configured WYSIWYG editor CKEditor lets you preview and edit your content in a breeze. You also have an in-place editor that lets you edit blocks, content, menus, etc. right in the same page.
  • SEO gets you noticed and out-there. With some of Drupal’s built-in powerful SEO modules , you can take your website places! Modules like SEO Checklist, PathAuto, Redirect, MetaTag, etc. are killing it!
  • The newest and most powerful version of HTML, which is HTML5 is now built-into Drupal 8. It lets you embed complex input elements like audio, video, date, email, etc with ease and better functionality across all devices.
  • Take your business global with Drupal 8’s out-of-the-box multilingual support. You can not only create pages enabled with language-based views, even the admin interface allows you to select our preferred language. The built-in content translate modules enables you to translate any content entity into different languages.

Drupal 8’s API-First Approach for better brand interaction

By the year 2020, there are going to be more than 50 billion internet connected devices. Content is now consumed via a plethora of mediums – computers, mobiles, IoTs, wearables, conversational interfaces, smart TVs… and the list keeps growing. Which means, your brand needs to interact with a lot more devices and in many more formats than just a website. Content delivery has gotten a lot more challenging.

Just so we are on the same page, an API (Application Programing Interface) is a set of rules or routines (functions or programs) that specifies how applications can interact with each other. For example, if you want to display the current weather on your website, you can invoke an API with websites that offer this service.

To be able to handle the content delivery challenge efficiently, content needs to be treated like well-structured data. Drupal’s API-first approach, lets you create an API before you build your website or mobile app. This futuristic approach allows you to turn content into services which can then interact with diverse devices irrespective of the formats. While Drupal 7, also supports the API-first approach with the help of additional modules, Drupal 8 comes built-in with the content-as-a-service model.

This is what our in-house expert Drupal Practice Head, Malabya Tewari has to say about Drupal 8’s API first approach – “Drupal 8 has taken this approach to another level and here’s why- REST module is now in core, where you can create own custom web-services using Views (which is also added in core in D8). It is easier to create custom REST APIs using the core REST module. Adding basic authentication is in core as well. You can get APIs, including JSON API and GraphQL, for all entities - out of the box! “

As quoted by Drupal founder, Dries Buytaert – “Drupal 8 changes everything we know about content management as we move from websites to digital experiences.” Drupal 8 comes packed with even more powerful features and functionalities like never before. If you thought Drupal 6 or 7 was amazing, wait till you experience Drupal 8. Migrate to Drupal 8.

Jul 13 2018
Jul 13

“Bitcoin is a technological tour de force” - Bill Gates, Co-Founder of Microsoft

There is a new Birdman in the town! An idea that has gripped the biggest institutions in the market. A technology, that enthusiasts believe, could change the world.

"A truly extraordinary invention that does really mundane things", as told by Paul Brody, E&Y Global blockchain leader.

Some see it go much further than the effect on "big stock trades". Further into cracking down on music piracy, child labor and a lot of other things around the world.

Yes, I'm definitely talkng about Blockchain Technology!!

What is all the noise about?

This fuss about blockchain technology has been around for a long time now. So long that even Google is working on its own blockchain related technology. We all know that it has brought quite a change in the tech flow! But what is the clatter about?

This might help you out a little

Google Trends

As defined by the experts in the tech world, "Blockchain technology is a decentralized, replicated & shared ledger for managing and keeping record of transactions across multiple participants".

In layman’s terms, transactions no longer use a centralized database for storage, instead store among the participants itself (called nodes). Before the blockchain technology swept everyone right of the floor, traditional transactions were centralized and dependent on a third-party to create a trust-worthy environment where the transaction partners are strangers. With multiple issues from high transaction costs and low speed to single point of failure and lack of transparency, businesses were in need of a better system in place.

With blockchain technology, the distributed ledger technology allows different nodes to interact directly with each other, being independent of a third party source. Also, blockchain technology handles every other issue with ease.

How Blockchain Works

The Transformation

Before it raced ahead to be recognised as the potential to become the disruptive standard in commerce, Blockchain was originally devised for Bitcoin. This 'not-so-real" cryptocurrency is based on the distributed ledger principle. As one of the most common blockchain application with a market capitalisation of more than $19 billion (as known on April 13th 2017) and a daily traded volume of $330 million, it allows transactions by decentralised confirmation and integrating it to the blockchain.

In addition to the trusted ledger functionality, blockchain very quickly adapted to exchange of files through the transactions. As a major brakthrough, NXT since 2013 and LINQ by Nasdaq since 2015 have been using the blockchain technology to transfer tokenised assets.

It was all about blockchain 2.0 from the late 2015 when Ethereum was launched to allow the use of smart contracts on a much larger scale than Bitcoin. These contracts allow automatic execution of code on blockchain.

What Does This Mean for Digital Content?

Quite recently, the digital world was rocked by one of the most complex cases of data breach by a leading organization that caught the entire world completely by surprise! And ofcourse you all know about the “Terms of Service” that allows websites to actively track almost every internet activity of yours.

My point is, this data, handled by a central entity, is easily accessible and the user does not have complete control.

However, with Blockchain technology, things are going to be different. Spearheading the momentum of decentralization, Blockchain ensures that the data stored is completely tamper proof. This being the main reason enterprises have shown interest in this technology.

centralized vs decentralized

With the capability to decouple the business logic from data using "Smart Contract", Blockchain ensures that no single organization can take hostage of data.

Some of these Blockchain powered decentralized technologies that are playing a vital role in digital content management are : IOTA for decentralised payment processing, Smart Contracts from Etherium, Bitcoin, Hyperledger, Blockchain database from BigchainDB.

The fact that decentralized CMS allows users to control the content they produce is something that businesses around the world are ready to embrace.

Where Does Drupal Fit In?

The idea that Drupal and Blockchain can work together to create a secure decentralized architecture is quite fascinating. Look at this tweet by Dries, way back in 2016.

Tweet

We all know that the workflows of Drupal and Blockchain are completely different. While Drupal uses a centralized database, blockchain on the other hand does not require a middle man and instead acts a verification element.

This is where things get interesting.

Let us for example consider a Hospital with a number of branches around the country. A healthcare network is huge, with great amount of data. Doctor information, patient information, academia, pharma, insurance etc. There is a ton of data and everything has to be handled efficiently to ensure things don't go out of hand!

Blockchain can do wonders here!

By creating a decentralized architecture which is secure and also immutable, blockchain can handle every piece of information precisely. Patient data for example can be made universally available and the info can be validated by the patient himself, by providing him access and control.

Patient medical records can be made accessible not only to the patient and the doctor, but also to research organizations, insurers and anybody seeking the required information. And the fact that the patient himself can validate the entire access is a vital point.

In the short-term blockchain can be a source to streamline processes. However, in the long run, on integration with Drupal, this technology is bound to have a huge impact on the entire structure.

tweet this

Also, Blockchain will play a huge role in reduction of cost and the time-cycle of transactions and medical claims. Improved administration process, fast efficient payments, reduction in medical claim fraud and multiple immutable authentication can further stamp Blockchain's importance.

Blockchain can create an architecture that allows rule based transactions possible with no communication gaps. All the approvals and the information edited, deleted and corrected will be documented. Yes, this system has a few challenges of its own with respect to need for a decentralized consensus.

This is where, Drupal CMS comes into the picture. Now if this entire healthcare network was on Drupal, each department of the hospital had its own website handled by Drupal individually. For example, Drupal 1 could deal with patient data across the main website. And Drupal 2 could take care of medical claims and other insurances. While Drupal 3 could handle career and other campaigns.

My point here is, to use Blockchain and synchronise users and the user data so that it is available throughout the entire infrastructure.

Imagine having a patient to enter all the information on the main website for the first time to sign in, and then forcing the same patient all over again when he visits the other website for his medical claims. Definitely not an option for a seamless experience.

Ofcourse, with Drupal, a centralized database can be maintained to avoid such repeated interactions! However, multiple user functionality, vulnerability to errors and the need for logic to bypass the mature Drupal system are quite a headache.

With Blockchain and its peer-to-peer distributed ledger, the healthcare infrastructure looks something like this. (No middle-man ofcourse)

decentralized

This architecture ensures that an update on one of the Drupal websites, gets synchronized on all the other ones. This decentralized architecture has a set of its own advantages and challenges.

While it completely avoids the "single point of failure", thus keeping the entire system from loosing data, the work required to integrate data into the system is not an easy task. However, when worked on it for a better integration, Blockchain and Drupal together can do wonders.

Jun 26 2018
Jun 26
  • By: Ganesh
  • Date: 25-06-2018

When the open source Accelerated Mobile Pages project was launched 3 years ago, Google wanted to get back at Facebook's Instant Articles. With a handlful of launch partners and an aim to impact the future of content distribution on mobile devices, AMP was introduced to the world.

Fast forward to today, and Google's AMP is the hottest thing on the internet. With over 25 million website domains that have published over 4 Billion AMP pages, it did not take long for the project to be a huge success. Comprising of two main features; Speed and Support to Monetization of Objects, AMPs implications are far reaching for enterprise businesses, marketers, ecommerce and every other big and small organizations.

With great features and the fact that its origin as a Google Initiative, it is no surprise that the AMP pages get featured in Google SERP more prominently.

Why AMP??

Impacting the technical architecture of digital assets, Google's open source initiative aims to provide streamlined web pages to mobile browsers and other apps.

It is Fast, like Really Fast

AMP loads about twice as fast as a normal comparable mobile page and the latency is as less as one-tenth. Intended to provide the fastest experience for mobile users, customers will be able to access content faster, and they are more likely to stay on the page to make a purchase or enquire about your service, because they know it won't take long.

An Organic Boost

Eligibility for the AMP carousal that rests above the other search results on Google SERP, resulting in a substantial increase in organic result and traffic is a major boost for the visibilty of an organization. Though not responsible for increasing the page authority and domain authority, AMP plays a key role in sending far more traffic your way.

ROI

The fact that AMP leverages and not disrupts the existing web infrastructure of a website, makes the cost of adopting AMP quite lesses than the competing technologies. In return, AMP enables better user experience which translates to better conversion rates on mobile devices.

Drupal & AMP

With better user engagement, higher dwell time and its easy to navigate between content benefits, businesses are bound to drive more traffic with AMP-friendly pages and increase their revenue.

Before you begin with the integration of AMP module with Drupal, you need to have 3 things:

AMP Module : The AMP module mainly handles the conversion of regular Drupal HTML pages to AMP-complaint pages.

Two main components of AMP module:

AMP Theme : I'm sure you have come across the AMP HTML and its standards. The one that are responsible for your content to look effective and perform well on mobile. The AMP theme produces the mark up required by these standards for websites looking to perform well in the mobile world. Also, AMP theme allows creation of custom-made AMP pages.

AMP PHP Library : Consisting of the AMP base theme and the ExAMPle sub-theme, the AMP PHP Library handles the final corrections. Users can also create their own AMP sub-theme from scratch, or modify the default ExAMPle sub-theme for their specific requirements.

How to setup AMP with Drupal?

Before you integrate AMP with Drupal, you need to understand that AMP does not replace your entire website. Instead, at its essence, the AMP module provides a view mode for content types, which is displayed when the browser asks for an AMP version.

Download AMP Module

With your local prepped up, type the following terminal command:

drush dl amp, amptheme, composer_manager

This command will download the AMP module, the AMP theme and the Composer Manager module (suppose if you do not have the Composer Manager already).

If you have been a user of Drupal 8, you are probably familiar with Composer and its function as a packaging tool for PHP that installs dependencies for a project. The composer is used to install a PHP library that converts raw HTML into AMP HTML. Also, the composer will help to get that library working with Drupal.

However, as the AMP module does not explicitly require Composer Manager for a dependency, alternate workflows can make use of module Composer files without using Composer Manager.

Next, enable the items that are required to get started:

drush en composer_manager, amptheme, ampsubtheme_example

Before enabling the AMP module itself, an AMP sub-theme needs to be enabled. The default configuration for the AMP module sets the AMP Theme to ‘ExAMPle subtheme.’

How to Enable AMP Module?

The AMP module for Drupal can be enabled using Drush. Once the module is enabled, the Composer Manager will take care of the downloading of the other AMP libraries and its dependencies.
 

drush en amp

Configuration

Once everything is installed and enabled, AMP needs to be configured using a web interface before the AMP pages can be displayed. First up, you need to decide which content types should have an AMP version. You might not need it for all of them. Enable particular content type by clicking on the “Enable AMP in Custom Display Settings” link. On the next page, open the “Custom Display Settings” fieldset. Check the AMP box, then press Save.

Drupal Module

Setting an AMP Theme

Once the AMP module and content type is configured, it is time to select a theme for AMP pages and configure it. The view modules and the field formatters of the AMP module take care of the main content of the page. The AMP theme on the other hand changes the markup outside the main content area of the page.

Also, the AMP themes enables you to create custom styles for your AMP pages. On the main AMP config page, make sure that the setting for the AMP theme is set to the ExAMPle Subtheme or the custom AMP subtheme that you created.

Drupal theme

One thing is for sure. Google favors websites that provide the best experience possible for mobile users. With tough competition from Facebook Instant Articles and Apple News, Google AMP aims to decrease page loading time to influence the user experience. With Drupal, the Drupal AMP module and AMP PHP library, supports the usage of AMP on your website. Beyond the success of publishers and ecommerce websites on Drupal, a number of other websites are utilizing AMP along with the inclusion of progressive web apps. With a bright future ahead, Google AMP will be one of the strongest tools for traffic generation and conversions.

Jun 12 2018
Jun 12
  • By: Ganesh
  • Date: 12-06-2018

The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect. - Tim Berners Lee, Inventor of World Wide Web.

The internet as we know it today is 10680 days old! Originally conceived to meet the demand for automatic information sharing between scientists in universities and institutes around the world, the internet today is an integral part of more than 3 Billion people in the world. For various reasons ranging from social networking to collecting information for projects, internet today is arguably the most powerful resource known to mankind.

Over the years, the boom in chatbot and machine learning applications has led to businesses crafting their online presence in the form of websites and using artificial intelligence for a better customer experience. This is not surprising, given the fact that in recent years, chat or messaging has taken over social media to be the "go-to" option for users who want to contact a business.

But have you ever stopped to think, can everyone access the web?

It is 2018 and I wonder, why is web accessibility still less, well, accessible?? As a business, the competitive market pushes you to reach as many people as you can to promote your brand. More the barriers, lower the chances of reaching potential customers. This basically is the concept behind web accessibility: to eliminate the barriers that the audience face!

What is Web Accessibility?

Generally, people refer web accessibility with screen readers or visual disabilities. However, the range of topics that it covers is vast and includes more than just the disabilities. For example, having an appropriate screen contrast for a person to see the screen on a sunny day is a use case for someone with a normal vision rather than for someone with a disability.

The World Wide Web Consortium has introduced some guidelines to achieve certain levels of accessibility to ensure that a website is as useful as possible. Published in 1999 as version 1.0 and later in 2008 as version 2.0, the WCAG 2.0 is generally accepted as the standard to measure when talking about web accessibility and the information you present to a user.

How is Web Accessibility Important??

With the internet's growing importance in people's life, if what you want to convey (your content basically) is not easily accessible to everyone, you’re turning away your audience before they ever get to the door. For example, something as simple as a broken hand or a temporary blindness can make it difficult to navigate the web.

While the fact that web accessibility is not only for those with disabilities is quite resonant, businesses need to know that the flexible and responsive design of a fully accessible website is a benefit to everyone.

What does Drupal do?

Drupal CMS, a web based SaaS provides the ability to organize a manage an organization's web content in a systematic manner. The guidelines of the World Wide Web Consortium is divided into two - ATAG 2.0 that addresses the authoring tools and the WCAG 2.0 which addresses the web content and is widely used by developers and accessibility evaluation tools. Drupal CMS, as a platform, has been built to adhere to both the guidelines. While the accessibility initiative started with Drupal 7, the content management system's latest version addresses some of the best accessibility features.

Drupal 8 Accessibility Features?

The most advanced version of Drupal CMS allows your website to be far more likely to be accessible, to assistive technologies and the users who depend on them, than ever before.

Better Contrast

Poor contrast level is often cited as the most commonly overlooked feature by the developers. However, in Drupal 8, the core themes have higher contrasts, thanks to the Drupal's accessibility maintainers. With improved contrasts, users suffering from colour-blindness can easily websites. Also, this feature is an added advantage when visiting a website under bright sunlight in a portable device like a mobile phone or a tab.

Forms

Errors while filling forms is one of the most common factors that affect the user interface. With the new standards, identifying these errors becomes much easier. By using a better form validation error verbiage, Drupal 8 provides an option to turn on this feature that improves accessibility related to the display of form errors. For example, a visually impaired person can now easily identify what errors he might have made when filling in a web form.

Alt text usuallt refers to the words that are used to describe a particular image. Though not visible or rendered on the page, these alt texts are used by tools like screen readers and is a great asset to web accessibility. This feature which is set to required by default in Drupal 8 helps visually impaired audience to know what the image is all about with the help of the text.

Buttons instead of links

A common practice among many website owners is to use anchor texts as "call to action" instead of buttons. From a semantic standpoint, it is more logical to use a button rather than anchor texts as these user interface elements are action oriented. Thus, Drupal 8 has called for this measure to use buttons rather than links. This new standard set by Drupal 8 can be handled without becoming heavily dependent on WAI-ARIA that can be useful in identifying the purpose of some elements.

The Future of Web Accessibility in Drupal

Over the years, Drupal has taken some great steps forward to achieve web accessibility through several of its major releases and is one of the leading implementations of the web accessibility standards. With web accessibility being one of the major factors contributing to the user interface and the ability of a business to reach the maximum audience, several strategic initiatives for Drupal core is sure to shape the future of how people interact with a website. Some of the noteworthy ones include:

  • Application-like interfaces and various UI interactions that are presented without full-page refreshes: sliding panels, autofocus, live result filters, drag-and-drop, pop-up success messages, live previews,wizard-like progress steps, and role impersonation.
  • Automated accessibility testing using headless browser drivers.
  • Supporting more interaction modes, such as MS Windows' high-contrast mode, and speech-driven control.
  • End-user testing for accessibility
  • The theme component library initiative which involves much refactoring of how Drupal produces output.

With its latest version, Drupal CMS now adopts more WAI-ARIA practices which makes content architecture easier to understand. Drupal 8 is now much closer to the ideal, which is to render the web accessible to all. Drupal developers and core maintainers have done a great job to accomplish enhancements regarding accessibility with some of the best features that will play a major role in being beneficial for better usability. However, whatever features Drupal CMS brings out, it is always up to organizations to decide, plan and build websites or web applications by keeping web accessibility in mind.

May 28 2018
May 28
  • By : Ganesh
  • Date :28-05-2018

Businesses and enterprise organisations today are falling into a trap. A trap built around the ROI of their business. Return on Investment is a term in its own right, capable of flipping over businessmen and marketers who have worked decades to understand how the market functions. In the form of an age-old formula, it is still one of the key reliable ways to measure the effectiveness of business strategies and campaigns.

However, organizations these days are hell bent on believing that the ROI for online businesses is either black or white. That is, it is either postive or negative. Now here is the twist; does positive ROI mean you are getting the bang for your buck? What businesses fail to notice is that, a positive return does not always gurantee for what you are really after, a best possible return.

So how do businesses go on to get a measurable ROI and how to achieve it? Here is where Drupal as an enterprise CMS platform plays a key role in driving organizations towards successful campaigns with a better ROI. But what sets Drupal websites apart? What out-of-the-box features of Drupal CMS have an impact on businesses? Let us analyze.

Content Marketing

Marketing is like telling the world that you are a rockstar. Content marketing is showing the world that you are one - Robert Rose, CEO, Content Marketing Institute

Content marketing is more than a buzzword now. The growing demographic diversity and the adoption of more personalized technologies is likely to put any organization into a convergence of changes that challenge the always-been-present, familiar tactics that businesses use to communicate with customers. With the buyers demanding more interactive and relevant content, content marketing is the right choice to fill this gap and create content and distribute, to have an impact on the customers by engaging different market segments. In today's world, if a company does not utilize content marketing, it is certainly missing some vital revenue.

When it comes to content marketing, Drupal is ahead of the curve as it ensures that a content marketing strategy need not pitch a hard-sell but deliver the right content to the right audience, effectively. With its effective modules, themes and an array of tools that makes content creation, customization and publishing an easy task, Drupal is a dream of every content marketer. Some out of the box features, tools or modules that enable Drupal to perform in a seamless manner are :

  • Field Group
  • Path Auto
  • BigPipe
  • Mail System
  • CKeditor

Performance

Sustaining in a world where every business wants to go online is not an easy task. Add to that the ever increasing demands of the customers, a slight mistake can cause businesses to tumble down the ladder. One such key factor that determines the success of an online business, is its website performance. Website visitors these days are more demanding and less patient to start of with. This is inevitable due to the fact that there are hundreds of options available and a business that lacks technology and a flexible architecture to stay competitive, could prove to be an expensive mistake.

Drupal as a content management system could very well prove to be the solution for a better performing website. Drupal development ensures secure, scalable. modular and a fast efficiently performing website that could be the spear head of a company's success. Drupal with its customization capabilities, is a key resource to help businesses align with their goals resulting in a better ROI for online business.

Track, Study & Analyze

Although it is highly impossible to account for the future scenario, it is always advisable to find ways to atleast take a glimpse at the road and see where you can improve or be careful in order to meet online business goals. This is an important factor for online businesses where risking on the money, time and effort invested can sometimes just go down the drain. But why is it so important to trcak and measure? To establish a base number and then try to improve upon the same. Now its not as easy it sounds. With multiple factors affecting the growth and the success rate, managing various aspects requires a strong hand.

Drupal with its effective techniques to track the performances, enables online businesses to structure their campaign in a better manner and not waste time iin creating strategies and other plans that do not serve the business purpose. Use of certain tracking metrics like the visits, boune-rates, source of the traffic and landing pages allows marketing executives to evaluate the behaviour of their traffic and strategise accordingly.

Digital Personalisation

In spite of the fact that personalisation is considered to be one of the best practices for online businesses, almost a third of enterprise organisations consider it to be of a lower priority. Personalisation basically follows the understanding and behaviour of the cutsomers in order to fulfill their needs. That means knowing where they are, what they do, what they prefer, which includes purchase and behavioural data. Also, it might be concentrated on knowing how they have received a single piece of content. Personalisation provides that additional step, if done correctly, to target specific market and succeed with a better ROI.

Drupal's ability to integrate with digital tools & better the personalisation experience, helps enterprise organisations to deliver relevant content to potential customers. The customized content allows businesses to prove their value and convey the message, thus keeping the customers engaged.

MultiMedia Content

One of the top content driven social platforms, Facebook, is pushing hard towards curtaing multimedia content. It is quite simple these days. Would you prefer spending 10 minutes on reading a blog post or 3-5 minutes watching a video on the same subject? Or perhaps you prefer a visually appealing infographic. Irrespective of what your answers are to these questions, everyone have their own preferences. Some like texts, some people respond to photos, while some prefer videos. As a company fighting for people's attention, multimedia content is a great way to attract potential customers.

With a well-equipped stack of media management modules and tools that make tasks involving media asset management a lot easier, Drupal adds a whole new dimension to how multi-media content is handled on your website. Some of the hand-picked Drupal tools for a better content management are:

  • Media Module
  • Media Entity
  • Scald
  • Asset Module

With a high degree of customization, scalability, better adoption, integration and more, Drupal CMS with its unique capabilities is the perfect choice for enterprises to achieve a better ROI. With its adavnced features that do a great job in attracting and retaining the customers, Drupal platform is quite reliable for businesses across all verticals. Enterprise organizations looking to drive a successful strategy for a higher ROI can depend entirely on Drupal to help them stay ahead of the curve. The best way to do this is to work with a top drupal development company which can understand your online business needs and structure the strategies in accordance to the same.

May 18 2018
May 18
  • By : Ganesh
  • Date :18-05-2018

There is always a benefit in studying and examining some of the decisions that media companies made in the past that portrayed their success or the way they came crashing down the market. For instance, I recently came across this stint by Time Inc where they were leveraging Vignette; a custom CMS created by one of the first media companies on the web, CNET. However by 2011, Time Inc ended up with several complexities with Time Warner division leading to complete spin off from the entity. Time Inc then decided to move more than 20 of their well known publishing brands to Drupal.

The reason I'm talking about this is, the high demand for creating a seamless digital experience across numerous devices and channels has challenged the classic approach of the media industry. The changing technology landscape and the business models have forced the companies to think out-of-the-box to drive customer interaction and avoid competitive differentiation to catch up with them.

In this blog, let us discuss why media companies are shifting over to the open source content management systems like Drupal CMS, when there are literally hundreds of CMS solutions that they have developed on their own. What drives them to adopt Drupal technology and approach drupal development companies to create a better experience? Why are the media & publishing industry opt for Drupal? How will Drupal development affect them? Are there any key benefits?

Content Distribution & Management

An interesting fact that presents itself when we talk about media industry is the need to manage a large number of similar websites that are differentiated by the local media. For example, suppose a particular media company owns several radio stations in multiple cities, then a generic global content is of less importance at such stations when compared to the localized content. This is when companies should break their head on how can they use centralized content sharing to fit their plan.

This is where Drupal CMS plays its part as a highly content driven CMS capable of diverse content publishing, dynamic maintenance and support the various phases of content development and management.

Managing Digital Assets

Media websites are known for the compelling use of photos and videos as a major part of their content, and they face a stiff challenge in forming a strategy for how to deal with this content in the best possible way.

weather.com

As an example, weather.com is the most trafficked Drupal site, serving over a 100 million people every month. They serve content which is unique to each region and each user. Imagine the diversity in their content and the technology required to handle. These digital assets are what runs a media organization and they cannot afford to go easy on their data tracking and handling. Drupal's latest version is the prime example of how good it is as a CMS in managing digital data and ensures that they are not misused.

Rocketing Costs

One factor that has affected the media and publishing industry in the recent times is the rising costs. Most of the enterprise CMS are costly and are not the first bet for the media industry. This means that the open source CMS like Drupal is a better option available to overcome the shortfalls of the other enterprise CMS. Drupal CMS is nothing less than the enterprise ones as it plays a great role in managing the online content with its built-in modules.

Responsive Design & Work flow

A feature that enables Drupal to have an edge over the other CMS is its Responsive Design. With the ability to publish content on any device, resize images without hassle and take care of device orientations automatically, Drupal enables flawless publishing across several devices. This plays an important role in effecting a proper workflow that enables the media organizations to handle content publishing across numerous platforms.

Built-in modules and tools facilitate publishing, un-publishing, archiving and managing the content with a centralized dashboard that analyze analytics and other data to offer a key personalized experience.

The media industry is expected to grow exceedingly well in the next couple of years, especially due to their adoption of technology, and the decreasing paper stocks. Also, the increase in production cost has led media companies to shift to a digital approach. With the incorporation, business needs have changed where broadcast based media consumption is no longer a preferred approach. The consumers need customization and this model is achievable only with a technology that supports this new business model. As a leading Drupal development company , we have been creating Drupal websites to businesses of all verticals, including those from the media and publishing industry.

May 10 2018
May 10
  • By : Ganesh
  • Date :10-05-2018

Today's world is a close reality to something I dreamt of as a child. A world run by devices, the technology they use and their potential to change the future. New interfaces and devices have brought in sweeping changes to transform the web as we know it. With Artificial Intelligence, IOT and more have started to establish and make an impact in the digital world. This impact has changed the way how we perceive a future with seamless, feature rich websites.

However, while the newly web-enabled devices continue to dominate, we have evolved the way we develop for the web. Though the content remains the same, delivering this content differs from one to another based on requirements and complexities. With such requirements, it is tough to stick with the old solutions. This is the reason why in Drupal it was agreed upon that: it was high time to implement front-end frameworks for a better performance. This gave rise to "headless Drupal," an architecture where developers build the front-end on their own without using Drupal.

But how do you pick the right framework? Let us discuss in detail.

Angular JS

The most preferred front-end framework on the list, Angular JS is a developer's favourite when it comes to interfacing with Drupal. It lets them create feature-rich dynamic web applications and allow Drupal to work more efficiently, resulting in a dynamic, secure and a gripping Drupal website. Backed by Google itself, this open source framework allows you to do handle your user's browser without having to fetch data from your server.

Things Developers Love about Angular

  • Extremely light weight and extensible with a wide scope of features.
  • An interactive frame-work, a result of it great functionality like the two-way binding which allows user actions to immediately trigger application objects.
  • Developers love HTML and the fact that AngularJS uses plain HTML templates that can be easily re-used, modified or extended, allows them to build interactive feature-rich web applications.
  • With a client-side nature, AngularJS does a great job in handling cyber attacks as any data looking to breach the security cannot get anywhere near the server.
  • Immense community support which provides answers, tutorials and used cases, with well-developed documentation.

Drupal & AngularJS

With the user expectations growing with each passing day, decoupled Drupal or headless Drupal as it is commonly known, is a norm these days in the digital world. The idea is to take advantage of Drupal's flexibility and powerful back-end capabilities while using a front-end framework to handle the browser end. What better option than the interactive AngularJS to do the talking to the browser while Drupal takes care of the feature filled back-end.

Also, AngularJS does a great job in offloading Drupal from some of its logic and helping Drupal function effectively at the back-end. By moving display logic to the client-side and streamlining the back-end will result in a site which is better and faster.

Vue JS

Created by former Google employee Evan You, this incredibly adoptable JS has quickly gained recognition among developers. A javascript library for building modern web interface, it provides data-reactive components with a simple and flexible API.

Things Developers Love about Vue

  • With a shallow learning curve and a component model, Vue stands on the shoulders of giants to provide benefits of reactive data binding and composable view components with a simple API.
  • A combination of React's best - Virtual DOM and Angular's best - two-way binding, allows VueJS to perform efficiently and improve the performance of the websites.
  • Real-time monitoring of the progress in development with a built-in state management is an added advantage.
  • VueJS follows a component oriented development style with modern tooling and supporting libraries. With a simple-to-use syntax, people who are using it for the first time find it easy to adopt.
  • VueJS is one of the top trending JS frameworks on Github.
  • It is highly supported by an awesome community and adoption within the PHP community which does a great job of maintaining good documentation.

Drupal & Vue JS

Vue allows developers to request and store Drupal content as data objects using the official Vue-Resource plugin.

In combination with Vue, Drupal can exhibit its magic at the back-end while the compelling features of the JS handle the client side. The component system in Vue is one of its most powerful feature that allows large-scale application building which comprises small and self-contained reusable components.

ReactJS

ReactJS is more of a library than a framework, used to build user interfaces that work on a concept of reusable components and aim to solve the issues created by the slowness of the DOM by replacing it with the virtual DOM structure. An open-source project maintained by Facebook, ReactJS is the go-to option for some of the biggest corporations for a fast and seamless client-side user experience.

Things Developers Love about React

  • By nature, ReactJS is very much readable and easy to understand thus making it easier to understand how components render from their source files.
  • ReactJS does a great job in combining HTML and JavaScript into JSX, which is a great asset for developers as the complexity between HTML and JS is eliminated.
  • With Virtual DOM, React can easily process large amounts of data in an efficient manner by monitoring the lightweight virtual DOMs.
  • Rendered extremely fast, ReactJS is a great option to build speedy public facing apps and sites that are smooth and offer a best in class UI experience.
  • A ton of proper documentation, invaluable tools, add-ons and more which are available to developers, courtesy of constant contribution by Facebook towards the development of React.
  • It is highly supported by an awesome community and adoption within the PHP community which does a great job of maintaining good documentation.

Drupal & ReactJS

A hybrid approach to use React for dealing with the UX complexities while relying on Drupal for handling the content can be an added advantage which easily allows consistent mapping of Drupal and React components

With Drupal, one of the major weaknesses that hinder its performance is the way it consumes and displays the structure of content to the end user. This goes out of hand when the user interactions are complex and even the combination of Twig with JQuery is not good enough to match the complexities. However, integration with a modern library such as React provides all the necessary modern mechanisms that do a great job in building seamless, rich user experiences.

End-users are now accustomed to better performing websites and they don't expect anything less than a speedy, interactive website with a rich user-experience. To overcome Drupal's limitation in rendering the client-side, decoupled Drupal was preferred. With the "headless Drupal" approach, the best of Drupal can be experienced without any interruption. These three frameworks are not the only ones available for integration. However, when it comes to the performance of a Drupal website, these three are the most preferred by drupal development companies. Analyze them, match your requirements and then choose the suitable framework to build your business.

Apr 25 2018
Apr 25
  • By : Ganesh
  • Date :25-04-2018

Big brands, high traffic websites and immense customisations are a part of one of the best CMS in the market - Drupal. Catering to diverse requirements and versatilities with ease makes it stand apart from the others. Known for its rich set of features , Drupal CMS is a platform that constantly wants to improve itself by introducing better functionalities in the latest versions for an improved experience. The latest one - Drupal 8.5.0 comes packed with some interesting features and upgrades. This blog talks about these exciting features, updates for developers and more.

The BigPipe Module

Introduced as an experimental module in Drupal 8.1, the Big Pipe module became a part of the Drupal core in its next version, as a stable module. This module which provided an implementation of Facebook's BigPipe Strategy, is one of the first examples of Drupal's approach to shorter release cycles.

In Drupal 8.5.0, this has been made a part of the standard installation profile i.e it is available by default.

BigPipe Module

Stable Modules

There are a couple of other amazing modules which are stable in the latest update.

  • Settings Tray Module: A part of an initiative which allows changing the most common configuration from the Drupal front-end. Which means that it allows content moderation tasks to be taken care of without having to leave the front-end of the website.
  • Content Moderation Module: Defines the different content workflow states, allowing only website editors with required permissions to publish. The module allows you to define the state in which a particular content is placed. It can be a draft, published, unpublished or needs review. Also, you can define the user permissions that are required to move the content between these states.

Experimental Layout Builder

Drupal 8.5.0 sees the introduction of a new experimental layout builder module. Tearing through the myths of Drupal being a complex CMS, this layout builder is a perfect example of how things can get simpler when you use Drupal CMS. The module allows you to edit the layout on the actual page itself rather than having to do it with a separate form, thus simplifying the entire Drupal website design process. Also, there is an added feature that allows you to have a different layout on a per-page/item basis.

Media Module

Having worked over the efforts done on contributed Media Entity Module in Drupal 8.4, The Media API added into the core had its own set of user experience issues. Due to this,the module was hidden from the user interface. Thus there was no way a user could enable or disable the module. In Drupal 8.5, these issues have been taken care of and these modules are now an integral part of the system, ensuring that anybody with the access to module management page can now easily enable or disable the media modules.

Media Module

PHP 7.2

The first version of Drupal to fully support PHP's latest version, Drupal is keeping up with the latest advancements and the array of advantages it holds. With new features and improved performance over 7.1, PHP 7.2 is now being recommended to use with Drupal 8. Also, since Symphony 3.2 does not receive security coverage anymore, Drupal 8.5.0 uses Symphony Components 3.4.5.

Drupal Migrations

A major milestone for Drupal, considering the number of contributors who have worked for over 4 years on closing issues related to the migrate system architecture, it has been rendered stable with the latest release. Additionally, upgrading monolingual sites is now an easy task with Drupal Migrate and Drupal Migrate UI modules becoming stable. Also, incremental migrations i.e working on the website while the content is still being added, is also supported in Drupal's latest version.

Media Module

Drupal for sure is improvising at an exceptional rate and it is reflected by some of the biggest websites online. There is a reason why drupal development companies and the other organizations love it - It is a feature rich CMS that reflects your ideas. Not only does Drupal do a great job to make your business thrive, it enables you to stay ahead of the curve from your competition and find success.

Apr 19 2018
Apr 19
  • By : Ganesh
  • Date :19-04-2018

One of the biggest challenge to medicine is the incorporation of technology in our practices - Samuel Wilson

I recently stumbled upon an article which stated some facts on technology and its impact on one of the biggest sectors in the world - Healthcare. I was taken by surprise to know that a survey which engaged patients of all varieties, stated that two thirds of them had not been in a discussion with the doctors about their own treatment, more than 35% did not have a clear picture about the goals of their treatment, and 20% received a conflicting information from different professionals.

This article was a little old and I'm sure the numbers must have improved a bit over a couple of years. However, the ultimate challenge of achieving an electronic health care system capable of representing and sharing the required information with the patients and within their family has been tackled for quite a while now.

The regulatory environment and the complex requirements faced by the hospitals, medical device companies, and healthcare service providers reflects the dire need of a complete technology makeover. A successful campaign requires systems to manage huge and complex medical information, a focused business intelligence to stay ahead in the competitive market and an IT infrastructure to meet the ever constant customer demands.

Above all, the industry needs something which is much more powerful and intelligent than your average CMS.

Of course there is no "the one and only right CMS" for an industry like healthcare where the options are completely dependent on certain variables based on the requirements. But the open-source Drupal CMS is often one of the top contenders, with Drupal development companies having built some of the top notch healthcare websites.

Drupal for Healthcare Websites

A robust platform with numerous modules for customization, and designed to accommodate innumerable changes, Drupal with its out of the box functionality is one of the most preferred CMS in the healthcare industry in recent times.

The Backbone

There is not much to be happy about the Healthcare IT sector, as the need to opt for a complete technology makeover looks bleak with the decreasing budgets and the increasing requirements. In dire need of user-friendly, human-centric healthcare websites or applications for the patients and the clinical team, Drupal CMS seems to be the best CMS for healthcare organization out there in the market.

Its flexibility allows healthcare web applications to exploit APIs to create fully integrated platforms to improve data flow between multiple systems. This allows you to build new healthcare websites, applications and solutions using the Drupal architecture as the backbone.

Data Accessibility

Data accessibility is one of the biggest concerns in the healthcare industry. With hundreds of patient records, their health history and other important details being accessed by multiple teams, there is a high risk of security, chances of data being misplaced or even exchanged in certain cases. A common flaw in every healthcare system, this affects the workflow directly thus reducing the efficiency.

However, Drupal improves data liquidity and thereby decreases redundant workflows to make data more accessible to the necessary teams in a quicker fashion. This helps them make decisions faster (especially in a critical situation) and also gives them more time and ability to interact with the patients to provide better care.

Caught Up? Not Anymore

As an organization, your requirements are bound to change with time and using a single vendor or a specific web partner can sometimes be a hindrance as this requires migrating to a new platform. And this is a common scenario in the healthcare industry. Fortunately Drupal makes things a lot easier for healthcare systemsor organizations looking too upgrade.

Drupal ensures that if there is a need to switch vendors, migration is not required as there are numerous qualified vendors who support Drupal and prevent you from getting "caught up" with a single vendor.

A Robust Lot

Drupal's robust API integrations can be a huge advantage to the healthcare industry who can benefit by extending your current Health IT platforms without having to completely tear down the pre-existing system and replacing it. This approach not only helps you improve the user-end experience (for the patients and the clinical team) but also saves you from spending some big bucks and reduces IT disruption.

Options Galore

An open framework that offers limitless ability to extend and customize, Drupal CMS is the perfect platform for all types of healthcare websites.

  • With the enterprise level healthcare systems having a global reach, multi-language websites is more of a necessity to drive more traffic. Drupal boasts of an extensive multilingual feature right out of the box with built in translations in the admin interface.
  • Responsive design, with built in themes that follow a mobile-first approach.
  • Easier content management with limited access allotted to users with secific roles to maintain content adherence.
  • Better Integration with third party applications and a wide variety of databases.
  • Built-in SEO tools to guide healthcare websites to the top of Google page results.

With a unique ability to provide a fully integrated, responsive, seamless, intuitive and a cost-effective solution capable of adapting to the constant change in the healthcare industry, Drupal has been a key resource to achieve enhanced experiences while bringing better healthcare for the patients.

While the enterprise Drupal CMS has been a great success and is the first choice for organizations in government sectors, education, and media, it is the robust API capabilities and the extensibility that will help the platform make headlines in the Healthcare system. As a content management system for healthcare, Drupal creates an unforgettable customer experience by leveraging a unified platform for content, community and commerce. As a Drupal development company, we don't see the exponential growth of Drupal CMS in the healthcare sector slowing down anytime soon.

Apr 11 2018
Apr 11
  • By : Prince
  • Date :10-04-2018

As all know, Drupal 8 is API driven first and keeps on adding in new API's which can be altered, extended for different decoupled Applications. When we talk about decoupled Drupal, developers are allowed to use any technology frontend to bring in better User experiences. The actual UI experience is met when we present contents which fulfill the needs and requirements of the user.

Drupal 8 Views

Drupal 8 views are now in the core and are among the greatest features available with Drupal to handle any type of dynamic UI designs to bring in better user experiences. Using RESTful views, we can embed views content to external applications.

In this guide, you will learn how to get the view content in JSON or XML format via Rest API.

  • Step1. Go to admin/modules and enable the required modules available in the core (REST and Serialization).
  • Step2. Next, For testing purposes, you can create dummy content using the existing content types. (Articles or Basic page)
  • Step3. Now, create a view using the available content. We don't need to select a page or block while creating views.
  • Step4. After you have created a view with the required fields, we need to select REST export display from the Add options right of Master display in the views.

Drupal 8 Views

  • Step5. Specify a path for REST export which will be used to return formatted contents of the created view display.
  • Step6. You will also find an option to select the required format (say JSON, XML etc.) that will be allowed in the responses.

That's it, you have the Request URL to return either entities or fields from views. When you try accessing the URL directly on the browser, you will have view exported with the format you have selected or JSON by default. Also, you can test the formatted data using POSTMAN services available with Google Chrome.

Hope, the above steps will help you built REST API using Drupal views. Get in touch with our Drupal developers if you face any queries working with API's. We will be glad to help.

Subscribe For Our Newsletter And Stay Updated

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