Drupal

Evolving Web: Why We Use Drupal

Planet Drupal - 30 July 2018 - 5:58am

Choosing a content management system is like choosing a set of building materials: it has ramifications for what you'll be able to create, how much it will cost and how well it will turn out. Like many other web development companies, mine started off building WordPress sites. However, we soon found that WordPress couldn't always deliver the custom functionality our clients needed. We also built out some applications with Ruby on Rails but ran into the opposite problem: it was definitely flexible enough, but it was too expensive for many of our clients because it required a great deal of custom development. Finally, we tried Drupal, which proved to give us the best of both worlds: it provided a lot of functionality, but also allowed to us to fulfill our customers' specific needs.

Here are five of the reasons why I continue to recommend Drupal:

1.Flexibility and Modularity

As I've mentioned, Drupal allows you to craft exactly the website solution you need. It doesn't assume a particular use case out-of-the-box. Its flexibility comes from its modularity. There are thousands of modules available on Drupal.org, covering everything from event registrations to embedded videos to analytics. When necessary, you can also create your own custom modules.In general, Drupal modules are designed to do one thing or add one new feature to your site. Sometimes you need to add multiple modules that work together to get the functionality you want. This means they can be combined in flexible ways. You can think of them like a LEGO set: whereas other content-management systems might offer you a pre-assembled house or car or boat, Drupal provides the blocks to let you build whatever suits you best.

2.Active Community

It's supported by an active community. Drupal is more than just software: it's also the focal point of an open-source community of more than a million people. Developers, designers, trainers, translators, strategists and others all contribute to improving its core, developing new modules, sharing best practices, organizing events and supporting each other with troubleshooting advice, constructive feedback and tutorials.

Drupal's community is one of the reasons why it's trusted by the United Nationss,NASA, UNESCO and hundreds of other governmental bodies around the world. Security threats do arise---and this is inevitable no matter what system you're using---but with tens of thousands of people constantly reviewing the code, they are quickly reported to Drupal's dedicated security team and efficiently addressed.

3.Multilingual Features

It's thoroughly multilingual. Right from the get-go, Drupal lets you choose from 100 installation languages. Each member of your team can then choose their own preferred language for the administrative interface, which will help them feel comfortable and do their best work.

When it comes to user-facing elements, Drupal gives you the power to fine-tune your language strategy. For instance, do you need tailored information or page layouts for particular languages? What would you like to display if there's no translation available for a given page? Should user searches bring up content from all languages or just the selected one? The choice is yours.

Finally, the Drupal community itself is multilingual, which means you'll likely be able to ask questions and find resources in your chosen tongue. (Good news for Canadians: French is highly supported.)

4.API-First Architecture

It's a platform that can be used as a backend for front-end applications. The latest version of Drupal was created with today's mediascape in mind. It recognizes that people consume content not only on websites but also using mobile apps, email newsletters, social media, wearables and so on.

Drupal is an "API-first" system, meaning that it can help you easily create and manage your content in one central location, then display various front-end versions of it, each one adapted to a particular channel. There are plans to add JSON API support to Drupal 8.6, which will provide even better API support out- of-the-box.

5.Accessibility

It's accessible by default. Drupal is set up to build websites that can be used, edited and administered by people with visual, auditory, cognitive or mobility disabilities. In fact, internationally recognized accessibility standards---the World Wide Web Consortium's Web Content Accessibility Guidelines (WCAG 2.0) and Authoring Tool Accessibility Guidelines (ATAG 2.0)---are built right into Drupal's core code. Some organizations, especially government agencies, are required to meet these standards, and the rest still have every reason to improve their site's usability and reach in this way. As a nice bonus, accessible sites rank higher in search engines.

To discuss how Evolving Web could use Drupal to meet the needs of your web project, contact us. To try out Drupal for yourself, sign up for one of our training sessions.

+ more awesome articles by Evolving Web
Categories: Drupal

OpenSense Labs: Audience Segmentation: The Ultimate Need Of Web Personalisation

Planet Drupal - 30 July 2018 - 5:55am
Audience Segmentation: The Ultimate Need Of Web Personalisation Shankar Mon, 07/30/2018 - 18:25

A stand-up comedian has this arduous task of presenting rib-tickling jokes to the audience but it involves proper strategy as well. He would talk about funny instances from the school life if the audience is packed with students. Or, he would talk about the patient-doctor relationship for an audience full of doctors. Business enterprises apply similar web personalisation strategy to tailor the content on the website for their audience.

 

Segmenting your visitors helps you identify who they are and frame web personalisation strategy accordingly.

To personalise the web experience, audience segmentation is one of the key prerequisites to be adhered to. Segmenting your visitors helps you identify who they are and frame web personalisation strategy accordingly. Drupal has amazing capabilities to enable personalisation on your website.

The Assortment of Audience Segmentation

What is the segmentation and how do you do it? The process of splitting your audience into distinguishable groups based on specific criteria, contexts and/or conditions comes under segmentation. With real-time personalisation, segments of the audience are based on criteria which can either be detected automatically or derived from previously compiled user data.

There are several different categories of criteria on which audience segmentation can be done. Broadly speaking, all these different criteria come under two groups

Implicit data

When the information is implied or assumed, it is referred to as implicit data. This gives you an idea of a user’s intentions or needs but is not plainly conveyed by the user. This data allows you to test a hypothesis, recommend content, or to inform a content experiment like A/B test.

When you derive the interests of a person on the basis of the pages they have visited, such information would come under implicit data.

Explicit data

This kind of data is clear and specific and leaves no room for any kind of doubt. Explicit data can be comprised of visitor attributes detected automatically or the data which a user chooses to provide like their personal information and preferences.

When you tailor your content on the basis of the user’s age, gender, location or the kind of device being used, it comes under explicit data.

Rules-based Personalisation vs Predictive Personalisation Rules-based personalisation Predictive personalisation Personalisation done on the basis of explicit data Personalisation done on the basis of implicit data

When the explicit data is used to personalise web experience, it is referred to as rules-based personalisation. Content is personalised when the specific rules and conditions are met.

Predictive personalisation leverages implicit data to tailor the content to the audience. It helps in customizing offers and communications precisely by predicting customer behaviour, needs, and wants. 

Predictive personalisation selects the most relevant content for the audience based on the best performing content variation like a landing page that has led to the most amount of conversions.

Segmentation Criteria

Both implicit and explicit data can be used together to an effect to optimise the user experience. Types of Segmentation Criteria used to personalise content on the basis of implicit and explicit data includes:

Demographics

The qualities or attributes of a specific group of people is what demographics refers to. Demographic criteria for the web personalisation is explicit as the data provided is mostly personal like information given by the visitor through sign-up, form fill or an account registration.

Personalised ad campaigns on the basis of demographic criteria on Facebook Business benefitted online retailer Matsmart

Demographic criteria constitutes:

  • Age
  • Gender
  • Salary
  • Occupation

Where can it be seen?

  • Online stores recommend clothes on the basis of gender.
  • Travel companies target promotional campaigns with Indian tour packages for senior citizens.
Geographic adherence

Geographic criteria is a type of demographic data which can be used to meet the needs of customers in a particular region.

Nikon, world leader in optics and imaging, uses geographic criteria as part of their web personalisation strategy.

Geographic criteria comprise of:

  • Specific location
  • General region like State/Province
  • Local time or weather

Where can it be seen?

  • A news television channel can automatically show news coverage relevant to the local region of the user.
  • An online retailer can dynamically determine the local weather patterns of the user and show personalised product recommendations. For instance, a sale on sun protection creams for online visitors on sunny days and sale on raincoats for users in rain-hit locations.
Behavioural patterns

The patterns shown in the behaviour of the audience can prove to be a determining user interest. Visitor behaviour mostly includes criteria detected automatically and implicit data delineating the current or past history of browsing sessions.

Amazon’s recommendations based on user’s behavioural patterns in terms of past purchases

Behavioural patterns include:

  • Content topics visited by the user the most
  • Specific content visited by the user the most
  • The click path or the order in which the visitor is viewing the content
  • New visitors vs. returning visitors
  • Past site downloads
  • Recent conversions or purchases

Where can it be seen?

  • A healthcare site can display listicle showing recommended blogs about a specific disease on the basis of other articles visited by the user.
  • A digital agency can show topical marketing messages on the website on the basis of white papers and ebooks downloaded by the user previously.
Session and other visitor metadata Demonstration showing Samsung Galaxy S6 and Galaxy S6 Plus devices as part of data collected on mobile data usage for personalised ad creation

Personalisation can also be done on the basis of explicit attributes of the browsing session. An Econsultancy report stated that O2, a leading digital communications company, used the data based on the mobile device usage and location to make their ‘tariff refresh’ ad more relevant and tailor the messaging to their consumers. The betterment of 128% was observed through personalised ads in terms of click-through-rate (CTR).

     

    Session attributes consist of:

    • Browser or Device type
    • Source or referral type
    • Authenticated users vs. Anonymous users

    Where can it be seen?

    • A mobile application company can automatically detect the kind of smartphone user is using and deliver personalised promotional campaigns for applications that are compatible with the user’s device.
    • The homepage of the website of a SaaS-based company can display relevant messaging depending on whether the user has arrived from a direct link, a search engine ad, a banner ad, an organic search engine result, or a partner/affiliate site.
    User Profile

    Previously gathered data constitutes user profile criteria. It can include account details from a CMS like Drupal, customer record in a CRM like Salesforce, or a personal information from a social media platform like Twitter.

    Netflix offers personalised movie recommendation to the Indian users

    User profile criteria include:

    • Demographic data
    • User preferences
    • Customer type or account history
    • Subscriber information

    Where can it be seen?

    • A newspaper website can show a personalised list of news articles based on topics that the subscriber has indicated he is interested in.
    • A customer at a basic level of service can be presented with a promotional offer to upgrade to premium version.
    • Promotional messages for a customer can be displayed to renew their membership based on account history data that shows that his or her membership is nearing expiry date.
    Segment vs Persona

    Market segmentation and buyer persona may seem similar as they both help in grouping together current and potential customers. But they provide separate use cases for the businesses. Both the tools come handy in depicting how a business should market the product to its customers. And once they have caught customer’s attention, they can also strategise how best to target them to meet their needs and wants.

    So we have already seen what segmentation is. Then what are buyer personas? They are fictitious characters created by a retailer to simulate a real customer. Personas are made on profiles that would include foundational information gathered from research done with real people. These profiles directly represent customer groups that share similar values, behaviours and goals.

    Personas add the emotional and behavioural component to the customer profiles thereby adding that extra layer of warm fuzzies. A persona template
    Source: Sailthru

    In addition to these basic profiles, personas are used to give names, faces, personalities, and families to delineate accurately what that person would want and need in real life. Thus, personas add the emotional and behavioural component to their customer profiles thereby adding that extra layer of warm fuzzies. Once done, it helps in determining the end goal for a particular customer to target them appropriately.

    Leveraging the best of Drupal for Web Personalisation Drupal provides an amazing platform to personalise the content on your website and enhance user engagement.

    Drupal module, Acquia Lift Connector allows an integration with Acquia Lift service to give true insights on what customers want and do not want which helps in serving personalised content. This helps digital marketers to get control over automation, testing and measurement of marketing activities.

    This module helps in the unification of content and the insight gathered from various sources about the customers for delivering in-context and personalised experiences across multiple channels.

    Features like drag-and-drop user interface for targeting messages, A/B testing, unifying customer profile, syndicating content, behavioural targeting and combining anonymous and known online visitor profiles make it a highly valuable tool to empower digital firms in delivering the most cohesive and personalised experience.

    Conclusion

    Web personalisation is a useful strategy that can determine an organisation’s engagement ratio with its audience. To meet the needs and wants of its audience, segmentation must be done to understand your customers and potential customers. Audience segmentation is an integral prerequisite of web personalisation which every digital firm must adhere to.

    Leveraging the flexibility that Drupal offers in personalising the site, it can prove to be a remarkable platform for businesses. We excel at Drupal services with Drupal Development as our numero uno service and can guide you in building a business website with personalised content.

    Send us your mail at hello@opensenselabs.com to enable web personalisation strategies for your Drupal site development.

    blog banner blog image audience segmentation web personalisation persona buyer persona rules-based personalisation predictive personalisation Blog Type Articles Is it a good read ? On
    Categories: Drupal

    Skip temp file warnings

    New Drupal Modules - 30 July 2018 - 3:02am

    Drupal deletes unused temporary managed files automatically in file_cron. However if the file has already been deleted from disk, then Drupal generates an error message:

    Could not delete temporary file "public://XXXXX" during garbage collection

    The error message repeats every cron cycle and there is no obvious way to recover from the UI.

    It seems that this error message is unnecessary and unhelpful. This module will help to skip this warning.

    Categories: Drupal

    GraphQL Search API

    New Drupal Modules - 30 July 2018 - 1:52am

    This Drupal module provides an integration between Drupal GraphQL and Search API modules.

    It allows developers to perform queries directly to a Search API index by leveraging the Search API module's API.

    Categories: Drupal

    SliderWidget

    New Drupal Modules - 30 July 2018 - 1:26am

    Module create slider widget for number field type. Widget use SliderUI JQuery library. All library options could be set in widget settings form.

    Categories: Drupal

    ZONModule

    New Drupal Modules - 29 July 2018 - 9:31pm
    Categories: Drupal

    wkhtmltopdf

    New Drupal Modules - 29 July 2018 - 6:07pm

    Third party integration with https://wkhtmltopdf.org/

    In development.... add tests, creating readme, improve approach

    Categories: Drupal

    ChatBro

    New Drupal Modules - 29 July 2018 - 12:12pm

    Integration of https://www.chatbro.com/

    Categories: Drupal

    CKEditor Widgets Bootstrap Grid

    New Drupal Modules - 29 July 2018 - 7:06am

    CKEditor Widgets Bootstrap Grid
    This is just another small module introducing the Bootstrap Grid to CKEditor.

    This only works if you have Bootstrap theme/library enabled!

    Categories: Drupal

    Feeds Big File Fetcher

    New Drupal Modules - 29 July 2018 - 2:59am

    This module will use cRUL to download the URL into a system file.
    It is not processing the file directly, to avoid memory issue (by loading the content of the file in memory).

    I've used this module together with:
    https://www.drupal.org/sandbox/darthsteven/1728218

    to import a large .xml file, avoiding memory issues.

    Categories: Drupal

    Layout Kit

    New Drupal Modules - 28 July 2018 - 5:10pm

    Layout Kit is a ready to use set of layouts, now (take a look at screenshots):

    • Accordion.
    • Conmutator (accordions where all the sections can be closed/opened at once).
    • Tabs: horizontal.
    • Tabs: vertical.
    Categories: Drupal

    hussainweb.me: Drupal Meetup Bangalore – July 2018

    Planet Drupal - 28 July 2018 - 1:31pm
    July’s Drupal meetup was held at 91Springboard in Koramangala. We are back after a long time and that’s thanks to 91Springboard for providing us with the venue. Snacks in the meetup and lunch after the meetup were courtesy of Axelerant.
    Categories: Drupal

    Cielo Integration

    New Drupal Modules - 28 July 2018 - 7:31am

    This module provides an integration with cielo api.

    Cielo is the largest Brazilian credit and debit cart operator and the biggest payment system company in Latin America by revenue and market value.

    Categories: Drupal

    mark.ie: Exclude Current Node from List of Related Nodes by Taxonomy Term

    Planet Drupal - 28 July 2018 - 3:28am
    Exclude Current Node from List of Related Nodes by Taxonomy Term

    You know the scenario - you want to list nodes that have the same taxonomy term(s) as the node you are currently viewing. Easy, but you also want to exclude the currently-being-viewed node from the list. Always trips me up.

    markconroy Sat, 07/28/2018 - 11:28

    Each time I have to do this, I read a blog or two or a Drupal issue or two and still I always end up with a quirk. Here's what I normally do:

    1. Create the view
    2. Add a contextual filter for the taxonomy field you want to filter by
    3.  Provide default value
    4. Taxonomy term ID from URL
    5. Load default filter from node page, that's good for related taxonomy blocks
    6. Limit terms by vocabulary
    7. Click Apply
    Now I'm Stuck

    This gives you a list of nodes related to the current one, but the current node will always show up in your list. If you edit that contextual filter and expand the 'More' tab at the end, and then choose 'Exclude: If selected, the numbers entered for the filter will be excluded rather than limiting the view.' you will be forgiven for thinking this will exclude the current node. IT WON'T. In this case, it will exclude the currently selected taxonomy term - which is the opposite of what you want to do.

    The Solution? Another Contextual Filter
    1. Create another contextual filter for 'ID', as in, the Node ID.
    2. Provide default value
    3. Content ID from URL
    4. Scroll to bottom of page and expand the 'More' tab
    5. Click Exclude: If selected, the numbers entered for the filter will be excluded rather than limiting the view.

    Now, the second filter will exclude the currently-being-viewed node, while the first filter will do the related-node-taxonomy-magic-dance.

     

    Categories: Drupal

    Matt Grasmick: Documentation Initiative Update, UX Changes to Drupal.org

    Planet Drupal - 27 July 2018 - 6:02pm

    The documentation initiative was announced at DrupalCon Nashville nearly four months ago. In his keynote, Dries’ highlighted my blog post, in which I provided statistics and anecdotes about the challenges of Drupal.org’s documentation and evaluator experience. The documentation initiative aims to address these challenges. What’s happened since then?

    I’ve worked over the past few months with a small team of contributors to propose solutions, build consensus, and make improvements to the documentation on Drupal.org. Thank you to all of those that have been active in the issue queues and bi-weekly meetings!

    The work has been focused on the initiative’s three goals:

    1. Make UX improvements to documentation on Drupal.org.
    2. Improve existing Community…
    more
    Categories: Drupal

    Commerce Guys: Scheduling time for maintaining Drupal Commerce integrations

    Planet Drupal - 27 July 2018 - 4:42pm

    Commerce Guys maintains a suite of ecosystem modules that give merchants easy access to third-party integrations as part of leading the Drupal Commerce project.

    Historically, the issue queues for these modules were looked at when a client requested it or someone from our team had spare time, but that timing was pretty irregular. To provide developers and merchants with a better experience, we’ve decided that moving forward we’re committing dedicated time to review these third-party issue queues on a regular basis.

    Our Commitment
    Once a week, we’re setting aside time to review new issues in the queues. We’ll use that time to do several things: identify bugs, direct people toward resources to help them solve their problems more quickly, identify earlier when we need more information from the reporter, and help move community patches forward.

    Cleaning the Current Queues
    As part of this renewed focus on integrations, we’re starting by cleaning up the issue queues. To give ourselves a clean slate, we’ll be closing a lot of these older issues. This will allow us and other contributors to focus on relevant problems. There are a significant number of old issues hanging around that represent duplicate bug reports, tasks that were resolved via other patches, or issues that cannot be resolved without clear steps to reproduce the problem.

    What to if we close an issue you still need resolved?
    If we close an issue that you’re still having problems with please let us know! The best thing to do would be to reopen the issue with additional information. Please include any error messages you’re seeing, custom code that may affect the module, and clear steps to reproduce the bug. Screenshots or recordings of the issue in action would be great, too!

    Categories: Drupal

    Ashday's Digital Ecosystem and Development Tips: Five Drupal Features Essential to Publishing

    Planet Drupal - 27 July 2018 - 2:00pm

    If you are in the publishing industry, you already know that Drupal 8 is by far the most useful CMS for publishers. It was great in Drupal 6 & 7 and with 8 it keeps getting better with each major release. Combined with the community contributed modules, Drupal 8 is the best platform for publishers yet. Here are five features in Drupal 8 that are essential to publishing.

    Categories: Drupal

    OpenSense Labs: Smart Trim your Content and Modify Teasers

    Planet Drupal - 27 July 2018 - 8:26am
    Smart Trim your Content and Modify Teasers Raman Fri, 07/27/2018 - 20:56

    Teasers provide a brief summary or a short description of an article (or any other content). They give a visitor an insight and a quick overview of the content. Hence, it becomes crucial for a teaser to be eye-catchy in order to get that one click from the reader. It should leave them with a sense of curiosity and intrusiveness.

    Drupal, out of the box, provides a teaser view mode and three formats for the text fields – Default, Summary or Trimmed and Trimmed. However, the trimming feature is very limited and allows only the number of characters to be configured.

    Trimming options for text fields out of the box

    We can use a contributed module, Smart Trim to take this trimming functionality to another level. Let us have a look at it.

    Downloading and Installing Smart Trim

    The module has dependencies on a few core modules including Field, Filter, User, System, and Text. Once you have made sure these are enabled, you can download and install it using any of the below methods.

    $ drush dl smart_trim && drush en smart_trim -y

    or

    $ drupal module:download smart_trim && drupal module:install smart_trim

    or

    $ composer require 'drupal/smart_trim:^1.1'

    After downloading the module using composer, enable it from the admin UI available at admin/modules.

    Enabling Smart Trim module using admin UIModifying Teasers of Content using Smart Trim

    The module declares a new field format, Smart trimmed, with a set of configurable options. To modify the teasers of your content, follow the below steps.

    1. Navigate to Manage → Structure → Content types → {your-content-type} and select the Manage Display tab.
       
    2. Next, select the view mode from the sub-tabs. You may do it for any of your view modes, but for now, let us do it for the teaser view mode.
       
    3. Change the field format of the required field to “Smart trimmed” to take advantage of the module. You can do this for any of the text fieldsSelecting Smart trimmed text format
    4. Click on the gear icon to bring down the configuration options for the format. Here, as you can see, we get a lot more options than the standard trimmed format.Configuring the format settings
    5. You can now configure the following settings as per your preference
       

      Configuration

      Default Value

      Description

      Trim Length

      600

      The number of units of text in the Smart Trim mode (including HTML markup)

      Trim Type

      Characters

      Use characters or words to count the trim length

      Trim Suffix

      -

      Suffix characters at the point of Trimming

      Wrap Output

      False

      Add a tag to wrap the trimmed content

      Wrap Class

      Trimmed

      CSS class of the wrapper tag

      More Link

      False

      Show a more link

      More Class

      More-link

      CSS class of more link

      More Text

      More

      Text for more link

      Summary

      Use summary if present, and do not trim

      Use a provided summary or the trimmed content

      Strip HTML

      False

      Strip off the HTML added in the WYSIWYG for the trimmed content

      Honor a zero trim length

      False

      Allow a trim length of zero units

    6. Click on “Update”, followed by the “Save” button to save the changes

    Now, go back to your view or the page where the configured view mode is being used. You will observe that the changes have been successfully applied.

    Teaser of an article with Smart trimmed field format

    Looking at the source code of the page, we can see that the wrapper tag has been added with the configured CSS classes. You can now also add custom CSS for these classes in your Drupal theme.

    Observe the CSS classes applied to the div tag and more linkSumming Up

    The Smart Trim module blends smoothly and proves to be one of the must-have modules or your Drupal site. Its easy configuration allows site builders to quickly add a new field format and harness the full power of the teaser view mode.

    In case of any query or suggestion, don’t forget to leave a comment down below.

    blog banner blog image Blog Type Tech Is it a good read ? On
    Categories: Drupal

    Flysystem Aliyun OSS

    New Drupal Modules - 27 July 2018 - 8:23am

    Provides an Aliyun/Alibaba Cloud OSS plugin for Flysystem.

    Dependencies

    composer require aliyuncs/oss-sdk-php:2.3.0 -vvv

    Configuration

    Example configuration:

    Categories: Drupal

    Microsoft sends strong message about GitHub's independence

    Dries Buytaert - 27 July 2018 - 6:53am

    On the heels of Microsoft acquiring GitHub for $7.5 billion, Google has partnered with Microsoft to provide a continuous integration and delivery platform for GitHub. While I predicted Microsoft would integrate build tools into GitHub, I didn't expect them to integrate with Google's as well. Google and GitHub probably partnered on this before the Microsoft acquisition, but I'm pleasantly surprised that Microsoft has decided to offer more than Azure-based solutions. It sends a strong message to anyone who was worried about Microsoft's acquisition of GitHub, and should help put worries about GitHub's independence to rest. Satya Nadella clearly understands and values the Open Source movement and continues to impress me. What an interesting time to be a developer and to observe the cloud wars!

    Categories: Drupal

    Pages

    Subscribe to As If Productions aggregator - Drupal