Drupal

Simple XML News Sitemap

New Drupal Modules - 2 August 2019 - 12:04pm

This module adds a new sitemap type which is compliant with the guidelines for Google News

It is an extension to the Simple XML Sitemap module which is required.

Categories: Drupal

Select2 ALL THE THINGS!

New Drupal Modules - 2 August 2019 - 11:58am

Applies the Select2 library to all select fields on the site similar to the Chosen module.

Categories: Drupal

Hook 42: Meetings Recap - July 29th -31st, 2019

Planet Drupal - 2 August 2019 - 11:27am
Meetings Recap - July 29th -31st, 2019 Will Thurston-… Fri, 08/02/2019 - 18:27
Categories: Drupal

Agaric Collective: Writing your first Drupal migration

Planet Drupal - 2 August 2019 - 10:16am

In the previous entry, we learned that the Migrate API is an implementation of an ETL framework. We also talked about the steps involved in writing and running migrations. Now, let’s write our first Drupal migration. We are going to start with a very basic example: creating nodes out of hardcoded data. For this, we assume a Drupal installation using the standard installation profile which comes with the Basic Page content type.

As we progress through the series, the migrations will become more complete and more complex. Ideally, only one concept will be introduced at a time. When that is not possible, we will explain how different parts work together. The focus of today's lesson is learning the structure of a migration definition file and how to run it.

Writing the migration definition file

The migration definition file needs to live in a module. So, let’s create a custom one named ud_migrations_first and set Drupal core’s migrate module as dependencies in the *.info.yml file.

Now, let’s create a folder called migrations and inside it a file called udm_first.yml. Note that the extension is yml, not yaml. The content of the file will be:

type: module name: UD First Migration description: 'Example of basic Drupal migration. Learn more at https://understanddrupal.com/migrations.' package: Understand Drupal core: 8.x dependencies: - drupal:migrate

The final folder structure will look like:

id: udm_first label: 'UD First migration' source: plugin: embedded_data data_rows: - unique_id: 1 creative_title: 'The versatility of Drupal fields' engaging_content: 'Fields are Drupal''s atomic data storage mechanism...' - unique_id: 2 creative_title: 'What is a view in Drupal? How do they work?' engaging_content: 'In Drupal, a view is a listing of information. It can a list of nodes, users, comments, taxonomy terms, files, etc...' ids: unique_id: type: integer process: title: creative_title body: engaging_content destination: plugin: 'entity:node' default_bundle: page

YAML is a key-value format with optional nesting of elements. They are very sensitive to white spaces and indentation. For example, they require at least one space character after the colon symbol (:) that separates the key from the value. Also, note that each level in the hierarchy is indented by two spaces exactly. A common source of errors when writing migrations is improper spacing or indentation of the YAML files.

A quick glimpse at the file reveals the three major parts: source, process, and destination. Other keys provide extra information about the migration. There are more keys that the ones shown above. For example, it is possible to define dependencies among migrations. Another option is to tag migrations so they can be executed together. We are going to learn more about these options in future entries.

Let’s review each key-value pair in the file. For id, it is customary to set its value to match the filename containing the migration definition, but without the .yml extension. This key serves as an internal identifier that Drupal and the Migrate API use to execute and keep track of the migration. The id value should be alphanumeric characters, optionally using underscores to separate words. As for the label key, it is a human readable string used to name the migration in various interfaces.

In this example we are using the embedded_data source plugin. It allows you to define the data to migrate right inside the definition file. To configure it, you define a data_rows key whose value is an array of all the elements you want to migrate. Each element might contain an arbitrary number of key-value pairs representing “columns” of data to be imported.

A common use case for the embedded_data plugin is testing of the Migrate API itself. Another valid one is to create default content when the data is known in advance. I often present introduction to Drupal workshops. To save time, I use this plugin to create nodes which are later used in the views creation explanation. Check this repository for an example of this. Note that it uses a different directory structure to define the migrations. That will be explained in future blog posts.

For the destination we are using the entity:node plugin which allows you to create nodes of any content type. The default_bundle key indicates that all nodes to be created will be of type “Basic page”, by default. It is important to note that the value of the default_bundle key is the machine name of the content type. You can find it at /admin/structure/types/manage/page In general, the Migrate API uses machine names for the values. As we explore the system, we will point out when they are used and where to find the right ones.

In the process section you map columns from the source to node properties and fields. The keys are entity property names or the field machine names. In this case, we are setting values for the title of the node and its body field. You can find the field machine names in the content type configuration page: /admin/structure/types/manage/page/fields. Values can be copied directly from the source or transformed via process plugins. This example makes a verbatim copy of the values from the source to the destination. The column names in the source are not required to match the destination property or field name. In this example they are purposely different to make them easier to identify.

You can download the example code from https://github.com/dinarcon/ud_migrations The example above is actually in a submodule in that repository. The same repository will be used for many examples throughout series. Download the whole repository into the ./modules/custom directory of the Drupal installation and enable the “UD First Migration” module.

Running the migration

Let’s use Drush to run the migrations with the commands provided by Migrate Run. Open a terminal, switch directories to Drupal’s webroot, and execute the following commands.

$ drush pm:enable -y migrate migrate_run ud_migrations_first $ drush migrate:status $ drush migrate:import udm_first

The first command enables the core migrate module, the runner, and the custom module holding the migration definition file. The second command shows a list of all migrations available in the system. Only one should be listed with the migration ID udm_first. The third command executes the migration. If all goes well, you can visit the content overview page at /admin/content and see two basic pages created. Congratulations, you have successfully run your first Drupal migration!!!

Or maybe not? Drupal migrations can fail in many ways and sometimes the error messages are not very descriptive. In upcoming blog posts we will talk about recommended workflows and strategies for debugging migrations. For now, let’s mention a couple of things that could go wrong with this example. If after running the drush migrate:status command you do not see the udm_first migration, make sure that the ud_migrations_first module is enabled. If it is enabled, and you do not see it, rebuild the cache by running drush cache:rebuild.

If you see the migration, but you get a yaml parse error when running the migrate:import command check your indentation. Copying and pasting from GitHub to your IDE/editor might change the spacing. An extraneous space can break the whole migration so pay close attention. If the command reports that it created the nodes, but you get a fatal error when trying to view one, it is because the content type was not set properly. Remember that the machine name of the “Basic page” content type is page, not basic_page. This error cannot be fixed from the administration interface. What you have to do is rollback the migration issuing the following command: drush migrate:rollback udm_first, then fix the default_bundle value, rebuild the cache, and import again.

Note: Migrate Tools could be used for running the migration. This module depends on Migrate Plus. For now, let’s keep module dependencies to a minimum to focus on core Migrate functionality. Also, skipping them demonstrates that these modules, although quite useful, are not hard requirements for running migration projects. If you decide to use Migrate Tools make sure to uninstall Migrate Run. Both provide the same Drush commands and conflict with each other if the two are enabled.

What did you learn in today’s blog post? Did you know that Migrate Plus and Migrate Tools are not hard requirements for Drupal migrations projects? Did you know you can place your YAML files in a migrations directory? What advice would you give to someone writing their first migration? Please share your answers in the comments. Also, I would be grateful if you shared this blog post with your friends and colleagues.

This blog post series, cross-posted at UnderstandDrupal.com as well as here on Agaric.coop, is made possible thanks to these generous sponsors. Contact Understand Drupal if your organization would like to support this documentation project, whether the migration series or other topics.

Read more and discuss at agaric.coop.

Categories: Drupal

Electric Citizen: Mastering Drupal 8 Multilingual: Part 1 of 3

Planet Drupal - 2 August 2019 - 9:08am

The web is constantly growing, evolving and—thankfully—growing more accessible and inclusive.

It is becoming expected that a user can interact with a website solely via keyboard or have the option to browse in their native language. There are many ways to serve the needs of non-native-language users, but one of the more robust is Drupal Multilingual.

Unlike 3rd party translation plugins like Google Translate or browser translation tools, Drupal's suite of core Multilingual tools allows you to write accurate and accessible translated content in the same manner as you write in your default language content. With no limit on the number languages, settings for right-to-left content, and the ability to translate any and all of your content, Drupal 8 can create a true multi-language experience like never before.

There is, however, a bit of planning and work involved.

Hopefully, this blog series will help smooth the path to truly inclusive content by highlighting some project management, design, site building, and development gotchas, as well as providing some tips and tricks to make the multilingual experience better for everyone. Part one will help you decide if you need multilingual as well as provide some tips on how to plan and budget for it.

Categories: Drupal

Domain based fields

New Drupal Modules - 2 August 2019 - 9:07am

This module provide additional functionality to the admin user or management for accessing fields based on domain.

The main functionality of this module to provide an admin interface from which we have to set particular fields based on the active domain for editing and / or adding node content.

You must have the Domain Access module enabled to use this module. This has only been tested against the latest Domain Access module, version, 7.x-3.16.

Categories: Drupal

Lionbridge Content API Test

New Drupal Modules - 2 August 2019 - 8:41am

This project is for testing only

Categories: Drupal

Avatar Field Formatter

New Drupal Modules - 2 August 2019 - 8:18am

This is an image field formatter, which inherited settings from the build-in default image field formatter in the Drupal core, acts the same as the built-in one, but if the image does not exist, display an avatar letter generated instead. The letter depends on the account's display name.

Dependencies

https://github.com/laravolt/avatar, install it by composer

Categories: Drupal

EntityReference Selection and Validation

New Drupal Modules - 2 August 2019 - 7:17am

This module adds an entityreference selection plugin that allows to select different selection plugins for selection and validation.

Example use cases:

Categories: Drupal

Entity Version

New Drupal Modules - 2 August 2019 - 2:49am

Entity version allows to attach version number to content entity revisions that helps content editors to understand the evolution of the content item. Versions are composed of major, minor and patch numbers that can be changed manually or by third party modules.

The module ships the "Entity version workflows" sub-module that allows to configure and control version numbers through workflow state transitions.

Categories: Drupal

Agiledrop.com Blog: Recap of Acquia's webinar on the Digital Experience Platform

Planet Drupal - 2 August 2019 - 12:27am

We wrote up a recap of Acquia's webinar on digital experience platforms held on July 31st. Check it out to get a head start on the future digital experience of your brand or company.

READ MORE
Categories: Drupal

Smart Content IP Location

New Drupal Modules - 1 August 2019 - 11:50pm

Smart Content IP Location is a connector module to allow geo location fields available through Extreme-IP-Lookup web API to be used as
conditions in Smart Content.

Categories: Drupal

Requirement

New Drupal Modules - 1 August 2019 - 11:43pm

Provides modules a way to declare configuration requirements and suggestions.

Categories: Drupal

Tandem's Drupal Blog: Drupal 8 Search API Solr + Lando + Platform.sh

Planet Drupal - 1 August 2019 - 5:00pm
August 02, 2019 Setting up Solr is quick and fairly painless with Lando. This guide shall bring you to the promise land. Why Use Solr? We have a large enterprise client that has a tens of thousands of nodes. We originally setup the site to use Search API via the database. This worked but it was painfully slow on most searches. I knew that we ...
Categories: Drupal

Palantir: Leading Children’s Hospital in the Southwest

Planet Drupal - 1 August 2019 - 4:54pm
Simplifying the complexities of access to family healthcare On

Our client is one of the largest children’s hospitals in the country. With a medical staff of nearly 1,000 pediatric specialists, this hospital provides world-class inpatient, outpatient, trauma, emergency and urgent care allowing for the most comprehensive pediatric services available in their state. This healthcare delivery system and network provides health services across more than 75 pediatric specialties and is poised for continued growth in quality patient care, research and medical education.

The hospital’s former website was extremely information-dense with thousands of pages of mostly text-based content and complex and somewhat non-intuitive navigation. Important information was buried deep in the site. The search functionality needed to be improved to sort, filter, and categorize critical results. Additionally, there were many practice sites and microsites that had been developed by different hospital departments over time that needed to be brought back under a unified architecture.

The Vision

The vision for this redesign project was clear: to simplify the complex pediatric medical care process by providing families and people in need with clear and concise information about the hospital’s health care services.

Palantir planned our approach based on the following goals:

  • Increase engagement via an improved patient experience.
  • Reinforce the hospital’s credibility and their national reputation for excellence in specialty care.
  • Provide trustworthy health information within a convenient environment.
  • Provide educational materials for anyone needing to learn about a disease or diagnosis.
  • Improve content management efficiency.
Frictionless Access to Healthcare

A key objective of this site is to help visitors easily get access to care for their families. All types of content on the site should have strong calls to action for a visitor to request an appointment or make other decisions that could lead to them getting the care they or their family need. Less friction in the process allows for a larger number of people to choose the hospital for treatment.

Our client was able to optimize the content on their site and take the site from 10,000 pages down to 900 pages. Paired with their new increased search functionality, site visitors in need of finding critical healthcare information can now do so more quickly and with greater ease.

The redesign has led to increased conversion for:
  • Online Appointment Form Submission Requests
  • Patient Referrals
  • The Find A Doctor Journey
  • Usage of the Patient Portal
  • Subscriptions to Newsletters
The Palantir Approach

All of the overall goals for our client’s redesign tied back to one thing: optimizing their content and navigation. This project was broken out into two phases to address content strategy and modeling first that could then set the path for the design and build phase.

Phase 1: Strategic Focus, Content Audit, and Content Modeling

An important part of the strategy phase was to complete a massive site audit in partnership with another agency who helped out with copywriting. The old site had over 10,000 pages and many of those pages had low engagement. The overall plan was to analyze our client’s existing content and remove any content that site users weren’t looking for or finding relevant.

The first phase took about 10 weeks and resulted in a content model for key page types. Each page type included an evaluation of the content on the site as it was, as well as strategic recommendations for how the page type would be used in the future. Four of these page types were then wireframed. By building out content types directly in their content management system, Drupal (as opposed to organizing content in a spreadsheet), the client team was able to see how their content would be displayed.

Phase 2: UX, Design, and Build

As soon as the first phase was complete, the second phase began with solidifying the content model, creating and implementing a design system, as well as building and launching the site.

Our goal was to design a solution that showcases the cutting-edge research and innovation at the hospital. We did this with the use of modern design treatments that takes a visual spin on words with dynamic shapes, creating a captivating first impression, and setting them apart from their competition.

The look and feel captures the vibrant and playful spirit of the hospital with an energetic and uplifting color palette that creates a sense of hope for patients and families and elevates our client’s online brand presence. The use of authentic, non-stock imagery communicates a warm and caring environment that is paramount to their mission of providing the best possible care for patients and their loved ones.

The design components are simple and clean but unique in composition and layout. Though there are bold colors and images, the information is communicated in a clear and concise way which allows users to take action along their intended journey. The use of subtle interactions highlights content that educates and instructs, driving more patient engagement.

Find a Doctor

Researching and finding the right doctor to see or treat your child is a crucial step in ensuring good care for your child. Our client wanted to make its database of physicians available for the public to search and aggregate physician information with ratings and other key pieces of information to help empower patients and parents.

Palantir built a framework for merging in complex data from multiple sources in Drupal to provide an intuitive, sleek search interface that allows users to sift through huge quantities of data to find exactly what they’re looking for. By pulling key pieces of information in from externally-managed systems, we were able to lower the workload on the marketing team necessary to keep the physician directory up to date and accurate as physicians, credentials, insurance, and location information change over time.

Search Strategy

Palantir defined personas for the various site audiences. The site needed to be able to surface relevant content for teens, parents, physicians, and people in crisis situations. We tested wireframes in-depth and performed chalkmark tests around the menu structure, both of which helped make sure pathways were simple and straightforward for all audiences.

For general site search, we implemented Solr-based Acquia Search, which provided more advanced capabilities than the standard Drupal search functionality. Palantir added recommended results, so if there is something our client wants to bump to the top of search results based on a specific keyword, they now have that ability. For example, if a user were to search for the term “cancer,” our client can now make sure that results for the oncology department get bumped to the top of the results list.

Connection and Conversion

Our client is passionate about connecting its collaborative network of providers to patients and parents who are just as eager to find the right kind of care. Through this network, they are able to achieve their mission. Their new digital presence will allow them to iterate and expand on the ways they are able to meet the needs of their community for years to come.

Major Outcomes
  • An increase in awareness and conversion through “Find a Provider” flows.
  • Users can make effective choices as they weigh convenience, cost, and quality by displaying available appointment times, making pricing transparent, and using geolocation to surface nearby facilities.
  • New or returning patients can easily request an appointment by surfacing contextual calls to action and enabling system-wide scheduling.
  • Simple forms eliminate existing pain points, minimizing the amount of information initially required as input.
  • Robust provider profiles inspire confidence and trust. When available, we included personal statements, videos, ratings, and testimonials that appeal to customers’ emotions and values.
Categories: Drupal

Requirements

New Drupal Modules - 1 August 2019 - 3:31pm

This module has been moved to https://www.drupal.org/project/requirement.

Categories: Drupal

Ramsalt Lab: Annoy only EU citizens with your GDPR cookie banner

Planet Drupal - 1 August 2019 - 12:49pm

Written by Sven Berg Ryen, Leader of the GDPR audit team at Ramsalt Lab

EU Cookie Compliance, one of the top 100 Drupal modules, is a Drupal module that offers a cookie consent banner with various features, making it more convenient for your site to become GDPR compliant. GDPR is the new data privacy regulation that came into effect on 25 May 2018 and it sets out to bolster the rights citizens of the EU have over their data which is held by companies. Ramsalt Lab is currently supporting the module development as part of our GDPR audit services.

According to GDPR, if you have any traffic from EU citizens on your site, you need to ask for consent before you, or third party scripts, process any of their personal data.

This is all very well, you can ask for consent first, and then only use the visitor’s private data if they consent, but under GDPR you’re required to do so only when the visitor is an EU or EEC citizen. That still leaves billions residents outside of the EU where privacy laws may not require consent (one could argue whether this is good or bad) for storing cookies that identify individuals. Wouldn’t it be nice if you can comply with EU regulations and at the same time not pester those outside of the area where GDPR is enforced?

Luckily, EU Cookie Compliance has a feature to the rescue. It can first check whether the user resides in the countries that GDPR affects, and then display the banner accordingly, only when applicable.

So the technical parts

To achieve this, you need an additional addon; either the Smart IP or geoIP modules - or the geoIP PHP library. It may be easiest to use the module route, since adding the PHP library may not be feasible on your hosted server or cloud solution.

We will here use Smart IP, since that’s the only module that the Drupal 8 version of EU Cookie Compliance supports. There is now also a beta version of GeoIP available for Drupal 8, so at some point, EU Cookie Compliance may support GeoIP also in the 8.x module version. You can follow this issue for the progress.

The option to show the banner only to EU countries can be found near the bottom of the module settings page. A notification can be seen when the Smart IP module is not enabled.

Enabling and setting up the Smart IP module

Install and enable the Smart IP module, using your preferred technique (such as composer/drush or direct download from drupal.org). In Drupal 8, you also have to enable a Smart IP data source module.

The Drupal 8 module gives you to the following geolocation lookup options:

  • Free and licensed geolocation files from ip2location.com (signup required to get access to the free version). For the purposes of this module, you only need the DB1 database, with coverage of countries. Attribution is required when you use the free database.
  • Geolocation service from ipinfodb. A free API is available. You are however limited to 2 requests per second, and will be blacklisted if you exceed that limit. Also, the service limits you to lookup requests from one server IP only, which may not be ideal if you’re planning to test the service from your localhost. Note that the module utilizes the ip-city endpoint, and not the faster ip-country one. Sign up to get an API key.
  • MaxMind GeoIP2. A free database is available, updated on the first Tuesday of each month. No signup is required to use the free version, though attribution is required.
  • MaxMind GeoIP2 Precision API service offering lookup at the country level at $0.0001 per request. A free trial is available.

Some fallback options are available, and will be accessible if the headers exist in the web page query when you open the configuration page (which means they may not be available on your localhost, but could be available on your server).

  • Cloudflare headers
  • The mod_geoip module in Apache
  • Nginx headers

The Drupal 7 version of Smart IP offers all of the above and in addition some legacy lookup services.

We will be using the Smart IP MaxMind GeoIP2 binary database, because it has a free version of the database that will automatically be updated once a month on cron run. In other words, you need to enable the smart_ip_maxmind_geoip2_bin_db submodule (part of smart_ip).

Configuring Smart IP for GDPR

After having enabled the required modules, head over to /admin/config/people/smart_ip.

Select the “Use MaxMind GeoIP2 binary database” option to see the configuration for the service. Choose the Lite database version, the Country level edition and make sure that Yes is chosen under Automatic updates.

Further down, in the second pane, configure your settings to allow geolocation lookup for all desired user roles. Then, since I guess you care about privacy, either opt to not save the user’s geolocation on account creation, or enable the feature to prevent storing location details from GDPR countries.

Scroll all the way to the bottom and press “Save configuration”. If you get an error at this point, you need to set a private file path in settings.php.

After having configured Smart IP, you need to head over to MaxMind’s website and download the GeoLite2 Country file in DB format. Then, expand the archive, grab just the file labeled “GeoLite2-Country.mmdb” and drop it into “[PATH_TO_PRIVATE_FOLDER]/smart_ip”. After you add this file manually once, the Smart IP module will take care of the automatic monthly updates.

Note: In Drupal 7, the GeoLite 2 country database is downloaded automatically when configuring the module, so there’s no need for a manual download.

Configuring EU Cookie Compliance

Next, head back to the settings for EU Cookie Compliance at admin/config/system/eu-cookie-compliance and enable the “Only display banner in EU countries” option. If your site uses any caching at all, you’ll want to enable the Javascript based option.

After enabling this feature, you will need to rebuild Drupal cache, in order for Drupal to pick up the new path that is used to determine if the user is in the EU.

Testing

Note: If you’re on an EU Cookie Compliance version prior to 8.x-1.7, you need the patch from this EU Cookie Compliance issue in order for the debug feature in Smart IP to work. The Drupal 7 version of EU Cookie Compliance doesn’t have this problem (though you should always make sure that your version is up-to-date to get the latest bug fixes and features).

This feature involves a few moving parts, so to ensure everything has been set up correctly, there’s a handy debug feature in Smart IP that can be used. This way, you can check that you are indeed displaying the banner only to European countries where GDPR legislation apply. The easiest way to check if the settings are correct is to temporarily set up debugging in Smart IP for the Anonymous user and open an Incognito window. This way you can ensure that no existing cookies are giving false assurance that the feature is working.

Try using a value such as 151.101.2.217 (which at the time of this article is one of the IPs for the drupal.org server, situated in the US). Notice that no banner is shown when you debug smart IP with this value.

Try 185.91.65.150 (the IP for the server where drupalnorge.no is hosted, which is in Norway) and the banner should appear.

After testing is completed, remember to disable debugging for the anonymous user by clearing the value on the Smart IP configuration page.

Conclusion

A little work is required to set up EU Cookie Compliance to display the GDPR cookie banner only to countries and territories where the law requires one. Resulting from this, you will hopefully have happier users.

If you need help setting up your GDPR cookie banner, or have questions about how your site can become GDPR compliant, you can always get in touch with us at Ramsalt Lab through our contact page.

Written by Sven Berg Ryen
Developer and Leader of the GDPR audit team at Ramsalt Lab


Categories: Drupal

Layout Builder Extra Templates

New Drupal Modules - 1 August 2019 - 12:37pm
Categories: Drupal

Acquia a leader in 2019 Gartner Magic Quadrant for Web Content Management

Dries Buytaert - 1 August 2019 - 10:36am

For the sixth year in a row, Acquia has been recognized as a leader in the Gartner Magic Quadrant for Web Content Management. Acquia first entered the Web Content Management Magic Quadrant back in 2012 as a Visionary, and since then we've moved further than any other vendor to cement our leadership position.

As I've written before, analyst reports like the Gartner Magic Quadrant are important because they introduce organizations to Acquia and Drupal. As I've put if before If you want to find a good coffee place, you use Yelp. If you want to find a nice hotel in New York, you use TripAdvisor. Similarly, if a CIO or CMO wants to spend $250,000 or more on enterprise software, they often consult an analyst firm like Gartner..

In 2012, Gartner didn't fully understand the benefits of Acquia being the only WCM company who embraced both Open Source and cloud. Just seven years later, our unique approach has forever changed web content management. This year, Acquia moved up again in both of the dimensions that Gartner uses to rank vendors: Completeness of Vision and Ability to Execute. You'll see in the Magic Quadrant graphic that Acquia has tied Sitecore for the first time:

Acquia recognized as a leader, next to Adobe, Sitecore and Episerver, in the 2019 Gartner Magic Quadrant for Web Content Management.

I believe we would have placed even higher had our Mautic acquisition completed a bit earlier.

In mature markets like Web Content Management, there is almost always a single proprietary leader and a single Open Source leader. There is Oracle and MongoDB. Splunk and Elastic. VMWare and Docker. Gitlab and Github. That is why I believe that next year it will be Acquia and Adobe at the very top of the WCM Magic Quadrant. Sitecore and Episerver will continue to fight for third place among companies who prefer a Microsoft-centric approach. I was not surprised to see Sitecore move down this year as they work to overcome technical product debt and cloud transition, leading to strange decisions like acquiring a services company.

You can read the complete report on Acquia.com. Thank you to everyone who contributed to this result!

Categories: Drupal

Dries Buytaert: Acquia a leader in 2019 Gartner Magic Quadrant for Web Content Management

Planet Drupal - 1 August 2019 - 10:36am

For the sixth year in a row, Acquia has been recognized as a leader in the Gartner Magic Quadrant for Web Content Management. Acquia first entered the Web Content Management Magic Quadrant back in 2012 as a Visionary, and since then we've moved further than any other vendor to cement our leadership position.

As I've written before, analyst reports like the Gartner Magic Quadrant are important because they introduce organizations to Acquia and Drupal. As I've put if before If you want to find a good coffee place, you use Yelp. If you want to find a nice hotel in New York, you use TripAdvisor. Similarly, if a CIO or CMO wants to spend $250,000 or more on enterprise software, they often consult an analyst firm like Gartner..

In 2012, Gartner didn't fully understand the benefits of Acquia being the only WCM company who embraced both Open Source and cloud. Just seven years later, our unique approach has forever changed web content management. This year, Acquia moved up again in both of the dimensions that Gartner uses to rank vendors: Completeness of Vision and Ability to Execute. You'll see in the Magic Quadrant graphic that Acquia has tied Sitecore for the first time:

Acquia recognized as a leader, next to Adobe, Sitecore and Episerver, in the 2019 Gartner Magic Quadrant for Web Content Management.

I believe we would have placed even higher had our Mautic acquisition completed a bit earlier.

In mature markets like Web Content Management, there is almost always a single proprietary leader and a single Open Source leader. There is Oracle and MongoDB. Splunk and Elastic. VMWare and Docker. Gitlab and Github. That is why I believe that next year it will be Acquia and Adobe at the very top of the WCM Magic Quadrant. Sitecore and Episerver will continue to fight for third place among companies who prefer a Microsoft-centric approach. I was not surprised to see Sitecore move down this year as they work to overcome technical product debt and cloud transition, leading to strange decisions like acquiring a services company.

You can read the complete report on Acquia.com. Thank you to everyone who contributed to this result!

Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal