Upgrade Your Drupal Skills

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

See Advanced Courses NAH, I know Enough
Mar 28 2024
Mar 28

If you want hassle-free and efficient content generation and management, Drupal is the right choice. With several modules and tokens, it will help you create a dynamic and versatile data environment to cater to your audience’s needs and search engine guidelines. Lamborghini, Doctors Without Borders, and Nokia illustrate how applicable and productive this system is.
You must discover the solution’s features in more detail to get started and advance your content generation strategy. It will come in handy to lead your Drupal scenario from scratch to scratch without difficulty. Stay tuned to find out more about token implementation scenarios at your disposal. Mind the gap!

Have You Ever Used a Token?

A token is a programming language’s variable element. With different types of tokens available, you can reduce manual labor and complete several tasks immediately and automatically.
What are tokens in Drupal in practice? You assign a particular action, a so-called placeholder, and fulfill the corresponding space with the predefined value. The [token:type] style is extremely flexible and adjustable.
Let’s be more precise. It will work for straightforward manipulations, automatically placing your real site’s name in the assigned place instead of [site:name] in your code. More complex configurations aren’t a challenge, either. In the Pathauto module, responsible for the consistency of your URL’s structure in dependence on the content type, the appropriate token will generate the right format without your supervision.
Drupal lets you create any number of tokens you need. In turn, you can be truly unstoppable in boosting the dynamics of your content and site’s structure. It will help you minimize manual error risks and simplify the personalization of repeated content without any limitations.

Core Tokens in Drupal and Their Functions

Drupal offers several customization opportunities to content makers and website developers. This performance lets experts improve the list of modules it offers and satisfy their particular needs. However, the token usage in Drupal will be incomplete without getting acquainted with its in-built functionality and how its versatile modules can come in handy as they are.
The module selection is an extensive library with several books to read. You can check their entire palette on the official page, but here are some crucial systems to pay attention to:

  • Content translation — don’t miss this prompt and efficient way to make your multilingual site. With a bunch of tokens it offers, it enables you to get different content entities translated in an instant.
  • Activity tracker — it simplifies monitoring your on-site content and determining the latest changes and publications.
  • Ban — you can increase your website’s security and create a list of banned users. You can edit this collection of non-reliable IP addresses at your earliest convenience.
  • MobWrite — these tokens in Drupal allow for smooth plain text synching and create a collaboration setting.
  • Wysiwyg — this is how you will integrate other content editors to work on your Drupal website.

The module selection is an extensive library with several books to read. Depending on what token architecture you will establish for your creation, multitasking isn’t a problem. For instance, you can easily automate your content generation and SEO practices, ensuring your pages reach the top of SERPs and boost your ROI and organic traffic while the markItUp! will let you format on-site text with one of the skin and set combinations, Real-time SEO will control the quality of your site’s functional elements like meta descriptions and post subheadings.

Contributed Modules for Advanced Token Usage

There are ways to avoid the headache of creating your custom module and defining tasks for its tokens: go for a contributed one. It is a perfect sample of how end users harness the power of the distinguished open-source content management system. In a nutshell, a contributed module is established by third parties rather than the Drupal team of designers and developers.
You become a welcome community member as soon as you install this software. Not only will it come in handy to discover new Drupal tokens, but it will also be efficient from the following perspective:

  1. Data-driven and experience-based configurations — it is an excellent opportunity to take the most out of the expertise of other seasoned developers and project managers.
  2. Workload-simplification tools — this shared expertise and knowledge format enables you to save time by skipping the stage when you write code for a particular task. Why bother and waste your resources if someone has already done it for you?
  3. Inspiration — such an extensive pool of modules is what you need if you feel stuck yet want to advance your site further. You can go through the list of contributed modules posted on the official site and select the efficient solutions for your objectives.

Here are examples of what tasks will be as simple as ABC if you go for contributed tokens in your website maintenance strategy:

  • API Authentication — increase your domain’s security by restricting unauthorized access to your pages. This module’s main start is the OAuth/Access token. You can set up your access standards and adjust the performance of tokens defining the error status of invalid authorization.
  • Hotkeys for Save — its name is self-explanatory and implies a straightforward Drupal form submission with the help of the corresponding shortcut keys.

How to Use Tokens in Drupal: Best Practical Examples of Token Usage in Drupal

To check the Drupal token list activated on your site, all you need is to go to your admin page. If the “Help > Token” path doesn’t satisfy you with its deliverables, please verify the Core help and Token modules are installed. By analyzing your current “possessions”, you can define what other solutions won’t be extra to take your site’s efficiency to the next level.
Custom token development is the first idea to surface. This way, you jump-start the innovation and development process of your website and unleash the creative potential of Drupal. However, ready-made solutions have already proven their efficiency — you’ll make a mistake by underestimating them. Just check some of them out:

  • Drupal’s tokens can replace the use of several platforms. For example, you can ensure the satisfactory speed of page loading with the Website Speed Monitoring module. You will also get reports and will be able to monitor how your ever-changing site settings influence its online display.
  • In the Mix module, you can disable caches of Drupal, which are automated even for anonymous website guests. If you keep the page cache accumulated, there is no way you could see the effects of any alterations you perform to your content or site.
  • The AMP token is one of the easiest and most effective practices to optimize your content for mobile devices. In turn, experts will also complement their SEO strategy and increase your prestige in Google’s eyes.

 Conclusion

Drupal 9 tokens have a lot of room for modernization and optimization — in a good sense, of course. The system’s rich collection of shortcut commands and tools to simplify your life as a content maker, developer, and project manager is second to none. 
Whether you want to change your on-site interface design on the fly or secure your platform, Drupal guarantees impressive results and much more. Diving deeper into the environment of tokens this network offers is a highway to achieving a more dynamic Drupal website and other benefits — from enhanced user engagement because of intuitive navigation to a more automated workload.

Mar 28 2024
Mar 28

CKEditor 5 has a plugin called Special Characters that Drupal’s CKEditor 5 module makes available to use. The plugin provides a toolbar button that can be used to insert characters that may not be easy to type manually using a keyboard, especially for people who are not used to using them frequently.

It comes with a list of default special characters, organized by category. One such category is for Latin characters and includes characters such as Ā, Ć, and Ē. However, it lacks some other characters that were found in the same plugin for CKEditor 4 such as Á, Ç, and É.

I’m not sure why the same character set from the CKEditor 4 plugin was not included in CKEditor 5. Thankfully, the plugin provides an easy way to extend the list of available special characters:

import { SpecialCharacters, SpecialCharactersEssentials } from '@ckeditor/ckeditor5-special-characters';

function SpecialCharactersExtended( editor ) {
    editor.plugins.get( 'SpecialCharacters' ).addItems( 'Mathematical', [
        { title: 'alpha', character: 'α' },
        { title: 'beta', character: 'β' },
        { title: 'gamma', character: 'γ' }
    ] );
}

ClassicEditor
    .create( document.querySelector( '#editor' ), {
        plugins: [
            SpecialCharacters, SpecialCharactersEssentials, SpecialCharactersExtended,

            // More plugins.
            // ...
        ],
        toolbar: [ 'specialCharacters', /* ... */ ],
    } )
    .then( /* ... */ )
    .catch( /* ... */ );

Drupal Integration

The code above assumes you have access to the JS code when the CKEditor 5 instance is created. Drupal’s module does all this for us, and while there’s an alter hook you can use to modify the editor configuration data, creating a simple custom plugin may be the best solution.

Drupal has a robust framework for creating custom CKEditor 5 plugins and there’s a module called CKEditor 5 Dev to help people get started.

Use the plugin starter kit example module from that module to get started, which will walk you through the necessary configuration files to register a CKE5 plugin.

Once you have the sample plugin working and being recognized by Drupal (to get comfortable with how it all works), you can create a new plugin for adding additional special characters.

Create a file in your module called js/ckeditor5_plugins/additionalSpecialCharacters/src/index.js with the following contents:

import { Plugin } from "ckeditor5/src/core";

/**
 * Registers additional special characters.
 */
class AdditionalSpecialCharacters extends Plugin {
  /**
   * @inheritDoc
   */
  static get pluginName() {
    return 'AdditionalSpecialCharacters';
  }

  /**
   * @inheritDoc
   */
  init() {
    if (this.editor.plugins.has('SpecialCharacters')) {
      this.editor.plugins.get('SpecialCharacters').addItems( 'Latin', [
        {character: "Á", title: "Latin capital letter a with acute accent"},
        {character: "á", title: "Latin small letter a with acute accent"},
        {character: "À", title: "Latin capital letter a with grave accent"},
        {character: "à", title: "Latin small letter a with grave accent"},
        {character: "Â", title: "Latin capital letter a with circumflex"},
        {character: "â", title: "Latin small letter a with circumflex"},
        {character: "Ä", title: "Latin capital letter a with diaeresis"},
        {character: "ä", title: "Latin small letter a with diaeresis"},
        {character: "Å", title: "Latin capital letter a with ring above"},
        {character: "å", title: "Latin small letter a with ring above"},
        {character: "Æ", title: "Latin capital ligature ae"},
        {character: "æ", title: "Latin small ligature ae"},
        {character: "Ç", title: "Latin capital letter c with cedilla"},
        {character: "ç", title: "Latin small letter c with cedilla"},
        {character: "Ð", title: "Latin capital letter eth"},
        {character: "ð", title: "Latin small letter eth"},
        {character: "É", title: "Latin capital letter e with acute accent"},
        {character: "é", title: "Latin small letter e with acute accent"},
        {character: "È", title: "Latin capital letter e with grave accent"},
        {character: "è", title: "Latin small letter e with grave accent"},
        {character: "Ê", title: "Latin capital letter e with circumflex"},
        {character: "ê", title: "Latin small letter e with circumflex"},
        {character: "Ë", title: "Latin capital letter e with diaeresis"},
        {character: "ë", title: "Latin small letter e with diaeresis"},
        {character: "Í", title: "Latin capital letter i with acute accent"},
        {character: "í", title: "Latin small letter i with acute accent"},
        {character: "Ì", title: "Latin capital letter i with grave accent"},
        {character: "ì", title: "Latin small letter i with grave accent"},
        {character: "Î", title: "Latin capital letter i with circumflex"},
        {character: "î", title: "Latin small letter i with circumflex"},
        {character: "Ï", title: "Latin capital letter i with diaeresis"},
        {character: "ï", title: "Latin small letter i with diaeresis"},
        {character: "Ñ", title: "Latin capital letter n with tilde"},
        {character: "ñ", title: "Latin small letter n with tilde"},
        {character: "Ó", title: "Latin capital letter o with acute accent"},
        {character: "ó", title: "Latin small letter o with acute accent"},
        {character: "Ò", title: "Latin capital letter o with grave accent"},
        {character: "ò", title: "Latin small letter o with grave accent"},
        {character: "Ô", title: "Latin capital letter o with circumflex"},
        {character: "ô", title: "Latin small letter o with circumflex"},
        {character: "Ö", title: "Latin capital letter o with diaeresis"},
        {character: "ö", title: "Latin small letter o with diaeresis"},
        {character: "Ø", title: "Latin capital letter o with stroke"},
        {character: "ø", title: "Latin small letter o with stroke"},
        {character: "Ú", title: "Latin capital letter u with acute accent"},
        {character: "ú", title: "Latin small letter u with acute accent"},
        {character: "Ù", title: "Latin capital letter u with grave accent"},
        {character: "ù", title: "Latin small letter u with grave accent"},
        {character: "Û", title: "Latin capital letter u with circumflex"},
        {character: "û", title: "Latin small letter u with circumflex"},
        {character: "Ü", title: "Latin capital letter u with diaeresis"},
        {character: "ü", title: "Latin small letter u with diaeresis"},
        {character: "Ý", title: "Latin capital letter y with acute accent"},
        {character: "ý", title: "Latin small letter y with acute accent"},
        {character: "Þ", title: "Latin capital letter thorn"},
        {character: "þ", title: "Latin small letter thorn"},
        {character: "ß", title: "Latin small letter sharp s"},
      ] );
    }
  }
}

export default {
  AdditionalSpecialCharacters
}

Now run yarn build from your module’s directory to have the js/build/additionalSpecialCharacters.js file created by webpack.

Register a Drupal library for the JS file in your module’s *.libraries.yml file:

ckeditor5_additional_special_characters:
  js:
    js/build/additionalSpecialCharacters.js: { minified: true }
  dependencies:
    - core/ckeditor5

And finally, register it as a CKEditor 5 plugin. Doing this will have the plugin automatically included in all CKEditor 5 instances on your site. Edit your modules *.ckeditor5.yml file:

ps_core_additional_special_characters:
  ckeditor5:
    plugins:
      - additionalSpecialCharacters.AdditionalSpecialCharacters
  drupal:
    label: Additional Special Characters
    library: your_module_name/ckeditor5_additional_special_characters
    conditions: []
    elements: false

After clearing caches, the plugin should be loaded, and you should see the additional set of Latin characters in the special characters drop-down (assuming your editor is configured with the Special Characters plugin, of course).

Going Further

Someone could take this further and make a Drupal UI for configuring the list of extra special characters. Drupal’s CKEditor 5 plugin framework has the tools available to create such a plugin configuration form. This would prevent the need to hard-code the list of additional characters in the plugin file.

Mar 27 2024
Mar 27

Authored by: Nadiia Nykolaichuk 

The administrative navigation toolbar is an essential piece in the puzzle of your website’s overall capability to boost website management tasks. It serves as the guiding compass for your team, leading them across the administrative sections quickly and confidently. To achieve this, the toolbar needs to be intuitive, visually clear, straightforward, logically organized, and well-positioned.

Luckily, the makers of the Drupal CMS have recently been particularly committed to assembling the perfect puzzle of features for seamless website management. Among other things, there is a new, modern, and sleek administrative navigation toolbar currently in the works. It’s anticipating its glory moment to become one of the rockstar Drupal innovations in 2024. Let’s take a sneak peek at the initial designs for the new admin toolbar below.

The current Drupal administration toolbar: what’s the problem?

Currently, more than 70% of Drupal sites customize the administration toolbar to make it easier to use. Cristina Chumillas (ckrina), the Drupal core UX Maintainer, announced these statistics at DrupalCon Lille 2023’s keynote before presenting the new navigation to the public for the first time.

Indeed, the 3rd most installed contributed module in Drupal 10 is Admin Toolbar which provides faster access to all administration pages by turning the default menu into a dropdown. However, a genuinely user-friendly CMS needs to provide the best experiences out of the box.

The current Drupal toolbar was improved back at the time of the Drupal 7 release, and a lot of time has elapsed since then, bringing many changes both to Drupal and UX design patterns and best practices. Among the design limitations of the existing toolbar are:

  • lack of clarity about which section the user is currently in
  • no submenus in the horizontal mode
  • the inability to use sticky regions that would always be available to the user
  • a lot of unused empty areas

Users often feel dissatisfied and disoriented when navigating between different sections. In addition to UX design reasons, it’s also due to the fact that the section names are not always self-explanatory. The names mostly include authentic Drupal terms such as “Display modes,” “View modes,” “Form modes,” “Taxonomy,” “Content types,” “File system,” and more. This language might be great for seasoned site builders but might present a certain learning curve for content managers and website administrators who are new to Drupal.

New admin toolbar: on the way to perfect website management

The imperfections of the current administration toolbar inspired Cristina Chumillas and her fellow-thinkers to work on a new default toolbar. It should eventually replace the existing toolbar in Drupal core and be available out of the box to all users. The plan to improve administration navigation aims to:

  • increase user satisfaction out of the box thanks to fewer clicks needed to reach the desired pages
  • increase user confidence by helping them feel better oriented as to whether they are using the right section
  • improve the initial impression from Drupal’s administrative toolbar

Thanks to all the hard work of the large team of contributors involved with the creation of the new administration navigation, it should hopefully appear as early as this summer in the Drupal 10.3 release.

The new toolbar will be an excellent addition to Drupal’s set of innovations that improve website management out of the box. Among them are the following:

  • Tailored admin dashboards in Drupal with links to specific website management tasks for different user personas.
  • New and exceptionally user-friendly Field UI — an interface for creating and managing fields. The bulk of the work for the Field UI is already included with the latest minor Drupal core version released in December 2023 — Drupal 10.2.
  • Easier to build Drupal pages with Layout Builder thanks to a bunch of editorial improvements being implemented for it. 
  • And, of course, many Drupal users have already had a chance to see how website management has changed starting with Drupal 9.4 thanks to the modern, user-friendly, and accessible Claro admin theme.

Some exciting features of Drupal’s new administration toolbar

At the above-mentioned DrupalCon keynote, Cristina gave the audience a glimpse of the early designs for the new admin toolbar. Everything is yet subject to change and improvements based on feedback both from users and developers themselves. So here are a couple of great features:  

  • The left vertical sidebar

First of all, it’s planned to move most of the main admin navigation into a left vertical sidebar. In the demo, we can see a modern and sleek toolbar with icons to illustrate the menu sections. It uses the term “Bookmarks” instead of the previously used “Shortcuts.”

New Drupal’s admin navigation toolbar demoed at DrupalCon.New Drupal’s admin navigation toolbar demoed at DrupalCon.

The toolbar is collapsible, so by clicking “Collapse” in its lower part, you turn it into a set of icons with tooltips that describe the sections. The “Collapse” button separates the “Help” and “User” sections from the rest of the toolbar.

The collapsed mode of Drupal’s new navigation toolbar.The collapsed mode of Drupal’s new navigation toolbar.
  • Direct links to content creation

Currently, the creators of the new navigation are working on the proposal to create a new content creation menu. It should bring content creation/management tasks together for easier access, so they are not scattered across different sections. Managing user accounts also falls within this area of responsibility.

So we can see in Cristina’s demo that there’s a new “Create” link in the upper part of the toolbar with direct links to create content and users. It allows content editors to jump directly to creating an article, a basic page, an image, a document, a video, a tag, or a user account. However, the creators are currently thinking about what to include in this menu based on each website’s set of content types which can sometimes be very numerous. 

Direct links to content creation in Drupal’s new admin toolbar demo.Direct links to content creation in Drupal’s new admin toolbar demo.
  • The top toolbar

Cristina also mentioned that the initial left navigation wasn’t addressing all the needs that they had for integrations with some modules. So there is a suggestion to also have a sticky, contextual top toolbar that would show extra tools based on where a user is in the interface. Various modules should be able to add their sticky action links to the top toolbar that should always be at a user’s fingertips during the performing of specific tasks. 

  • Rethinking the wording

In addition, work is being done on improving the administration menus by rethinking the words used on the link groupings. This should make it easier for any user to understand where they are regardless of their experience with Drupal.

  • Mobile design

There is a process underway for testing the initial mobile designs so it is displayed properly, is accessible, and provides seamless user experiences on mobile devices. 

The mobile design for Drupal’s new admin toolbar.The mobile design for Drupal’s new admin toolbar.
  • Toolbar customizations

Another great piece of news is that the creators of the new administration toolbar are figuring out how to make the menus customizable. This means it should be possible for each website to have specific links based on their team’s workflows. Managing links contained in the toolbar should be easy and user-friendly.

Thorough testing

As Cristina shared in the same presentation, the creators of the new toolbar based their initial designs and prototypes on research of competitors, industry standards, and previous UX studies on the topic. For a start, they built a prototype with hardcoded links that were used for usability tests to gather feedback from content users and site builders, but now they’re in the process of converting the hardcoded menu into a real one. 

“We’ve done multiple rounds of usability tests and we’ve iterated the prototypes based on the results, which led us to several changes and improvements from our initial assumptions. Based on testing, we are confident that the new toolbar designs offer a better experience than the old core toolbar.” 

— Cristina Chumillas, the Drupal core UX Maintainer, at DrupalCon Lille 2023

More usability and accessibility testing is ahead to make sure the new administrative toolbar meets the needs of the key user personas engaged in website management such as content editors, site builders, and website administrators. The maintainers welcome feedback from users to make the toolbar as great as possible.

It’s possible to test the new toolbar out by using the Navigation module or the Gin theme, which we’ll talk about in a little more detail below.  

The new admin toolbar and the Gin theme

The new navigation might look very familiar to the users of the new admin theme — Gin. Indeed, some ideas for Drupal’s new toolbar have also been implemented in the Gin theme. Gin is a contributed theme built on top of the default core admin theme Claro but enriched with bolder functionalities such as the dark mode and more. It was created by Sascha Eggenberger (saschaeggi) who is also one of the maintainers of Claro and the Drupal Design System.

Sascha Eggenberger gave a session “Next Drupal admin UI improvements” together with Cristina at DrupalCon Lille 2023. At the session, Sascha said they wanted to bring “the best bits of Gin” into the new navigation but in a bit more refined version.

The most progressive ideas — and Drupal’s new toolbar is definitely one of them — need some kind of an “experimental playground.” “You can always think of the Gin admin theme as being an experimental theme, not in terms that it’s unstable,” said Sascha. “We want to try out things, gather feedback, and iterate on things”. As for Drupal core, they wanted to have “a rock-solid solution,” which is why the new toolbar is not yet being built directly in Claro. 

Final thoughts

The new administrative navigation toolbar is further evidence that the new era of Drupal website management has already started, and the innovations are in full swing. By updating their websites to follow the new Drupal core releases, teams can make sure they are getting the absolute best things Drupal brings to the table!

Mar 27 2024
Mar 27

Create subsites with a different look and feel to the rest of your LocalGov Drupal website.

Mar 27 2024
Mar 27

Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 4.

Topics

  • Review Chad's goals for the previous week

    • Install Drush
    • Setup git repo
    • Examples module
  • Review Chad's questions

    • .gitignore
    • Core file naming
  • Tasks for the upcoming week

    • Reminder of the capstone goal: create MR for new automated test in contrib module.
    • Examples module: field_example. New RGB field type with formatter and widgets. Focus on stuff in field_example/src/Plugin/Field

Resources

Chad's Drupal 10 Learning Curriclum & Journal
Chad's Drupal 10 Learning Notes

The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th
https://training.linuxfoundation.org/certification-catalog/

Hosts

AmyJune Hineline - @volkswagenchick

Guests

Chad Hester - chadkhester.com @chadkhest
Mike Anello - DrupalEasy.com @ultimike

Mar 27 2024
Mar 27

Introduction

This article discusses the importance and ways of practicing openness for professional growth and success.

Companies want people with traits of openness, though they may not always spell it outright in job descriptions. 

Openness is one of our core values at Axelerant.

And we can't emphasize its importance enough, being a fully remote organization with distributed teams scattered worldwide.

Irrespective of where you work or what you do, how open you are at work can be the difference between a successful and an unsuccessful career.

What’s Openness At Work?

Openness at work generally comes from the top. 

The leaders of an organization that practices openness actively work towards creating a safe and open environment.

People feel free to communicate ideas, feedback, and concerns without fear of judgment or payback. 

There’s total—or near total—transparency in all matters and information about the goings on in the company. 

And that, in turn, boosts trust and mutual respect among colleagues, regardless of hierarchy or status. 

In the book Radical Candor, author Kim Scott states that consciously practicing traits of openness in an organization can help teams become: 

  • Productive
  • Efficient 
  • Caring 
  • Empathetic 

How Can Practicing Openness Ensure Professional Success?

According to a study published by the University of Applied Sciences and Arts Northwestern Switzerland, there’s a strong correlation between academic achievement and openness traits of a person.

That advantage applies at work, too. 

Openness is one of the fundamental traits of entrepreneurial success.

Here's how your chances of success at work increase by practicing openness.

Better Exposure

Everyone has a lot going on, and people rarely have time to see what others are doing.

Until they hear about it. And they can mostly hear about it—from you. 

When people are open, they allow others to see their work and its impact. 

Your colleagues will know about your efforts, ideas, and talents, increasing your visibility and recognition within the organization. 

Coaching team having lunch at an offsite

Insulation From Communication Gaps

Most communication gaps at work happen because people gravitate towards private, one-to-one conversations when they should've been done in open channels.

Misalignment and confusion set in. And accountability goes for a toss.

Honest, open communication helps uncover and address issues and gaps early on—preventing potential conflicts.

It also makes it more challenging for deceptive or dishonest behavior to thrive, increasing accountability for everybody.

More Opportunities

Logically speaking, who will get more opportunities? 

The person coming up with and sharing new ideas and working with everyone to implement them openly, or one who doesn't contribute (though they may have good ideas off their sleeves)?

By choosing to be open, you can contribute meaningfully to projects, initiatives, and decision-making processes. 

It lets your supervisors know you have what it takes to lead and solve problems for the team.

And that's a good sign for you and your career growth.

Apply at Axelerant by clicking here. We believe people grow better with kindness and support.

Better Growth

A significant part of practicing openness is being receptive to constructive feedback.

It shows your colleagues and supervisors that you want to grow and welcome guidance when needed.

You can proactively develop your skills and advance within the organization by freely discussing areas for improvement and career aspirations.

How Can You Practice Openness At Work? 

Fair warning: people who like to go back on their words, blame others for their shortcomings, and lack integrity might find you detestable.

But then, these practices will also insulate you from them.

Following these also ensures that your efforts get noticed by the right people at work.

How to practice openness at work

Being Accountable

Accountability and ownership go hand-in-hand.

And owning your work lets you reap the benefits of your work’s results.

Even when those results are not as expected, you can take responsibility for your actions, decisions, and commitments.

Admit mistakes openly and work towards resolving them with your team.

For instance, when encountering issues with code or project deliverables, you can demonstrate accountability by openly acknowledging the challenges, seeking help from your team, and collaborating to find solutions. 

Axelerant team member asking for help

Documenting Every Decision Context

The pace of work increases every day. People often have to make split-second decisions.

Keeping records of every small decision may not be possible, but you should try to document anything that affects your team's projects and work experience.

Note down decisions and their rationale in open, accessible channels. 

Documenting context promotes transparency and helps others understand your reasoning behind actions.

For example, when selecting a specific technology stack for a project, documenting the decision context may involve outlining the performance requirements, budget constraints, and scalability needs that influenced the decision.

Axelerant team member documenting work

Making Information Accessible

Ensure that relevant information, documents, and resources are easily accessible to all team members. 

This makes you and your work more transparent within the organization, and transparency builds trust.

It also ensures better collaboration by reducing dependency on your presence.

You can use centralized project management tools like Jira or Trello to store project documentation and updates. 

And maintain an organized and up-to-date shared drive (like Google Drive, OneDrive, or Dropbox) for storing project files and resources.

Communicating Proactively And Effectively

Constant, honest communication is the key to practicing openness.

Make it a habit of proactively communicating with your team members and stakeholders. 

Share updates, discuss challenges, and raise blockers in open channels regularly to ensure alignment.

You might struggle with negative emotions when doing these—because people aren't accustomed to openly discussing their challenges.

The fear of being ridiculed, thought less of, or cross-questioned makes it hard to communicate openly.

Here are some pointers that come in handy.

  • Schedule regular updates: Set aside dedicated time for team meetings or status updates to keep everyone on the same page
  • Use clear and concise language: Avoid jargon and technical terms that may be unfamiliar to team members, and always try to be as precise and clear in your written and verbal communication as possible. Preparing your message beforehand helps
  • Actively listen: Practice active listening by attentively considering others' perspectives and providing constructive feedback when required. Don't listen to prove you're paying attention; genuinely engage in the conversation
  • Utilize collaboration tools: Communication platforms like Slack or Microsoft Teams are ideal for real-time communication and streamlining information sharing; create dedicated project-related channels, tag people, and get the ball rolling

Being Open To Feedback

Contrary to what most workplaces believe and practice, feedback is an act of kindness

And it's as necessary as recognizing team members for their everyday wins.

Welcome feedback from peers, supervisors, and stakeholders with an open mind. See it for what it is—an opportunity for growth and improvement.

You can and should actively seek feedback to gain insights into your performance and identify areas for improvement.

A good way to incorporate this practice is by creating a feedback form template and sharing it with people you've recently worked with on a project.

Sharing Context When Delegating Tasks

When one doesn't share enough context for tasks, they set their team members up for possible failures and friction.

People can make independent decisions and fully own tasks only when they have the bigger picture.

When delegating any task, ensure that you mention the following details:

  • Context and purpose
  • Expectations in terms of quality and timelines 
  • Desired outcomes

You can also clearly outline who's responsible for what part of a project when delegating to multiple team members.

Planning And Booking Leaves In Advance

Abruptly taking leave can cause project disruptions.

I'm not talking about a day or two of sick leave—which is entirely unforeseen and out of one's control. 

An unplanned week of your absence can leave your team members running helter-skelter, trying to meet deadlines without you.

So, always share your leave plans in advance.

It will allow your team sufficient time for workload adjustments and resource allocation. 

Following this practice will prove your commitment to being open and show that you respect your team members' time and commitment.

Axelerant team member booking time off

Sharing Ideas Openly And Freely To Help Everyone Grow

Research shows that hiding knowledge and clamming up at work stops your chances of growth and can even backfire. 

It's in your and the company's best interest that you share your ideas openly and freely. That's what drives change, innovation, and creativity in a workplace.

Your supervisors will take notice, sooner or later, whether you share ideas or don't. 

And your professional trajectory with the company might be influenced by what they notice.

So, share your ideas, insights, and perspectives. Participate in brainstorming sessions, team meetings, and knowledge-sharing activities. 

Propose new solutions, suggest process improvements, or share industry trends and best practices with your people.

Start your openness journey today. You work and your career deserve it.

And if your workplace doesn't allow you to be open, you can join a workplace which does. 

Apply at Axelerant by clicking here. We believe people grow better with kindness and support.
Mar 27 2024
Mar 27
Drupal 8 will be released on November 19 | Wunderkraut

Coincidence?

We're ready to celebrate and build (even more) amazing Drupal 8 websites. 
On November 19 we'll put our Drupal 8 websites in the spotlight...be sure to come back and check out our website.

By

Michèle Weisz

Share

Want to know more?

Contact us today

or call us +32 (0)3 298 69 98

© 2015 Wunderkraut Benelux

Mar 27 2024
Mar 27
77 of us are going | Wunderkraut

Drupalcon 2015

People from across the globe who use, develop, design and support the Drupal platform will be brought together during a full week dedicated to networking, Drupal 8 and sharing and growing Drupal skills.

As we have active hiring plans we’ve decided that this year’s approach should have a focus on meeting people who might want to work for Wunderkraut and getting Drupal 8 out into the world.
As Signature Supporting Partner we wanted as much people as possible to attend the event. We managed to get 77 Wunderkrauts on the plane to Barcelona!  From Belgium alone we have an attendance of 17 people.
The majority of our developers will be participating in sprints (a get-together for focused development work on a Drupal project) giving all they got together with all other contributors at DrupalCon.

We look forward to an active DrupalCon week.  
If you're at DrupalCon and feel like talking to us. Just look for the folks with Wunderkraut carrot t-shirts or give Jo a call at his cell phone +32 476 945 176.

Share

Related Blog Posts

Want to know more?

Contact us today

or call us +32 (0)3 298 69 98

© 2015 Wunderkraut Benelux

Mar 27 2024
Mar 27
Watch our epic Drupal 8 promo video | Wunderkraut

How Wunderkraut feels about Drupal 8

Drupal 8 is coming and everyone is sprinting hard to get it over the finish line. To boost contributor morale we’ve made a motivational Drupal 8 video that will get them into the zone and tackling those last critical issues in no time.

[embedded content]

Share

Related Blog Posts

Want to know more?

Contact us today

or call us +32 (0)3 298 69 98

© 2015 Wunderkraut Benelux

Mar 27 2024
Mar 27

Once again Heritage day was a huge succes.

About 400 000 visitors visited Flanders monuments and heritage sites last Sunday.  The Open Monumentendag website received more than double the amount of last year's visitors.

Visitors to the website organised their day out by using the powerful search tool we built that allowed them to search for activities and sights at their desired location.  Not only could they search by location (province, zip code, city name, km range) but also by activity type, keywords, category and accessibility.  Each search request being added as a (removable) filter for finding the perfect activity.

By clicking on the heart icon, next to each activity, a favorite list was drawn up.  Ready for printing and taking along as route map.

Our support team monitored the website making sure visitors had a great digital experience for a good start to the day's activities.

Did you experience the ease of use of the Open Monumentendag website?  Are you curious about the know-how we applied for this project?  Read our Open Monumentendag case.

Mar 27 2024
Mar 27
Very proud to be a part of it | Wunderkraut

Breaking ground as Drupal's first Signature Supporting Partner

Drupal Association Executive Director Holly Ross is thrilled that Wunderkraut is joining as first and says: "Their support for the Association and the project is, and has always been, top-notch. This is another great expression of how much Wunderkraut believes in the incredible work our community does."

As Drupal Signature Supporting Partner we commit ourselves to advancing the Drupal project and empowering the Drupal community.  We're very proud to be a part of it as we enjoy contributing to the Drupal ecosystem (especially when we can be quircky and fun as CEO Vesa Palmu states).

Our contribution allowed the Drupal Association to:

  • Complete Drupal.org's D7 upgrade - now they can enhance new features
  • Hired a full engineering team committed to improving Drupal.org infrastructure
  • Set the roadmap for Drupal.org success.

First signaturepartner announcement in Drupal Newsletter

By

Michèle Weisz

Share

Related Blog Posts

Want to know more?

Contact us today

or call us +32 (0)3 298 69 98

© 2015 Wunderkraut Benelux

Mar 27 2024
Mar 27

But in this post I'd like to talk about one of the disadvantages that here at Wunderkraut we pay close attention to.

A consequence of the ability to build features in more than one way is that it's difficult to predict how different people interact (or want to interact) with them. As a result, companies end up delivering solutions to their clients that although seem perfect, turn out, in time, to be less than ideal and sometimes outright counterproductive. 

Great communication with the client and interest in their problems goes a long way towards minimising this effect. But sometimes clients realise that certain implementations are not perfect and could be made better. And when that happens, we are there to listen, adapt and reshape future solutions by taking into account these experiences. 

One such recent example involved the use of a certain WYSIWYG library from our toolkit on a client website. Content editors were initially happy with the implementation before they actually started using it to the full extent. Problems began to emerge, leading to editors spending way more time than they should have performing editing tasks. The client signalled this problem to us which we then proceed to correct by replacing said library. This resulted in our client becoming happier with the solution, much more productive and less frustrated with their experience on their site. 

We learned an important lesson in this process and we started using that new library on other sites as well. Polling our other clients on the performance of the new library revealed that indeed it was a good change to make. 

Mar 27 2024
Mar 27

A few years ago most of the requests started with : "Dear Wunderkraut, we want to build a new website and ... "  - nowadays we are addressed as "Dear Wunderkraut, we have x websites in Drupal and are very happy with that, but we are now looking for a reliable partner to support & host ... ".

By the year 2011 Drupal had been around for just about 10 years. It was growing and changing at a fast pace. More and more websites were being built with it. Increasing numbers of people were requesting help and support with their website. And though there were a number of companies flourishing in Drupal business, few considered specific Drupal support an interesting market segment. Throughout 2011 Wunderkraut Benelux (formerly known as Krimson) was tinkering with the idea of offering support, but it was only when Drupal newbie Jurgen Verhasselt arrived at the company in 2012 that the idea really took shape.

Before his arrival, six different people, all with different profiles, were handling customer support in a weekly rotation system. This worked poorly. A developer trying to get his own job done plus deal with a customer issue at the same time was getting neither job done properly. Tickets got lost or forgotten, customers felt frustrated and problems were not always fixed. We knew we could do better. The job required uninterrupted dedication and constant follow-up.

That’s where Jurgen came in the picture. After years of day job experience in the graphic sector and nights spent on Drupal he came to work at Wunderkraut and seized the opportunity to dedicate himself entirely to Drupal support. Within a couple of weeks his coworkers had handed over all their cases. They were relieved, he was excited! And most importantly, our customers were being assisted on a constant and reliable basis.

By the end of 2012 the first important change was brought about, i.e. to have Jurgen work closely with colleague Stijn Vanden Brande, our Sys Admin. This team of two ensured that many of the problems that arose could be solved extremely efficiently. Wunderkraut being the hosting party as well as the Drupal party means that no needless discussions with the hosting took place and moreover, the hosting environment was well-known. This meant we could find solutions with little loss of time, as we know that time is an important factor when a customer is under pressure to deliver.

In the course of 2013 our support system went from a well-meaning but improvised attempt to help customers in need to a fully qualified division within our company. What changed? We decided to classify customer support issues into: questions, incidents/problems and change requests and incorporated ITIL based best practices. In this way we created a dedicated Service Desk which acts as a Single Point of Contact after Warranty. This enabled us to offer clearly differing support models based on the diverse needs of our customers (more details about this here). In addition, we adopted customer support software and industry standard monitoring tools. We’ve been improving ever since, thanks to the large amount of input we receive from our trusted customers. Since 2013, Danny and Tim have joined our superb support squad and we’re looking to grow more in the months to come.

When customers call us for support we do quite a bit more than just fix the problem at hand. Foremostly, we listen carefully and double check everything to ensure that we understand him or her correctly. This helps to take the edge off the huge pressure our customer may be experiencing. After which, we have a list of do’s and don’t for valuable support.

  • Do a quick scan of possible causes by getting a clear understanding of the symptoms
  • Do look for the cause of course, but also assess possible quick-fixes and workarounds to give yourself time to solve the underlying issue
  • Do check if it’s a pebkac
  • and finally, do test everything within the realm of reason.

The most basic don’t that we swear by is:

  • never, ever apply changes to the foundation of a project.
  • Support never covers a problem that takes more than two days to fix. At that point we escalate to development.

We are so dedicated to offering superior support to customers that on explicit request, we cater to our customers’ customers. Needless to say, our commitment in support has yielded remarkable  results and plenty of customer satisfaction (which makes us happy, too)

Mar 27 2024
Mar 27

If your website is running Drupal 6, chances are it’s between 3 and 6 years old now, and once Drupal 8 comes out. Support for Drupal 6 will drop. Luckily the support window has recently been prolonged for another 3 months after Drupal 8 comes out. But still,  that leaves you only a small window of time to migrate to the latest and greatest. But why would you? 

There are many great things about Drupal 8 that will have something for everyone to love, but that should not be the only reason why you would need an upgrade. It is not the tool itself that will magically improve the traffic to your site, neither convert its users to start buying more stuff, it’s how you use the tool.  

So if your site is running Drupal 6 and hasn’t had large improvements in the last years it might be time to investigate if it needs a major overhaul to be up to par with the competition. If that’s the case, think about brand, concept, design, UX and all of that first to understand how your site should work and what it should look like, only then we can understand if a choice needs to be made to go for Drupal 7 or Drupal 8.  

If your site is still running well you might not even need to upgrade! Although community support for Drupal 6 will end a few months after Drupal 8 release, we will continue to support Drupal 6 sites and work with you to fix any security issues we encounter and collaborate with the Drupal Security Team to provide patches.

My rule of thumb is that if your site uses only core Drupal and a small set of contributed modules, it’s ok to build a new website on Drupal 8 once it comes out. But if you have a complex website running on many contributed and custom modules it might be better to wait a few months maybe a year until all becomes stable. 

Mar 27 2024
Mar 27

So how does customer journey mapping work?

In this somewhat simplified example, we map the customer journey of somebody signing up for an online course. If you want to follow along with your own use case, pick an important target audience and a customer journey that you know is problematic for the customer.

1. Plot the customer steps in the journey

customer journey map 1

Write down the series of steps a client takes to complete this journey. For example “requests brochure”, “receives brochure”, “visits the website for more information”, etc. Put each step on a coloured sticky note.

2. Define the interactions with your organisation

customer journey map 2

Next, for each step, determine which people and groups the customer interacts with, like the marketing department, copywriter and designer, customer service agent, etc. Do the same for all objects and systems that the client encounters, like the brochure, website and email messages. You’ve now mapped out all people, groups, systems and objects that the customer interacts with during this particular journey.

3. Draw the line

customer journey map 3

Draw a line under the sticky notes. Everything above the line is “on stage”, visible to your customers.

4. Map what happens behind the curtains

customer journey map 4

Now we’ll plot the backstage parts. Use sticky notes of a different color and collect the persons, groups, actions, objects and systems that support the on stage part of the journey. In this example these would be the marketing team that produces the prod brochure, the printer, the mail delivery partner, web site content team, IT departments, etc. This backstage part is usually more complex than the on stage part.

5. How do people feel about this?

Customer journey map 5

Now we get to the crucial part. Mark the parts that work well from the perspective of the person interacting with it with green dots. Mark the parts where people start to feel unhappy with yellow dots. Mark the parts where people get really frustrated with red. What you’ll probably see now is that your client starts to feel unhappy much sooner than employees or partners. It could well be that on the inside people are perfectly happy with how things work while the customer gets frustrated.

What does this give you?

Through this process you can immediately start discovering and solving customer experience issues because you now have:

  • A user centred perspective on your entire service/product offering
  • A good view on opportunities for innovation and improvement
  • Clarity about which parts of the organisation can be made responsible to produce those improvements
  • In a shareable format that is easy to understand

Mapping your customer journey is an important first step towards customer centred thinking and acting. The challenge is learning to see things from your customers perspective and that's exactly what a customer journey map enables you to do. Based on the opportunities you identified from the customer journey map, you’ll want to start integrating the multitude of digital channels, tools and technology already in use into a cohesive platform. In short: A platform for digital experience management! That's our topic for our next post.

Mar 27 2024
Mar 27

In combination with the FacetAPI module, which allows you to easily configure a block or a pane with facet links, we created a page displaying search results containing contact type content and a facets block on the left hand side to narrow down those results.

One of the struggles with FacetAPI are the URLs of the individual facets. While Drupal turns the ugly GET 'q' parameter into a clean URLs, FacetAPI just concatenates any extra query parameters which leads to Real Ugly Paths. The FacetAPI Pretty Paths module tries to change that by rewriting those into human friendly URLs.

Our challenge involved altering the paths generated by the facets, but with a slight twist.

Due to the projects architecture, we were forced to replace the full view mode of a node of the bundle type "contact" with a single search result based on the nid of the visited node. This was a cheap way to avoid duplicating functionality and wasting precious time. We used the CTools custom page manager to take over the node/% page and added a variant which is triggered by a selection rule based on the bundle type. The variant itself doesn't use the panels renderer but redirects the visitor to the Solr page passing the nid as an extra argument with the URL. This resulted in a path like this: /contacts?contact=1234.

With this snippet, the contact query parameter is passed to Solr which yields the exact result we need.

/**
 * Implements hook_apachesolr_query_alter().
 */
function myproject_apachesolr_query_alter($query) {
  if (!empty($_GET['contact'])) {
    $query->addFilter('entity_id', $_GET['contact']);
  }
}

The result page with our single search result still contains facets in a sidebar. Moreover, the URLs of those facets looked like this: /contacts?contact=1234&f[0]=im_field_myfield..... Now we faced a new problem. The ?contact=1234 part was conflicting with the rest of the search query. This resulted in an empty result page, whenever our single search result, node 1234, didn't match with the rest of the search query! So, we had to alter the paths of the individual facets, to make them look like this: /contacts?f[0]=im_field_myfield.

This is how I approached the problem.

If you look carefully in the API documentation, you won't find any hooks that allow you to directly alter the URLs of the facets. Gutting the FacetAPI module is quite daunting. I started looking for undocumented hooks, but quickly abandoned that approach. Then, I realised that FacetAPI Pretty Paths actually does what we wanted: alter the paths of the facets to make them look, well, pretty! I just had to figure out how it worked and emulate its behaviour in our own module.

Turns out that most of the facet generating functionality is contained in a set of adaptable, loosely coupled, extensible classes registered as CTools plugin handlers. Great! This means that I just had to find the relevant class and override those methods with our custom logic while extending.

Facet URLs are generated by classes extending the abstract FacetapiUrlProcessor class. The FacetapiUrlProcessorStandard extends and implements the base class and already does all of the heavy lifting, so I decided to take it from there. I just had to create a new class, implement the right methods and register it as a plugin. In the folder of my custom module, I created a new folder plugins/facetapi containing a new file called url_processor_myproject.inc. This is my class:

/**
 * @file
 * A custom URL processor for cancer.
 */

/**
 * Extension of FacetapiUrlProcessor.
 */
class FacetapiUrlProcessorMyProject extends FacetapiUrlProcessorStandard {

  /**
   * Overrides FacetapiUrlProcessorStandard::normalizeParams().
   *
   * Strips the "q" and "page" variables from the params array.
   * Custom: Strips the 'contact' variable from the params array too
   */
  public function normalizeParams(array $params, $filter_key = 'f') {
    return drupal_get_query_parameters($params, array('q', 'page', 'contact'));
  }

}

I registered my new URL Processor by implementing hook_facetapi_url_processors in the myproject.module file.

**
 * Implements hook_facetapi_url_processors().
 */
function myproject_facetapi_url_processors() {
  return array(
    'myproject' => array(
      'handler' => array(
        'label' => t('MyProject'),
        'class' => 'FacetapiUrlProcessorMyProject',
      ),
    ),
  );
}

I also included the .inc file in the myproject.info file:

files[] = plugins/facetapi/url_processor_myproject.inc

Now I had a new registered URL Processor handler. But I still needed to hook it up with the correct Solr searcher on which the FacetAPI relies to generate facets. hook_facetapi_searcher_info_alter allows you to override the searcher definition and tell the searcher to use your new custom URL processor rather than the standard URL processor. This is the implementation in myproject.module:

/**
 * Implements hook_facetapi_search_info().
 */
function myproject_facetapi_searcher_info_alter(array &$searcher_info) {
  foreach ($searcher_info as &$info) {
    $info['url processor'] = 'myproject';
  }
}

After clearing the cache, the correct path was generated per facet. Great! Of course, the paths still don't look pretty and contain those way too visible and way too ugly query parameters. We could enable the FacetAPI Pretty Path module, but by implementing our own URL processor, FacetAPI Pretty Paths will cause a conflict since the searcher uses either one or the other class. Not both. One way to solve this problem would be to extend the FacetapiUrlProcessorPrettyPaths class, since it is derived from the same FacetapiUrlProcessorStandard base class, and override its normalizeParams() method.

But that's another story.

Mar 26 2024
Mar 26

Why are councils turning to Drupal? 

Weighing up which CMS to choose is one of the most important decisions an organisation can make. For councils, there is a need to go with a CMS that works, that has the features that councils need and, crucially, one that is secure. 

Choosing the wrong CMS can set you back in terms of time, money, and frustration – and it’s a decision that you’ll be stuck with for years, usually, especially if you’re locked in to a specific vendor. LocalGov Drupal is a CMS that is built on Drupal, so the code is freely available, which means no vendor lock-in. But, most importantly, it has been created by councils for councils, who share code, user research and ideas. 

Its numerous benefits include: 

  • Reducing time and resource-intensive tasks of redesigning and rebuilding platforms. Instead, councils use a platform that other councils have already built to meet business objectives. 
  • Sharing knowledge and practices with other councils that have already solved many common problems through LocalGov Drupal. 
  • Accessibility – LocalGov Drupal is WCAG 2.1 AA compliant out of the box. 
  • Cost-effectiveness – councils save up to 80%. In addition, because it is built using the open-source CMS, Drupal, there are no licence fees involved. 

Annertech’s Director of Development Mark Conroy has been involved with LocalGov Drupal from the beginning. 

“LocalGov Drupal has enterprise-ready features, a robust theming system, and no licence fee. It is proving itself to be the most cost-effective way to develop council websites. Backed by a slogan of ‘by councils for councils’, there is no other CMS or project like it on the market.”  – Mark Conroy

Colin agrees, saying that “LocalGov Drupal appeals to councils because it has been developed by councils for councils, so specifically meets their needs”. 

“It is also perhaps due to the potential cost savings and to the growing functionality,” he said. 

This functionality is constantly improving as more councils join the LocalGov Drupal family, and use budgets that they would have used on development or licences on new features and improvements. The LocalGov Drupal project also aligns with the Irish government’s Build to Share initiative, which forms part of the Irish government’s “Better Public Services, the Public Service Transformation 2030 Strategy". 

Its goal is for the public sector to share code in order to save valuable resources like time and money. 

“The other thing that stood out from this new research is that the number of CMSes being used by councils is reducing as more councils are moving to the more popular CMSs (Drupal, Jadu, Umbraco, GOSS iCM and WordPress),” said Colin. 

The more popular the CMS the more features and support they tend to offer.

Mar 26 2024
Mar 26
Mar 25 2024
Mar 25

We are thrilled to announce that documentation for Gander, the innovative performance testing framework, is now available. Designed as a collaboration between the Google Chrome team and Tag1 Consulting, Gander allows you to run efficient Drupal performance testing on your websites.

When milliseconds matter, performance – especially with the increase of mobile usage internationally – has a significant and direct impact on website success and, ultimately, business outcomes. Gander revolutionizes performance testing for Drupal websites because it is a proactive framework integrated within Drupal core.

Anyone can start using Gander. Curious to know more? Nathaniel Catchpole (aka. Catch), the architect and lead developer on the project, also renowned for his contributions to Drupal as a core maintainer, gave a live demo of Gander in a recent Tag1 Team Talk. It is a great place to start if you are interested in seeing it in action.

Gander Documentation on Drupal.org

Ready to test out Gander for yourself? We have released comprehensive documentation for Gander on Drupal.org. This documentation guides you through every aspect of this Drupal performance testing framework, from why it is important to how to set it up on your Drupal installation.

What’s included:

  • Introduction: An introduction to Gander, including why you should use it.
  • How it can be used: An explanation of the two ways of using Gander.
  • How to contribute: Gander is open source and it relies on a community of volunteers.
  • Quickstart: Detailed instructions on how to get Gander up and running.
  • Performance assertions: Performance requirements can be inserted into existing PHPUnit tests.
  • Monitoring performance metrics: Gander allows the monitoring of performance metrics across longer periods using visualization tools.

After setting up Gander in your local environment, you can write performance tests for your own projects and incorporate them into your in-house development processes.

Get Started With Gander’s Quickstart Guide

The best way to get started with Gander is to use the DDEV add-on. It will automatically add all necessary services to your local environment (such as Grafana, OpenTelemetry collector, Grafana Tempo,and Prometheus).

1. Prerequisites

To start using the DDEV add-on, ensure that all the prerequisites are met:

2. Working Local Environment

If you already have a working local environment that can run functional tests, skip to the next step. Otherwise, create a suitable local environment by following these steps:

composer create-project drupal/recommended-project gander_project
cd gander_project
composer require --dev drupal/core-dev
ddev config
ddev get ddev/ddev-selenium-standalone-chrome

3. Run Gander Tests

Now you can start running Gander tests:

ddev get tag1consulting/ddev-gander
ddev restart
ddev ssh
cd web/
  • To run a single test:
../vendor/bin/phpunit -c core --filter hot core/profiles/demo_umami/tests/src/FunctionalJavascript/OpenTelemetryNodePagePerformanceTest.php
  • To run all Gander tests:
../vendor/bin/phpunit -c core --group OpenTelemetry
  • Check the Grafana dashboard via: http://.ddev.site:3000/
  • You might need to run the test a few times for the data to start appearing on the dashboard.

You can start using Gander today. Don’t wait for your site performance issues to grow into a large problem. The Gander framework, included in Drupal core since 10.2, gives organizations like yours the tools to start regularly monitoring the performance of your projects. The new documentation walks you through how to set up and use Gander for Drupal performance testing.

Want to learn more? Join us at DrupalCon Portland!

We are hosting a deep dive into Gander at the upcoming DrupalCon in Portland. We will explain the motivation for and basics of Gander, have a live demo, and show how to use it for Drupal Core development and on your own site. We will also talk about the benefits, how we got here, where we go from here, and ask for your feedback.

Don’t miss out! Join us on Tuesday, May 7, 2024 at 16:10 PDT in Room B117-119.

We will also present Gander as part of the Drupal Project Initiatives Keynote on Wednesday, May 8, 2024 at 09:00 PDT in Room 201-203 or Ballroom.

Are you as excited as we are? Come to our deep dive at DrupalCon Portland, learn more about Gander, or reach out today!

Image by Ralph from Pixabay

Mar 25 2024
Mar 25

Today we are talking about Violinist.io, Managing Composer Dependencies, and automation with guest Eirik Morland. We’ll also cover Composer Patches as our module of the week.

For show notes visit:
www.talkingDrupal.com/443
Topics

  • What is Violinist.io
  • How does it work
  • How much technical knowledge do you need
  • Is this a security risk
  • How much does it cost
  • Patron question: Peter: Difference between violinist and dependabot
  • What are the major differences in plans
  • Who is the ideal user
  • Can you self host
  • Can this help with Drupal 11 readiness
  • Complementary tools
  • Notable users
  • Why did you start this
  • What is it like using Drupal for a SAAS
  • Is it open source
  • Pros and cons of open source for a SAAS
  • How can the community support
  • What is on the roadmap

Resources

Guests

    Eirik Morland - violinist.io eiriksm

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan
Martin Anderson-Clutz - mandclu.com mandclu
Anna Mykhailova - kalamuna.com amykhailova

MOTW
Correspondent

Martin Anderson-Clutz - mandclu

  • Brief description:
    • Have you ever wanted a simple way to manage patches to Drupal core and your contrib projects? There’s a composer plugin for that
  • Module name/project name:
  • Brief history
    • How old:created in Apr 2015 by Cameron Weagans
    • Versions available: 1.7.3 and 2.0.0-beta2
  • Maintainership
  • Actively maintained, beta2 release was a little over a month ago
    • Test coverage
    • Has a documentation site, as well as a COMMANDS markdown file in the repo to help you get started
    • Number of open issues: 10, 2 of which are bugs
  • Usage stats:
    • It’s been installed over 42 million times and it’s approaching 43 thousand installs per day, according to a recent blog post
  • Module features and usage
    • Using the plugin is simple, you require cweagans/composer-patches the same way you would a Drupal contrib project. The important difference is that composer will ask you if you trust composer-patches to make changes to your codebase. Once you grant that, the plugin is ready to start applying patches
    • You can specify what patches you want applied by adding a patches section to the extra section of your project’s composer.json file, or by adding a patches.json file
    • Each patch can be specified using a URL or a path relative to the JSON file
    • In theory it’s possible to have composer patches pulled directly from the diff in a merge request, but this is a significant security risk and should always be avoided
    • The first beta release for the 2.0 branch actually dropped support for dependency patch resolution, noting that it had become the source of most support requests. In the end the community made it clear that they would resist upgrading without this capability, so the most recent beta2 release adds it back in.
  •     Finally, on his website cweagans.net Cameron mentions that he’s currently looking for full-time employment. So if your organization relies heavily on composer in general or composer-patches specifically, consider reaching out to him
Mar 25 2024
Mar 25
DrupalCamp Cemaes logo with text: Registration is Now Open. Get your tickets today. 8 June 2024

It's been a few years since there's been any Drupal camps in the UK, and since I have very much been enjoying living in Cemaes, on the island of Anglesey in North Wales, I thought it would be fun to have one here. At least I dont think there's been any camps in the last few years, if I've missed one please accept my apologies! One thing I do miss about living here is being able to talk about Drupal with other people, there's no monthly meetup like we had in Brighton, so instead of traveling around trying to get to camps on the continent (my dog wouldn't like that), I thought I'd try and bring you all here (my dog would love that).

The event takes place on 8 June 2024 at the David Hughes Village Hall on Cemaes High Street. Cemaes is the most northerly village in Wales and I fell in love with it after visiting here when looking around for a rural place to call home. Cemaes Bay is an area of outstanding natural beauty and I'd very much recommend coming here for the camp and staying a few extra days to explore the area.

What's in store at the camp? That's up to you! Tickets are now on sale and I'm hoping to get around 30 people here. Depending on the amount of attendees booking in the next month we'll either have a more formal session schedule or a barcamp style setup. A separate sprint room will also be available. I'm also hoping we can have a bit of outdoor fun and Drupal walks along the coastal path, too. To me, just getting some Drupal people here is what's most important, after that the event will follow it's own course, it's the people that make the event, not the sessions or keynotes.

Booking early is very much recommended! While there's plenty of accomodation available nearby, it fills up pretty quick when the weather warms up. And unlike camps in big cities like London, we don't have 1000s of hotels to choose from. Visit the accomodation page on the website to learn a bit more about where to stay.

Yes, it's a bit of a stretch to hold a Drupal event out here, but ambitious projects are what Drupal does best. So please join us in June and help spread the word! You can learn more about the event and book tickets on the website now:

https://drupalcampcemaes.wales

Mar 25 2024
Mar 25

Drupal 11 development has reached a point where the system requirements are being raised in the development branch. To prepare core developers for this and to inform the community at large, we are announcing the following requirements for Drupal 11.

Webserver

We announced in mid-February that there is an RFC to remove support for Windows in production. Other webserver requirements are unchanged.

PHP

Drupal 11 will require PHP 8.3 and older versions of PHP are not supported. Note that as of Drupal 9.4, a policy was adopted to automatically drop support for PHP versions no longer supported by the PHP maintainers, so future minor versions of Drupal 11 will increase the requirement further.

Database

The minimum database requirements for backends supported by Drupal 11 are MySQL 8.0, MariaDB 10.6, PostgreSQL 16 and SQLite 3.45.

Composer

Similar to Drupal 10.2, Drupal 11 will require Composer 2.7.0 or newer; this change was made for the Composer security fix released in February 2024.

Browsers

The existing browser policy has not changed and there was no need to update it for Drupal 11. Drupal already drops support for older versions of browsers as new ones get released.

PHP and JavaScript dependencies

Drupal 11 will depend on Symfony 7, PHPUnit 10 and jQuery 4, work is ongoing to update to these versions.

Drupal 10 will receive long term support

Drupal 10 will continue to be supported until mid-late 2026 and the release of Drupal 12.

Mar 22 2024
Mar 22

Drupal is a CMS that colleges from different countries eagerly use. According to a report by The Drop Times, up to 80% of the world's top 100 universities chose Drupal for at least one of their websites. We wanted to find out how this technology is used in Poland and what other content management systems are popular among Polish higher education institutions - both public and private. This report presents the results of our analysis.

How did we prepare the data for the report? 

Inspired by the above-mentioned report by The Drop Times about CMS systems used by the top 300 universities in the world, we decided to see how the situation looks in our backyard. We traced which content management systems are most often used by Polish universities for their home pages.

Polish higher education institutions in the report

Among the data for the report are 314 operating higher education institutions in Poland. We compiled the list based on official records available on government websites:

In the report, we didn’t include institutions with "liquidated" or "deleted" status and those whose websites were unavailable at the time of analysis (March 2024).

To detect content management systems on the main pages of the institutions, we used a proprietary script that searches the code of these websites and the popular Wappalyzer plugin. In the second step, we further verified the web pages with undetected systems using the tool at WhatCMS.org

Let's see how the results of our analysis shape up when it comes to the use of CMS systems on Polish university websites.

Which academies in Poland are most likely to choose Drupal?

Our focus - as befits a Drupal agency - is primarily Drupal, so it’s with this technology that we begin our review of the results. This functional and open-source CMS for universities offers many options for improving the usability and attractiveness of websites. So, we wanted to see how many universities in Poland have already discovered its potential.

  • Of the total 314 higher education institutions, 22 universities (7.01%) have a home page on Drupal.
  • Out of 95 public universities, Drupal was chosen by 9 institutions - 9.47%. These are academic universities.
  • For academic universities alone, this share is 13.85% - Drupal was chosen by 9 out of 65 institutions.
  • Of the 30 vocational universities, no institution has reached for Drupal. 
  • As for public medical universities, we detected that 2 out of 9 institutions (22.22%) picked Drupal as the main page's base.
  • In the group of non-public universities, 12 institutions out of 213 chose Drupal, accounting for 5.63% of the total.

Popular CMS among Polish higher education institutions

Our analysis of the home pages of 314 Polish universities shows that WordPress is the most preferred content management system among the identified technologies. This CMS was selected by 172 institutions (54.78%).

For 59 colleges, the CMS is undetected and has an "unknown" status, accounting for 18.79% of the total. On the other hand, Drupal is used on the main pages of 22 institutions (7.01%) of all the analyzed universities.

This number compares favorably with Drupal's overall popularity. Built With statistics show how the use of each CMS breaks down among the one million most popular websites in the world. They show that Drupal is used by 3% (23,476) of websites. According to a W3 Techs survey, Drupal is used by 1% of all web pages worldwide.      

Thus, among large websites, which undoubtedly include university web pages, the choice of Drupal is more frequent than among all websites in general. In Poland, however, this is not yet a satisfactory result. Certainly not on the scale of up to 80 percent use of Drupal (for at least one of the websites) by top universities around the world, as demonstrated by the aforementioned report by The Drop Times.

Our analysis also shows other popular systems in Polish higher education. There are technologies such as Joomla!, which is behind the main pages of 26 universities (8.28%), Ruby on Rails, chosen by 11 institutions (3.50%), Microsoft ASP.NET, found on 5 websites (1.59%), and TYPO3 - found in 4 cases (1.27%).

The detected technologies further indicate that Polish universities use 19 different content management systems.

CMS selection among public universities in Poland

Let's see how the situation looks for the 95 public universities in Poland. The list includes academic universities and those with a vocational focus (including academies of applied sciences and public vocational schools).

In this case, WordPress again takes the lead among the CMS used. The system was detected for 36 university home pages (37.89%). 

University websites on Drupal account for 9 cases among public universities (9.47%). Other popular systems in this group include Ruby on Rails (8.42%), Joomla! (7.37%), TYPO3 (4.21%) and Microsoft ASP.NET (3.16%).

CMS systems among websites of academic universities

There is no surprise in the academic universities' zone either. The most significant number of home pages of institutions with this profile are based on WordPress (24 out of 65 institutions, which is 36.92% of the total group).

The second result among correctly detected systems belongs to Drupal. In this case, 9 websites are behind 13.85% of all 65 academic universities. An unknown value for the CMS was returned by 14 sites, accounting for 21.54% of the total.

Academic universities have also chosen for their websites Ruby on Rails (7.69%), Joomla! (6.15%), TYPO3 (6.15%) and Microsoft ASP.NET (3.08%). Individual schools reached CMSs such as Contao (1.54%), Liferay (1.54%), and Squiz Matrix (1.54%).

Popular CMS among public vocational universities

What is the situation in the field of vocational universities? In the case of the most popular system, there were no surprises. The first place is occupied by WordPress, which was used by 12 out of 30 websites, accounting for 40.00% of all schools in the list.

Among the favored technologies in this group are: Joomla! (10.00%), Ruby on Rails (10.00%), as well as Microsoft ASP.NET (3.33%) and Orchard Core (3.33%), which occurred one time each. Drupal was off the list this time.

CMS systems chosen by public medical schools

A separate group of public universities included in our report are medical universities. We decided to classify them separately in accordance with the division seen on government websites. They are included in the list cited at the beginning of the article, compiled by the Ministry of Health.

For this category of higher education institutions, we observed the highest use of Drupal among all content management systems. The analyzed data shows that 2 medical universities out of 9 (22%) have chosen this CMS for their main page.

The other choices were Edito, WordPress, and ExpressionEngine (in these three cases, it was 1 school out of 9, or 11.11%). The CMS remains undetected for 4 of the institution's websites (44.44%).

CMS selection among non-public universities in Poland

Without a doubt, the largest group in this report are non-public institutions. We analyzed 213 home pages of such colleges. What are the results?

The favorite among non-public schools is WordPress. This CMS was detected for 138 home pages, with a percentage score of 64.79%.

The second popular CMS is Joomla! It was reached by 17 non-public universities (7.98%). Third place among the detected systems went to Drupal, which was chosen by 12 institutions (5.63%).

In the non-public university category, 30 content management systems remain undetected (14.08%).   

Best universities according to "Perspektywy" ranking vs. CMS systems

Every year in Poland, the „Perspektywy Press” Publishing House compiles a ranking of higher education institutions "Perspektywy" (ang. Perspectives). This is a beneficial summary for prospective students, who can choose the right university for themselves. 

For the purposes of the report, we also decided to look at the ranking positions. This allows us to show which CMS systems are used by the universities that are recognized as the best in our country.

Academic universities

This table presents the academic universities that ranked 25 in the "Perspektywy" ranking. In it, you can see what position a particular college took in 2023, as well as what CMS its main page is based on.

 Academic collegesCMS1=Jagiellonian University in KrakówLiferay1=University of WarsawWordPress3Warsaw University of TechnologyDrupal4=Adam Mickiewicz University in PoznańRuby on Rails4=Stanislaw Staszic University of Science and Technology in Kraków (AGH)TYPO36Gdańsk University of TechnologyDrupal7Medical University of WarsawDrupal8Wrocław University of Science and TechnologyUnknown9=Medical University of GdańskUnknown9=Lodz University of TechnologyDrupal11Medical University of LodzWordPress12=Poznan University of TechnologyDrupal12=Pomeranian Medical University in SzczecinExpressionEngine12=Silesian University of TechnologyWordPress12=SGH Warsaw School of EconomicsDrupal16=Karol Marcinkowski University of Medical Sciences in PoznańUnknown16=The Silesian Piasts Medical University of WroclawDrupal16=University of GdańskDrupal16=Kozminski University in WarsawDrupal19University of WrocławWordPress20=Nicolaus Copernicus University in ToruńUnknown20=Medical University of BialystokUnknown23Medical University of LublinEdito24Opole UniversityWordPress25=Lublin University of TechnologyMicrosoft ASP.NET


In terms of numbers, the leading CMS is Drupal. It was chosen by 9 out of 25 academic universities (36.00%) from this list. The second place among the CMS detected belongs to WordPress, found on 5 websites (16.00%).

In the case of this ranking, 5 CMS systems have an "unknown" status, accounting for 20% of the total. In contrast, in the table above, you can see that individual colleges have chosen the following technologies for their websites: Edito, ExpressionEngine, Liferay, Microsoft ASP.NET, Ruby on Rails, and TYPO3.

Non-public universities

As in the case of academic schools, for non-public institutions, we also present the top 25 positions in the "Perspektywy" ranking for 2023. In the table, we’ve considered the place occupied and the CMS system detected (or not) on the home page.

 Non-public universitiesCMS1Kozminski University in WarsawDrupal2SWPS UniversityJoomla!3WSB University in Dąbrowa GórniczaUnknown4Lazarski University in WarsawDrupal5Academy of Finance and Business VistulaWordPress6Polish-Japanese Academy of Information Technology in WarsawWordPress7Collegium Civitas in WarsawWordPress8=University of Economics and Human Sciences in WarsawWordPress8=Jagiellonian College in TorunWordPress10University of Lower Silesia DSW in WrocławDrupal11=Andrzej Frycz Modrzewski Krakow UniversityEdito11=The International University of Logistics and Transport in WrocławJoomla!13WSB Merito University in PoznańDrupal14WSB Merito University in WrocławDrupal15=Powiślański UniversityWordPress15=University of Social Sciences in LodzMicrosoft ASP.NET17Humanitas University in SosnowiecUnknown18=Kuyavian-Pomeranian Academy in BydgoszczJoomla!18=WSB Merito University in GdańskDrupal20Academy of Silesia in KatowiceUnknown21=University of Economics and Humanities in Bielsko-BiałaDrupal21=Vistula School of HospitalityWordPress21=WSB Merito University in TorunDrupal24=College of Social and Media Culture in TorunWordPress24=University of Upper Silesia Wojciech Korfanty in KatowiceRuby on Rails


For non-public universities, Drupal (8 out of 25 cases - 32.00%) ranked first, along with WordPress (8 out of 25 cases - 32.00%). For 3 home pages, the Joomla! system appeared (12.00%). For 3 websites (12.00%), the CMS is undetected.

Edito (4.00%), Microsoft ASP.NET (4.00%), and Ruby on Rails (4.00%) were the other CMSs found among non-public university websites from the "Perspektywy" ranking.   

Report on CMS systems on the websites of Polish universities - summary

Our report covers 314 higher education institutions in Poland. The list of analyzed institutions comprises public universities (including academic and vocational universities), public medical universities, and non-public institutions.

For the most part, WordPress proved to be the most popular CMS. It’s used by the largest number of universities among all institutions, as well as among public and non-public universities.

As for Drupal, it’s most popular among medical schools. It has also been selected by most outlets from the lists of the 25 best academic universities and the 25 best non-public universities according to the "Perspektywy" 2023 ranking.

In general, higher education institutions in Poland use as many as 19 different content management systems. In addition to WordPress and Drupal, the detected CMSs include CMS Made Simple, CodeIgniter, Concrete CMS, Contao, DNN, Edito, ExpressionEngine, Joomla!, Liferay, Microsoft ASP.NET, Odoo, Orchard Core, Ruby on Rails, Squiz Matrix, TYPO3, Umbraco and Wix. 

Mar 22 2024
Mar 22

In the dynamic world of academia, managing academic visitor applications efficiently is crucial. The University of Oxford Mathematical Institute has embraced the power of Drupal  and the Maestro module to streamline and enhance their academic visitor application process. Let's delve into the seamless workflow that facilitates this crucial task.

The General Design

Initiation: Academics or their assistants initiate the process by filling in a comprehensive multi-page webform tailored to their needs.

Confirmation and Workflow Trigger: Upon submission, a confirmation email is sent to the initiator by the webform email handler, and the workflow is triggered.

Workflow Automation

Batch Functions:

  • The first batch function identifies the relevant research group and sets a variable according to the head of that group.
  • The second batch function notifies the Research Group Assistant (RGA) for informational purposes.

Head of Research Group Review:

  • The first interactive form is sent to the head of the research group for review.
  • The head can view webform details in read-only mode and add a supporting statement or comments using custom fields.
  • A custom "Request Clarification" button enables quick communication.

Clarification or Approval:

  • If clarification is requested, the application is routed back to the initiator for edits and resubmission.
  • The initiator can also cancel the application if needed.
  • If approved, the application moves forward to the Director of IT and Physical Resources.

Final Approval and Allocation:

  • The Director reviews the application and approves it.
  • If a desk is required, the Director allocates one at this stage.

Notification:

  • Email notifications are sent to the initiator and RGA with the decision.
  • If accepted, the Visitors Coordinator is informed to process the application.

Enhancing Efficiency and Collaboration

By leveraging Drupal and Maestro, the University of Oxford Mathematical Institute has not only automated and streamlined their academic visitor application process but also improved collaboration among stakeholders. Customizable forms, automated notifications, and a clear workflow ensure a smooth and transparent process for both applicants and administrators.

In conclusion, Maestro continues to be a powerful tool for academic institutions, offering a tailored solution to complex processes. The University of Oxford Mathematical Institute's implementation serves as a testament for using Maestro to automate business processes in the academic world.

Mar 21 2024
Mar 21
Avi

Avi Schwab, is a prolific contributor to Drupal, and one of the lead organizers of MidCamp, an annual gathering of the MidWest Drupal community in Chicago. Earlier in the year, Avi visited Florida DrupalCamp to experience the latest in Drupal insights, read on for his key takeaways.

Not just another Layout Builder article

Back in February, I attended Florida DrupalCamp in sunny Orlando. I went thinking I would learn about lots of interesting Layout Builder modules. Then I heard a Lightning Talk.

In an “airing of grievances”, one long-time community member quipped: 

“There are approximately 38,000 (rounded up) contributed modules for Layout Builder. There are hundreds of blog posts about the right ones to use. What’s going on, Drupal?!”

That not-to-be-named community member is right. The Layout Builder ecosystem is huge: 

So… equipped with that knowledge, I had to make some adjustments to my blogging plan.

How did we get here?

Layout Builder came to Drupal core in version 8.5.0, all the way back in 2017. It started as a way to define custom layouts - combinations of sections like the body and sidebar. These layouts would enable site builders to create more dynamic pages on their sites.

Many of the deeper features of Drupal Core begin as frameworks - tools to build tools. Layout Builder started as a framework for building site-building experiences. Building the experience itself is "an exercise for the reader". The community has found many solutions to completing that experience for our end-users.

Current solutions

Florida Drupal Camp presented two great blueprints for the Layout Builder editor experience:

"Improving Layout Builder user experience" took a deep dive into dozens of contributed modules. You can hear the speaker present that list in "How Layout Builder Promises a Great UX for End Users and Content Creators".

Advanced Layout Builder for the Ambitious Site Builder presented a detailed schematic for another Layout Builder experience.

These solutions add to an ever-growing list of Layout Builder-based ecosystems. Paid services like Acquia Site Studio and DXPR join open-source distributions like Drupal Commerce and YMCA Website Services.

Where do we go from here?

Many technologies now undergo “tick/tock” or “innovation/optimization” cycles. Layout Builder has gone through an incredible period of growth and innovation. Optimizing the experience is a strategic initiative for Drupal 11. 

The Drupal Core team is deep into a roadmap to improve the editorial experience. Review that conversation to get started. Join the conversation on Drupal Slack in the #layouts channel. Contribute to a Drupal Community Event near you. 

As a community, we can work together to optimize the Drupal editorial experience. This could usher in a new phase of no/low-code solutions for enabling ambitious site builders. 

Mar 21 2024
Mar 21
Mike GouldingMike Goulding

Mike Goulding

Senior Drupal Engineer

Mike has been part of the Four Kitchens crew since 2018, where he works as a senior engineer and tech lead for a variety of Drupal and WordPress projects.

March 21, 2024

AstroJS logo

There are many different options available for the organization or team that decides it is time to decouple their Drupal site. There are frameworks that are designed for static site generation (SSG) and there are others that use server-side rendering (SSR), with many that claim to do both well.

React and NextJS have been popular options for a while now, and they are well-loved here at Four Kitchens as well. Another framework that is a little different from the above is Astro, and it may be worth considering.

What is Astro?

Astro is an interesting framework to work with, and it only becomes more so with time. Astro’s website makes claims of performance advantages over many other frameworks in the space. The full report can be found here.

More interesting than performance claims are some of the unique features this framework brings with it. Astro has many official integrations for other popular JS frameworks. This means, for example, that part of a page could use React, while another part could use Svelte. An even more ambitious page could use Vue, React, and AlpineJS for different components. While these examples are not a typical or recommended use case, they do illustrate that flexibility is one of the real strengths of Astro.

This flexibility doesn’t come with a steep learning curve, as Astro makes use of enough familiar pieces so that newcomers aren’t immediately overwhelmed. It is possible to write Astro components in a straightforward manner, similar to HTML, and still incorporate JavaScript XML (JSX) expressions to include data in the component’s output. There are a couple of tutorials for getting started with Astro, and they do a good job of giving the general structure of a project along with some scenarios that are unique to the framework.

Houston, Astro's mascotHouston, Astro's mascot

(Also, Houston is an adorable mascot and I am here for it!)

Using Astro with Drupal

Despite all of the integrations that can be found in the Astro toolset, there is notably one key thing that is missing: There isn’t an existing integration for Drupal! The list of content management systems (CMSs) that Astro recommends are specifically headless CMSs, which make for a more natural starting point for this setup than converting a Drupal site.

Never fear, though! Drupal may not specifically be on that list, but that doesn’t mean it isn’t something that should be considered. Astro has that incredible flexibility, after all, and that means there are more options than it seems on the surface. All that is needed is an endpoint (or several) to fetch data from Drupal, and things are looking up once again.

Using the Drupal GraphQL and GraphQL Compose modules, it is possible to quickly get data ready to expose from Drupal and into the hands of a decoupled framework like Astro. With that, it becomes possible to fetch that data within Astro and build our frontend while taking advantage of many of the features that Astro offers. This can also be done with REST API or JSON:API, but for our purposes, the consistency and structure of GraphQL can’t be beat when crafting a decoupled integration with Drupal.

Astro with GraphQLAstro with GraphQL

Using the fetch function that is available to Astro, (and JavaScript in general), we can get data from just about anywhere into our Astro components. This blends well with the head start from the compose module, as you can take an existing Drupal site and be ready to connect to a frontend framework very quickly. This means quicker prototyping and quicker assembling of components.

Astro also supports dynamic routing out of the box, which is an essential feature when connecting to a Drupal site where routes aren’t always structured like directories. Using this wildcard type of functionality, we can more easily take an existing site — regardless of the structure of the content — and get output into Astro. With the data from the routes in hand, we can get to the fun part: building the components and taking advantage of more of the Astro’s flexibility.

Flexibility is key

For me, Astro’s strength doesn’t solely come from the speed that it builds and renders content or the ease of building pages in a familiar JSX or Markdown pattern. Its real strength comes from the flexibility and variety of build options. While it does a great job handling some functionality on a given component or creating simple pages for a blog listing, it does even more with the ability to bring in other frameworks inside of components. Want to add a search page, but there isn’t an existing integration for Astro? If there is one for React, that works here, too! Do you have an internal team member really excited about building personalized content with Vue? Bring that in, and that component will work as well.

While the reality of the implementations may be a bit more involved than described on the tin, it is surprisingly easy and encouraged to bring in live updating components inside of Astro. This changes what would otherwise be a run-of-the-mill frontend tool into something much more interesting. Astro does shine in its own right, especially with statically generated pages and content. It just wouldn’t be doing anything especially new without bringing in other frameworks.

This is also where bringing a CMS like Drupal into a decoupled setup with Astro is intriguing. There is an opportunity for highly dynamic pages that wouldn’t work with a traditional static framework while still getting the speed and benefits of that approach. Drupal sites are typically very quick to update when content changes, which can be a sticking point for working with a decoupled architecture. How often should the frontend be rebuilt and how much can caching make up the difference? With having some parts of the site use components that can update more easily on the page, there benefits of both approaches can come through.

Making the web a better place to teach, learn, and advocate starts here...

When you subscribe to our newsletter!

Mar 21 2024
Mar 21

The LocalGov Drupal community is getting together for a day of networking, learning, and socialising, and Annertech will be there too, as the headline sponsor. It’s the first-ever LocalGov Drupal Camp, and its theme is “How collaboration can help bridge the capacity and resource gap”. 

Annertech has been involved in the LocalGov Drupal project – a Drupal-based CMS created by councils for councils – since the beginning. 

The code was initially developed for Brighton and Hove City Council in 2018, and was made available for any council to use free of charge. Councils can use the budget they would have spent on this code on developing new features for LocalGov Drupal instead. And any new features that are developed are in turn made available to others. 

LocalGov Drupal Camp will see the community who made this project possible – representatives from councils, public sector organisations and agencies, content designers, product managers and developers – gather to share knowledge, experience and help overcome the challenges they all face when it comes to creating excellent websites for councils. 

Annertech has been proud to be associated with LocalGov Drupal, and we’ve helped many councils – both in the UK and Ireland – move their websites on to this ground-breaking platform. 

Mar 20 2024
Mar 20

3.Introduction

APIs (Application Programming Interfaces) play a pivotal role in connecting and transferring data across systems and applications, making them a central element in software development. The strategic testing of APIs enhances efficiency, facilitating faster software delivery for organizations.

As per a report by Data Bridge Market Research, the global API testing market is anticipated to reach a staggering USD 4,733 million by 2030, up from USD 1,071 million in 2020. This surge aligns with the growing prevalence of cloud applications and interconnected platforms that heavily rely on APIs.

API testing encompasses various dimensions, primarily involving the request and validation of API endpoints. This validation extends to aspects such as communication, security, performance, status, and functional correctness. The emphasis in API testing lies in evaluating business logic, identifying security vulnerabilities, addressing performance bottlenecks, and ensuring accurate data responses.

Dimpy Adhikary, an accomplished Quality Analyst with over a decade of experience, underscored the significance of API testing in a thought-provoking discussion during Axelerant’s QA Q&A show with Shweta Sharma.

Learn more about the intricacies of API testing and how it's executed.

What Is API Testing?

API testing stands as a critical facet of software testing, where APIs undergo rigorous examination to ascertain compliance with expectations regarding reliability, functionality, performance, and security. The primary goal of API testing is to unveil bugs, inconsistencies, or deviations from the anticipated behavior.

Within the realm of applications, there exist three distinct layers:

  • Presentation Layer or User Interface
  • Business Layer or User Interface for Business Logic Processing
  • Database Layer for Modeling and Manipulating Data

API testing is done at the business layer, the most critical software architecture layer.

Why API Testing Is Important

API testing holds paramount importance for various reasons, contributing significantly to the success of software development. Here are key aspects that highlight the significance of API testing:

Prompt Validation

With API testing, the validation of responses and data reliability can commence as soon as the logic is designed. This proactive approach eliminates the need to wait for different teams to complete their work or for the entire application to be fully developed. Test cases are isolated, ready to be built immediately, streamlining the testing process.

Efficient Test Maintenance

The dynamic nature of User Interfaces (UIs) poses a challenge in terms of continuous changes based on access methods. This constant evolution necessitates frequent test rewriting to keep pace with code production. API changes, being more controlled and infrequent, facilitate more efficient refactoring of tests, ensuring optimal maintenance.

Quicker Resolution

When API tests fail, pinpointing the system's breakage and locating defects becomes a more straightforward process. This streamlined approach reduces the time spent assessing bugs between builds, integrations, and across different team members. The small, isolated footprint of API tests is particularly advantageous for quicker Mean Time To Resolution (MTTR) stats, a crucial KPI for DevOps teams.

Optimal Speed And Coverage

In contrast to UI tests that might take hours to run, API tests offer optimal speed and coverage. Running 500 API tests can be accomplished in just 5 minutes, allowing testers to identify more bugs in less time. This swift identification enables immediate error resolution, enhancing the overall efficiency of the testing process.

Consider the example below, illustrating a standard functional test at the UI level. A user navigates to a website, fills out a form, submits it, and verifies the transition to the next screen. While this simple UI test presents challenges related to the physical limitations of browsers and network connections, API testing simplifies complex scenarios.

steps for performing Functional test

For instance, if the 'Dogs' entry obscures the 'Cat' entry, users may encounter difficulties in selection. At this UI level, challenges arise with the addition of 10,000 different names and combinations through the form. However, with API testing, this intricate scenario boils down to a single step: conducting a comprehensive API test.

Consequences Of Neglecting API Testing

According to Dimpy Adhikary,

Neglecting API testing poses significant challenges in validating the functionalities of APIs. The absence of API testing increases the risk of severe adverse effects on the overall project's security, elevating the chances of fraudulent activities. It underscores the critical role API testing plays in ensuring the robustness and integrity of software systems.

How API Testing Is Done At Axelerant

At Axelerant, our quality engineering experts adhere to a systematic approach to executing API testing. The following steps outline the process:

Step 1: Specification Review

Initiating the API testing journey begins with a thorough specification review. Testers meticulously document API testing requirements, seeking answers to pivotal questions such as:

  • What is the purpose of the API?
  • What is the workflow of the application?
  • Which integrations are supported by the API?
  • What are the features of the API?

Efficient API testing relies on the comprehensive documentation of these requirements.

Step 2: Determine Appropriate Test Strategy

Determining the appropriate test strategy is a critical step, involving an in-depth analysis of API specifications, requirements, and use cases. This phase identifies the testing techniques, tools, and resources required for effective API testing.

Step 3: Set Up The Test Environment

A robust testing environment is essential for accurate API testing. This step involves configuring the necessary parameters around the API, including the setup of databases and servers to align with application requirements.

Step 4: Integrate Application Data

Integration of application data with API tests is paramount to ensure the proper functioning of the API against all possible input configurations. This step enhances the comprehensiveness of the testing process.

Step 5: Analyze The Type Of API Test Required

With clear testing requirements and boundaries in place, the next step is to analyze the specific type of API test required. Different API tests serve various purposes, and a thoughtful analysis helps in making informed decisions.

Step 6: Test Execution, Reporting, And Management

Execution of test cases follows, aligning with the predefined requirements. Common parameters and conditions are identified for developers to use while calling the APIs and testing various scenarios. Test results are meticulously documented in a test management tool, ensuring accessibility, and facilitating efficient defect management.

Best Practices For API Testing

In addition to the aforementioned steps, here are some best practices that our testers follow for effective API testing:

  • Start testing first for the typical or expected results.
  • Add stress to the system through a series of API load tests.
  • Try to test for failure.
  • Group test cases by test categories.
  • Automate testing wherever possible.
  • Perform well-planned call sequencing.
  • Prioritize API function calls.
  • Limit the test variables to keep them isolated.
  • Create test cases for all possible API input combinations.
  • Incorporate mocking, stubbing, and driver components into API testing. This helps create controlled testing environments, isolating dependencies and stimulating specific behaviors for external dependencies.

Dimpy Adhikary further elaborates on these best practices in a discussion during Axelerant’s QA Q&A show with Shweta Sharma.

Types Of API Testing

API testing encompasses various types, each serving a specific purpose in ensuring the robustness and functionality of an API. Here is an overview of different types of API testing:

  • Functionality Testing

    This type of testing validates whether the API functions as intended. It focuses on ensuring that the API performs the tasks it was designed for without any deviations.

  • Reliability Testing

    Reliability testing checks if the API can be consistently connected to and consistently delivers reliable results. It assesses the API's stability and its ability to provide consistent performance over time.

  • Load Testing: 

    Load testing is crucial to ensure the performance of the API under both normal and peak conditions. This type of testing helps identify how well the API handles various levels of load and traffic.

  • UI Testing: 

    Involving the testing ensures that the user interaction with the API is seamless and intuitive. This type of testing is essential for evaluating the overall user experience and interface responsiveness.

  • Validation Testing:

    Validation testing verifies different aspects of the product, its behavior, and the overall efficiency of the API. It ensures that the API adheres to the specified requirements and meets the expected standards.

  • Security Testing:

    Security testing is crucial to verify that the API is secure against all possible external threats. This includes assessing the API's vulnerability to potential security breaches and implementing measures to mitigate such risks.

  • Fuzz Testing:

    Fuzz testing involves testing the API in terms of its limits to prepare for worst-case scenarios. It systematically introduces invalid or unexpected inputs to assess how well the API can handle such variations and whether it behaves as expected.

  • Penetration Testing:
    Penetration testing is a comprehensive approach to ensure that all vulnerabilities of an application, including the API, are detected. It involves simulating real-world attacks to identify potential weaknesses in the system's security.
  • Contract Testing:
    Contract testing is a lightweight form of API testing that focuses on verifying the content and format of API requests and responses. It ensures that the API contracts, defining communication between different software components, are honored.

Beyond these specific types, API tests play a crucial role in helping testers identify various issues, including:

  • Missing or duplicate functionality within the API.
  • Improper messaging might affect communication protocols.
  • Reliability issues that could impact the consistent performance of the API.
  • Incompatibility of error handling mechanisms that may lead to unexpected failures.
  • Multi-threaded issues, addressing challenges related to parallel processing.
  • Security, performance, and scalability issues that could compromise the overall effectiveness of the API.

By conducting a comprehensive set of API tests, testers can ensure the reliability, security, and optimal performance of APIs, contributing to the overall success of software systems.

Watch Axelerants QA Q&A Show

Benefits of API Testing: Ensuring Reliability, Security, and Scalability

API testing is a crucial aspect of modern software development workflows, offering a multitude of benefits that contribute to the overall success and efficiency of the development process. Here are some key advantages of incorporating API testing into your testing strategy:

  1. Cost-Effective Test Automation
    Less Code, Faster Testing:  API test automation requires less code compared to automated GUI tests, resulting in faster testing cycles. This efficiency translates to lower overall testing costs, making API testing a cost-effective solution.
  2. Early Issue Identification and Resolution
    Access Without UI: API testing allows developers to access applications without relying on a UI. This facilitates the early identification of errors in the development lifecycle, preventing issues from escalating and becoming more challenging and costly to resolve.
  3. Technology and Language Independence
    Versatility with JSON and XML: API tests are technology and language-independent, utilizing data exchange formats like JavaScript Object Notation (JSON) or Extensible Markup Language (XML). This ensures compatibility and ease of integration across diverse technological stacks.
  4. Enhanced Security Measures
    Extreme Condition Testing: API tests involve analyzing applications under extreme conditions and inputs. This rigorous testing helps identify vulnerabilities, safeguarding applications against potential security threats and malicious code.
  5. Integration with GUI Tests
    Collaborative Testing Approach: API tests can seamlessly integrate with GUI tests. For instance, creating new users within an application using API tests before executing GUI tests ensures a comprehensive testing approach, promoting collaborative testing efforts.
  6. Quality Assurance and Reputation Management
    Preserving Consumer Trust: API testing plays a crucial role in quality assurance, preserving consumer trust, and protecting the reputation of businesses. Continuous testing ensures that APIs perform as expected, avoiding disruptions and maintaining a positive user experience.
  7. Shift-Left Approach for Early Issue Detection
    Predictable Development Process: A shift-left approach to API testing allows teams to detect defects early in the development process. This early identification makes the development process more predictable, enabling teams to stay on schedule.
  8. Resource Conservation and Rapid Iteration
    Automation for Resource Efficiency: The automation of API testing conserves resources, allowing team members to focus on innovation rather than repetitive testing tasks. Integration within CI/CD pipelines supports rapid iteration, validating code changes automatically before reaching production.

API Testing Tools: Navigating the Landscape for Efficient Testing

API testing is a critical aspect of ensuring the reliability and functionality of software applications. As the demand for robust APIs continues to rise, developers have the option to choose from a variety of API testing tools. Here's an exploration of API testing tools, their advantages, and some prominent examples in the market.

Custom Frameworks vs. API Testing Tools

When embarking on API testing, developers face a choice between creating a custom framework or utilizing existing API testing tools. Custom frameworks offer flexibility, allowing developers to tailor tests according to specific requirements. However, this approach demands coding skills and might lack the user-friendly interfaces provided by testing tools.

API testing tools, on the other hand, present user-friendly interfaces with minimal coding requirements. This accessibility makes them suitable for developers with varying levels of experience, enabling them to deploy tests efficiently. However, these tools may focus on general API issues, potentially overlooking more specific problems with the tester's API.

Diverse Array of API Testing Tools

The API testing landscape boasts a diverse array of tools, ranging from paid subscriptions to open-source offerings. As the global API testing market is estimated to reach significant figures, developers have numerous options to choose from. Let's explore a few noteworthy examples:

  • Apache JMeter:
    • Type: Open Source
    • Features: Java application compatible with Windows, Linux, or macOS. Requires no programming skills, and supports various applications, servers, and protocols. Integrates with Jenkins for CI/CD pipelines and API monitoring.
  • Apigee:
    • Type: Commercial (Part of Google Cloud)
    • Features: Facilitates the design, build, test, deployment, and monitoring of APIs. Tracks traffic, error rates, and response times. Uses API proxies to decouple app-facing APIs from backend services, ensuring uninterrupted API calls despite backend code changes.
  • Insomnia (Now part of Kong):
    • Type: Open Source
    • Features: API client supporting RESTful, SOAP, GraphQL, and gRPC requests. Allows the creation of customized API test flows, including chained requests. Integration with CI/CD pipelines through GitHub, GitLab, or Bitbucket using Inso, the command-line interface.

Challenges of API Testing: Navigating Complexity

API testing, while essential for ensuring robust software applications, is not without its challenges. As we delve into the intricacies of API testing challenges, we'll also explore effective solutions to overcome these hurdles.

Common Challenges in API Testing:

1. Parameter Selection, Combination, and Call Sequencing:

  • Parameter Selection: Validating parameters sent through API requests can be intricate. Ensuring adherence to criteria like appropriate string or numerical data, assigned value range, and compliance with length restrictions is crucial.
  • Parameter Combination: Testing every combination is essential to identify problems related to specific configurations, adding complexity to the testing process.
  • Call Sequencing: Ensuring that every call appears in a specific order is challenging, especially in multithreaded applications.

2. Lack of GUI for Input:

  • API testing lacks graphical user interfaces, making it challenging to provide input values. Testers must rely on coding and scripting to interact with APIs.

3. Coding Knowledge Requirement:

  • Testers need to possess coding skills, a prerequisite for effective API testing, which may pose a challenge for those less experienced in coding.

4. API Interoperability:

  • While each API may work independently, ensuring seamless collaboration when testing the entire application becomes critical. Neglecting API dependencies can result in overall software malfunction.

Solutions for Overcoming API Testing Challenges:

1. Prioritize Critical Functionalities:

2. Response Time Assertions:

3. Identify and Include API Dependencies:

4. Simulate Real-World Scenarios:

5. Validate Data Accuracy:

6. Address Authentication and Security:

7. Cross-Device and Cross-Platform Testing:

8. Setup and Manage Test Environments:

9. Version Control and Management:

10. Automation with Tools:

  • Automate API testing using reliable tools like Nightwatch.js to streamline the testing process, reduce manual effort, and ensure consistent data updates.

Developing and Testing a Donation Platform for Scouts: A Success Story

The experts at Axelerant followed these best practices and more while developing and testing the donation platform and related APIs to support better funding for Scouts, which is a voluntary, non-political education movement. Axelerant’s QA team started by creating a quick mapping sheet to relate APIs with respective functionalities. The key was to first identify test scenarios and test with precision.

The team used Postman, Newman, and GitLab CI to validate and automate API endpoints. Around 300+ test scripts were created for verifying the response data, status codes, and the JSON schema.

The platform was developed, tested, and launched within three weeks, allowing the Scouts team to improve funding for projects and manage user permissions without exposing the system.

Want to learn more about API testing best practices or what mistakes you should avoid while testing APIs?

Check out Axelerants QA Q&A Episode 3

The Role of Axelerant in Shaping the Future:

At Axelerant, we recognize the evolving landscape of API testing and actively contribute to shaping its future. Our commitment to best practices, innovative tools, and strategic testing methodologies positions us at the forefront of this dynamic domain.

In conclusion, the future of API testing is poised for growth, innovation, and increased integration into the fabric of software development. As digital landscapes evolve, so will the strategies and tools we employ to ensure APIs' seamless functionality, reliability, and security. Stay tuned for the latest developments as we navigate the exciting future of API testing together.

Mar 20 2024
Mar 20

Authored by: Nadiia Nykolaichuk 

“Join us this spring in the City of Roses, Portland!”

— the DrupalCon team

The best opportunity to grow your Drupal skills, plant the seeds of connection, and help the Drupal community flourish is just around the corner! This spring, the world’s biggest Drupal meetup is coming back to the City of Roses, which is one of the most famous nicknames for Portland, Oregon.

Simply glancing at the DrupalCon program will give you a buzz of excitement, much like how you would feel being surrounded by 650 varieties of roses in Portland’s world-renowned rose garden. The schedule is loaded with top-notch sessions by Drupal experts, so it might be hard to know where to start. It wasn’t an easy choice for our team but we’ve been able to cherry-pick our collection of top sessions to attend at DrupalCon Portland 2024.

DrupalCon Portland 2024’s official page.DrupalCon Portland 2024’s official page.

Top Session Picks for DrupalCon Portland 2024 

Driesnote by Dries Buytaert

Each spring, DrupalCon takes place in North America while every autumn, it’s held in Europe. Despite the change of continents, variety of beautiful host cities, and diverse session programs, one thing remains constant: Driesnote. And DrupalCon Portland 2024 will be no exception, the creator and project lead of Drupal will hold his keynote in the main auditorium of the Oregon Convention Center. 

At DrupalCon Lille 2023, Driesnote was presented as an enchanting fairy-tale about the Drupal Village. What can we expect from Dries Buytaert at DrupalCon Portland 2024? Only time will tell! In any case, and with any presentation style, Driesnote will be a unique chance to learn about the latest Drupal innovations, planned releases, trends, problems, and solutions.

“Drupal's next leap: configuration validation — it's here!” by Wim Leers

Attention, Drupal developers! Here is a feature that is officially called “Drupal’s next leap” in the realm of configuration management by no other than Wim Leers — a prominent Drupal core contributor. Our collection of top sessions for DrupalCon Portland 2024 couldn’t do without an empowering, purely developer-oriented session.

Wim Leers will inform the audience about one of the new things introduced in Drupal 10.2. Modules can now delete their hard coded PHP form validation logic and switch to validation constraints instead. For this purpose, devs can use the new #config_target Form API property, which is meant to simplify and streamline work with configuration forms. 

The attendees will have a chance to see a wealth of exceptional live demos on how to adopt #config_target in 5 minutes, how to modify configuration through using REST, JSON:API, or GraphQL, how to easily make configuration validatable, etc.

“AI readiness: How Drupal can become a leader in the Open Interface Web” by Kristof Van Tomme (kvantomme)

Generative AI came in like a tidal wave last year and became the talk of the town in the Drupal community as well. From that point, the first Drupal modules for OpenAI/ChatGPT integration quickly emerged. We published a detailed step-by-step guide to installing and using the biggest of them — the OpenAI module.

There’s no need to ask AI for forecasts — it’s clear that AI-related sessions are going to be a blast at DrupalCon Portland 2024. One of them is an intriguing session by Kristof Van Tomme (kvantomme). It will revolve around large language models (LLMs), the Open Interface Web, and, of course, the role of Drupal in the new landscape.

Among the questions to be discussed are how to prepare your organization for AI besides adopting LLMs, how to position Drupal as a leader in AI readiness and the Open Interface Web, and so on.

“Using Layout Builder: Practical Advice from the Field” by Heather Wozniak, Monica Flores, Rick Hawkins, and Andrew Morton

Knowing that Layout Builder is a powerful page creation tool in Drupal core and widely using it on our projects, we can't resist mentioning this intriguing session. It promises to improve the attendees’ understanding of Layout Builder’s capabilities and limitations, pros and cons, and share specific tips for setting up and customizing the authoring experience.

The session is going to be held in the format of a panel discussion with Heather Wozniak (heatherwoz) facilitating the conversation from panelists Monica "Nikki" Flores (monicadear), Rick Hawkins (rlhawk), and Andrew Morton (mortona2k).

They will share their experience with adopting Layout Builder for healthcare, nonprofit, government, and business websites of all sizes. The topics will include must-have add-on modules for Layout Builder, what projects and organizations it suits best, what features require custom code, and much more.

The Layout Builder.The Layout Builder.

“Beyond Inclusion: Doing the Right Thing, Drupal-Style” by Monica Flores and Fei Lauren

Building an inclusive world is something we all should strive to do. As a Drupal development agency committed to accessibility guidelines, we love to share tips on creating accessible content and improving website UX for all users. Luckily, Drupal is our reliable ally for ensuring accessibility because it supports accessible forms, keyboard navigation, ALT text for images, and much more.

However, it’s important to go beyond the standard of accessibility. We found it interesting to look at the art of inclusion from a different angle and a non-technical standpoint. Monica "Nikki" Flores (monicadear) and Fei Lauren (feilauren) will explore how to foster inclusion within the Drupal community, taking into consideration its great variety of viewpoints and personalities.

Thought-provoking questions will be raised at the session. For example, what would be the right, “Drupal-style” thing to do if a teammate won’t work on a project for religious or moral reasons? Attendees are welcome to bring up their cases as well.

“Drupal 11 deep dive: what's new, how to prepare” by Gábor Hojtsy

Did you know that Drupal 11 has already started knocking on the door? Indeed, time flies, and Drupal's major versions change very fast compared to what it used to be like in the past. To be more specific, they are now released every other year in even years based on the new major release schedule. So Drupal 11 is getting ready to see the world in 2024. Based on the latest update, this should happen either on the week of July 29 or the week of December 9, 2024.

You can take a deep dive into Drupal 11 at DrupalCon Portland by attending the enlightening session by Gábor Hojtsy. As the Drupal core initiative coordinator, he knows what’s coming in Drupal 11 and how to prepare your website for it.

Automatic Updates, Project Browser, Recipes, and other Drupal core innovations

Speaking of the upcoming Drupal innovations, there will also be opportunities to learn about them in more detail at dedicated DrupalCon sessions held by project leads and key contributors. Here are at least a couple of the most exciting new Drupal core developments:

  • “Protecting your site with Automatic Updates” by Tedd Bowman
    More up-to-date and secure Drupal websites are bound to become a dream come true for the Drupal community thanks to Automatic Updates. Drupal developers are welcome to discover the hosting requirements, the advanced module setup, and customization examples for Automatic Updates in the compelling session by Ted Bowman (tedbow).
  • “Drupal Distributions & Recipes Initiative Update” by Jim Birch
    Drupal Recipes are set to become game-changers in the realm of assembling Drupal functionality from predefined packages. Jim Birch (thejimbirch) will share how Recipes work and how to get involved. Furthermore, the session promises “a virtual cooking show of applying various recipes from our cookbook,” which sounds pretty delicious.
  • “So I logged in, now what? The Dashboard initiative welcomes you” by Christian López Espínola and Pablo López
    Drupal is getting more personalized out of the box. Thanks to the Dashboard Initiative, there will be tailored administrative experiences for different user personas. Christian López Espínola (penyaskito) and Pablo López (plopesc) will tell the attendees more about the project’s journey and contribution opportunities. 
  • “Navigation changes in Drupal’s Admin UI” by Cristina Chumillas
    An important role in seamless admin experiences belongs to the navigation toolbar. Fortunately, Drupal is getting a new, modern, and user-friendly administrative toolbar very soon. Cristina Chumillas (ckrina), the Drupal core UX maintainer, will shed light on it along with providing the freshest demos.
  • “Project Browser: On the road to Core” by Leslie Glynn and Chris Wells
    Finding and installing Drupal modules at the click of a button is almost the new reality for Drupal users. Recently, we explored Project Browser, and its work was very impressive, so the road to Drupal core looks bright. Leslie Glynn (leslieg) and Chris Wells (chrisfromredfin) will enlighten the audience about the progress of Project Browser and the contribution options.
Project Browser in Drupal.Project Browser in Drupal.

Final thoughts

It’s a pity we couldn’t make our article endless by including a bunch of other exciting sessions, including regular presentations, as well as contributor workshops, industry-specific summits, and social events to name a few. What is truly endless is Drupal’s power in uniting people from different countries and different backgrounds, allowing them to share their skills and build connections.

To all those who are planning to attend DrupalCon Portland 2024, see you at the Oregon Convention Center! Let’s enjoy the insightful sessions together and discuss any topics related to creating top-notch digital experiences with Drupal and building out our wonderful community.

Mar 20 2024
Mar 20

Join us THURSDAY, March 21 at 1pm ET / 10am PT, for our regularly scheduled call to chat about all things Drupal and nonprofits. (Convert to your local time zone.)

This month we'll be giving a recap of last week's NTC, and an update on our plans for DrupalCon Portland, including the Nonprofit Summit and the recently announced discount for nonprofit attendees!

And we'll of course also have time to discuss anything else that's on our minds at the intersection of Drupal and nonprofits.  Got something specific you want to talk about? Feel free to share ahead of time in our collaborative Google doc: https://nten.org/drupal/notes!

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

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

  • Join the call: https://us02web.zoom.us/j/81817469653

    • Meeting ID: 818 1746 9653
      Passcode: 551681

    • One tap mobile:
      +16699006833,,81817469653# US (San Jose)
      +13462487799,,81817469653# US (Houston)

    • Dial by your location:
      +1 669 900 6833 US (San Jose)
      +1 346 248 7799 US (Houston)
      +1 253 215 8782 US (Tacoma)
      +1 929 205 6099 US (New York)
      +1 301 715 8592 US (Washington DC)
      +1 312 626 6799 US (Chicago)

    • Find your local number: https://us02web.zoom.us/u/kpV1o65N

  • Follow along on Google Docs: https://nten.org/drupal/notes

View notes of previous months' calls.

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