Feed aggregator

Acquia Developer Portal Blog: DrupalCon Portland Day 4 Recap

Drupal Planet - Fri, 2024-05-17 18:07

We did it; we’ve reached the last day of DrupalCon Portland 2024. Today was a specialty content day with something for all conference attendees. Largely it was a day of industry summits and training. 

Industry Summits
DrupalCon industry summits provide an exclusive chance to engage and collaborate with Drupal community members who share your field and/or interests. These summits were comprehensive full-day sessions that allow for time to share case studies, strategies, lessons learned, and best practices. For those interested, the Industry Summit series was available as an add-on to the main ticket for an additional fee, offering a focused, enriching experience adjacent to the broader conference in the industries of government, non-profit, higher education, and healthcare, as well as a Drupal community summit option.

Categories: Drupal Showcase

mark.ie: Big Blue Door are going to sponsor me to work on LocalGov Drupal

Drupal Planet - Fri, 2024-05-17 17:46

No sooner had I written a blog post suggesting people could sponsor my work on LocalGov Drupal than Big Blue Door had answered the call.

Categories: Drupal Showcase

Acquia Developer Portal Blog: The four big Drupal themes of DrupalCon Portland 2024

Drupal Planet - Fri, 2024-05-17 17:16

Last week was Drupal DrupalCon Portland 2024 and our team was there in big numbers. Acquia had an amazing Dungeons and Dragons themed booth with a moving dragon, capes, a throne and D20 dice to throw to get a chance at winning some swag. It was super well received.

Categories: Drupal Showcase

The Drop Times: DrupalCamp Poland 2024 Kicks Off Tomorrow in Warsaw!

Drupal Planet - Fri, 2024-05-17 13:34
DrupalCamp Poland 2024 starts tomorrow, May 18th, in Warsaw, bringing together Drupal enthusiasts and IT professionals. The event features lectures, workshops, and discussions led by international experts, covering the latest trends and best practices in Drupal and PHP. This article includes insights from the event's organizers and speakers, highlighting the significance of the conference. The day wraps up with the highly anticipated DrupalParty, offering a perfect setting for networking and relaxation.
Categories: Drupal Showcase

Promet Source: 9 Ways Drupal Keeps Government Sites Ahead of the Curve

Drupal Planet - Fri, 2024-05-17 02:59
Note: This blog was first published on February 2, 2021, and has been updated to reflect new information and insights. Takeaway: Drupal is a powerful, open-source choice for government websites due to its advanced features and capabilities. It’s no secret that as an agency committed to bringing what’s new and next in the technology horizon to the public sector, we strongly advocate this choice. We’re in good company concerning this advocacy:
Categories: Drupal Showcase

ImageX: Save Time, Maintain Consistency: Bulk-Update Drupal Content Instantly with the Field Defaults Module

Drupal Planet - Fri, 2024-05-17 00:31

Authored by Nadiia Nykolaichuk and Bryan Sharpe.

Smart approaches and tools are shaping the future of content management and website administration, leaving behind the days of tedious manual work. With a click of a button, you can instantly make consistent changes to multiple pages, almost as if wielding a magical wand.

Categories: Drupal Showcase

PreviousNext: Starshot and Experience Builder

Drupal Planet - Wed, 2024-05-15 22:13

Last week, I attended DrupalCon Portland 2024, and, like many others, I was swept up in the excitement of the Starshot announcement. The PreviousNext team is ready to support this initiative, focusing our efforts on the Experience Builder project for maximum impact.

by kim.pepper / 16 May 2024Starshot

Starshot is a new concept that accelerates Drupal innovation by providing recipes or templates of best-practice features and configurations when creating a new Drupal site. It’s a separate product built on top of Drupal Core and has the working title “Drupal CMS”.

For years, we’ve pondered the question, “Is Drupal a product or a framework?” The answer has always been “both.” However, we can now clearly distinguish between the two.

We’re fully committed to the vision of bringing Drupal to new audiences by offering a straightforward way to create new Drupal sites using best-practice contributed modules and configuration. Combining Recipes with Project Browser, Automated Updates, and the new Experience Builder initiative will demonstrate Drupal’s full potential for product evaluators.

Releases for Drupal CMS will not be tied to Drupal Core, allowing it to innovate rapidly and evolve as contributed module updates and new best practices emerge. Drupal Core can simultaneously focus on maintaining quality and stability.

Experience Builder

Experience Builder is an ambitious initiative to reinvent how we build pages (experiences) in Drupal.  Core committer Lauri Eskola undertook an extensive review of our own tools (Layout Builder, Paragraphs) and research into competing products to find a model that would best combine innovative user interface design with Drupal’s strengths in structured data.

Our team is in a strong and unique position to meaningfully contribute to the Experience Builder initiative. We have successfully delivered the Pitchburgh competition winner Decoupled Layout Builder prototype. We also provided numerous contributions to Layout Builder in core and contributed modules.

Experience Builder will become our primary contribution focus for the short and medium term, so watch this space.

We hope you are as excited as we are about the future of Drupal. We’re just getting started!

Categories: Drupal Showcase

Five Jars: Drupal Starshot: Reflections on DrupalCon Portland 2024

Drupal Planet - Wed, 2024-05-15 18:05
The opening day of DrupalCon Portland 2024 was met as usual with the keynote by Dries Buytaert, addressing a not-so-usual announcement.
Categories: Drupal Showcase

Five Jars: The Driesnote 2024 at DrupalCon Portland

Drupal Planet - Wed, 2024-05-15 18:05
The opening day of DrupalCon Portland 2024 was met as usual with the keynote by Dries Buytaert, addressing a not-so-usual announcement.
Categories: Drupal Showcase

Electric Citizen: Big Changes Ahead for Drupal

Drupal Planet - Wed, 2024-05-15 10:05

Our team recently attended (and once again sponsored!) the DrupalCon North America conference in Portland, OR. 

This annual conference brings together the Drupal community, from the agencies who provide Drupal services to the industry clients who rely on it, along with contributors and open-source enthusiasts from around the world.

From my perspective on the exhibitors floor, working the booth, I don’t see as many of the great individual sessions that I have in past years. But I did leave with some important takeaways from this year’s event, especially around some upcoming changes for Drupal. 

Categories: Drupal Showcase

The Drop Times: Policy-Based Access in Core by Kristiaan Van den Enyde

Drupal Planet - Wed, 2024-05-15 08:13
Kristiaan Van den Eynde, Senior Drupal Developer at Factorial, has made substantial contributions to Drupal, including the widely-used Group module and VariationCache. His project, Policy-Based Access in Core, introduced a dynamic system for managing permissions based on predefined policies. This initiative, set to debut in Drupal 10.3, promises enhanced flexibility and security. Kristiaan shares insights into his development process, the challenges faced, and the future of access control in Drupal.
Categories: Drupal Showcase

Tag1 Consulting: Migrating Your Data from Drupal 7 to Drupal 10 using the Migrate API: Avoiding entity ID conflicts

Drupal Planet - Wed, 2024-05-15 07:54

By default, the Drupal 7 to 10 upgrade path preserves entity IDs. In the previous article, we explained that this would cause problems if content or configuration already exists in the destination Drupal 10 site. Let’s explore this further and evaluate ways to work around the issue.

Read more mauricio Wed, 05/15/2024 - 14:15
Categories: Drupal Showcase

Debug Academy: How to create custom sorting logic for Drupal views

Drupal Planet - Wed, 2024-05-15 07:29
How to create custom sorting logic for Drupal views

Drupal websites sometimes have a need to implement more advanced sorting logic than what's available out of the box.

One of our career-changing Drupal training course alumni asked me how to handle this today. After answering them, I decided to copy the answer into a blogpost.

The views module creates dynamic queries for us based on the configuration options we select. The UI essentially allows us to use any field for sorting in ascending (smallest to largest) or descending (largest to smallest) order. This is extremely helpful and covers the vast majority of use cases - date sorting, alphabetical sorting, and numeric sorting are all supported - but we sometimes run into limitations when we have more complicated requirements.

Some examples of these scenarios include:

ashrafabed Wed, 05/15/2024
Categories: Drupal Showcase

The Accidental Coder: AI Translation - Not Ready for Prime Time?

Drupal Planet - Tue, 2024-05-14 21:49
AI Translation - Not Ready for Prime Time? ayen 14 May, 2024

While working on the latest (D10) version of my blog, I wanted to add multilingual functionality.

Investigation suggested that in order to capture the largest language groups in the U.S./Canada a site should offer:

Categories: Drupal Showcase

Aten Design Group: Drupal API Development Simplified with APITools Module

Drupal Planet - Tue, 2024-05-14 20:55
Drupal API Development Simplified with APITools Module jenna Tue, 05/14/2024 - 12:55 Drupal

One of Drupal’s most important features is its ability to integrate seamlessly with other systems (CRMs, eCommerce Platforms, Event Management Platforms, etc). Drupal can expose data using modules like JSON:API, which are integral parts of Drupal Core. Moreover, it can also consume data and make HTTP requests using standard HTTP methods. This post will focus primarily on the latter—highlighting how a module named APITools simplifies the process for Drupal developers.

Background

In researching the history of HTTP request handling in Drupal, I discovered that drupal_http_request has been around since version 5.x. It was described as:

"A flexible and powerful HTTP client implementation that correctly handles GET, POST, PUT, or any other HTTP requests, including handling redirects."

Throughout Drupal versions 6.x and 7.x, drupal_http_request continued to be a go-to option, seemingly simpler than using PHP's CURL function directly—a tool that many developers find intricate. With the release of Drupal 8, Drupal::httpClient replaced drupal_http_request, granting developers access to Guzzle—the de facto HTTP client in the PHP community.

While httpClient/Guzzle is typically the preferred choice for HTTP requests, it's rare that any request happens without some form of authentication. Although OAuth 2 has emerged as a standard for API authentication, the specifics can vary considerably between different APIs. This variability doesn’t mean the principles of OAuth 2 aren’t followed; rather, the implementations differ just enough that attempts to abstract this functionality into a universal module have faced challenges. As a result, developers frequently find themselves writing slightly different code for each API integration to accommodate these nuances. APITools attempts to be just helpful enough in these sorts of situations without making too many assumptions.

Leveraging APITools for the Drupal Zoom API Module

I personally maintain the Drupal Zoom API module, and over the past year, Zoom has changed their authentication requirements. This challenge prompted me to explore the APITools module, maintained by my friend and colleague Alan Sherry. What attracted me most to APITools was its ability to offer configurable options for storing credentials and an extensible client plugin that routes all API requests through a specified authentication method. By using APITools, I significantly reduced the amount of code in the Zoom API module and quickly released a version 3.x, which is compatible with Zoom’s "Server-to-Server OAuth" authentication method. The configuration form and the majority of the API client are now provided by APITools, reducing the amount of code I’ll need to maintain in the Zoom API module.

If you, like me, maintain an API-focused contrib module or need a reliable HTTP client for one-off tasks, I highly encourage you to explore APITools. With a little setup time, you can configure your ApiToolsClient and start making requests effortlessly.

The fact is, there are numerous API client modules on Drupal.org, each tailored for different services. APITools offers an opportunity for a more consistent and efficient approach. I hope you'll check it out!

Getting Started / Examples

We've written some documentation on Drupal.org for you to reference. For a fairly complete example in the Drupal contrib space, checkout the client plugin that is part of the Zoom API module.

Additional Examples

We’ve created a repository with some various API clients that will hopefully help with getting started.

  • Acalog - Simple api key implementation
  • Auth0 - Access token request with audience and grant type
  • Brandfolder - An example of using an sdk as a base with an apitools client wrapper around it
  • Localist - Example of a static access token created by an administrator
  • Sharepoint - Access token with audience / grant type, and “ext_expires_in” instead of “expires_in”

If you decide to use APITools, we’d love to hear about your experience in the blog comments below.

Joel Steidl
Categories: Drupal Showcase

ADCI Solutions: How to quickly integrate Angular with a Drupal website

Drupal Planet - Tue, 2024-05-14 17:50
<p>Our client's website had a questionnaire that ran on a Drupal module. The customer rewrote this block in Angular and asked us to <a href="https://www.adcisolutions.com/work/drupal-angular?utm_source=planetdrupal%26utm_medium=rss_feed%26utm_campaign=drupal-angular">implement it into the site</a>.</p><img data-entity-uuid="9be3f214-f25a-4efb-89d6-7c4f454fa687" data-entity-type="file" src="https://www.adcisolutions.com/sites/default/files/inline-images/integrating-drupal-with-angular.png" width="1388" height="911" alt="integrating drupal with angular">
Categories: Drupal Showcase

Matt Glaman: Starshot, recipe to cook up ambitious Drupal applications

Drupal Planet - Tue, 2024-05-14 15:18

This blog post was inspired by my time at DrupalCon Portland and the Driesnote, announcing Starshot.

There has also been a story about Drupal being a series of building blocks for building your own CMS (or other application). Often, it has been compared to building a LEGO® set. The idea is that you have Drupal core and contributed modules, acting as individual pieces, to build an application that meets your desired needs. Oftentimes, this could be done without writing any code. As someone who built with Drupal, this made so much sense. You take disparate components, build on a solid base, and have this magical software built with minimal code (if you choose) that meets your needs. That metaphor always stuck, but it was pretty flawed, and I never really understood why until DrupalCon Portland 2024, last week.

Categories: Drupal Showcase

Specbee: Drupal Translation Modules: How to create Multilingual Drupal websites

Drupal Planet - Tue, 2024-05-14 13:24
Want an easy way to extend your market reach and ultimately your sales? Do you feel you need to personalize your website to every user no matter which country they belong to or what language they speak? Then getting yourself a multilingual website is one of the most effective business strategies you can implement. Not only is it a more cost-effective, it also helps in increasing your website traffic and overall Drupal SEO. Drupal CMS has particularly taken up this challenge of providing not only users but also developers with the ability to access Drupal in a language that they prefer. And with Drupal being multilingual out-of-the-box since version 8, it has become an ideal choice for businesses and developers. Powerful Drupal translation modules offer developers with granular configuration capabilities where every content entity can be translated. Let's dive right in to learn more about the various multilingual Drupal modules. What are Multilingual Websites Multilingual basically means written or available in different languages. Multilingual websites connect better with users from different countries as it immediately adds an element of familiarity. Drupal provides an easy and a great experience of building a multilingual website. Currently, Drupal supports 100 different languages for translation. Drupal multilingual features come along with the installation interfaces. As soon as you install Drupal, based on the browser preference, it provides a language for your Drupal website. Based on the option selected the site is installed in that particular language. It basically provides 4 different Drupal translation modules for language and content translation. We can enable the required Drupal modules on our site and use it according to our requirements.  But first, ensure you're using the latest Drupal version so you can leverage Drupal's built-in multilingual capabilities. Drupal 7 also supports multilingual functionality but requires additional modules and configurations. The four core Drupal translation modules available in Drupal 10: Language module It provides a feature for adding and choosing a new language to your Drupal website. Allows users to configure languages and how page languages are chosen, and apply languages to content. Enable any non-English language for your site's content (one or more) Content translation module This Drupal Translation module allows you to translate content entities such as comments, custom blocks, contents, taxonomy terms, users, etc. Allows you to translate your site content, including pages, taxonomy terms, blocks, etc., into different languages. Interface translation module Translates the built-in user interface, your added modules and themes. Configuration translation module Provides a translation interface for configuration. Allows you to translate text that is part of the configuration, such as field labels, the site name, the views name, the text used in Views,   Let’s catch up with what each Drupal translation module does, its configurations and how each module can be used in our Drupal website. If you're a content writer/editor/marketer, here's a less-technical article especially for you to help you build your first multi-lingual page/website. Install Drupal with Multilingual Support During the installation process, enable the multilingual options. This sets up your Drupal site to handle multiple languages from the start. Make sure to select the appropriate language options during installation. Drupal Language Module Navigate to Configuration > Regional and language > Languages to configure language settings. Here, you can add, enable, and configure languages for your site. Drupal supports a wide range of languages out of the box.   Language Switcher Configuration Set up language switcher blocks or menus to allow users to switch between languages seamlessly. Drupal provides several options for configuring language switchers, including dropdown menus, language blocks, and language negotiation settings. Once the block is placed in the region we will be able to switch to the different languages in the web page itself. Content Translation Module Enable content translation for the content types you want to be multilingual. Navigate to Configuration > Regional and language > Content language and translation to configure content translation settings. This allows content creators to translate content into different languages. It provides a list of entity types that can be translated.  For example, click on the content configuration option that appears for each content type. Let us consider that the content translation is being enabled for the article content type. It provides an option to decide if each subtype entity is translatable or not. We can also change the default language for a particular content type. Each field has an option to translate its content or not.    The Drupal translation modules also provides an option to input the content in the language which is suitable for the user while adding content from the backend interface. Once the above configuration is set up and when we try to add content to the Article content type we can see a Select option with the languages installed in our site. We can select any language and add content in the particular language selected. Once the content is saved, users with translate permissions will see links to Translate their content. It provides an additional tab called “Translate” along with the  "Edit" links, and you'll be able to add translations for each configured language. Interface Translation Module The Drupal Interface translation module is also a part of the core module and can be easily enabled like any other Drupal Translation module. Once this Drupal multilingual module is enabled, it is possible to replace any string in the interface with a string that has been customized. Whenever this drupal translation module encounters any string, it tries to translate the particular string to the current language of the interface. If a particular translation is not available it is remembered and we can look up into the untranslated string in the table.    Navigate to Configuration > Regional and language > Interface translation to manage interface translations. In the above example, the strings which are both translated and untranslated are displayed and we are able to modify the strings for the language that is installed as well. The Drupal translations for the strings are put up in a single place called http://localize.drupal.org and the Localization Update module will automatically import the updated translation strings for your selected language. In Drupal 7 and previous versions, this was a contributed module. Since Drupal 8 and higher however, this multilingual Drupal module is a part of the core. Drupal Configuration Translation Module The Drupal Configuration Translation module allows configuration to be translated into different languages. The site name, views name, and other configurations can be translated easily using this Drupal multi language module. It also provides an option to input the content in the language which is suitable for the user while adding content from the backend interface. Once the above configuration is set up and when we try to add content to the Article content type we can see a Select option with the languages installed in our site. We can select any language and add content in the particular language selected. URL Language Detection and Handling Configure language detection and handling for URLs. Drupal allows you to set up different URL structures for different languages, such as domain.com/en/ for English and domain.com/es/ for Spanish. Configure language detection methods and URL patterns under Configuration > Regional and language > Languages > Detection and selection. SEO Considerations Ensure your multilingual Drupal site is SEO-friendly by using proper hreflang tags and canonical URLs. Drupal provides modules like the hreflang module to help manage hreflang tags for multilingual content. Additionally, configure proper language-specific meta tags and URL structures for better search engine visibility. Testing and Quality Assurance Thoroughly test your multilingual Drupal site to ensure that language switching, content translation, and interface translations work correctly across all pages and languages. Pay close attention to user experience and ensure that all translated content is accurate and contextually appropriate. Shoutout to Manish Saharan for helping us update this article! Final Thoughts Having a Drupal multilingual website is a great way to building better and stronger relationships with users and prospective customers. Drupal offers 100 languages to choose from to translate your website effectively. With Drupal translation modules in core, developers now find it easier to install and adapt to a multilingual environment while providing businesses with great digital experiences.As a leading Drupal development company, we provide comprehensive Drupal services which also includes building multilingual Drupal websites keeping in mind the needs of our global clientele.
Categories: Drupal Showcase

Web Wash: Download and Install Drupal Starshot

Drupal Planet - Tue, 2024-05-14 13:08

Drupal Starshot is a new packaged and pre-configured version of Drupal that was announced at DrupalCon Portland. It is not a separate fork or rewrite of Drupal.

Drupal Starshot takes advantage of the new Recipes feature introduced in Drupal versions 10.3 and 11.

Recipes allow installing Drupal with a complete, ready-to-use website, going beyond the standard installation profile.

More details about the Drupal Starshot initiative are available on its official page.

Categories: Drupal Showcase