Drupal Planet

Evolving Web: Why You Should Use an Open Source CMS for Your Corporate Intranet

1 week 6 days ago

If you want to maximize employee adoption of your intranet, you can’t just tell people to use it. There should be a clear incentive to adopt the company intranet, meaning that you need an intranet platform that you can customize to your users’ specific needs. 

Most importantly, you need an intranet platform where the information architecture is flexible; one where you can build the employee experience according to your organization’s unique structure and workflows. 

This brings us to our main topic: for projects like intranet portals, which require a lot of flexibility, open source content management systems such as Drupal are often the best choice.

📖 Read next: 5 Reasons why we use Drupal

5 major advantages of open source intranet platforms

Let’s take a look at why open source technology is such a great fit for corporate intranets by breaking down five of its biggest benefits:

  1. Flexibility
  2. Extensibility
  3. Integration
  4. Search
  5. Cost
1. Flexibility to accommodate any corporate structure

The hardest part of building an intranet is building one that’s designed for the employees, and not just as a reflection of your organization. 

This might be tricky because the departments and silos in your organization are also a part of your company’s identity and it’s natural (and easy) to organize your content this way. A silo for IT, a silo for finance, easily maps to sections in your main navigation. But that’s not how most of your employees think. 

An open source intranet platform will allow you to control how the content is organized—not just from a menu perspective, but also in terms of designing your own metadata and how content is tagged with taxonomy terms. 

2. Extensible functionality

What you don’t want when creating an intranet is limitations. 

You don’t want to be limited in how you can structure your data, what kinds of files you can upload, or how people can collaborate. You want to start off with a solid base of features and have the flexibility to transform with the needs of your organization. 

Open source intranet solutions like Drupal provide more flexibility because you have the freedom to add modules to extend functionality, and plug and play with the tools you’re already using to communicate with employees.

🔎 Case study: Migrating an intranet from SharePoint to Drupal

3. Integrates with existing identity management and workflows

No one wants another login or a new set of habits to build. If the intranet fits nicely into your existing workflow, adoption will be so much smoother. That means integrating with your identity management system, and using single sign-on so that users don’t get stuck with an endless cycle of login pages. You can integrate Drupal with any single sign-on (SSO) service (such as CAS, OAuth or SAML) so employees can easily log into your website with their existing credentials.

Open source also gives you the flexibility to customize your intranet platform so that it maps smoothly from the groups, departments, and org structures in your LDAP service (such as Microsoft Active Directory or Open LDAP) to the roles and permissions of your intranet. This ensures that people have access to the information they need for their specific role at the company. 

Drupal in particular has a flexible user management system at its core, and every single piece of functionality is mapped to users’ roles and permissions. This means you have granular control over what users can see and do.

With an open platform, you’re not stuck with limitations in terms of which identity management tool to use. 

You can also add integration with other systems you’re using to accomplish things like:

  • Pulling in data or documentation from other platforms to display on the intranet
  • Pushing notifications to an employee app via JSON API
  • Automatically building a set of contacts from an existing employee database
  • Connecting with Slack, Microsoft Teams, or whatever other internal communication tools you’re using, via custom integrations
4. Powerful taxonomy-based search

A flexible search experience that you can customize and tweak, unlike a black box that just spits out results, will allow you to build a more intuitive way for users to find content. 

Drupal integrates with open source, enterprise-grade search technologies like Elasticsearch and Apache Solr that provide optimal flexibility, allowing organizations to build search experiences that correspond to their employees’ specific information-seeking behaviours and needs.

5. Low starting cost

Open source software is always free, so you’ll only be paying for the actual design and development of your intranet—not the platform itself. This will allow you to focus your budget and resources on building optimal experiences for your users.

Build an open source intranet

Here at Evolving Web, Drupal is our open source platform of choice for creating intranets because it provides the most options and flexibility, while having lots of out-of-the-box features like content moderation and granular access control that can be tailored to correspond exactly to client requirements. 

If you’re currently evaluating your options for building your corporate intranet, consider moving towards an open source platform like Drupal. Don’t hesitate to reach out to our team of experienced developers and designers—we’d be more than happy to discuss your next intranet project.

+ more awesome articles by Evolving Web

Amazee Labs: The Business Case for Going Decoupled: Part Two

1 week 6 days ago
<img src="https://www.amazeelabs.com/sites/default/files/styles/leading_image/public/images/current-affairs/The-Business-Case-For-Going-Decoupled--Part-Two_2.jpg?h=994a2424&amp;itok=5eL63yXC" width="1120" height="630" alt="Main article image for The Business Case for Going Decoupled: Part Two blog article." title="The Business Case for Going Decoupled: Part Two" class="image-style-leading-image" /> At Amazee Labs, we’re experts in decoupled web development using Drupal and frontend technologies such as React and Gatsby. Decoupled projects can mean independent Drupal backends, modern frontend web apps or any combination of both working together as full-stack applications. In the first part of this blog series, we explored the advantages of headless Drupal and its applications to various industries. Now we’ll take a look at the frontend advantages of decoupled projects as well as examples where a fully decoupled website can meet all the needs of an elegant complex website.

Specbee: Testing Your Drupal Website just got easier with Behat (A comprehensive tutorial)

2 weeks ago
Testing Your Drupal Website just got easier with Behat (A comprehensive tutorial) Samvada Jain M 08 Sep, 2020 Top 10 best practices for designing a perfect UX for your mobile app

“There’s nothing in the world more powerful than a good story”, said the king of wit and wisdom, Tyrion Lannister.

The power of stories and good communication empowers a collaborative and efficient software delivery. Evolving out of agile methodologies, Behavior Driven Development (BDD) technologies leverage this power to the fullest to automate the testing process. Behat is one such BDD technology that enables automated testing using “ubiquitous language”. Let’s learn more about Behat, Mink, Gherkin and how to implement it in Drupal.

What is Behat?

Behat is an open source PHP framework that is used to automate testing by leveraging Behavior Driven Development (BDD). A BDD approach ensures quality software delivery by focusing on continuous communication and simple text stories. With BDD the tester builds test cases in human-readable language. Because of this, it is easy to get the entire team on the same page as everyone, right from the product owner to the developer, can understand and get continuous feedback about the current scenario. 

What is Gherkin?

The language used by the Behat tool is Gherkin, which is a business readable and domain-specific language. Gherkin also serves as a living documentation and reports can be generated to document each test run. This simple whitespace-based language uses simple language words as keywords. Indentations (using space/tab) and line endings define the structure for the test case. Although writing and understanding the language is easy, the end result should focus on enabling better collaboration, efficiency, automation and traceability. Test cases should be written intuitively, focus on important elements, avoid checking duplicate records and use good grammar.

What is Mink?

Mink is an open source browser controller that simulates a test scenario with the web application. Once the test cases are written, it needs to be executed and emulate user actions. With Mink, you can use the same test scenario and run it on various browser emulators like Goutte, Selenium, Chrome, Zombie, and more. While installing the Behat Drupal extension, you will see a dependency on Mink so make sure you have it installed as well.
Installation and usage of Behat Drupal
The official way to install Behat in your system is through Composer. Not only can it install Behat for you, but it will also be able to easily update you to the latest version later when one comes out.

•    Inside the project folder, run the command: 

$ composer require behat/behat

•    Or inside your composer.json file, add the require statement

"require": { "behat/behat": "^3.0.0", “phpunit/phpunit”: “^5.0.0” } • Next, run composer install command in the terminal. • When it is done, you will also notice a new directory bin/ with a Behat file in it. This is the Behat executable and you will use it to run your tests and get debug information. • Next, create a file named behat.yml inside the root folder of the project. When Behat runs, it looks for a behat.yml file, which it uses for its configuration. default: suites: default: contexts: - Drupal\DrupalExtension\Context\DrupalContext extensions: Behat\MinkExtension: goutte: ~ base_url: http://example.org/ # Replace with your site's URL Drupal\DrupalExtension: blackbox: ~

To initialize the project, run the command: 

vendor/bin/behat –init

This creates a features/ folder and a bootstrap/FeatureContext.php default context file inside the features/ folder.

Writing Stories and Running tests with Behat

Our goal is to describe the stories in the most effective way. The stories are written in a human-readable language, Gherkin, with the extension .feature under the features/ directory.

Let’s imagine that you need to test whether you can add content to the Basic page content type in your site successfully or not. To do that, you must have access to the page to fill the fields and save it as an administrator. 

So, let’s write our first story:

Feature: Check basic page CT In order to create a page As an admin I want to access /node/add/page So that I can create a page Scenario: Basic Page CT Given I am logged in as a user with the "administrator" role When I go to "/node/add/page" And I enter "Basic page title" for "edit-title-0-value" When I press "edit-submit" Then I should see "Basic page Basic page title has been created"

This file can be named basic_page.feature. Each feature can have many scenarios, which describe the specific behavior of the feature. Each scenario will have sections: 
•    Given - details the starting state of the system
•    When - includes the action the user takes
•    Then - describes what the user sees after taking action
•    And - to maintain the connectivity in the scenario. 
There is not much difference between Then, And, and But. These words are made available to make your scenarios natural and readable.

All feature files can be run by vendor/bin/behat. If you want to run a specific feature file, run vendor/bin/behat features/basic_page.feature. There is also a way to run a single scenario by just adding a line number where the scenario is defined: vendor/bin/behat features/basic_page.feature:11.

There are commands like vendor/bin/behat -dl which provides you all the statement syntax that is used in scenarios and vendor/bin/behat -di provides the syntax along with the examples.

How to write Feature files Behat runs curl requests against URLs on your website, which makes the testing process quite fast, but also makes Behat lose the ability to test features that require Javascript. So, to test features we only need to do add @javascript tag before every scenario that requires Javascript, like this: Feature: Check basic page CT In order to create a page As an admin I want to access /node/add/page So that I can create a page @api @javascript Scenario: Basic Page CT Given I am logged in as a user with the "administrator" role When I go to "/node/add/page" And I enter "Basic page title" for "edit-title-0-value" And I fill in wysiwyg on field "edit-body-0-value" with "Basic page content" When I press "edit-submit" Then I should see "Basic page Basic page title has been created"

To test this, run vendor/bin/behat. This will show you the undefined steps in the scenarios because the scenarios must map to a function.

You can either copy-paste the code snippet to the context file FeatureContext.php or run vendor/bin/behat --dry-run --append-snippets

Then you can write the definitions for the functions in FeatureContext.php as shown:

<?php use Behat\Mink\Exception\ExpectationException; use Drupal\DrupalExtension\Context\RawDrupalContext; /** * Defines application features from the specific context. */ class FeatureContext extends RawDrupalContext { /** * The mink context. * * @var Drupal\DrupalExtension\Context\MinkContext */ protected $minkContext; /** * Initializes context. * * Every scenario gets its own context instance. * You can also pass arbitrary arguments to the * context constructor through behat.yml. */ public function __construct() { } /** * Fill in wysiwyg on field. * * @Then I fill in wysiwyg on field :locator with :value */ public function iFillInWysiwygOnFieldWith($locator, $value) { $el = $this->getSession()->getPage()->findField($locator); if (empty($el)) { throw new ExpectationException('Could not find WYSIWYG with locator: ' . $locator, $this->getSession()); } $fieldId = $el->getAttribute('id'); if (empty($fieldId)) { throw new Exception('Could not find an id for field with locator: ' . $locator); } $this->getSession() ->executeScript("CKEDITOR.instances[\"$fieldId\"].setData(\"$value\");"); } }

Now, run the command vendor/bin/behat and all the scenarios that are written must pass. The defined JS function will map the scenario statement “And I fill in wysiwyg on-field "edit-body-0-value" with "Basic page content".

Behat has many benefits that help all those who are included in the software development process, starting with developers themselves over project managers to clients. Implementing Behat in Drupal allows for an efficient and systematic approach in building amazing Drupal experiences. However, Behat testing also comes with some cons along with tons of pros. It requires effort to make them robust and the processing is comparatively slower. But it also ends up saving a lot of time by enabling you to run the features over and over again. Looking for a Drupal development company that leverages the best of modern technologies to create compelling digital solutions? Contact us now!

Drupal Planet Drupal Drupal Tutorial Drupal Development Shefali ShettyApr 05, 2017 Subscribe For Our Newsletter And Stay Updated Subscribe

Leave us a Comment

  Shefali ShettyApr 05, 2017 Recent Posts Image Testing Your Drupal Website just got easier with Behat (A comprehensive tutorial) Image Design VS Code – Why should they go hand-in-hand? Image Integrating the Sharethis Block Module with Drupal 8 - A Comprehensive Tutorial Want to extract the maximum out of Drupal? TALK TO US Featured Success Stories

Know more about our technology driven approach to recreate the content management workflow for [24]7.ai


Find out how we transformed the digital image of world’s largest healthcare provider, an attribute that defined their global presence in the medical world.


Discover how a Drupal powered internal portal encouraged the sellers at Flipkart to obtain the latest insights with respect to a particular domain.


ADCI Solutions: The importance of website maintenance

2 weeks 1 day ago

As the old Russian proverb says - repair your cart in December, in July your sled remember. Hence, it is the right time to start support and maintenance for your website. ADCI Solutions has prepared an upgrade planning checklist for Drupal website owners. For your convenience, we have attached a checklist in PDF format on our website. Download it to your desktop and check your website on time.

Enjoy the article: "The importance of website maintenance"

Matt Glaman: My PHPUnit configuration for my Drupal projects

2 weeks 1 day ago

The other week, I was asked about how I maintain my PHPUnit config file for my Drupal projects. When running Drupal's PHPUnit test suites, you typically copy and modify the distribution phpunit.xml.dist file which lives in the web/core subdirectory. There is just one problem. This directory is technically a vendor directory and is replaced during any updates to the drupal/core dependency of your Drupal project. Every minor version will cause your file to reset, or anytime you install dependencies if Drupal core is patched.

One thing I noticed is that since I first followed your tuts a while back, my phpunit.xml is gone.  I'm guessing it gets overwritten when core is updated.  Do you just keep a copy of the file and paste it in when that happens? Is there a better solution?

Matt Glaman: My PHPUnit configuration for my Drupal projects

2 weeks 1 day ago

The other week, I was asked about how I maintain my PHPUnit config file for my Drupal projects. When running Drupal's PHPUnit test suites, you typically copy and modify the distribution phpunit.xml.dist file which lives in the web/core subdirectory. There is just one problem. This directory is technically a vendor directory and is replaced during any updates to the drupal/core dependency of your Drupal project. Every minor version will cause your file to reset, or anytime you install dependencies if Drupal core is patched.

One thing I noticed is that since I first followed your tuts a while back, my phpunit.xml is gone.  I'm guessing it gets overwritten when core is updated.  Do you just keep a copy of the file and paste it in when that happens? Is there a better solution?

OpenSense Labs: How Open Source Thrives During Economic Slump?

2 weeks 2 days ago
How Open Source Thrives During Economic Slump? Gurpreet Kaur Sun, 09/06/2020 - 18:10

The economic difficulties the world is facing in the post-covid-19 world can be attributed as severe as the Great Recession. There is no doubt that we will be able to recover in the coming years, but what of the present? More people have lost jobs than ever before and many employers are still continuing to downsize in order to become equipped to battle the slump. 

Amidst such economically turbulent times, would it be wishful thinking to consider that there is a segment in the market that is still continuing to grow? I do not think so. But, open Source and everything it entails is flourishing despite the market’s downfall. And the best part is that it is not flourishing alone, it is doing so with its entire community.

Let us have a look at the aspects of Open Source that have made it immune to economic slump.

Driven by strong values Drupal's values and principles | Source: Dries Buytaert's blog

Open Source software is always being moulded by its community of users. The strong values and principles set by an open source software for its members to uphold are instrumental. These help them make better decisions, let them be their best selves and leap forward as a unified community.

Talking about the values and principles, we have to look no further than Drupal - one of the leading open source CMSes in the global market. It has very strong values backing it and it is these values that make it as successful as it is, despite the economic downturns. I will mention a value that Drupal stands upon and you will understand my point.

Drupal believes in fostering a learning environment, wherein both the veteran contributors and the amateurs are treated with the same level of respect. Asking the right questions is the first step of learning, and if you are hesitant to do that, then learning can become difficult. At Drupal, no question is regarded as bizarre or frowned upon, whatever you ask will be answered with the utmost sincerity. The contributors, who have been with Drupal for years act as role models and pave the way for the novices to take their place one day.

When learning and self growth are the ultimate goal, the state of the economy does not hold much prominence. Consequently, the contributors grow and the open source grows with their contributions.

Less vulnerable on the financial front

Do you know which are the two most lucrative periods of growth for open source software? These are the years 2000 and 2008. And do you know what these two years remind us of? These were the years when The Dot Com Crash and The Great Recession happened. 

Now the question arises, how can open source experience its most growth in times when the world was battling two of the biggest financial crises? The answer lies in its economic costs.

Open source software is free for all, unlike proprietary software, which mandates exorbitant investment. Free means less financial burden on the companies using it. Since economic slump is all about saving as many pennies as you can, open source becomes just the way to do it. With constrained budgets and cost-effectiveness the only things running through people’s minds, the solution can only be found with open source. Perhaps that is why, when companies were falling down like the domino effect, Red Hat, a public open source company, increased its revenue by 11% every year in The Great Recession. 

The Coronavirus pandemic in 2020 is indeed doing the same for open source. After almost 20 years of growth and after battling two recessions open source has only become stronger and more resilient.

Preference for widely adopted commodity tool Save a huge amount of money by simply implementing an already established software like Drupal rather than building something from the ground up.

When times are difficult on the financial front, people and organizations try to make up for the difficulties by easing other dimensions of their operations. A great way of doing just that is by adopting open source software. 

An open source software has the potential of solving a couple of dilemmas for its users. Primarily, it will help the users save a ton of financial resources by simply implementing an already established software like Drupal rather than building something from the ground up. And it's not just money, making something from scratch is going to put a lot of strain on the human resources of an organisation as well.

On top of that, it also allows room for liberty. Using an open source software will not make you reliant on any one organisation like proprietary software would. If Microsoft goes out of business, your reliance on it will make things all the more difficult for you. However, the chances of open source software going bankrupt are slim to none, since it is not in business for money.

So, during an economic downturn, many companies opt for open source software because of the cost-effectiveness and security it is going to provide and the open source community flourishes.

The case for faster innovation

Let us start with an example. Have you ever been in a group study? And you must have studied alone as well? Can you think of a difference between the two? Which one clarifies your doubts more? Which one widens your learning parameters? The majority of you would answer with group study, and the reason is one simple fact, when there are more people, there are more ideas.

The same is applicable for open source software and proprietary software, wherein the open source is the equivalent of group study. There are hundreds and thousands of people from all over the world involved in open source software and its development, while the proprietary software development team cannot exceed the number of employees in its organization and even that’s a stretch.

What does this mean then? If you ask me, I would say that open source software and companies using it are faster at innovation because of their enormous number of contributors. Open source’s innovative powers are not limited to a single person or organization, they stretch onto the entire world population. Someone sitting in Italy can think of an additional feature and a coder sitting in his home in Australia can add a few improvements to the same. Is this not the best way to strive for innovation?

More open source contributions  When developers get unemployed during economic slumps, they participate in open source as a way to develop or extend skill sets.

Economic downturn is bound to bring along massive unemployment. During the Covid-19 pandemic millions have lost their jobs. Losing a job does not have to be a bad omen, at least not every time. After all it is often said, when a door is closed, another one opens right up. Open source organisations are that other door. 

We all know that open source companies are immensely reliant on the contributions of its community. Majority of the upgrades and improvements are because there are contributors all over the world making them happen and that is how open source companies grow.

Now, coming to the economically difficult times and unemployment, when a coder or a designer loses his job, he has more time on his hands. So, what can he do with that time? Can he direct it towards finding ways to improve his skill set by working on open source platforms? He sure can. Along with honing his skills, a coder will also learn about new technologies, improving his chances of getting a new job and help open source in providing a better user experience. A win-win situation for both of them. It’s not just me who thinks that, the founder of Drupal, Dries Buytaert also believes that. In an interview with TechRepublic, he said that when developers get unemployed during economic slumps, they “participate in open source as a way to develop or extend skill sets.” Read how you can get involved with the Drupal project here.

Open source experiences an increased number in its contributors during economic downfalls. It happened in 2000, in 2008 and it has happened in the 2020 Covid-19 Pandemic. To know more, check out the perks of contributing to open source projects.

Efficiently beats the pandemic 

It is true, Drupal had suffered a shortfall of almost half a million dollars during the COVID-19 crisis, the future seemed rather too bleak. However, Drupal’s community did not allow the bleakness to stretch on for long. Within a span of 30 days, the community, inclusive of organizations, both big and small, and individuals, was able to raise $500,000. From the Australian Government to the National Portal of India, Drupal users have shown consistent support for the Drupal Association and let it beat the pandemic. To know more, check out how Drupal is fighting against Covid-19 and the effects that the pandemic had on Drupal.

Other open source organisations like Confluent, Redis Labs and Cloudera have also been able to raise considerable amounts of money to support their operations in the COVID times. Instead of slowing down in an economic downturn, these organisations are thriving. Take a look at the power of open source in the time of Covid-19 to know more.

The Bottom Line 

The economic slump is indeed a battle for all of us, but I would say that open source is immune to it. The primary reason is the fact that open source is not in business for money, it is in business to help people and organisations grow and innovate by helping each other. The current market situation will only impact you when your business is reliant on its flourishments, however, open source does not need it to be in its pristine state. So, whether there is an economic downturn or not, open source will continue to grow.

blog banner blog image Open Source Drupal Covid-19 Coronavirus Blog Type Articles Is it a good read ? On

Oliver Davies: Upgrading the Dransible project to Drupal 9

2 weeks 3 days ago
Upgrading the Dransible project to Drupal 9 opdavies 5th September 2020

This week I gave a new talk on upgrading to Drupal 9 for the Drupal NYC meetup. Whilst preparing for that, I decided to upgrade my Dransible example project that I use for my Ansible and Ansistrano talk to Drupal 9 and document the process.

Whilst the steps taken are in the slides for that talk, here is the full list of steps that I took including the Composer commands.

Updating from Drupal 8.8 to 8.9

To begin with, let's update to the latest version of Drupal 8 so that we can do some testing and see all of the latest deprecation notices before moving to Drupal 9.

  1. Remove Drush temporarily using composer remove drush/drush as it will cause us being stuck on Drupal 8.9.0-beta2 rather than a newer, stable 8.9 version.
  2. Update ^8.8 to ^8.9 in composer.json for drupal/core-recommended, drupal/core-dev and drupal/core-composer-scaffold, and run composer update drupal/core-* --with-dependencies to update core to 8.9.5.
  3. Re-add Drush so that it's present for the deployment by running composer require drush/drush:^9.
Preparing for Drupal 9
  1. Add the Upgrade Status module by running composer require drupal/upgrade_status.
  2. Upgrade to Drush 10 by running composer require drush/drush:^10.
  3. Remove the Config Installer module by running composer remove drupal/config_installer. This is no longer needed since Drupal 8.6, and there will be no Drupal 9 version.
  4. Update the Admin Toolbar module to 2.3, a Drupal 9 compatible version, by running composer update drupal/admin_toolbar.

As I'd previously updated the Simple Message custom module to be Drupal 9 compatible (adding the core_version_requirement key to the info.yml file, and removing usages of deprecated code), no changes needed to be made to that.

Upgrading to Drupal 9
  1. Update ^8.9 to ^9.0 for the core packages in composer.json, and run composer update drupal/core-* --with-dependencies to update to 9.0.5.
  2. Re-add Drush by running composer require drush/drush. This will install Drush 10 by default.
Post upgrade

Although everything seemed to have updated OK locally, there were some errors when running a deployment to the Vagrant virtual machine that needed to be addressed, as well as some post-upgrade housekeeping steps to perform.

  1. Fix the deployment error by adding the Symfony Configuration component as a dependency by running composer require symfony/config:^4.
  2. Alias Drupal\Core\Messenger\MessengerInterface to messenger in simple_message.services.yml to fix the autowiring error.
  3. Add settings["config_sync_directory"] to settings file variables (this will be added automatically in the next version of the Drupal settings Ansible role).
  4. Remove the Upgrade Status module by running composer remove drupal/upgrade_status, as it's no longer needed.

And that's it! The Dransible demo project is upgraded, and if you see my Ansible deployments talk in the future, the demo site will be running on Drupal 9.

If you want to see the original pull request, it's at https://github.com/opdavies/dransible/pull/7.

Tags Composer Dransible Drupal Drupal 9 Drupal Planet PHP

Chapter Three: A review of multiple site architecture options in Drupal

2 weeks 4 days ago

Oftentimes projects need a way to serve multiple domains from the same installation or from the same codebase. In Drupal we have several ways to accomplish this, and this post will describe some architecture options that make this possible, as well as the relevant factors that can help you decide which option provides the best ‘fit’ for the implementation.

We’ll be looking at four distinct implementation choices: Classic Drupal Multisite, Domain Access or Mega Site, Distribution Profile, and an offshoot of the distribution profile called Custom Upstream.

Drupal.org blog: Developer Tools Initiative - Part 7: Update on the Merge Request Beta

2 weeks 4 days ago

As you’ve probably heard - merge requests via GitLab are finally here on Drupal.org.

On July 13th, the week of DrupalCon Global, we began the beta process allowing projects to opt in to using issue forks and merge requests. More than 100 projects have opted in so far. We’re getting close to enabling issue forks and merge requests for all projects, but we have a few more steps to go. In particular, we want to make sure that core contributors can test issue forks and merge requests for core.

As part of the beta program, we’re going to enable these features on specific core issues - nominated by core contributors as good issues to test these features.

Are you a core contributor who would like to try the new workflow on an issue?

Nominate your issue for the merge request beta

Contributors should opt-in issues which are:

  • Well-scoped.
  • Likely to be completable in days or weeks, rather than weeks or months.
  • Issues with enough complexity to exercise the forks and merge request system.
  • Issues that they themselves intend to work on.

Once these core contributors have signed off on the issue fork/merge request workflow - we’ll be enabling these features across all projects.

Keep your eye on this blog for further updates!

… one more thing

Tugboat.qa (a new venture by Drupal Association Supporting Partner Lullabot) are donating an enterprise license of their tool, which generates automated deployment previews of software. We’re going to be enabling this for core issues as part of our beta process as well, to see if these development previews can help accelerate core contribution, and what resources this tool might require in our infrastructure. Our thanks to Lullabot for the partnership!

OSTraining: OSTips - Add CSS & Javascript to Your Drupal Site

2 weeks 4 days ago

So you're a Drupal 8 site builder, and you don't have access to the theme, but you need to test out some CSS or JavaScript to see if it's going to work just the way you want. Well, I have a solution for you.

In this episode, I want to talk to you about a terrific module called Asset Injector that can be used to add CSS & Javascript to your Drupal site without having to access the theme or mess with a lot of code.

Let's take a look!

OpenSense Labs: Cognitive accessibility in web design

2 weeks 4 days ago
Cognitive accessibility in web design Tuba Ayyubi Fri, 09/04/2020 - 19:19


In this increasingly growing digital age, people are using the internet for education, business, and whatnot. The internet is filled with opportunities to read and learn online and start something new. Websites and apps provide personalized experiences to their users to make them feel special and create a bond with the brand.

The only thing that we sometimes forget to consider is that there are people out there who face challenges, or, in other words, are showing cognitive disability. Such situations push people towards losing their understanding of a lot of things that include even being unable to read or write.

People with cognitive differences have far more difficulty in doing a mental task when compared to an average person. When surfing online, accessibility for people with cognitive disabilities is a major concern. A lot of the content is very difficult to understand for such an audience. There are a lot of things that the designers can do to improve the cognitive accessibility in web design.

Before we get to what needs to be done, let’s understand some important kinds of cognitive disabilities.

Cognitive disabilities and skills    

While designing a web page, people mostly consider designing something accessible to blind people. But we need to understand that there is a lot more than that. Cognitive psychology is something that we, most often than not, don’t take cognisance of.

Cognitive disabilities can be classified in two ways: functional disabilities and clinical disabilities. Clinical disabilities include dementia, severe brain injuries, autism, dyslexia, and down’s syndrome. This classification of cognitive disabilities is useful for the treatment process, which makes the functional classification of cognitive disabilities more useful, in terms of web accessibility. Functional disabilities include anxiety, depression, inattention, reading issues, etc. Let’s have a look at some of them:


None of us realize this, but there are a lot of people who suffer from anxiety around us. Anxiety can be a feeling of worry from something that happened at the office, or home or even before taking a test or a difficult decision. But anxiety disorders are more than the temporary worry of fear. They do not go away easily and worsen over time. According to a report, 19.1% of adults suffer from anxiety disorders.

Users with anxiety disorders might get worried if they are going on the right way and doing the right thing when they visit your website. You need to make their experience a good one by reassuring them that it is ok if they do something wrong. This will help in reducing stress and the users won’t leave the website in the middle.


Attention Deficit Hyperactive Disorder (ADHD) is a common disorder in children and can continue to adolescence and adulthood. Reports say that 4.4% of adults suffer from ADHD. This disorder makes it difficult for a person to pay attention to anything. 

If there is too much design on a page, the person will not be able to focus on what he needs to focus on. For example, if a user suffering from inattention opens a webpage to read an article, and finds a lot of videos and images around it, it will be difficult for people to focus and read the article. Thus, minimizing distractions around the content is a good option. The second thing you can do is give an option for switching these elements off if the user doesn’t like them.


Depression has become very common among young adults and is a major disorder. Around 6.7% of adults are the victims of depression. For such people, any day can be a bad day.

We don’t think about people with depression while designing. There are a lot of things that we need to keep in mind, like not letting the users checkout as a guest or asking the user to sign up to view your content. Users with depression will not even look at your content if you make such mistakes.

Memory loss

There are three types of memory disorders: Immediate, Short term, and Long term. Some people suffer with either one or even all the three at once. According to the World Health Organization, 50 million people have dementia world wide. 

People with memory disorders even forget why they landed on a particular page in the first place. If a particular web page shows a lot of messages and pop-ups at the same time or simultaneously, the user will end up forgetting all of them. In such cases, you should make sure you do not load the user with too many messages at once.

Reading disorders

Dyslexia is a reading disorder where people have difficulty understanding the text. In severe cases, people lose the ability to read. According to the Dyslexia centre of Utah, 70-80% of people with poor reading skills are likely dyslexic. Designers must keep in mind to keep their content and design as simple as possible for the people with such disabilities and make sure that it is understandable by them.

Problem-solving disorders

People who suffer from problem-solving disorders find themselves getting frustrated easily and this leads to the user leaving the page. For example, a broken link on the page would lead them to nowhere and will not get them what they are trying to find and this will lead to frustration.

Visual comprehensive disorders

People with a visual comprehensive disorder face difficulty in interpreting visual information. According to the Advanced Vision Therapy Centre, 25% of all children in the US have a vision problem that affects learning. They have a hard time telling the difference between two objects that look similar. Such people also have language-based learning disabilities.

Web design considerations for improving cognitive accessibility

It is important to have an understanding of the cognitive disabilities to make technology accessible for people with disabilities. To enhance the web experience for people with cognitive disabilities, you need to consider the following design tips:

Consistent Navigation

The users should be able to navigate and find content easily when they visit your webpage. The first thing that the user observes is the page title. The title should be about the content and the users should be able to understand what your content is talking about by having a look at it. Make sure that the headings and the subheadings are clear. 

People who are slow readers or have a short term memory problem can get a clear understanding of what the content under a heading will be. So we need to make sure that our content is findable and the website is navigable. 

People do not like to go from page to page to find what they are looking for. So making the content easily accessible for the users by giving a search function, or creating a content table or a site map. All your content should be in order. People with inattention and slow motor issues find the problem in focusing if the content is not in a particular order.

Allow users time

People with cognitive disabilities require more time to read content and thus giving them a limited time to buy a particular product might freak them out. Also, getting logged out after a particular amount of time, say 30 minutes also drives users away.

The users should be able to adjust the time that is allowed for a login session. An alert should be sent to the users 20-30 seconds before the session times out and they should be able to pause it for a particular amount of time by the simple press of a button.

Write clear content

Long and ambiguous phrases should be avoided and simple short and unambiguous phrases should be used. People with cognitive disabilities find problems in reading complex sentences. Try to avoid non-literal content such as metaphors or sarcasm. The content should be readable and understandable. If a particular phrase is used to define one or more things, explain each use. 

If using abbreviations, make sure you define them because people with limited memory and difficulty in decoding words will easily get confused by them. Your content should be easily adaptable and presented in different ways without letting it lose its meaning and structure. To know more, read these tips on publishing accessible content.

Use supplemental formats

People have difficulty understanding words and sentences. In such cases, we must try to present our message with the help of images and videos or gifs as much as possible. But this does not mean that you will fill your page with such a format. Make sure that the images or the videos are minimal and can give the users the required information.

Web pages should appear in predictable ways

The navigation, as we discussed, should be easier for the user. In the case of people with cognitive disabilities, consistency in the website is important. Any kind of change in context can lead to confusion among the users. Hence, the users should be allowed to activate a feature to change context. Alternative text for icons and images, icons with text consistency in button labels are a great help to all your users. 

Help users in avoiding and correcting mistakes

We all make mistakes and move on. But people with cognitive disabilities make mistakes, get terrified by making mistakes, and take a lot of time in correcting them.

If there is an error from the users’ end, send a clear message that notifies them of the error as specifically as possible. Some people might have difficulty in understanding the text version, for such people include colors and icons that relate to your message.

Include spell checking, text, and link suggestions to the users while they sign up or fill a form. Providing an example if a particular data format is required, will help the user input text easily and without making any errors.

Check out this ultimate guide on how to plan for accessibility in web development.


There is still a need for cognitive disabilities to be talked about. Little things affect both your users and you. Considering all these tips mentioned above, try to involve as much of them as possible while designing a web page to provide an unforgettable experience and a different kind of bond with your users. Send us an email at [email protected] for taking your brand to the next level!

blog banner blog image Cognitive disabilities cognitive differences Disabilities Web Accessibility Blog Type Articles Is it a good read ? On

Mediacurrent: Mediacurrent Joins the Netlify Agency Partner Program

2 weeks 5 days ago

Mediacurrent is at the forefront of what’s next for the future of decoupling Drupal. We’re excited to team with Netlify to bring the modern Jamstack architecture to customers for better performing websites and web applications. By joining the Netlify Agency Partner Program, together we’re continuing our commitment to deliver transformative digital experiences to customers and run web projects at a global scale.

Delivering Modern Jamstack Websites and Web Applications

Jamstack, pioneered by Netlify, is a web architecture to make the web faster based on decoupling the front end pages from the back end apps and databases that enables site prerendering and global delivery. Netlify provides a platform to enable the Jamstack with modern build workflows, serverless functions, and a global multi-cloud edge network to deliver better performing, more secure, and scalable websites and applications. Netlify helps developers and teams to be productive, agile, and responsive to change throughout the project lifecycle and to deliver performant, dynamic digital experiences.

“Jamstack is an approach to build for the web that has generated a large global community and movement over the past five years,” said Sarfaraz Rydhan, director of partner ecosystem, Netlify. “Netlify is focused on bringing this community together and enabling the benefits of Jamstack with its platform alongside partners and customers. Working with Mediacurrent as a member of our agency partner ecosystem helps our combined customers to achieve their digital and web goals faster. We look forward to working with them to bring the benefits of productivity, performance, and speed to customers’ websites and web apps.”

A decoupled architecture can be a great approach for sites that require functionality beyond what Drupal normally supports. Organizations keep the best-in-class authoring experience of Drupal while adding the website performance, streamlined developer workflows, and design flexibility that comes with a Jamstack site. Learn more about our decoupled approach for MagMutual.com and the city of Sandy Springs.

To join the Netlify Agency Partner program, agencies apply and demonstrate understanding of the Jamstack architecture and Netlify’s platform. Netlify agency partners have the opportunity for deeper levels of collaboration with Netlify on their projects. As part of this agency program, partners can offer the full suite of Netlify features and products to customers.

Is decoupled Drupal right for your site?

Contact us today to learn more about decoupled architectures and whether it is the right approach for your organization.

Smile: Manage your documents on your DMS from Drupal using CMIS API module

2 weeks 5 days ago


The requirement


In a majority of cases, document (and on a bigger picture, media) management is done on Drupal directly. Especially now that there are the Media and Media Library modules in Core, media management in Drupal has received a lot of improvements during the last years.


But sometimes, you need to be able to connect to a DMS (document management system) for one or several of the following reasons:

  • The tool is already in place into your customer’s information system architecture.
  • This allows you to delegate access control management on documents to this external

Cheeky Monkey Media: WordPress vs Drupal Showdown

2 weeks 6 days ago
WordPress vs Drupal Showdown treena Wed, 09/02/2020 - 12:00 Introduction

In today’s technology era, now is the time to have an engaging online presence. As of 2020, there are over 1.74 billion websites on the internet, with more being updated and created each day. Selecting the right Content Management System(CMS) is one of the most important decisions to make for your business.

A CMS is a software tool that allows you and your team to create, edit, and publish content to the internet. It is the best online tool to help your business to create brand awareness, trust, and grow revenue. 

Choosing a CMS is no easy feat. There are dozens of CMS’s available for businesses to choose from, most notably Drupal or WordPress. It is important to put some thought into the website starting with the CMS. Taking into consideration your business growth, scalability, content strategy, and budget.

2 hours 17 minutes ago
Drupal.org - aggregated feeds in category Planet Drupal
Subscribe to Drupal Planet feed