Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Jul 21 2020
Jul 21

By now, the need to make digital experiences accessible to everyone has become one of the main tenets of the digital industry - if not before, then definitely in light of recent accessibility cases (e.g. Domino’s). 

Truth be told, there are a lot of reasons why everyone should prioritize accessibility, if possible from the very start of a project, as it is typically more costly (and less effective!) to make accessibility fixes later on than following accessibility guidelines from the get-go. 

This post, however, will not focus on how to make your sites and applications accessible, or on different types of disabilities and the corresponding measures. Instead, it will present the most important reasons why accessibility is good for business. Let’s get started.

1. Legal

If you work in digital, you’ve no doubt at least heard of the recent Domino’s accessibility case. While physical accessibility has been a legal need for U.S. businesses since 1990, the ubiquity of digital has necessitated that the same laws be applied to digital accessibility as well.

It was, then, the just mentioned case of Domino’s in October of last year which served as the turning point, with the U.S. Supreme Court ruling in favor of Guillermo Robles and declaring that any digital platform which is tied to a physical location providing goods or services should also comply with accessibility standards.

This means that digital accessibility is now a much less ambiguous field, and there can be serious legal repercussions for businesses that aren’t accessibility-compliant. Therefore, you should strive for at least the basic level of compliance if you want to avoid potential risks of legal action.

2. Reputation

Besides the legal ramifications, the new accessibility ruling can also greatly affect the reputation of a business. Just think about it: in the eyes of quite a lot of people, Domino’s will likely forever be remembered as the brand that argued against the basic rights of a blind man - and lost.

Luckily, just as bad accessibility practices damage your reputation, good ones can actually aid it. If you make an effort to go above and beyond to truly serve all of your customers and users, it will make your brand stand out not just in the eyes of the users that directly benefit from accessibility, but also those that most value social impact.

Conveniently, the two audiences that hold a brand’s commitment to doing things right in the highest esteem are exactly the ones that form the biggest proportion of the global consumer base: Millennials and Generation Z. 

As these customers are the ones that are most likely to abandon a brand due to exposed bad practices, delivering subpar experiences potentially means losing out on a significant percentage of customers. 

3. Inclusivity

Closely tied to the previous two reasons, inclusivity is another important factor to the importance of digital accessibility. The beauty and power of the internet lie in the fact that it is - supposedly - for everyone; every user should be able to have access to websites and web applications. 

Just imagine how you’d feel if you weren’t able to do something on the internet, something that likely most of your peers would have no problem doing, simply due to something outside your control which probably also poses certain challenges in other aspects of your life, not just the digital.

In this case, you’d definitely feel welcome and pleased that somebody has made the effort to give you the best possible experience, even if it meant working a little longer or planning a little more thoroughly.

So, in short: we have to internalize the understanding of the web being for everyone, and then design and develop our digital experiences with this always top of mind. Only then can we make sure that we’re really including all of our users. 

4. User Experience

Ultimately, accessibility is about user experience. Where UX is only focused on a user for whom it is assumed not to have any disability, accessibility doesn’t make any such assumptions. It treats all users equally, and understands that features which are intended for users with disabilities actually improve the overall user experience.

And it’s not only that the best user experience is accessible - accessibility is in fact a prerequisite for calling something a user experience. By not making sites and apps accessible, you automatically exclude a large portion of your users by preventing them from having a comparable experience to users without any disability.

There’s an interesting acronym for user experiences that only focus on some users while excluding others: SUX (Some User Experience) - and that’s exactly what it does. It sucks not to be included.

Close-up of an eye with colorful lens/overlay

5. SEO

You probably know that SEO has come a long way from the shady tactics from olden days, e.g. keyword stuffing and the like. Algorithms are constantly being tweaked, and even the SEO experts need to make a bit of an effort to keep up. 

As Google wants to deliver only the best search results to its users, search engine crawlers are also interested in the user experience of your website and rank it according to its usability. And, as we just covered under section 4, you can’t have true user experience without accessibility.

Or, to put it another way: accessibility will boost your UX, which will boost your SEO efforts, which will boost your ranking, which will improve your overall brand. This indicates a direct positive correlation between commitment to accessibility and SERP ranking. 

6. Coding standards

Another benefit of implementing accessibility from the get-go is the fact that it necessitates a strict adherence to proper coding standards. The code thus produced is overall cleaner and more performant, its being accessible is just additional value.

Using semantic HTML, structuring headings correctly, making sure that elements are focusable - these are all seemingly minor things which hence often slip under the radar, but are nevertheless essential to accessibility. 

7. It’s just the right thing to do!

The previous 6 reasons all amount to one main one: building sites and apps that are accessible is just the right thing to do! Just like you would hold open the door for your elderly neighbor who has trouble walking, you’d want to extend that same courtesy to everyone who wishes to enter your digital environment. 

And this doesn’t even have to be for ethical/moral reasons - even if business outcomes are your number one priority, you’d naturally want as many users and/or customers as possible. Preventing people from purchasing your products or using your services would be the near equivalent of shooting yourself in the foot.

Conclusion

This blog post has attempted to show the importance of accessibility and the business value of making it an integral part of design and development, rather than just a necessary but cumbersome afterthought. 

As we have pointed out, there are many aspects in which prioritizing accessibility benefits a business, ranging from legal obligation to basic compassion for other human beings. With a higher and higher focus placed on accessibility, it’s good to also be aware of the value it brings in addition to knowing the efforts and skills required to implement it. 

For those who want to learn more about accessibility standards, types of disabilities and some basic guidelines, we're also sharing the slides from a recent AgileTalk given by two of our accessibility-focused developers.

If your site is built with the Drupal CMS, check out which modules can help boost its accessibility

If you have more complicated accessibility issues you need resolved, contact us and we can craft an accessibility-focused team of developers that will help you take care of these issues.

Jul 20 2020
Jul 20

Last week, Drupalists from around the world gathered for DrupalCon Global. This DrupalCon was the first ever virtual event of this scale for the Drupal community.

As a matter of tradition, I delivered the opening keynote. You can watch a video recording of my keynote, download a copy of my slides (212 MB), or read the brief summary below.

The online conference web application showing my slides, my webcam, and real-time chat.A screenshot of the first ever virtual DriesNote. The virtual conference tool showed my slides, my webcam, and real-time chat.

I announced that we are targeting the release of Drupal 10 around June 2022.

Next, I spent the majority of my presentation proposing five strategic initiatives for Drupal 10. While it seems early to speak about Drupal 10, we need to start working on these strategic goals now to have them ready by the time Drupal 10 is released.

A slide from the DriesNote showing that the goal of the presentation is to propose five well-balanced initiatives for Drupal 10.The goal of my presentation was to propose five well-balanced initiatives for Drupal 10.

We decided to go with just five initiatives so we're more focused and because the Drupal 10 release cycle will be shorter than Drupal 9's. Selecting only five initiatives was hard, but guided by the results of the 2020 Drupal Product Survey I launched earlier in the year.

If you'd like to do your own analysis of the survey data, you can download a copy of the raw survey results (Microsoft Excel format) and look at the raw data yourself. I anonymized the data by removing the names, e-mail addresses and IP address information.

I spent 35 minutes walking the audience through the selection process. The five proposed initiatives:

  1. Drupal 10 readiness
  2. An easier out-of-the-box experience
  3. A new front-end theme (Olivero)
  4. Automated updates for security releases
  5. An official JS menu component for React and Vue

1. Drupal 10 readiness

Drupal depends on third-party software components, many of which will go end-of-life (EOL) in the next few years. When a component goes EOL, it will no longer receive security support.

The "Drupal 10 Readiness" initiative will focus on upgrading these third-party components. Not only does this keep Drupal secure, it also allows us to take advantage of any new capabilities that come with these updated components.

A slide from the DriesNote with a table that lists jQuery 3, CKEditor 4, jQuery UI, PHPUnit 8, Symfony 4, PHP 7, Composer 1, etcSome of the third-party components that need to be updated in preparation for Drupal 10.

2. Easy out-of-the-box

Improving Drupal's ease-of-use remains the number one most impactful item for the community to work on.

Drupal 9 dramatically improved Drupal's ease-of-use. Several of our most promising improvements made it very far, but still need some finishing touches. Specifically, our new Media Library, Layout Builder and Administration Theme (Claro) are not yet enabled by default.

I proposed the "Easy out-of-the-box" initiative to work towards enabling these features by default. I believe this initiative will be very impactful in terms of attracting new users to Drupal.

A slide from the DriesNote visualizing the 'Easy out of the box' as the sum of Media, Layout Builder and Claro.The 'Easy out of the box' initiative consists of finishing Media, Layout Builder and Claro.

3. Front end theme

One of the most important features to complete is our modern front end theme, Olivero. While there has been a lot of progress in this area, Olivero does not ship with Drupal yet. We want to make sure this beautiful front end theme is available by default.

A screenshot of the upcoming front-end theme called Olivero. It looks clean, modern and light.A screenshot of the upcoming front-end theme called Olivero.

4. Automatic updates

As shown by the Drupal 2020 Product Survey, by far the most requested feature is automated updates.

Fortunately, it's something we have been working on for some time. Our first milestone will be to automate security updates so all site owners can sleep well at night, no matter when security releases are taking place.

Beyond security, automated updates help us work towards our long-term vision of building a composable — or Assembed Web — architecture for Drupal.

The Automated Updates initiative requires integrity checks for Drupal core, Composer 2, package signing and a custom bootloader.The four major architectural building blocks of the Automated Updates initiative.

5. JavaScript menu component

As I have been saying for years now, many websites are evolving into personalized, omnichannel digital experiences. It's a multi-decade trend, and one of the most powerful ones in our industry.

Drupal needs to keep evolving with this trend in mind. On the back end, we need to continue to make Drupal the best structured data engine and web service platform. On the front end, JavaScript continues to grow fast. While Drupal is recognized as a capable headless or decoupled CMS, there is still more we can do.

Furthermore, the second most requested feature in the Drupal 2020 Product Survey was a more modern administration UI. These kinds of UIs are typically built using JavaScript and web service APIs. When done well, a JavaScript UI can offer major usability improvements.

Clearly, there is more than one reason to invest in web service APIs and to embrace more JavaScript in Drupal:

  1. Many of Drupal's end users are focused on building decoupled front ends and omnichannel digital experiences.
  2. Drupal could improve its own administration UI with more WYSIWYG, drag-and-drop, and other ease-of-use features.

To make a start toward improving Drupal's headless capabilities and administration UI, I proposed we start to add official Drupal JavaScript components to Drupal Core.

As a first step, I recommended implementing a JavaScript menu component in Vue and React. This would mark the first official JavaScript component in Drupal.

A slide from the DriesNote that shows a flag with the text 'Decoupled menu components' waving on the top of a mountain.'Planting the flag' for providing official JavaScript menu components for Drupal.

Developing a JavaScript menu component solves a very real problem that many front end developers face. This menu component would render a menu and could be placed in a front end JavaScript application. The content of the menu comes from Drupal. This would allow content authors and non-developers to make simple menu changes without the need for custom code.

Releasing a first official JavaScript component will require us to set up the tools and processes to manage and release JavaScript components. This will establish a pattern or recipe for more components. Once we build one component, it will be easier to add many more in parallel.

A slide from the DriesNote that shows the long path to the flag at the top of the mountain.The path to having a first official JavaScript component is longer than it may appear.

Let's do this!

A slide from the DriesNote that shows a fictitious Drupal 10 press release dated June 2022.A fictitious or forward-looking press release for Drupal 10 in June 2022.

With the release of Drupal 10 targeted for June 2022, our community has a big opportunity to make the beginner and non-developer experiences much simpler, while still keeping Drupal's power as strong as ever for experts. I believe the proposed strategic initiatives will help achieve that.

For more details, I recommend you watch the recording of my presentation.

Whether you're just getting started with Drupal or have been here for years, we want you to contribute to Drupal 10! The best way to get involved in any of these initiatives is to join their discussion channels on Drupal Slack:

  • Drupal 10 readiness: #d10readiness
  • Claro: #admin-ui
  • Olivero: #d9-theme
  • Automated updates: #autoupdates
  • JS Menu Component: #js-menu-component

Thank you to everyone who attended the very first Drupalcon Global and contributed to the event's success. Even though we were unable to meet in person, I was blown away by the energy of everyone involved, and grateful for the time to connect with old and new friends.

Jul 18 2020
Jul 18

If you use swiftmailer + simplenews, you may want to send html email with custom css.

To achieve that,you have to customise 2 twig templates.

The first template is the default template that is provided by swiftmailer: simplenews-newsletter-body.html.twig.

You can use this template to build your own email body with content you like to use. For example, in the template below, an hero image is inserted using table layout.


   
    
             {{ build }}
            
          
             {% if not opt_out_hidden %}
              {% if format == 'html' %}
                
              {% else %}
              -- {{ unsubscribe_text }} : [simplenews-subscriber:unsubscribe-url]
              {% endif %}
            {% endif %}
            
          
{% if key == 'test' %} - - - {{ test_message }} - - - {% endif %}

You can rename the file following the naming convention for twig template and place it into you theme templates folder:


 * Copy this file in your theme directory to create a custom themed body.
 * Rename it to override it. Available templates:
 *   simplenews-newsletter-body--[newsletter_id].html.twig
 *   simplenews-newsletter-body--[view mode].html.twig
 *   simplenews-newsletter-body--[newsletter_id]--[view mode].html.twig

Once you have designed you email body you need to design the swiftmailer template with the required css style. to do that, create a file called swiftmailer--simplenews.html.twig into the same template folder as the previous file. You can build your html file with inserted css style following the sample structure below.



    
        
    
    
      
      

/* content formated by simplenews-newsletter-body */ {{ body }}

With this technique you can design any type of email newsletter with rich content that adapt to desktop and mobile displays.

example template
Jul 17 2020
Jul 17

Yesterday at DrupalCon Global, Baddý Sonja, the CEO of 1xINTERNET, received the Aaron Winborn award. This award is presented annually to an individual who demonstrates personal integrity, kindness, and above-and-beyond commitment to the Drupal community.

Baddy has been known for her active engagement in the Drupal Community for many years. She was one of the co-organizers of Drupal Europe 2018 as well as the Northern Lights and Solstice DrupalCamps in Iceland. She has been been one of the organizers of both the local and international Splash Awards, as well as being a very active member of the German Drupal community. Baddy also influenced the fundraising challenge #DrupalCares Matching Challenge.

She is currently a member of the Drupal Association Board of Directors, where she serves as a Treasurer. She is a founder and president of both the German Drupal Business Association and the Icelandic Drupal Association. Since early this year, she became a board member of the Drupal Event Organizers Working Group.

"I am extremely happy to have received this award. Drupal has so many opportunities for individuals and businesses. During my work with the community I have met so many passionate and inspiring people who have a big part in my heart. I have enjoyed every minute that I spent working for the Drupal Community"

Baddy’s story with Drupal began back in 2007 when she and her husband Dr. Christoph Breidert, Managing director of 1xINTERNET, started using Drupal for their personal projects. In 2011, Baddy and Christoph founded 1xINTERNET and decided to use Drupal as their company’s main technology. It was not until 2013 that Baddy went to her first DrupalCamp in Germany and the following year she attended her first DrupalCon in Amsterdam.

In Amsterdam, Baddy was very surprised when Dries Buytaert, founder and project lead of Drupal, walked past and asked how it was going at the event, if the team was having fun, and enjoying themselves. This was an eye opener for Baddy, she was so fascinated by the power of the community, impressed how there was no hierarchy and how everyone was willing to collaborate and share knowledge and contacts. Needless to say, Baddy has been to every DrupalCon since and she never tires of inspiring her employees and everyone else around her in the community to be involved and take part by contributing in one way or another. She has ever since this Drupal event dedicated a lot of her energy and free time to the Drupal community. 

The award was given right before the keynote of Mitchell Baker Executive Chairwoman and CEO of Mozilla. Mitchell talked about how open source has evolved and how active communities play an important role in open source, for which Drupal is one of the most prominent example.

Baddy studied computer science at the University of Reykjavik and earned her Master in Engineering at the Technical University of Vienna. She is a frequent speaker at various tech events in Europe and an active advocate for women in tech. 

"I think it's really important that everyone wanting to be involved in the tech industry can do so, background or gender do not matter, everyone has something to contribute. I love seeing people finding their strength and do something they love. "

The Aaron Winborn award

The award has been established by the Community Working Group, with the support of the Drupal Association, in honour of long-time Drupal contributor Aaron Winborn, who lost his battle with Amyotrophic lateral sclerosis (ALS) (also referred to as Lou Gehrig's Disease in the US and Motor Neuron Disease in the UK) in early 2015. 

How is the winner selected?

A committee consisting of the Community Working Group members and previous award winners, select a winner from the submissions from the community. Multiple people nominated Baddy for this award. Here are some of the things they said:

“She has consistently and tirelessly worked for the good of Drupal across event organisation (Drupal Europe), in Drupal Agency life promoting Drupal to wider audiences and running an ethically grounded business (which contributes back in bucket loads).”

“She has been an amazing force in so many areas to even count. As a community organizer on crucial events like Drupal Europe to [foster] a contribution culture at her company. Then spreading the word about how that makes the best business sense. She cares so much for diversity and inclusion at her company and in the Drupal community as well.”

This year, there were 22 individuals nominated for the award. 

Previous winners of the award are:

2015: Cathy Theys 

2016: Gábor Hojtsy

2017: Nikki Stevens 

2018: Kevin Thull 

2019: Leslie Glynn 

and now 2020: Baddy Sonja Breidert (announcement)

The award

The physical award that was hand-crafted by Drupal community member Bo Shipley.  The award was sent to Iceland where Baddy is currently on vacation with her family. The award is hand made out of vegetable strap belt leather and with a lot of love for the Drupal community, Bo told Baddy. Here are some pictures from the award and also from the production process (thank you Bo for sending us the photos and allowing us to share them here).

Jul 16 2020
Jul 16

COVID-19 and recognizing racism as a public health threat spotlights the importance of health communities of practice and their need to have high-quality, data-driven discussions. How do we do data-informed conversations well?  How do we expand them to include more health professionals and more community members outside what is recognized as the healthcare industry?  Both are very clearly needed now.

Thanks to a client giving us a shout out, Agaric realized recently we've done a lot of health communities over the years and would love to talk and learn with others.  We're hosting a "Birds of a Feather" (people interested in the same topic coming together) at DrupalCon Global today at 3:15 Eastern Time to talk about facilitating discussion among healthcare practitioners and researchers and the public, and anything along community or data-sharing lines. 

Environmental racism was forced into the national conversation by Flint, Michigan years ago and COVID-19 has made long-standing problems of racism in healthcare provision impossible to ignore.  The rebellion against police repression started in Minneapolis is itself a reaction to the public health issues caused by policing which were predictable, and Minneapolis resident D.A. Bullock, indeed, predicted it.

What's the next steps for healthcare workers and researchers?  For any person who cares about our communities?  How do we move conversations within health communities and with outside communities forward, and never fall back to not caring?  The stakes for both well-informed and broad-based discussion are clearer than ever.  We know pressure, policy, and practice are what make change; what is our role?

Please leave your comments even if you can't join us today!

Jul 16 2020
Jul 16

Enterprise-level businesses have very unique technical requirements that can prove to be complex due to the nature of their digital transformation requirements. For example:

 

Multilingual Digital Experiences

These businesses often need to communicate with a diverse global audience - needing to publish content and reach out with marketing messages personalized to each audience segment's language. Hence, the need to build a multilingual website.

Using the ideal technology to build your digital experiences you can enable your marketing team to create multilingual websites from the same Drupal CMS. Each language can be quickly translated and optimized for SEO at the same time.

Multisite

Major enterprises have numerous domains or microsites dedicated to a particular audience or product. With Drupal you no longer need to spend extra to scale and grow your digital presence as the need arises. All those sites can be an interconnected web with seamless integrations from the same centralized CMS - sharing all best practices, security and UX features.

This is but the tip of iceberg when it come to building an engaging and open digital experience for an enterprise-grade business in today's digital world.

To gain more insight towards what it takes to transform such a project - you can download our ebook by filling out the form.

Jul 16 2020
Jul 16

In early June, the long awaited version 9 of the Drupal CMS was released. Logically, this gave rise to a number of blog posts about the ease of migrating to 9 and what this release means for the open-source project. Revisit some of these in our overview for June!

Drupal 9.0.0 released

Despite the major disruptions of the past 6 months, the latest major version of Drupal, Drupal 9, was released on June 3. As is tradition, Drupal’s founder and project lead Dries Buytaert wrote a blog post for the occasion, providing some basic information about this release and thanking the community for another successful year - this time, especially all the people working on version 9.

The Drupal community is known for being very diverse and inclusive, with Dries leading by example. Contributors from all manner of cultural backgrounds have helped make Drupal 9 a reality, and this release brings the software even closer to its users, with an even greater focus on usability and accessibility. 

Read more

Drupal 9 is Here - Upgrading has Never Been So Easy

In the next post, Stella Power of Annertech highlights the unprecedentedly easy upgrade to Drupal 9. The post begins with a brief look into the history of Drupal version upgrades, which have evolved from a “the drop is always moving” mentality to one which prioritizes backwards compatibility, with biannual feature releases and planned deprecations.

As such, the groundbreaking thing about Drupal 9 is exactly this simplified upgrade path, especially for websites that have kept up to date with the latest versions of Drupal 8, for which the update is much smoother. Upgrading from Drupal 7 to 9 requires more effort, as it is essentially a complete overhaul, so Stella recommends also taking this opportunity to rethink and revamp your entire digital strategy. 

Read more

Migration, Security and More: We Answer Your Burning Questions about Drupal 9

We continue with another practical post on Drupal 9 in which Acquia’s Angela Byron and Gábor Hojtsy answer some of the most frequent questions developers and site owners may have concerning this release.

They include helpful information on migrating from Drupal 7 and its end-of-life, as well as the recommended tools for making the migration. In addition, they also cover the improvements to accessibility and security that come with Drupal 9.

The last few questions are particularly interesting as they pertain to the future of Drupal: what we can expect in terms of headless support and “no/low code” solutions, and more generally about Drupal’s position as the top enterprise CMS.

Read more

Multilingual Drupal - Part 2: Translation Management

This next post is a continuation of one that we included in last month’s recap. In it, Christophe Jossart of Amazee Labs takes a further look at Drupal’s multilingual capabilities, focusing on using the Translation Management Tool (TMGMT) module.

Christophe covers three different use cases: content moderation, paragraphs asymmetric translation, and some experiments to the UX/UI, also diving deeper into each of them, exploring things such as data loss and sending files via email to a translation service.

He concludes his blog post with a list of the TMGMT module’s features not covered more thoroughly already, and some possible next steps such as integration with different software.

Read more

Drupal 8 vs. Drupal 9: More Features for Content Editors

One of Drupal’s main future goals is simplifying the beginner experience and improving the user experience of both key stakeholder groups - developers and, in particular, marketers / editors. As Leigh Ryan of Evolving Web writes in her blog post, version 9 features a lot of functionality tailored to the latter user group.

Among other things, the Layout Builder is now in core and enables drag-and-drop page building. Drupal 9 features better media management and better content moderation workflows, as well as the new and even more accessible back-end theme Claro. Through all of this, Drupal 9 remains an API-first CMS, also staying mindful of the developer experience.

Read more

Caring for old software

Among discussions of updates, migrations and new features, another important piece of Drupal news from June came from the completely other side of the spectrum - namely, the announcement of extending Drupal 7’s end-of-life date, originally scheduled for 2021, for one year, until November 2022. 

In his accompanying blog post, Dries cited the impact of the pandemic on companies’ budgets as the primary reason for extending this deadline, since a lot of Drupal websites still run on version 7. This shows how Drupal really is all about its users, as it takes care to extend support for an old version right after releasing a brand new and updated one. 

Read more

Is it time to give Drupal another look?

Due to it being quite an old technology, Drupal has a somewhat negative connotation within the latest generations of software developers. Tim Lehnen, CTO for the Drupal Association, has recently written a great post for Stack Overflow in which he takes a look at the major changes the software has undergone in the past two decades and dispels some of the misconceptions associated with it. 

Among the most notable changes is Drupal’s new stance on backwards compatibility, taking a kind of middle ground between innovation and easy updates. Tim also points out that a major reason for the big changes in Drupal are a natural reflection of the changes to the very nature of content management, and discusses how Drupal is positioned in this new ecosystem.

Read more

How to Contribute to Open Source: The Ultimate Guide

We finish with a more general post about open source, namely, about contributing to open source projects. One of the individuals sharing their views and experiences is also the author of the previous blog post that we included, Tim Lehnen, from the Drupal community.

As the author of the article, Tatum Hunter of Built In, points out, one of the biggest pains of fledgling contributors is not knowing where and how to get started. 

It’s therefore important to do your research, get familiar with the structure and workflows of the project, while keeping in mind that something which seems insignificant to you may actually be viewed as a very valuable contribution to a more senior and predisposed community member.

Read more

Hands holding up a plant with lights flickering in the background

We hope you enjoyed our recap and/or were able to find out more about the newly released Drupal 9. Learn more about how Agiledrop can aid with your Drupal development, or simply give us a shout out if you want to collaborate. Till next month!

Jul 15 2020
Jul 15

Mauricio Orozco from the SC Commission for Minority Affairs gave a talk about the state of Drupal within the SC State government. In recent years Drupal has grown from a tool used on a small number of projects to the platform of choice for all new agency sites. He spoke about the state’s initiative to move more to Drupal, South Carolina Interactive and their role in supporting government projects, which agencies are moving toward Drupal, and how this is benefiting residents of South Carolina.

[embedded content]

If you would like to join us please check out our up coming events on MeetUp for meeting times, locations, and remote connection information.

We frequently use these presentations to practice new presentations, try out heavily revised versions, and test out new ideas with a friendly audience. So if some of the content of these videos seems a bit rough please understand we are all learning all the time and we are open to constructive feedback. If you want to see a polished version checkout our group members’ talks at camps and cons.

If you are interested in giving a practice talk, leave me a comment here, contact me through Drupal.org, or find me on Drupal Slack. We’re excited to hear new voices and ideas. We want to support the community, and that means you.

Jul 14 2020
Jul 14
Jul 14, 2020 Drupal

During the development of Lucius we built quite a lot of features, that are embedded in the product (an open source Drupal distribution). But we figured some of these might come in handy for other Drupal site owners, outside of the OpenLucius Drupal install profile.

So this is the first release we did: "Simple Like Button", a very simple like button Drupal module that works in two steps:

  1. Install module
  2. Place block
  3. Done!

Features

  • Instant feedback for end-user: count likes +1 or -1;
  • Adds names of users that liked the content;
  • It's compatible with all (custom) entities and bundles;
  • Compatible with all 'authenticated' roles, not with 'anonymous';
  • (non feature) Not compatible with Views at the moment.

Built with custom Drupal AJAX form

It's built with a custom AJAX Form, so we don't have to worry about building a custom AJAX route, a CSRF token and custom Javascripts to handle the user interactions.

While CSRF access checking looks like it can be easily integrated via module_name.routes.yml, ajax form was still more easy to implement.

Downside is that all forms can be cached, in high content site can lead up to unnecessary caching data.

And if you disagree on this approach, please let me know in the comments.

So anyway, if you are looking for a compact example of implementing an AJAX Form, check out the code of this module or the example in this blog.

Built with a Drupal custom entity

We used a Drupal entity for easy management of data:

  • Defining the data model and database table, easy installable.
  • CRUD: the Create, Read, Update and Delete queries are more easy if you work with Drupal entities.

So if you are looking for a compact example of implementing a custom entity, check out the code of this module.

And if you disagree on using a custom Drupal entity here, please let me know in the comments below.

Download the module

Check it out on Drupal.org. Go to download page

Jul 13 2020
Jul 13

The Drupal community plays an important role for those who use the Drupal framework on a daily basis. Developers, project managers, designers, marketing managers, end-users, everyone that work with Drupal can benefit from an event like this in a big way. Growing the network is a valuable factor, and at these large events it is possible to share and collaborate about your open source knowledge. It is so inspiring and empowering for everyone involved, and it does not matter if you are new to Drupal or if you have decade of experiences in your bag, everyone leaves the event like this inspired and looking forward to the next DrupalCamp and the next DrupalCon.

Highlight of this year DrupalCon Global

This DrupalCon is different from what we are used to. There will be no in-person parties or surprise bumping-into old Drupal friends, but to focus on the positive the event is packed with great sessions. We are looking at a week of 100 sessions including industry and topical mini summits, interesting sessons from professionals, presentations from sponsors, on demand video library and lots of other content to keep us entertained this week!

We at 1xINTERNET are very happy that our CEO and Co-Founder Baddy Sonja will take part in two summits at this DrupalCon Global. Baddy will be taking part in the Government Summit on Tuesday 14th of July at 18:00 UTC organised by Becca Goodman and Jess Dearie . Baddy will talk about how the City of Reykjavik changed from building websites to building culture and framework for digital development, and why it's important to have a good content strategy.
 

On Wednesday 15th at 14:00 UTC she will take part in the Community Summit where she will give an Events Organizer update. Directly after her session at the Community Summit she will participate in the Public Q&A with the Drupal Association staff and board together with Dries, Adam Goodman (chairman of the board), Heather Rocker (Executive Director of the DA) and Tim Lehnen (CTO of the DA). This session is interesting for everyone who would like to know more about the Drupal Association and how it is supporting the project. Since November last year, Baddy is the Treasurer of the board of the Drupal Association and will give an update on the financials as well as other activities of the Drupal Association. You will also find Baddy both in the Event organiser group booth and the Drupal Association booth during exhibition hours. Please stop by and say hi to her ( Baddy loves that:).
 

Jul 12 2020
Jul 12

Unlike the previous years; DrupalCon 2020 will be virtual due to the outbreak of Coronavirus and resulting restrictions on travelers. The annual festival open digital experience conference will be going global thanks to open source solutions developed by the innovative Drupal community.

What is DrupalCon?

DrupalCon is a conference designed to bring people together to share thought leadership around open source and ambitious digital experiences, provide professional development opportunities to enhance your career and your organization, foster a feeling of community, and invigorate Drupal project momentum.  

The event is a mission-centric program of the Drupal Association, the non-profit organization dedicated to accelerating the Drupal software project, fostering the community, and supporting its growth. 

  • Where: Everywhere. Online.
  • When: July 14 - 17 2020

Why you should join DrupalCon Global?

DrupalCon is for marketers seeking to create truly immersive digital experiences, for developers who want to build the best of the web, and for business owners who want to get ahead of their competition.

If you’re a developer, project manager, designer, work for a digital agency or consulting firm, or a Drupal end-user you can learn the latest technology and grow your Drupal skills and deliver more value to your organization by attending DrupalCon Global. Build a stronger network in the Drupal Community. Collaborate and share your open source knowledge with others. Find opportunities to contribute to the Drupal project.

DrupalCon is for everyone with a passion to create through technology. Here are a few highlights to look forward to:

Mini Summits are an opportunity to network with and learn from peers in your field who share the same interests, issues, and challenges. 

In lieu of the traditional full-day summits, DrupalCon Global will feature mini summits focused on highlights and innovations and will be integrated into the main conference program. You will have the opportunity as marketers and developers to learn industry-specific insights in the following key sectors that rely on Drupal technology: 

Drupalers focused on higher-ed can also enjoy a dedicated summit for library-related digital projects.

For those interested in building API-driven Drupal backed sites and applications to learn preferred practices, planning, and implementation advice, and see case studies from existing sites, you can benefit from networking with fellow Drupalers in the Decoupled summit.

Boost your support and ongoing maintenance efforts with the latest insights during the Performance and Scaling summit which will enable you to prevent slow page loads and disastrous outages; learn the latest tools and techniques across the full stack to create fast, scalable Drupal applications.

2. Sessions

From enabling marketers to creating inclusive strategies and digital brands to lessons on how to implement Decoupled Drupal in real-life - DrupalCon Global will have access to nearly 100 sessions and experts about how to build the best of the web, relating to the following topics:

  • Being Human, Contributions, & Community
  • Drupal 9 
  • Content & Digital Marketing
  • Development & Coding
  • DevOps & Infrastructure
  • Leadership, Management, & Business
  • Site Building
  • User Experience, Accessibility, & Design
  • What's Next in Drupal and Open Source 

3. Drupal 9

The Drupal community has accomplished amazing things with the release of Drupal 9. It is the easiest major version upgrade in a decade, extending the pattern of continuous innovation from Drupal 8, with dramatically easier tools for end-users.

At DrupalCon Global you'll find all the Drupal 9 content you need:

  • Sessions about getting ready for the upgrade, whether you're on Drupal 7 or Drupal 8
  • Instruction from expert speakers about using Composer to manage your site
  • Programming about next-generation features like the new administrative UI and the upcoming Olivero default theme
  • Tips and best practices for making your custom code Drupal 9 ready

4. Future Road Map

To kickoff proceedings, the Drupal project founder; Dries Buytaert, will give his traditional Driesnote which celebrates recent successes and details the vision for where Drupal is going next to kickoff the proceedings of this year's DrupalCon.

To better accommodate the global community, the event start and end timing of the scheduled programming will be expanded each day and offering specific moments of live networking and togetherness for regional communities throughout the event. Both for the sake of DrupalCon's speakers and staff, this won't be a 24/7 event, but because much of the content will be available to ticket-holders on demand, you'll have the freedom to participate at the time you choose.

Click here to view the full schedule details. 

Don't miss out on the biggest DrupalCon yet - you never know; you just might find exactly what your business or Drupal project is looking for to take things to the next level!

Book your DrupalCon ticket today!

Jul 10 2020
Jul 10

This blog has been re-posted and edited with permission from Dries Buytaert's blog.

I remember the first gathering of Drupal contributors back in 2005. At the time, there were less than 50 people in attendance. In the 15 years since that first gathering, DrupalCon has become the heartbeat of the Drupal community. With each new DrupalCon, we introduce new people to our community, demonstrate the best that Drupal has to offer, and reconnect with our Drupal family.

Next week's DrupalCon Global is going to be no different.

Because of COVID-19, it is the first DrupalCon that will be 100% virtual. But as much as we may miss seeing each other in person, the switch to virtual has opened opportunities to bring in speakers and attendees who never would have been able to attend otherwise.

There are a few moments I'm particularly excited about:

  • Mitchell Baker, CEO of the Mozilla, is joining us to talk about the future of the Open Web, and the importance of Open Source software.
  • Jacqueline Gibson, Digital Equity Advocate and Software Engineer from Microsoft, will be talking about Digital Inequity for the Black community – a topic I believe is deeply important for our community and the world.
  • Leaders of current Drupal strategic initiatives will be presenting their progress and their calls for action to keep Drupal the leading CMS on the web.
  • And of course, I'll be giving my plenary presentation to celebrate the community's accomplishment in releasing Drupal 9, and to talk about Drupal's future.

Beyond the sessions, I look forward to the human element of the conference. The side conversations and reunions with old friends make attending DrupalCon so much more powerful than simply watching the recordings after the fact. I hope to see you at DrupalCon Global next week!

Jul 10 2020
Jul 10

DrupalCon Global starts on Tuesday, July 14th, 2020, 2-4pm ET/11am-1pm PT. Because everything is online, every summit, session and event within DrupalCon is available under one ticket.

If you haven't registered yet, you still can at https://events.drupal.org/node/31305

We've kept the original theme for the Nonprofit Summit - The Lifecycle of a Drupal Website, because when we see our websites as dynamic, evolving communications tools, we make the most out of them. 

Although the pivot to a virtual event has been hard, it’s given us the opportunity to feature speakers who were not originally planning to attend in-person DrupalCon MN. Many of us are juggling massive changes in our work and personal lives, along with fear and anxiety. We are grateful to our fantastic slate of speakers for taking time to share their experiences and knowledge with this community! 

A full day in front of a screen would be exhausting. So we've taken our original schedule and pared it down to two hours of focused, lesson-packed programming, along with space for participants to ask questions.

One of the most valuable aspects of summits is the ability to get to know and network with others that share this fairly niche interest of “nonprofit Drupal”. We will approximate that experience by weaving in ways for us to network with one another via chat, a shared notes doc, and an opt-in directory of people.

Here's the full schedule. We hope to see you there!

Nonprofit Summit Sponsors

Immense thanks to our sponsors, Aten Design Group and Message Agency, for their continued, unwavering support of our Nonprofit Summit, in spite of the difficult pivot to a virtual event, and extremely challenging times for everyone involved. 

Nonprofit Summit Co-organizers

  • Molly Byrnes, mbyrnes on D.o, @mabfire on Twitter

  • Johanna Bates, DevCollaborative, hanpersand on D.o, @hanabel on Twitter

  • Clayton Dewey, DevCollaborative, cedewey on D.o, @claybolto on Twitter

DrupalCon Global Nonprofit Summit Agenda

The summit runs 2-4pm EDT / 11am-1pm PDT. Start and end times are approximate. All times listed in UTC.

  • 18:00-18:10 - Welcome 

  • 18:10-18:35 - The Lifecycle of a Drupal Site Panel 

    • Dan Thiede (Clean Energy Resource Teams)

    • Corey Brown (CLINIC Legal)

    • Paige Eaton (Facing History)

    • Moderated by Lynn Winter (Manage Digital)

  • 18:35-18:50 - Panel Q&A

  • 18:50-18:55 Break

  • 18:55-19:05 - 12 Tips for Nonprofits Converting to Drupal Lightning Talk

    • Monica Flores (Lullabot)

  • 19:05-19:15 - Drupal 8 & 9 Module Compatibility Lightning Talk

  • 19:15-19:25 - Lightning Talks Q&A

  • 19:25-19:35 - Requirements-gathering for the Mukurtu Drupal Distribution Lightning Talk

  • 19:35-19:45 - Integrating Drupal with Mighty Networks - A Lightning Case Study 

  • 19:45-20:00 - Q&A and Wrap-up

Nonprofit Summit Page: https://events.drupal.org/global2020/program/summit/nonprofit 

DrupalCon Nonprofit BoF is on Thursday, 4:15pm EDT / 1:15pm PDT https://events.drupal.org/global2020/bofs/2020-07-16.

Jul 10 2020
Jul 10

Thursday, 16th July, 18:15 - 19:00 (UTC)
Speaker: Christopher Torgalson
Track: DevOps & Infrastructure

In his session, Christopher will outline some of the most prevalent issues that make automated tasks less safe, secure, reliable, and performant. On the back of these learnings, he will then discuss how we can design better quality automation for ourselves and our clients.

As usual, we've been busy preparing and writing questions for Trivia "night". The Trivia event has been one of the highlights of DrupalCon for many years and at DrupalCon Global 2020, this is no exception - except this year, we will have teams from all around the globe! In addition, rather than it happening in the evening time, the event will be split across the three days of the conference. For more details on the times, see the conference website.

Jul 06 2020
Jul 06
Kaleem Clarkson

It feels like a lifetime ago that the event organizers’ request to become an official working group was approved by the Drupal Association at DrupalCon Amsterdam. Since then, 2020 has been a year that no-one will forget-from a global virus to social justice demonstrations-the world as we know it has been forever changed.

So far in 2020, we have learned some valuable lessons that we think will help us be a better working group moving forward.

Organizing Events is Hard. Organizing volunteer-led events is difficult already, let alone during complete uncertainty. Many event organizers have had to make very difficult but swift decisions by either canceling or trying to pivot to a virtual conference format.

Finding the Right Time is Hard. Organizing a global group of volunteer event organizers is also hard. As someone who has had little time on international teams, I admittedly thought of finding a meeting time a breeze. I was completely wrong.

Global Representation is Hard. One of our top priorities was to have global representation to help foster growth and collaboration around the world but unfortunately due to either the meeting times or not enough focused marketing on international event organizers the participation was just not where the board felt it should be.

After a few emails and some friendly debates, the board looked for opportunities for change that can help solve some of the lessons we have learned.

Alternating Meeting Times in UTC Format. To help foster more international participation, all scheduled meetings will alternate times all marketed and posted in the Coordinated Universal Time (UTC) format. Public meetings will now be at 12:00 pm UTC and 12:00 am UTC.

Increase Board Membership to 9. The group decided to expand the board members to 9. We are highly encouraging organizers from around the world to submit their names for interest to increase our global representation.

Maintain and Recruit Advisory Board Members. Succession planning is critical for any operation, and our advisory board provides more flexible commitment in participation which we hope will be our number one resource for new members down the road.

Board Members Nominations. In addition to expanding the number of board seats, Suzanne Dergacheva from DrupalNorth (Canada) and Matthew Saunders (DrupalCamp Colorado) have accepted their nominations from advisors to board members.

  • Camilo Bravo (cambraca) — DrupalCamp Quito — Ecuador / Hungary

There are so many things that all of us organizers would like to get working, but one of our goals has been to identify our top priorities.

Event Organizer Support. We are here to help. When volunteer organizers need guidance navigating event challenges, there are various channels to get help.

Drupal Community Events Database. In collaboration with the Drupal Association, the EOWG has been working on putting together a new and improved event website database that will help market and collect valuable data for organizers around the world.
Submit your event today: https://www.drupal.org/community/events

Drupal Event Website Starter kit. To help organizers get events up and running quickly, an event website starter kit was identified as a valuable resource. Using the awesome work contributed by the Drupal Europe team, JD Leonard from DrupalNYC has taken the lead in updating the codebase. It is our hope more event organizers will help guide a collaborative effort and continue building an event starter kit that organizers can use.

Join the Event Organizer Slack here and Join #event-website-starterkit

The Drupal Event Organizers Working Group is seeking nominations for Board Members and Advisory Committee Members. Anyone involved in organizing an existing or future community event is welcome to nominate.

EOWG Board Members. We are currently looking for nominations to fill two (2) board seats. For these seats, we are looking for diverse candidates that are event organizers from outside of North America. Interested organizers are encouraged to nominate themselves.

EOWG Advisory Committee. We are looking for advisory committee members. The advisory committee is designed to allow individuals to participate who may not have a consistent availability to meet or who are interested in joining the board in the future.

Nomination Selection Process: All remaining seats/positions will be selected by a majority vote of the EOWG board of directors.

Submit Your Nomination: To submit your nomination please visit the Issue below and submit your name, event name, country, territory/state, and a short reason why you would like to participate.

Issue: https://www.drupal.org/project/event_organizers/issues/3152319

Nomination Deadline: Monday, July 6th, 11:59 pm UTC

Jul 05 2020
Jul 05

Your comprehensive Drupal website auditing tool is here!

Vardot released the beta-version of DrupalAudit to aid Drupal website owners and developers just before the release of Drupal 9 early June 2020.

Frequent performance audits are essential to guarantee that you benchmark your desired KPIs and website efficiency in alignments of the objectives of your digital strategy.

The tool will assess your Drupal website across the following key areas:

  • Performance
  • SEO
  • Accessibility
  • Best Practices

To use DrupalAudit, follow these 3 simple steps:

  1. Enter your Drupal site’s URL and test the performance across all site aspects.
  2. Find out how your Drupal site is performing in the areas you care about.
  3. Automatically generated tips will guide you on what to do next.
Jul 01 2020
Jul 01

On Tuesday, July 7, Agaric will host 3 free online webinars about Drupal 9. We invite the community to join us to learn more about the latest version of our favorite CMS. We will leave time at the end of each presentation for questions from the audience. All webinars will be presented online via Zoom. Fill out the form at the end of the post to reserve your seat. We look forward to seeing you.

Getting started Drupal 9

Time: 10:00 AM - 11:00 AM Eastern Time (EDT)

This webinar will cover basic site building concepts. You will learn what is a node and how they differ from content types. We are going to explain why fields are so useful for structuring your site's content and the benefits of doing this. We will cover how to use Views to create listing of content. Layout builder, blocks, taxonomies, and the user permissions system will also be explained.

Introduction to Drupal 9 migrations

Time: 11:30 AM - 12:30 AM Eastern Time (EDT)

This webinar will present an overview of the Drupal migrations system. You will learn about how the Migrate API works and what assumptions it makes. We will explain the syntax to write migrations how different source, process, and destinations plugins work. Recommended migration workflows and debugging tips will also be presented. No previous experience with the Migrate API nor PHP is required to attend.

Drupal 9 upgrades: how and when to move your Drupal 7 sites?

Time: 1:00 PM - 2:00 PM Eastern Time (EDT)

This webinar will present different tools and workflows to upgrade your Drupal 7 site to Drupal 9. We will run through what things to consider when planning an upgrade. This will include how to make site architecture changes, modules that do not have D9 counterparts, what to do when there are no automated upgrade paths.

Below are the slides used during the webinars:

Agaric is also offering full-day trainings for these topics later this month. Dates, prices, more details, and registration options:

2021 January 26

Woman looking at a map.

2021 February 02

Birds flying

2021 February 09

Rocket launch.
Jun 29 2020
Jun 29

In this blog post, we’ll take a look at some different terms related to experience in the digital landscape: the more established and specific Customer Experience and User Experience, as well as the newer and broader Digital Experience.

We’ll briefly explain each term, emphasizing the differences and connections between them, while reinforcing our points with examples as regularly as possible.
 
In the second part of the post, we’ll list and define some of the most frequently used terms related to these different aspects of experience, in order to help you facilitate conversations and collaborations involving them. 

Customer Experience

This is the experience of a (potential) customer in all stages of the customer journey, from their first interaction with a brand or product to actually having made the purchase - if they were satisfied enough with their experience, they may even turn into a loyal and/or returning customer. 

While customer experience refers both to digital and physical experiences, recent global developments have seen a major rise in the demand for digital customer experiences, with e-commerce solutions that are becoming more and more innovative. This post focuses mostly on digital CX, which is also more closely tied to UX.

  • Connection with UX: a customer buys a (digital) product, while a user uses the product. So, the CX of a product would be covered by the marketing around it, and the UX by the development and UX teams. The CX is focused on creating appeal for the product by showing how it solves particular pains, whereas the UX focuses on its usability, enabling the user to actually solve those pains. 
  • Connection with DX: any customer experience that occurs in the digital is by its nature a digital experience. Interestingly, we’re also seeing a blend of digital and physical CX, with examples such as digital displays and AR technology in retail.

-> In the digital word, CX is closely tied to UX.

User Experience

User experience is an incredibly broad field which has intrinsic ties to some of the other most important aspects of digital experiences, such as SEO and accessibility. In short, user experience is the experience of a user of your product or service (especially digital) who is using the said product or service to achieve a certain goal. 

As already mentioned in the CX section, the number one priority of UX is usability - enabling all potential users to easily make use of a product as a solution to a particular problem. This is why accessibility is so important for UX: any kind of user, no matter their disabilities, should be able to use products and services efficiently.

  • Connection with CX: products such as websites and digital applications may contain the ability to purchase other products and services. Here, CX = UX, because you use the features of the product to help you navigate through your customer journey to finally making the purchase. In the context of a single product, CX becomes UX once the product is purchased and now has to be used.
  • Connection with DX: just like with CX, any user experience taking place in the digital is a digital experience. Again, some of the latest technologies blend physical and digital user experience, with examples such as biometric apps and health tracking devices. 

-> Sometimes UX => CX (e.g. you use a website or application to make a purchase)

-> Sometimes CX => UX (e.g. you purchase a product or service in order to then use it)

Digital Experience

Digital experience is a broader term than customer or user experience. It basically refers to any kind of experience in the digital world, whether it’s CX, UX or even, say, the employee experience in a digital-native business. 

Paralleling the recent explosion of digital channels, new terms such as digital experience platform, or digital experience framework, have arisen to reflect the shift from thinking in terms of the web and content management to focusing instead on digital experience management

With the digital becoming a ubiquitous part of everyday life, there is a constant demand for digital experiences, wherever and whenever potential users and customers might be. This necessitates brands to be present and interact with their audiences on every channel they frequent if they want to tap into all of their potential markets.

  • Connection with CX & UX: any customer or user experience that takes place on the web or on a digital device is a digital experience. In light of the whole COVID-19 situation, the lines between CX and UX on the one hand and DX on the other have never been more blurred, as many people have now been relying on the digital for a majority of their experiences. But it is also broader: as their names suggest, CX refers to customers and UX to users, while DX can also include games, movies, music, etc. So, where CX & UX are more related to a digital product or service, digital experience focuses more on the experience part. Of course, UX often remains an essential part of DX - even something as straightforward as watching a YouTube clip requires a basic understanding of the platform’s functionality, while features like personalization also no doubt contribute to the user experience.

-> Since all digital experiences are more or less centered around satisfying certain needs, it can be said that every digital experience is to some extent a digital user experience.

Hand with its index finger pointing at an abstract neural network

Useful terms

To help you get the most value out of this post, and also not assuming that every single one of our readers is 100% familiar with all the common terms related to digital experience management, we’re including a short glossary of 12 useful terms that you’ll frequently encounter in CX, UX and DX in general.

  • Accessibility (UX / DX): digital accessibility basically means usability for everyone, no matter their physical or mental ability, or the device through which they’re accessing a service.
  • API (DX): an acronym for Application Programming Interface. An API defines the interactions between different software intermediaries, allowing for integrations between different technologies (e.g. a front-end and a back-end framework both relying on the same API).
  • Bounce (CX / UX): this is a term commonly used in data analytics. If a user or customer ‘bounces’, this means that they only viewed a single page on your website before exiting it. 
  • Churn (CX): also called ‘attrition’, churn happens when a (usually regular) customer stops doing business with a brand. The most typical example is when a customer cancels their subscription to a service.
  • CMS (UX / DX): an acronym for Content Management System. As the name suggests, a CMS is a system or framework for managing digital content and presenting said content to visitors. Some of the most popular ones are WordPress and Drupal.
  • CTA (CX / UX): an acronym for ‘Call to action’. This is a ubiquitous element of customer and user experience, and typically occurs in the form of links or buttons with an active, user- or customer-oriented copy which prompts them to perform the desired action.
  • Integration (CX / UX / DX): in the context of digital experiences, integration refers to different technologies being able to work smoothly together, since most digital experiences rely on more than just a single framework. For example, you may have a website built with Drupal that uses Magento for the e-commerce component.
  • IoT (UX / DX): an acronym for Internet of Things, a buzzword which is quickly gaining ground as we see more and more parts of our lives becoming digitally enabled. It basically refers to a network of interconnected objects able to exchange information through the internet (think smart cars, smart refrigerators, etc.)
  • Multichannel (DX): similar to omnichannel, multichannel means serving digital experiences on channels beyond just the web, by capitalizing on all the types of devices that today’s consumers use daily: mobile phones, tablets, and even things such as smart watches, digital displays or digital voice assistants.
  • Personalization (CX / UX / DX): this is one of the main trends in digital experience management. It means tailoring a digital experience to a specific individual as much as possible. This is enabled by technologies such as machine learning and realized through the capabilities offered by leading front-end frameworks.
  • Retention (CX / UX): especially in CX, retention comprises all the business activities that are focused around keeping existing customers. Retention is the opposite of churn or attrition, and there’s the constant pursuit of low churn rates and high retention rates.
  • ROI (CX / UX): an acronym for ‘Return on Investment’, which is a measure used to determine whether a particular task or activity is worth pursuing with regards to the expected business value it will bring.

Conclusion

Digitally rendered planet

We hope this post has armed you with a better understanding of the basics of customer and user experience, and how the newer digital experience trend is powering digital transformation on a global scale. 

The past few months have shown us that a digital-first mindset will be the crucial differentiator of success, and those who have digital experience top of mind will be the winners. 

If you’ve also by now realized how important top-notch digital experiences are going to be, but lack the development capabilities to deliver such digital solutions at scale, contact us at Agiledrop and we can supply you with exactly what your next digital experience endeavor needs to succeed. 

Jun 26 2020
Jun 26
Jun 26, 2020 Drupal

For our Drupal distribution we needed to redirect all anonymous users to the login page, as for now it's implemented as a closed platform for social collaboration. The Drupal 8 way didn't work anymore; we fixed it for Drupal 9 and published a working module.

So if you're building a Drupal social intranet, collaboration tool or community this might help you to direct them the right way -so they don't get an unfriendly 'access denied'.

Keep in mind that you still have to build the correct access control into all your pages with help of permissions / access checks / advanced route access, this module doesn't provide for that.

All-in-one Drupal based toolkit for remote work. Check how Lucius works

Clone and run off

We published the Drupal module here on Github so you can copy it and run off with it to do whatever you need. At the moment it's not a published Drupal.org project with all kinds of configurable stuff.

A short explanation of the code

First you'll have to implement an 'Event Subscriber' in the .services.yml file.

drupal event subscriber

More info: Subscribe to and dispatch events.

Next, it took a while before we figured it out, but this code in /src/EventSubscriber/AnonymousRedirectSubscriber.php is all it takes to make it work:

Drupal anonymous redirect subscriber

  1. More info on responding to events in Drupal here on Drupalize.me.
  2. Get current user and facilitate 'account' (this is not dependency injection, see comments).
  3. Get current request with ->getRequest(), here's what differs from the Drupal 8 version: we couldn't get ->getRouteName() to work properly.
  4. Check if current user is anonymous, but exclude some paths. Also, we had to facilitate user/reset/* with php's fnmatch, because that path contains a variable (the reset hash).
  5. Respond with the redirect to Drupal's login page.

Drupal 8 version

You can find the previous Drupal 8 code here, and we also found the Anonymous login module, but both didn't work in our Drupal 9 (then beta) install.

'quick-start' Drupal to test

To test this module fast in a fresh install, Drupal's quick-start might come in handy.

Need this as a contrib Drupal module?

Please let me know in comments down below, if there is enough positive feedback on this we might make it configurable and contrib it!

Jun 25 2020
Jun 25

Brevity and simplicity are great characteristics of web page URLs. No wonder that URL shorteners are very popular. Our web agency creates appealing, feature-rich, and user-friendly websites. Today we are sharing a post on URL shorteners: what they are, why they are used, and how to integrate a URL shortener with a website.

If your website is built on Drupal, the second part of the post will be especially interesting for you because we will discuss URL shortener integration on Drupal websites.

What is a URL shortener?

A link shortener is a service that reduces the length of your URL. Even web addresses over a hundred characters long can turn into trimmed links that do not exceed 20 characters. The underlying technology is web page redirection. A user clicks on the short address and is navigated to the long one. Famous examples of link shorteners include, but are not limited to Bitly, Google’s URL Shortener, TinyURL, Bag.gy, Ow.ly, and Yourls.

Bitly link shortener

Reasons to use a link shortener

Initially used for Twitter, links shorteners have become a common practice in a variety of marketing activities. Here are a few scenarios in which the link shortening technique is used:

  • There are restrictions in the allowed number of characters imposed by messaging apps — for example, link shorteners became especially popular due to Twitter’s rule of 140 characters in one tweet.
  • You need to make the URL easy to remember and put it on a print resource (banner, presentation, etc.)
  • Your goal is to beautify your links and make them more aesthetically appealing, which should convince more visitors to click.
  • You want to learn your customers’ behavior by using the monitoring features in famous URL shorteners.
  • You want to use the UTM parameters, or tags added to your URLs for the purpose of tracking the user behavior. These usually look long but link shorteners can make them much shorter.
  • You want to use the advanced features like changing destination addresses, link retargeting, traffic splitting, and more.

Link shortener integration with a website built on Drupal

You can use link shorteners directly on their own websites where you just need to enter the long address and grab the short address.

However, it’s a more interesting idea to integrate a link shortener with a website. In particular, we will see how to integrate Drupal with a link shortener.

To set up URL shortening in Drupal, you can use a third-party service integration via a URL shortener API or just the Pathauto module to auto generate short web addresses. However, the most convenient way is to use a contributed module to perform URL shortener integration for Drupal.

Drupal modules to integrate your website with a link shortener

Shorten URLs

The Shorten URLs is an easy-to-use and lightweight module that provides an API to integrate Drupal with TinyURL, Bitly, and a dozen of other link shortener services. It is used by other modules as well because it is primarily an API. The Shorten URLs module is ready both for Drupal 7 and Drupal 8 sites.

It offers an intuitive user interface for URL shortening as a page or a block. In addition, there is a block that displays the current page’s shortened address is meant for quick copying.

The module comes packed with four submodules:

  1. The Shorten URLs as the main module provides an API and user interface for URL shortening using common services.
  2. The Record Shortened URLs submodule tracks and shows the statistics of shortened URLs to website admins.
  3. The Shorten URLs Custom Services submodule allows you to add custom URL shortening services via the UI.
  4. The Shorten URLs Input Filter submodule offers an input filter for automatic URL shortening in the text.
Shorten URLs Drupal module

ShURLy

The ShURLy is a URL shortening service created as a Drupal module. It has a stable Drupal 7 version, but Drupal 8 websites will need to wait a little because ShURLy for Drupal 8 is in development. The ShURLy module has plenty of interesting features, some of which are as follows:

  • Clicks are tracked on short URLs.
  • Authenticated users can track their URLs activity.
  • You can auto generate URLs or enter custom short URLs.
  • There are fine-grained permissions based on user roles.
  • There is a click-to-copy-to-clipboard feature.
  • URLs are case sensitive.
  • There is a web services API for shortening or expanding the URLs.

Bit.ly for Drupal

The Bit.ly for Drupal module for Drupal 7 helps you integrate Drupal with Bitly. It provides a rich API that enables other modules to use the Bitly features (shorten or expand links and view their statistics). With this module, users can link their Bitly account to their Drupal profiles. Site admins can enter their Bitly API and oAuth details. The module integrates with the Shorten module we have described above.

Bit.ly for Drupal module

Let us help you integrate your website with a link shortener

Hopefully, the basics of how to integrate with a link shortener will be helpful to you. Contact our web agency for Bitly integration with Drupal or if you want to use any other link shortener on any kind of website. We will install and configure the right modules or create custom functionality from scratch at very affordable prices.

Jun 23 2020
Jun 23

Adding the new configurations to the config/install folder is still easy, and new installations would receive the new configuration. The difficulties arise when the existing projects also need this change.

Available options

Before we decided for our approach to updating Drupal Distributions we investigated the different options available. 

Write update/post update hooks: Adding fields programmatically is technically simple. However, looking at the use case above, this quickly becomes complicated, because it requires changing field storage, field instance, and form display and view display. With more configuration objects it could be even more complex. Also it somehow seems to be double work, because for clean installations the configuration management was already done, and now it needs to be implemented again.

Use drush/drupal console to partially load configs from the module's config/install folder: This method prevents double work, because updates are not programmed manually (yay!). But there is an important drawback. Partial configurations imports will replace the configuration in the active storage with the exact data from config/install folder. But what if there were changes made. Maybe the display of fields was changed to better support a different design? Maybe fields were added for a specific use case? Or some formatters/widgets were changed? All the customizations would be lost (nay!).

Use modules like Update Helper from Thunder: This module allows to create the updates with drush commands and place them into the config/update folder. There is also an integration with checklist API to have a visual representation of the updates and their statuses in case they were not applied as well as instructions on how to apply updates manually in case of failure. The module provides safe methods to update your configurations, but in case of the manual changes made in the project, the updates might fail and would need to be applied manually.

For us none of the approaches above met our requirements:

  • We need a solution that allows us to not lose changes done on different projects.
  • The updates should be easy to create and maintain, they should work the same for clean installations and existing sites.
  • And we need logging of the update statuses with instructions on how to perform the updates manually in case of failures.

Configuration synchronizer

During our investigation we found the Configuration Synchronizer module and the family of its dependencies. This module provides plug 'n' play experience with config management for distributions, contributed or custom modules, and even themes and profiles. Detailed information about it can be found in this blogpost and in the rest of the series of stories by Nedjo Rogers, the creator and maintainer of the modules.

The module creates the snapshots of the normalized configurations provided by extensions, stores them for comparison during the updates, and finds the differences (with help of filters from Config Distro module). Then during an update configurations are processed with 3-way merge (using the Config Merge module) that allows to leave project specific changes untouched. Only in the case when the exact same configuration line changed there would be conflict (similar to Git merge procedures). In case of a conflict the configuration update is ignored and will not be applied.

Jun 19 2020
Jun 19

With the global crisis establishing digital transformation as an unavoidable strategy, many businesses are now thrown into digitalizing their operations, or suddenly needing to dedicate everything they’ve got into streamlining their digital transformation.

Due to all this, we’re also seeing a growing demand for services provided by digital agencies through outsourcing or staff augmentation. Whether that be design, development or marketing, the ability to rely on the proven expertise of a digital agency sure is a welcome one. 

But with so many agencies now offering and advertising their services, how can you start looking for the right one for you? And how can you know you’ve found the right partner before actually working with the chosen agency?

This is exactly what this post will focus on: how to find a digital agency that will take care of your specific digital experience needs. We’ll define the three most important criteria for determining if you’ve found the right one, as well as let you in on some convenient places to look at in order to check that they meet those criteria. 

How do you find the right digital agency for you?

So, let’s say you’ve found a number of agencies that could meet your digital experience needs, and you’re now faced with choosing one among this (likely large) selection.

The first thing you need to determine is, well, their expertise, industry and/or technology-wise, that is. If an agency doesn’t specialize in the tool/technology you need, or doesn’t follow your desired methodologies, you can safely eliminate it in this initial stage.

But things get a little more tricky when you only know what you need, but not which technology to use to achieve that goal. It certainly helps if you’re at least somewhat familiar with the capabilities and limitations of different tools and platforms.

The best partner agency would ideally also help you make the right technology selection in addition to helping you deliver the project. This also means that the partner will work closely with you, and not just execute the work on their own without any oversight and/or control from your side.

Second, you need to determine if your potential partner’s company culture aligns with your own. What are their mission and vision? How do they treat their employees? If they’re an agency that specializes in open-source software, how active are they in those respective communities?

Due to the globally distributed, remote nature of work having eliminated a lot of cultural and physical barriers which used to hinder effective collaboration, culture fit is much less important than company culture fit. 

So, you’ll want to check out their company culture, their communications (both internal and external), stuff like that. The agency’s blog will typically be a great resource for all of these; blogs often contain posts on different topics, ranging from technology tutorials and industry insights to company-related posts and pieces of news.

At Agiledrop, we even have a Community section of our blog, which is mostly dedicated to interviews with members of different open-source communities and industry experts discussing a variety of topics. 

Another great way to ascertain community involvement is social media. In the tech communities, Twitter is probably the go-to platform, but other giants such as Facebook and Instagram also come into play as more company-oriented platforms, while LinkedIn is a great place to learn about individual team members. These are all places where you can learn a lot about a company through content about their culture, events and contributions.

Some open-source projects such as Drupal have a system set up that allows a company’s contributions to the ecosystem to be recognized and displayed on their official website. A bit of a brag here - over the past few months, our team has done a huge amount of work contributing to Drupal, racking up over 100 issue credits in this short time!

Okay, so, when you know that the agency you’re eyeing specializes in the technologies that you need, or offers to help you determine the right tech stack for your project, and also their values and culture align with yours, what’s the last thing you need to do?

Well, you need to find out if they actually own up and deliver on what they offer. And how do you do that?

A lot of companies will have a Clutch profile with additional information and/or client testimonials. Other platforms such as TopDevelopers also do regular technology-specific lists of top companies in a certain field.

But perhaps the best bet would be to just look at the agency’s website, as most of them will feature case studies and client testimonials right there. 

You can learn about the types of companies they’ve worked with, types of projects they’ve worked on, and even more specific information such as details about developer diligence, for instance, or a testament to your potential partner’s timeliness and/or efficiency in communication.

It can be especially helpful if you discover that the agency has previously worked with companies and on projects that are similar to yours - e.g. you’re an educational non-profit from London, and find out they’ve successfully worked with a higher ed institution from, say, Bristol. 

If you manage to find a company that satisfies all three criteria - so, inudstry/technology expertise, company culture and proof of success - you can rest assured that you’ve found the right partner, either for your next project where you just need to scale temporarily, or a long-term digital partner that you know you’ll be able to rely on for all your future digital needs.

Conclusion

Illuminated lightbulb lying in sand

Finding the right partner agency among a plethora of options can be a difficult task. We hope this blog post has armed you with the right set of tips to make the process of selection at least somewhat easier.

If you’ve checked out our blog and social media, and discovered that Agiledrop would be the best fit for your development needs, reach out to us and we can start talking about how we can help you out.

Jun 18 2020
Jun 18

Our normally scheduled call to chat about all things Drupal and nonprofits will happen TODAY, Thursday, June 18, at 1pm ET / 10am PT. (Convert to your local time zone.)

No set agenda this month -- we can discuss whatever Drupal related thoughts are on your mind. If you would like to contribute to the conversation, please join us. 

All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.

Feel free to share your thoughts and discussion points ahead of time in our collaborative Google doc: https://nten.org/drupal/notes

This free call is sponsored by NTEN.org but open to everyone.

REMINDER: New call-in information -- we're on Zoom now!

View notes of previous months' calls.

Jun 18 2020
Jun 18

Rahul Dewan sent us this story, documenting how the Drupal India Association was formed, and we wanted to reproduce it here to help it reach the greatest audience. As you will read, the Drupal India Association has significantly helped the Drupal community in India work together to grow the community and joins 28 other local associations around the world. The Drupal India Association is a great example of this, and we’re thrilled to see the momentum behind the community there. 

The formation of a formal ‘Drupal India Association’

For several years, a conversation about the need to form an India-centric Drupal Association has been doing rounds among Drupal business owners. However, this idea finally found conviction and the necessary determination to push it through, when Shyamala Rajaram signed-off from her position on the Board of the Drupal Association after completing her two-year term.

Shyamala’s voice and tone over the phone call one morning, was so full of enthusiasm and energy that inspite of all my skepticism and reservations of ‘why do we need a legal entity to do all the good work we want to do?’, melted away. “We Indians can make so much more impact in the world of Drupal!”, she said. Almost immediately, under Shyamala’s leadership, was laid the foundation of the ‘Drupal India Association’ (DIA) just before the Drupal Camp Delhi in June 2019.

In my experience, it’s the inertia and if i may, a bit of analysis-paralysis, which holds us back from making a determined push to make things happen. Then started the process of forming a board, enrolling all the business owners and key community members to form a formal board. 

The following companies came forward to contribute seed money of Rs.21,00,000 (approx $30,000) to form a kitty: 

  1. Ameex Technologies
  2. Axelerant Technologies 
  3. Innoraft Solutions
  4. Open Sense Labs 
  5. QED42
  6. Srijan Technologies
  7. Unimity Solutions 

The ambition of contribution and influence

By the time Drupal Camp Pune happened in September 2019, what we finally had in place was a functional yet loose governing body — with pretty much every leader from across six cities in India. Inspite of the informality of the board we starting collaborating exceptionally well. On the sidelines of the Pune Camp we stated our ambition of creating a sphere of influence in the entire Indian Ocean Rim, and agreed to not only limit our influence to India.


Board meeting in Pune.  

All of the members present were patting ourselves about the high number of contributions that India makes to Drupal. Dipen Chaudhary, the pioneer of the Drupal community in India and our board member, busted our little bubble by reminding the group that it was a classic of ‘quantity of quality’ and that contributions coming from India were much lower in the rung while all the heavy lifting such as contributions to the Drupal Core were made by the west, Americans in particular. 

Meanwhile, with Prasad’s help we were able to get initiatives like offering discounted Acquia Certifications at every camp. 

Our ‘Big-Hairy-Audacious-Goal’ (BHAG)


After the Chennai Board Meeting

On the sidelines of the Drupal Camp Chennai in December 2019 Shyamala invited—Shri Ramraj the founder of Sify and an advisor and board member of some of the largest Indian IT service companies. We took turns in sharing what we think was inspiring us to come together. Not impressed, Ramaraj prodded us to think of some big goals. He said that coming together is easy, but staying together requires a North Star, and nudged us to think of some big ambitious goals. 

Dipen’s reality check of the Indian contributions had been bothering me since our meeting in Pune. Drupal 9 was on the cards. For us, it wasn’t hard to put two-and-two together and suggest an audacious goal of becoming the largest contributor to Drupal 9 by June 2020 when D9 releases. A lot of anxious looks and pin-drop silence later, a consensus was reached— that we are going to go after this goal. 

Personally, true to the Indian tradition, i felt like touching Ramraj’s feet, truly living by the Indian tradition of showing respect to Gurus or teachers.

Enter ‘COVID-19’ 

Under Mukesh’s leadership Drupal Camp Kolkata planned for March 2020 was in full swing. All the funds being raised were for the first time were being raised under the aegis of Drupal India Association. Excitement levels were high. 

And then came the Covid crash. Drupal Camp Kolkata was cancelled. All the money from the various sponsors of the camp returned. Down but not out! 

Not letting the ball drop

Fortnightly recurring calls and Shyamala showing up on them each & every time, ensured that the group did not fall back into inertia. Our event calendar for Drupal Camps, Meetups, Contribution days agreed to in Chennai, ensured that our activities and also North Star goal remained in sight. 


A social promo prepared for excitement of release of Drupal 9 

Meanwhile, Piyush Poddar led our social media charge and designed systems to ensure Drupal agencies get into a healthy competition of contributing content to be promoted under DIA. 

Drupal Cares
We joined hands as a group to run campaigns for the ‘Drupal Cares’ initiative asking Drupalers in our respective companies to sign up as members and also donate. 

Drupal 9 Porting Weekend
Surabhi Gokte worked with Gábor Hojtsy to help organise the Drupal 9 porting weekend on May 22–23. Led by 10 mentors, 45 Indian Drupalers worked on 165+ modules for porting over to D9.

Under Dipen and Rachit’s leadership, Surabhi is now pushing forward to put together a plan for an all-India online event — our next BHAG (phew!). Do look for news on Drupal Groups for this.

Well, what about our North Star?

When we setup our North Star goal we had decided that our developers would ofcourse continue to tag their respective companies but additionally would add DIA as the client. 

As i write this post, Drupal India Association, has risen from zilch to being at position #7 on the Drupal Marketplace in terms of contributions.

Drupal contributions listing for DIA

While we will not end up meeting our BHAG ‘by June 2020 when D9 releases’, we will continue to strive as a group to become ‘the largest contributor to Drupal 9’.

All credit to the contributing developers and community members

None of our North Star BHAG could ever be possible without all the unnamed Indian developers working in several member companies who’ve been spending time doing Drupal contributions, including on weekends and after-office hours. Contributors like Prof. Sunthar, Prafful, Vidhatananda, Hussain, Rakhi, Vijay, Surabhi, Sharmila cannot go without mention. 

At the Drupal Association, we look forward to hearing more from Rahul and their BHAG.

Jun 17 2020
Jun 17

This is the sixth post in our series about integrating Drupal.org with a 3rd party developer tooling provider:

In March of last year the team here at the Drupal Association migrated all of the Git repositories at Drupal.org from bespoke Git hosting to a self-hosted GitLab instance. This was a major milestone in modernizing the developer workflow, immediately providing better search within project codebases, a better code viewer, and direct code editing in the browser for project maintainers.

However, we know that the primary feature the community has been waiting for is merge requests. We're very excited to report that we're now very close to opening up a beta test of merge requests integrated with Drupal.org issues.

Stepping back for a moment, let's remember the ideal contribution flow that we defined when evaluating our Developer tool options: 

Drupal Flow

  • The issue itself should remain a single-threaded conversation for discussing the particular problem to be solved.
  • Every issue will be associated with one canonical issue fork(with multiple branches, as needed) which can be collaborated on by any contributor, and merged by a project maintainer.
  • Contributors will be able to modify the code in these issue forks by:
    • Checking out the code and committing/pushing changes to the workspace.
    • Inline editing files using GitLab's web interface.
    • Legacy: uploading a patch.
  • All types of contribution—whether merge requests or the legacy patch workflow—will continue to trigger DrupalCI testing.
  • Issue forks can be rebased (manually or automatically) when needed to resolve conflicts with upstream commits.
  • Contributors and project maintainers will be able to comment on individual lines of code.

The foundation for this work is the ability to create these issue forks from an issue on Drupal.org. This involves building an interface from Drupal.org that creates an issue fork in GitLab associated with the Drupal.org issue, and then any Drupal.org user can push to that fork and branches within it. Maintainers may then merge this work from a branch on the issue fork the project.

That foundational work to create the necessary git hooks and access control management is now complete.

The next steps are:

How can you get involved?

If you are a contributed module maintainer, and would like to be a part of the early beta test program for Drupal.org-integrated GitLab merge requests, please indicate your interest by posting a comment to this issue with a list of projects you would like to opt-in.

When will merge requests be available to the community at large?

Creation of issue forks and branches will be available to a limited subset of projects this week, the week of June 14th, 2020. Over the course of the next several weeks we hope to implement the additional UI features that will display relevant information about the issue forks back in the Drupal.org issue, and ultimately allow merge requests themselves.

We hope to have the beta of merge request functionality available to some projects no later than DrupalCon Global, in Mid-July. From there, we'll work through feedback from our beta testers, and work with Drupal core maintainers, to enable issue forks for all projects in the coming months

We hope that you're as excited about this update as we are. It represents a lot of thought on the part of many community contributors, and a lot of work on the part of the Drupal Association staff.

Post-Script - What about DrupalSpoons?

As you read this update, many of you may be wondering how this work fits together with an emerging community initiative called DrupalSpoons. DrupalSpoons is an effort to not only use GitLab for merge requests, code viewing, inline editing, etc… but also to replace Drupal.org issues and DrupalCI with their GitLab equivalents, unifying the developer experience in a single UI.

To be clear, neither we at the Drupal Association, nor the DrupalSpoons initiative are recommending that projects at large begin migrating to the current experimental DrupalSpoons environment. Rather, DrupalSpoons is encouraging experienced maintainers who want to try the workflow as early adopters to try managing their projects on DrupalSpoons. Their goal is that initiative will prove new workflows and ideas that can be brought back into the official community tools on git.drupalcode.org.

The DrupalSpoons contributors have done some helpful and innovative work so far. We appreciate seeing contributors pushing the boundaries of what can be done with 'off-the-shelf' tools, and there's potentially quite a lot we might learn from this work that will inform future tooling for the Drupal project. For example, it's likely that we'll look to DrupalSpoons' use of GitLabCI as we look towards the next generation of DrupalCI.

We are always watching and listening to see what the community wants and needs for Developer Tools. Over time, new tools emerge that add significant value. As the Drupal Association, being responsible for maintaining these tools, we would like to approach each component independently (i.e: look at merge requests, issues, or GitLabCI, each independently) as the DrupalSpoons project continues.

In the meantime, we are moving forward with integrating GitLab merge requests with the Drupal.org issue queues. Once that's complete, we'd like to see a gap analysis to see what would be gained and lost when comparing Drupal.org issues with GitLab issues.

Jun 17 2020
Jun 17
Project: Drupal coreDate: 2020-June-17Security risk: Critical 15∕25 AC:Complex/A:None/CI:Some/II:Some/E:Theoretical/TD:AllVulnerability: Cross Site Request ForgeryCVE IDs: CVE-2020-13663Description: 

The Drupal core Form API does not properly handle certain form input from cross-site requests, which can lead to other vulnerabilities.

Solution: 

Versions of Drupal 8 prior to 8.8.x are end-of-life and do not receive security coverage. Sites on 8.7.x or earlier should update to 8.8.8.

Reported By: Fixed By: 
Jun 17 2020
Jun 17

Looking for More Drupal Event Organizers. This must be the place.

It feels like a lifetime ago that the event organizers’ request to become an official working group was approved by the Drupal Association at DrupalCon Amsterdam. Since then, 2020 has been a year that no-one will forget—from a global virus to social justice demonstrations—the world as we know it has been forever changed. 

Lessons We Are Learning in 2020

So far in 2020, we have learned some valuable lessons that we think will help us be a better working group moving forward. 

Organizing Events is Hard. Organizing volunteer-led events is difficult already, let alone during complete uncertainty. Many event organizers have had to make very difficult but swift decisions by either canceling or trying to pivot to a virtual conference format. 

Finding the Right Time is Hard. Organizing a global group of volunteer event organizers is also hard. As someone who has had little time on international teams, I admittedly thought of finding a meeting time a breeze. I was completely wrong. 

Global Representation is Hard. One of our top priorities was to have global representation to help foster growth and collaboration around the world but unfortunately due to either the meeting times or not enough focused marketing on international event organizers the participation was just not where the board felt it should be.

Changes We are Making

After a few emails and some friendly debates, the board looked for opportunities for change that can help solve some of the lessons we have learned. 
 
Alternating Meeting Times in UTC Format. To help foster more international participation, all scheduled meetings will alternate times all marketed and posted in the Coordinated Universal Time (UTC) format. Public meetings will now be at 12:00 pm UTC and 12:00 am UTC.   

Increase Board Membership to 9. The group decided to expand the board members to 9. We are highly encouraging organizers from around the world to submit their names for interest to increase our global representation. 

Maintain and Recruit Advisory Board Members. Succession planning is critical for any operation, and our advisory board provides more flexible commitment in participation which we hope will be our number one resource for new members down the road. 

Board Members Nominations. In addition to expanding the number of board seats, Suzanne Dergacheva from DrupalNorth (Canada) and Matthew Saunders (DrupalCamp Colorado) have accepted their nominations from advisors to board members. 

Current Board Members

  • Camilo Bravo (cambraca) - DrupalCamp Quito - Ecuador / Hungary
  • Baddý Sonja Breidert (baddysonja) - DrupalCamp Iceland, Germany, Europe, Splash Awards - Europe
  • Kaleem Clarkson (kclarkson) -DrupalCamp Atlanta  - Atlanta, GA, USA
  • Suzanne Dergacheva (pixelite) - DrupalNorth - Montreal, QC CANADA
  • Leslie Glynn (leslieg)  Design 4 Drupal Boston, NEDCamp - Boston MA
  • Matthew Saunders (MatthewS) - Drupalcamp Colorado - Denver, CO, USA
  • Avi Schwab (froboy) - MidCamp, Midwest Open Source Alliance - Chicago, IL, USA

Things We are Working On

There are so many things that all of us organizers would like to get working, but one of our goals has been to identify our top priorities.

Event Organizer Support. We are here to help. When volunteer organizers need guidance navigating event challenges, there are various channels to get help. 

Drupal Community Events Database. In collaboration with the Drupal Association, the EOWG has been working on putting together a new and improved event website database that will help market and collect valuable data for organizers around the world.
Submit your event today: https://www.drupal.org/community/events

Drupal Event Website Starter kit. To help organizers get events up and running quickly, an event website starter kit was identified as a valuable resource. Using the awesome work contributed by the Drupal Europe team, JD Leonard from DrupalNYC has taken the lead in updating the codebase. It is our hope more event organizers will help guide a collaborative effort and continue building an event starter kit that organizers can use. 

Join the Event Organizer Slack here and Join #event-website-starterkit

Seeking Event Organizers Board Members and Advisory Committee Members - Submit Your Nomination Today

The Drupal Event Organizers Working Group is seeking nominations for Board Members and Advisory Committee Members. Anyone involved in organizing an existing or future community event is welcome to nominate. 

EOWG Board Members. We are currently looking for nominations to fill two (2) board seats. For these seats, we are looking for diverse candidates that are event organizers from outside of North America. Interested organizers are encouraged to nominate themselves. 

EOWG Advisory Committee. We are looking for advisory committee members. The advisory committee is designed to allow individuals to participate who may not have a consistent availability to meet or who are interested in joining the board in the future. 

Nomination Selection Process: All remaining seats/positions will be selected by a majority vote of the EOWG board of directors. 

Submit Your Nomination: To submit your nomination please visit the Issue below and submit your name, event name, country, territory/state, and a short reason why you would like to participate.  

Issue: https://www.drupal.org/project/event_organizers/issues/3152319

Nomination Deadline:  Monday, July 6th, 11:59 pm UTC 

Jun 17 2020
Jun 17

Last month, the Drupal community was abuzz with anticipation of version 9. Our recap of May’s top Drupal posts, then, features a lot of those related to the release of Drupal 9, from the new Drupal brand to recollections of the Drupal 9 Porting Weekend. We hope you enjoy revisiting them!

New Drupal Brand Ready for Drupal 9 Launch

Let’s start with the already introduced new Drupal brand, unveiled early enough for all Drupal 9 related messaging to feature the updated branding. In this first post, the Drupal Association’s CTO Tim Lehnen introduces the new Drupal logo which aims to reflect the flexibility and modularity of the CMS, and the strength of its connected community. 

The new design, created by the Italian company Sixeleven, prioritizes continuity and is planned on being used for Drupal 10 and beyond. The inner drop idea was inspired by a past DrupalCon logo design. While the new logo has become the standard in all messaging, the famous Druplicon still exists, along with its many variations, of which we’ll likely see more again as the new Drop is reimagined. 

Read more

The bliss of contributing to Drupal 9

The second post on this month’s list, written by Hadda Hreiðarsdóttir of 1xINTERNET, functions kind of as a second part to their post about the Drupal 9 Porting Weekend, with the first post announcing the event and this second one providing a recap of it. 

1xINTERNET’s main goal was providing a stable release for every module maintained by someone from their team. They worked on 46 different projects, produced 15 stable Drupal 9 projects, enabled several first-timer contributions, all while working together in the true spirit of Drupal. 

You’ll also find first-hand recollections from specific team members in the post. Big kudos to the entire 1xINTERNET team for their strong commitment to the project and its community!

Read more

Thanks for making a difference at Drupal 9 Porting Weekend!

Next up, we have another post about the Drupal 9 Porting Weekend on May 22 - 23, this one by the Drupal 9 initiative coordinator Gábor Hojtsy. Following the success of the first Drupal 9 Porting Day Gábor organized in April, he decided to do another event lasting the whole weekend. 

This one turned out to be even more successful, with a large number of people and organizations actively participating and working on over 500 issues during the weekend. The weekend and the days following it also produced more daily Drupal 9 ready projects than any day before. As such, the two events were definitely important last steps towards Drupal 9 readiness.

Read more

Multilingual Drupal - Part 1: The Process

Moving on, we also really enjoyed Amazee LabsChristophe Jossart’s guide to creating multilingual websites and web applications with Drupal. In part one, Christophe covers the basics you need to get started, such as the main considerations and concepts.

He starts off with how to define the right approach to the translation strategy, then continues with some of the most important concepts for multilingual Drupal and the expectations of different stakeholders. 

Next, he gives a summary of the translation features in Drupal Core and some contributed solutions, e.g. Translation Management Tool (TMGMT). He finishes the post with some quick tips and a list of additional resources to check out.

Read more

Accelerating Drupal 9 module and theme readiness with automated patches

We continue with a post jointly written by Tim Lehnen and Acquia’s Ted Bowman. While the update to Drupal 9 is already unprecedentedly smooth, there exists a certain tool that facilitates upgrading even further: Drupal Rector, supplied by Palantir.net and Pronovix.

Using Drupal Rector, developers are able to automatically remove deprecations and make code compatible with Drupal 9. To make this process even easier and less time-consuming, the Drupal Association also introduced the Project Update Bot which provides patches generated by the tool. Still, ultimately, it’s left to project maintainers to decide whether to use the patches provided by the bot.

Read more

Content creators going layout – with Drupal Layout Builder

In May 2019, the up-until-then experimental Layout Builder was included in Drupal’s core and is now included as an out-of-the-box feature with new versions of Drupal. This post by Jan Lemmens of Amplexor takes a look at how the job of content creators and site builders is greatly facilitated thanks to Layout Builder.

The tool gives non-technical users a lot more control over a page’s layout, allowing them to manage the layout of fields or structure the placement of blocks, for example. When comparing it to the more established Paragraphs module, Jan points out that it is more suited towards managing page content, whereas the Layout Builder is for page layout. 

Read more

Assessing your Drupal 9 Readiness, Part I: Estimate, plan and action. Without tears.

Almost at the end of this month’s list, we have a blog post by Manifesto’s Gabriele Maira aiming to prepare users as best as possible for the upgrade to Drupal 9. The key question to ask, according to Gabriele, is: How Drupal 9 ready am I? (If you’re keeping up with Drupal 8.x core releases, you’re already well on your way!)

The first thing he suggests doing is reviewing the usage of your modules and themes, then installing the Upgrade Status module to scan them, beginning with custom code. Then, make sure that the hosting platform requirements are still satisfied and, finally, make a plan for upgrading any custom code you’re using, taking special care with those that depend on contributed projects. 

Read more

A Guide to Preparing for Drupal 9

Last but not least, we have another post concerning Drupal 9 preparation. Its author, Sarah LeNguyen of Forum One, first gives some historical background on the upgrades between major versions of Drupal, then explains how Drupal 9 differs from previous major versions.

Namely, it’s exactly the upgrade process that has been smoothed out, with backwards compatibility; Drupal 9.0 thus only removes deprecations and updates third-party dependencies, while new functionality will come in 9.1 and beyond. 

The second half of Sarah’s post is dedicated to helping people get ready for the upgrade, whether it’s the easier upgrade from Drupal 8 or the more demanding one from Drupal 7. She covers both cases, as well as provides some key information on support timelines.

Read more

Woman releasing multicolored balloons into clear blue sky

At the time of writing and publishing this post, Drupal 9 has already been released, and we at Agiledrop have already worked very successfully with the new version. Reach out to us if you need any help with an upgrade, or with custom development for your new Drupal 9 site.

Jun 16 2020
Jun 16

The following case study was written collaboratively by hestenet and nnewton, explaining how we use rsync.net to manage backups for Drupal.org. The Drupal Association used rsync.net for many years prior to any partner relationship, and is now proud to count rsync.net among our Technology Supporters.

Drupal.org has been the home of the Drupal community for many years. Online since 2001, and fed by a global community of contributors, there is a tremendous amount of open source history recorded here.

It's critical that we safeguard that history for posterity, and of course all of our current activity so that we can maintain the momentum of the Drupal project.

Naturally, we've done a tremendous amount of work to make our infrastructure robust and fault tolerant from the top of the stack to the bottom. Individual servers use RAID storage, our infrastructure is built using highly-available pairs, and the Oregon State University Open Source Lab, our data center, has good data center hygiene and redundant power and cooling.

But disasters can and will happen, and this is why off-site backups are critically important.

Drupal.org uses rsync.net to manage off-site backups, and we highly recommend them as a solution. rsync.net is built on ZFS, a file system we have experience with and trust to be durable and offer cheap, immutable snapshotting. rsync.net gives you an empty filesystem to do anything you want with and works with any SSH or SFTP based tool. This standard approach allows us to easily use the service with existing tooling. We have used rsync.net for various purposes for almost ten years and have not had a single incident.

How exactly do we use rsync.net

rsync.net is actually configured as our primary backup location for all of the Drupal.org infrastructure. In addition to this, because we take advantage of rsync.net's geo-redundancy feature, rsync.net provides those backups in multiple, separate data centers. We also use rsync.net for a secondary backup layer for some select data pools that are already backed up in Amazon S3, or on the Open Source Lab's backup servers.

How do we have it configured?

For the Drupal.org infrastructure we use BorgBackup (https://www.borgbackup.org) to manage compression, encryption, and deduplication of our backup data. We then entrust rsync.net with ZFS snapshotting of the Borg data, providing us with points in time to easily roll back to. This gives us a sliding window of encrypted backups. It also gives us protection from malicious actors or ransomware as the rsync.net snapshots are immutable, or read-only.

The actual execution of borg and tracking of backups is done using a bash script that is placed on each server by our Puppet tree. Puppet also places a private key for encryption and the appropriate ssh private key for rsync.net access. We wrap Borg in a script due to our need to cleanly initialize new vaults when we spin up a new server, as well as our need to monitor Borg execution. One thing we have found is that it is difficult to detect silent failure for Borg specifically, so we have multiple points of feedback in the script. Our script functions as follows:

  1. Check if a vault on rsync.net exists for this host, if not create it.

  2. Backup the paths passed to this script to said vault for today’s date.

  3. Check the return of the last command, if it has failed email our monitoring endpoint to trigger an alert.

  4. Use Borg to pull statistics from the last backup, such as count of files backed up, chunks backed up, size of backup, etc.

  5. Massage those statistics into usable metrics and send them to statsd, where they will end up in our monitoring system.

With this process we both have an alert in the time of failure and also can create alerts based on the graphs we create from statsd. We do this to catch times when a backup may have succeeded but the amount of data backed up dramatically fell. That “success” may have been a failure in that case, just not an obvious one.

Example dashboard built from statsd information:

A major reason we value rsync.net is it presents a simple/standard ssh interface that allows us to use tooling we can customize to exactly what we need, as in the above example.

Why would we recommend this to others?

We share the Drupal community's love of simple, elegant, and technically excellent solutions to problems. Configuration and backup management with rsync.net ticks all of those boxes, and further the business-side is run in a very friendly way, with frequent increases in capacity available at very reasonable rates.

It's proven to be an effective and affordable way to use the funding we receive from the Drupal community to protect the project, and we believe you can trust it to protect your own projects as well.

Jun 14 2020
Jun 14

Jitsi video conference

Best video conferences are built on Jitsi. Jitsi is a set of open-source projects that allows you to easily build and deploy secure video conferencing solutions. At the heart of Jitsi are Jitsi Videobridge and Jitsi Meet, which let you have conferences on the internet, while other projects in the community enable other features such as audio, dial-in, recording, and simulcasting.

We have integrated Jitsi service with Drupal to access video conference directly from a Drupal site. You can create random or custom conference rooms or join existing conference. By default, the Jitsi meet server is used to establish connections, but you can specify your own server in settings.

Please check and try the module project which is in development version alpha3.

Some improvement have been made with layout, option to chose layout type, window sise and a side menu for some jitsi settings.

Jitsi window
Jun 14 2020
Jun 14

In previous article we have seen how we create a very simple theme with 1 main content region as page layout.

theme admin

Lets look now at the custom module to handle theme switch and content display.

Part 2: the custom module

The module called "land_page" structure is as follow:

module

Lets look at the most important parts specific to the land page.

land_page.info.yml : this is the standard module info settings.

land_page.rounting.yml : in this file we will define our land page routes. Those route will be the reference to switch theme. I.e.


default_land_page:
path: '/land-page _controller: '\Drupal\land_page\Controller\Controller::defaultLandPage'
requirements:
_access: 'TRUE'

The next important part is the class that manage the theme switching in ThemeNegotiator.php (see Drupal):


negotiateRoute($route_match) ? true : false;
    }
    /**
     * @param RouteMatchInterface $route_match
     * @return null|string
     */
    public function determineActiveTheme(RouteMatchInterface $route_match)
    {
        return $this->negotiateRoute($route_match) ?: null;
    }
    /**
     * Function that does all of the work in selecting a theme
     * @param RouteMatchInterface $route_match
     * @return bool|string
     */
    private function negotiateRoute(RouteMatchInterface $route_match)
    {
        if ($route_match->getRouteName() == 'default_land_page')
        {
            return 'ek';
        }
        return false;
    }
}

When the visitor navigate on the website, the theme negotiator will check if the route = land page route and sitch to the appropriate theme.

In order to achieve the above you need to declare a service.

land_page.services.yml :


services:
    land_page.theme.negotiator:
        class: Drupal\land_page\Theme\ThemeNegotiator
        tags:
          - { name: theme_negotiator, priority: 1000 }

In the Controller.php we will create the function that is called in the land_page.routing.yml (defaultLandPage()):


/**
 * Default land page
 * @return array
 *
*/
 public function defaultLandPage() {   
    $items = [];
    $items['asset'] = drupal_get_path('module', 'land_page') . "/assets/";   
    return array(
        '#theme' => 'land_page',
        '#items' => $items,
        '#title' => '',
        '#attached' => array(
            'library' => array('land_page/land_page'),
        ),
    );
 }

In this function we define which template to use, we pass some $items for content and attach our library.

The them template is defined in land_page.module :


/**
 * Implementation hook_theme().
 */
function land_page_theme() {
  return array(
    // default
    'land_page' => array
    (
      'template' => 'land_page',
      'variables' => array('items' => array(), 'data' => array()),
    ),  
  );     
}

The library is defined in land_page.libraries.yml . Library will be very important as it will define all the custom css, js or external resources needed to render the page. A simple example of library  that include custom css, js and fonts will be:


land_page:
  version: 1
  css:
    theme:
      //fonts.googleapis.com/css?family=Barlow:400,500,600&display=swap: { type: external }
      css/land_page.css: {}
  js:
    js/js.min.js: {}
    js/land_page.js: {}

In the hook_theme(), the template called is "land_page" which is a twig template under template folder: land_page,html.twig. In this template you will build your html content to render the actual land page. This is where your creativity will start.

On big advantage of twig templates is that you can insert content from other Drupal source like webform or existing blocks directly into the land page.

Now you can install your module, navigate to your /land-page url and access to your land page content.

Jun 14 2020
Jun 14

Landing pages are great for product presentation and customer engagement.

There are a must for today marketing campaigns, mobile advertising and sales development.

landing pages

There is no easy way to build a simple landing page in Drupal.

You can use custom themes or modules to manage layout like parade but it is not that simple. Layout options are limited. For instance. The module does the job; you can build a simple landing page without custom development, but requires a lot of dependencies for a simple page and you may still have to do some css editing.

In this article we will explain how our landing page has been constructed within Drupal 8 website using separate dedicated theme and a custom module with twig templates.

The original page which is a stand alone 1 page theme is now fully integrated in the website.

It may not be the best method, but it can be easily replicated and give more room for creativity and extra flexibility compared to a layout module or a full land page theming construction.

Part 1: the custom theme

To achieve that, we created a custom theme with only 1 region for content. When building a 1 page theme, you usually do not want side columns or extra headers and footers.

To create your theme, you only need 1 file to be saved under your custom theme folder in the Drupal 8 "themes" folder: myTheme.info.yml.


type: theme
base theme: false name: 'EK'
description: 'Built to use land page'
version: VERSION
core: '8.x' regions:
  content: Content
  footer: Footer

This is what is needed to create the basic theme that will be used in our landing page. We keep a region "footer" to insert hidden blocks or content.

This theme will be called on specific routes names and will replace the default theme of the site.

You can add a screenshot image also in the theme folder if you want to enhance your admin view.

theme admin

In the next step we will explain how our custom module switch theme for dedicated url and build the landing page with twig template. For that step you will need some knowledge on creating a simple module, insert libraries and make a twig template.

Jun 10 2020
Jun 10

What's new in Drupal 9?

With the release of Drupal 9, there are no major changes, no system overhauls, not even any new features! The only differences between Drupal 8.9.0 and Drupal 9 is that those deprecated APIs have now been removed, and a number of third-party dependencies (Symfony, Twig, etc) have been updated to newer versions which will be supported for longer.

This means that as long as you are already on Drupal 8, and have been keeping your site up-to-date, upgrading your site from Drupal 8.9.0 to Drupal 9 should be a relatively pain free process.

Are Drupal 7 and 8 still supported?

Yes, Drupal 7 and 8 will both be supported until November 2021, at which point both versions will reach their end-of-life (EOL). It is highly recommended that you upgrade to Drupal 9 before then. After this date, these versions will no longer be supported by the Drupal Security Team which means no future security patches or bug fixes will be released for these versions.

This is the first time that two major versions of Drupal will become unsupported at the same time. The timing of Drupal 8's EOL has been planned to coincide with the EOL of one of its third-party dependencies, Symfony 3. As the upgrade path from Drupal 8 to Drupal 9 is so simple, it is unlikely that any extended support will be available for Drupal 8 beyond this date.

Drupal 7 is a different story though. There will most likely be a small group of approved third-party agencies who will provide long-term security support for Drupal 7, for a fee of course, for those organisations which are not ready to undertake an upgrade just yet.

However, there is still a year and a half before they reach their end-of-life, so there is plenty of time to upgrade your site - you just need to start planning for it now.

Upgrading from Drupal 8

If you are using Drupal 8 already, then the process of upgrading to Drupal 9 is relatively seamless and pain-free.

  • The first step you should undertake is to ensure that you are running the latest version of Drupal 8 and any contributed modules you may be using.
  • Use the Upgrade Status module to check whether your custom code and contributed modules are Drupal 9 ready.
  • If any contributed modules are not Drupal 9 ready, then check their issue queue and work with their maintainers to remove deprecated code.
  • Remove deprecated APIs used in your own custom code too. The Rector module can assist in resolving these automatically.
  • Lastly, make sure your hosting environment is compatible with the updated requirements of Drupal 9.

At this point you should be ready to upgrade to Drupal 9! Of course, as with any upgrade, we recommend taking a backup and testing it in a non-production environment first.

Upgrading from Drupal 7

There is no upgrade path from Drupal 7 to Drupal 8, or indeed Drupal 9. Essentially your site will need to be rebuilt from scratch and any content you want to retain migrated into the new structures. While this is a large undertaking and may seem a bit daunting, it's also a huge opportunity.

Drupal 7 was first released in January 2011. By the time it reaches its end-of-life in November next year, it will be over 10 years old! That's 10 years of no new features, other than what can be provided by contributed extensions. Ten years is a long time in the life span of any software, but particularly so in the online digital space, where technology advances rapidly.

Upgrading to Drupal 9 is the perfect time for you to re-evaluate your online digital strategy, to re-assess your messaging and positioning. It's a time to enhance and improve your customers' experience online. It's a time to take advantage of the new innovations and features released on the platform every six months.

At Annertech, we deliver ambitious digital experiences for our clients, and with Drupal 9 we know we have the ideal digital experience platform to deliver on that aim.

Isn't it time you started planning your upgrade now?

Jun 09 2020
Jun 09

This blog has been re-posted and edited with permission from Dries Buytaert's blog.

Lat week, we released Drupal 9.0.0! This is a big milestone because we have been working on Drupal 9 for almost five years.

I updated my site to Drupal 9 earlier today. It was so easy, it's hard to believe.

As I write this, I'm overwhelmed by feelings of excitement and pride. There is something very special about building and releasing software with thousands of people around the world.

However, I find myself conflicted between today's successful launch and the tragic events in the United States. I can't go about business as usual. Discrimination is the greatest threat to any community, Drupal included.

I have always believed that Drupal is a force for good in the world. People point to our community as one of the largest, most diverse and most supportive Open Source projects in the world. While we make mistakes and can always be better, it's important that we lead by example. That starts with me. I am committing to the community that I will continue to learn more, and fight for equality and justice. I can and will do more. Above all else, it's important to stand in solidarity with Black members of the Drupal community — and the Black community at large.

During this somber time, I remain incredibly proud of our community for delivering Drupal 9. We did this together, as a global community made up of people from different races, ethnicities, genders, and national origins. It gives me some needed positivity.

If you haven't looked at Drupal in a while, I recommend you look again. Compared to Drupal 8.0.0, Drupal 9 is more usable, accessible, inclusive, flexible, and scalable than previous versions. We made so much progress on such important things:

  • Drupal 9 is dramatically easier to use for marketers
  • Drupal 9 is easier to maintain and upgrade for developers
  • Drupal is innovating with its headless or decoupled capabilities

It's hard to describe the amount of innovation and care that went into Drupal since the first release of Drupal 8 almost five years ago. To try and grasp the scale, consider this: more than 4,500 individuals contributed to Drupal core during the past 4.5 years. During that time, the number of active contributors increased by almost 50%. Together, we created the most author-friendly and powerful version of Drupal to date.

Thank you to everyone who made Drupal 9 happen.

Jun 08 2020
Jun 08

This blog has been re-posted and edited with permission from Acquia's blog.

We’re so close to the release of Drupal 9 and the excitement is alive all throughout the Drupal community. It has been 5 years since Drupal 8.0 was released and in that time, thousands of contributors and organizations have worked together to create a more powerful, accessible and innovative Drupal experience based on the input of people all around the world. As we await the reveal, we know that you are eager to know what Drupal 9 will mean for your sites and the next generation of web experiences. 

We recently joined Drupal founder Dries Buytaert in a webinar hosted by The Drupal Association and Acquia to answer your top Drupal 9 questions. Since we weren’t able to cover everyone’s questions, we wanted to cover some of the most popular ones here. Keep reading to find out what’s in store for Drupal going forward.  

Making the Migration

What are the migration options for users currently on Drupal 7? 

Gabor: Prior to the release of Drupal 9, we’ve been recommending people move to Drupal 8 first because the upgrade from 8 to 9 is much simpler. However, once Drupal 9 is released, people can use the Drupal 7 to Drupal 9 migration path directly built into Drupal 9.

The question comes down to whether the extensions that you are using are already available for Drupal 9 or not. Drupal has 9,000 extensions and more than 2,200 of them are already Drupal 9 compatible. We’re seeing hundreds of extensions added each week. The majority of people find that most/all of their extensions are already Drupal 9 compatible, in which case it is easiest to go directly from Drupal 7 to Drupal 9.

To track all of the great progress we’re making toward getting all of the Drupal extensions compatible, you can check out the Drupal 9 Deprecation Status Tracker.

Angie: Acquia also has a new tool in development for Drupal 7 to 9 migrations called Acquia Migration Accelerator, which we'll talk about more in a later section!

Do you expect support for Drupal 7 will be extended beyond November 2021?

Gabor: Currently, community support for both Drupal 7 and Drupal 8 will end in November 2021. However, Acquia is a member of the Drupal 7 Vendor Extended Support Program and will be providing commercial support for Drupal 7 until 2024

What migration tools are recommended to support the upgrade to Drupal 9?

Gabor: Drupal 9 has the same migration capabilities as 8.9, meaning that the standard migration tools can be applied when migrating to Drupal 9. The three main tools we recommend are:

  1. The Core Migrate Module suite - Migrates your content and site configuration  
  2. The Upgrade Status Module - Provides information about contributed project availability
  3. For Drupal 8 sites, the Upgrade Rector module automates updates of many common deprecated code to the latest Drupal 9 compatible code
  4. For Drupal 7 sites, the Drupal Module Upgrader - Scans and converts outdated code on your site. (This was recently upgraded by Acquia to generate code that is compatible with Drupal 8 and 9 at the same time where it can do transformations.) 

Angie: We’re also excited that Acquia will soon be offering the Acquia Migration Accelerator. This tool, which is currently in development, will help automate parts of the Drupal 7 to 9 migration process by giving companies access to a dashboard to view their data migration, provide module replacement recommendations, and offer insights into things like validation and migration errors.

Accessibility and Security 

What accessibility features will Drupal 9 have built-in? 

Angie: Drupal 9 is going to continue the strong commitment to accessibility that began in Drupal 7. Drupal's Core Accessibility Gate, required for all core changes, is a major show of dedication to accessibility efforts, and it makes sure that any new feature added will be accessible right out of the box. We’ve made a lot of positive strides when building Drupal 8 with full keyboard support, voice-to-text support for visually impaired users and media and layout enhancements. There was a lot of care put into the issue of accessibility and it’s something that will continue to be refined and worked on as part of the future of Drupal 9. 

Gabor: We’re also excited that the new Claro Administration theme, which was specifically optimized to feature an accessible design, will become the eventual default backend theme in future versions of Drupal 9. 

What security enhancements should we expect in Drupal 9?

Gabor:  A large part of the reason for the Drupal 9 upgrade itself is to ensure Drupal is more secure and compatible with modern system requirements. Also, Drupal 9 removes deprecated code so you’re working with a smaller codebase. This means there is less chance for potential security risks or errors. 

In general, Drupal has always shown itself as a secure choice. Drupal’s trusted by some of the biggest names from NASA to Tesla to NBCSports, so we’re confident it will continue to meet these high standards. The open source model creates shared responsibility throughout the community, meaning that security is a constant focus.  

Headless/Decoupled Drupal 

Is there going to be any movement toward more robust headless support and non-web content?

Gabor: We know there’s a huge interest in headless and non-web content with things like chatbots and IoT devices right now. While there aren’t currently any set plans to expand into more decoupled features, the push for change and innovation will be driven by the community. Anyone interested in advancing the current decoupled Drupal capabilities should submit their thoughts in Dries’ 2020 Drupal Product Survey, which is used to inform the strategic roadmap of Drupal’s future. 

Angie: Drupal 9 will still have all of the diverse options around traditional, partially decoupled and fully decoupled Drupal. For anyone looking for more support for their decoupled modules and content, there are tons of great contributed modules dedicated to decoupled and headless support. 

The Future of Drupal   

Will Drupal 9 include more “no/low code” features and features for non-developers?

Gabor: Definitely. Making Drupal more intuitive for all users is a big priority. There’s the Automated Updates Initiative in the works that began during Drupal 8. Funding for the second phase is being collected right now. That would help a lot of organizations with their site upkeep and maintenance without requiring a lot of dev resources.

Angie:  We’ve also got the new front-end theme, Olivero under development, that’s optimized for accessibility and tailored to front-end experiences. It’s made for people like marketers, site designers and content editors with a huge focus on responsiveness. 

Beyond core, users who want an easier experience on the front end should check out Acquia Cohesion, a low-code site building tool that lets people create new sites really quickly and easily. 

What sets Drupal 9 apart from other enterprise CMS platforms? 

Gabor: It’s the best and most modern version of Drupal, which has long been a CMS that offers the most variety, flexibility and freedom. Drupal's foundation was always in structured data which naturally caters itself to today's needs of multichannel interactions. Also Drupal has one of the biggest open source communities on the planet. There are thousands of people and over a thousand companies working on it to add more features, to improve security and to create new extensions.

Plus, those open source roots mean that companies that choose Drupal aren’t limited or trapped if one proprietary software company suddenly decides to switch vendors. They always have the option to move to another provider.  

Angie: Drupal is amazing because it’s always on the cutting edge. There’s no waiting around for one company to catch up with the digital roadmap. For example, a few years back when Pinterest had just come out and was becoming popular, Drupal had a plug-in for it in just two days! We have a community of thousands of developers that can embrace change right away as these big developments happen and I think that’s a big advantage when it comes to web experience. 

---

Drupal 9 marks another huge milestone in the world of web content management and digital experience. As you prepare for Drupal 9’s release, we’ve got the Ultimate Guide to Drupal 9 to help guide you on this exciting journey.  

Jun 08 2020
Jun 08

PatrickContinuing our short series of articles highlighting ways that the Drupal software and its community are building solutions to help combat the effect of COVID-19, today we hear from Patrick Corbett of Redfin Solutions. Here, he describes their project at the  Rural Aspirations Project.

The Rural Aspirations Project was created to expand educational opportunities in rural Maine that develop and honor the community while stimulating the innate curiosity of the students and teachers. When the Maine state government shut down the schools to limit the spread of COVID-19, parents and teachers found their roles turned upside down. Rural Aspirations saw the need for a service to connect Maine families and teachers with the wide array of activities and resources offered by Maine organizations.

In light of this growing need, Redfin Solutions collaborated with Rural Aspirations to launch an improved Community Learning for ME website. The new website had to be capable of addressing immediate needs in the community: collegial support for teachers, a way for organizations to explore and pilot innovative virtual connections, and a quick and easy resource for families that are struggling to manage what some have called “crisis schooling.”

With communitylearningforme.org, local educational organizations such as the University of Maine Cooperative Extension, the Portland Public Library, and the Maine Audubon can post their resources, learning activities, and links to live events. With Drupal, we were able to use taxonomy and views with exposed filters to empower the teachers and parents to find the perfect resource while enabling them to discover more. Users can filter and search by subject, age group, and duration for a resource that fits a specific need. They can also browse through the website to learn more about what Community Learning for ME has to offer. Teachers can create schedules for their students to follow along with at home. Parents can find resources to support them in engaging their child, and fun activities for their child to work on. 

screenshot of website

Community Learning for ME is a volunteer-driven, grassroots effort. The website is best served by Drupal because it allows administrators to grant trusted organizations access to manage their own pages on the site through a custom publication workflow. Before using Drupal, the administrators spent hours each day on a Wix-based site creating and updating resources manually. Now, with the time they save, they can focus on providing targeted support to those in the rural Maine community who need it the most.
 

Jun 04 2020
Jun 04

The Drupal CMS has always been at the forefront of ambitious digital experiences, even when these were confined to the web. As a viable open-source equivalent to proprietary platforms such as Sitecore, Drupal has remained the go-to choice for enterprise users throughout its nearly 20 year long lifecycle. 

Drupal has come a long way since its early days. Each major version represented a significant improvement over the previous one, with Drupal 8 introducing many of the most sought-after features while optimizing the experiences of developers, content editors and site builders. 

The just released version 9, then, represents the most significant shift the CMS has seen to date and paves the way for a new outlook on digital experiences. This post will provide an overview of some of the most notable novelties with Drupal 9 and why they’re so groundbreaking for the digital sphere.

First off - Gartner’s abandoning of the Magic Quadrant for WCM

Gartner's DXP Magic Quadrant January 2020

Gartner's DXP Magic Quadrant (Source: Gartner)

Gartner, along with some other notable people in the industry, was one of the first to realize the shift in the collective mindset from web content management to digital experience management. 

To this end, they abandoned their WCM Magic Quadrant in January 2020, prioritizing instead the DXP Magic Quadrant, where the Drupal-based Acquia is positioning itself as a key player

With the release of Drupal 9 and Acquia’s recent acquisitions, this sets the stage for a new era for digital experiences, Acquia is able to position itself as the leading open-source digital experience platform, competing even with established proprietary solutions. 

New front-end and back-end themes

Not wanting to fall behind with the times, users of Drupal have pointed out its outdated front- and back-end themes. To this end, development of the two revamped themes began, with the Claro back-end theme released in late 2019 and the front-end theme, Olivero, planned for 9.1.

The new themes feature a modern, slick look, which assures a good user experience that never comes at the expense of accessibility. Having a reputation as a very accessible CMS, Drupal 9 retains its commitment to accessibility with the two new themes.

Vetted and tested by a huge community of experts

Incredible amounts of organizations and individuals in the Drupal community have during the past months been busy getting everything set for the release of Drupal 9. Updating and removing dependencies began well over a year ago, but since the start of 2020, we’ve seen many initiatives focused exclusively around getting 9 ready for a stable June release. 

Here are only a few of the most notable people and organizations that definitely deserve a shout-out: Gábor Hojtsy, the release coordinator; Matt Glaman, the author of drupal-check; the 1xINTERNET team for their commitment to the Porting Weekend and the release celebration; and many others dedicating their time to the project.

Such thorough vetting and testing logically also guarantees stability and security, in which previous iterations of the CMS already excelled, but which Drupal 9 has prioritized even more strongly. 

API-first

Drupal has committed to being an API-first framework, and version 9 continues with this trend. The REST API allows it to function as a “headless” or “decoupled” CMS, enabling numerous possibilities for integration. 

These integrations can either be with other web frameworks, e.g. e-commerce and/or front-end, or they can even go beyond the web thanks to Drupal’s powerful multichannel capabilities, which version 9 is likely going to further develop and streamline.

Unprecedentedly easy upgrade path

By now, you might be wondering “But where are all the groundbreaking changes you’ve touted?”. Well, this is exactly what’s so groundbreaking about this major release. As Dries Buytaert, Drupal's founder and project lead, has stated: “The big deal about Drupal 9 is … that it should not be a big deal.” 

Drupal 9 capitalizes on Drupal’s existing strengths, while prioritizing a smooth and easy upgrade process focused on backwards compatibility. Users who make sure to keep their Drupal 8 codebases updated to the latest minor version will be delighted by an unprecedentedly easy upgrade. 

Basically, the main goal of the 9.0 release is helping as many users as possible update to the most up-to-date version, while subsequent minor releases will be able to innovate more and deliver new features. 

Dries Buytaert Drupal 9 quote

Open-source digital experience framework

The release of version 9 truly cements Drupal as a leading open-source digital experience framework, combining all the benefits of open-source software with powerful enterprise capabilities.

Due to the rising need for digital experiences, software needs to at once be future-proof and prioritize innovation in order to still be relevant in light of future trends and disruptions. As a framework that’s only grown more and more relevant throughout the 20 years of its existence, Drupal is sure to remain a key tool in the future of digital experience. 

Conclusion

The release of Drupal 9 represents a major milestone in both the framework’s evolution and in digital experience management. We’re very excited to see what this will mean for the project and its community, as well as the digital industry as a whole. 

If you’re on the latest version of Drupal 8, you can update to 9 completely hassle-free by simply removing deprecations. If you’re still on an older version, or even on a different CMS, you can leverage Acquia’s CMS Migrate tool to migrate smoothly to Drupal 9. 

If you have any trouble migrating, or need custom functionality for your new Drupal 9 site, give us a shout out and we can help you tailor Drupal’s powerful features to your specific needs (we've already migrated a website from Drupal 6 to Drupal 9 before yesterday's official release!).

Jun 03 2020
Jun 03

PORTLAND, Ore.  June 3, 2020—Drupal, the most powerful enterprise open source content management system, is launching the latest—and most comprehensive—upgrade to its popular software today.

Drupal 9 comes with even more of the cutting-edge features that Drupal developers and users love. One out of every 30 websites in the world including Lufthansa, the CDC National Prevention Information Network, the European Commission, Médecins Sans Frontières/Doctors Without Borders, NASA, GRAMMYs/Recording Academy and Stanford University trust Drupal as the platform for their ambitious digital experiences.

Drupal 9 - Continuous innovation in technology and user experience

The updated version delivers powerful new features and an enhanced user experience. These features empower Drupal’s vision for the next generation of the web and include:  

  • Dramatically easier tools— a new layout builder, WYSIWYG media management system and content workflow tools make Drupal much easier to use. It enables users to take advantage of Drupal's robust technical architecture more easily than ever before. 
  • Continuous innovation—powerful new features delivered continuously, keeping Drupal at the cutting edge of the web. 
  • Easiest upgrade in a decade—and Drupal’s commitment to easy upgrades in the future means never having to worry about a major replatforming to stay up to date. 

One of the key reasons Drupal has been successful is we have always made big, forward-looking changes,” says Dries Buytaert, founder and project lead of Drupal. “As a result, Drupal is one of very few CMS platforms that has stayed relevant for 20 years." 

One of Drupal’s key users says they depend on Drupal’s easy-to-use interface to keep their content up-to-date—even when their developers aren’t immediately available. 
 

In a case study about how the ACLU uses Drupal, the ACLU team says, "With Drupal's new capabilities to create and administer content, including robust media support ...[and] full layout control, without the aid of developers, ... [Drupal] empowered the ACLU to be more dynamic and responsive to external events." 
 

While this new version makes it easier for non-developers to contribute to dynamic web platforms, it also continues to advance the underlying technology at the forefront of digital experiences—enabling developers to build the next generation of the web.

"Drupal's API-first architecture puts it years ahead of competitors as a decoupled or headless framework,” says Tim Lehnen, chief technology officer for the Drupal Association. “Drupal can serve as the content hub for rich experiences built with the latest technologies, including modern javascript frameworks like React, Angular, or Vue, or even with emerging channels like digital assistants and AR/VR applications." 
 

Buytaert says a key focus was making the process of upgrading as easy as possible for its users. 

"Drupal's innovation has only accelerated since the release of Drupal 8 four years ago,” says Buytaert. “Historically, major upgrades have been costly. With Drupal 9 we wanted to innovate quickly and provide an easy upgrade path from Drupal 8. We did exactly that! The upgrade from Drupal 8 to Drupal 9 is the easiest major upgrade in the last 10-plus years."

Powered by a global community

Drupal is a true open source project, leveraging the expertise of tens of thousands of developers around the world. Drupal has earned a reputation for security, performance, accessibility and scalability that is unparalleled in the CMS ecosystem. Drupal's core strength has always been its ability to manage structured data—written once, and reused anywhere—and the Drupal community has doubled down on this with Drupal 9. 

To upgrade or get started

If you’re ready to experience Drupal, discover how easy it is to build or integrate your digital portfolio by visiting drupal.org/9

Need some help onboarding with Drupal or building a digital experience from scratch? There are many agencies in the Drupal community that would be happy to help.

About Drupal and the Drupal Association

Drupal is the open source content management software used by millions of people and organizations around the world, made possible by a community of 100,000-plus contributors and enabling more than 1.3 million users on Drupal.org. The Drupal Association is the non-profit organization dedicated to accelerating the Drupal software project, fostering the community, and supporting its growth.

### 

For more information contact Heather Rocker,  [email protected]

Jun 03 2020
Jun 03

Every new version of Drupal has had the headache of the upgrade path - from 5 to 6, from 6 to 7, from 7 to 8. What this often meant was re-building the site in the new version and then doing a migration of the content. This was expensive for clients. With Drupal 9 (and the versions that will follow), this is now a thing of the past.

Drupal 9 is the exact same codebase as the last version of Drupal 8, with just two changes:

  • Updates of dependencies to versions that stay supported
  • Removal of our custom Drupal code that has been marked as deprecated

This means, if your site was running on Drupal 8, and your developers kept it updated to the latest version of Drupal 8, you just need to make sure that any contributed modules and custom code are not using deprecated functions. If that's the case, hey presto - you're website is Drupal 9 ready. I don't think we can underscore how good a feature this is strongly enough.

New Features

But surely there are some new features? No, not in this release - and that's good for now. For Drupal 9, we have the same feature set from Drupal 8. Drupal 8 introduced the idea of new features in each minor version (8.1, 8.2, etc) rather than having to wait for the next major version (Drupal 9). This means Drupal, during the 8.x lifecycle, got lots of new features - media in core, umami magazine profile (for which I am a core maintainer), layout builder, JSONAPI, and more. For Drupal 9.0, there are no new features, though that will change from 9.1. Once we get over this first release, expect new features again every 6 months.

Pages

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web