Drupal feeds

Freelock Blog: Change the display of an event after it happens

Drupal Planet -

Change the display of an event after it happens Anonymous (not verified) Fri, 12/13/2024 - 07:00 Tags Drupal Drupal Planet ECA Engagement Event Management

Event Calendars seem to be very common on the Drupal sites we build. One of the best ways of improving engagement on a site is to add content about the event after it happens. People who attended an event might come back for a recap, or to see pictures or notes from other participants, while people who did not attend can get a sense of what a future event might be like based on your past events.

Droptica: Top 8 Challenges When Migrating from Drupal 7 to Drupal 10 or 11

Drupal Planet -

Migrating from Drupal 7 to Drupal 10 or 11 can be quite challenging. Common issues, such as neglecting a detailed website analysis or failing to prioritize user training, frequently result in delays, increased costs, and frustration. In this blog post, we’ll explore the top pitfalls in Drupal migration and provide tips on how to avoid them, helping you make the transition smoother and more predictable.

DXPR: DXPR 2025 Roadmap

Drupal Planet -

DXPR 2025 Roadmap Jurriaan Fri, 12/13/2024 - 11:14

Welcome to day five of DXPR's 12 Days of Advent Series. Today, we’re excited to share the DXPR 2025 Roadmap, outlining our vision for the future of content creation with AI-first interfaces and deeper integration with Drupal. In this post, we’ll also highlight the Quantumshot initiative, our growing support for NGOs and nonprofits, and collaborative efforts with the Drupal community on AI and accessibility. Let’s explore how DXPR is shaping the future while supporting meaningful change.

Revolutionizing Content Creation with AI-First Interfaces

DXPR's drive to transform content creation within the Drupal platform is taking a revolutionary turn with AI-first interfaces. These interfaces are designed to integrate seamlessly into Drupal, enhancing the ease and efficiency of content workflows. By embedding AI assistance, content creators can reduce repetitive tasks, freeing up valuable time and resources.

Imagine having AI tools that assist in real-time SEO optimization and provide accessibility analysis with only a few clicks. Automated layout generation, tailored to user preferences, ensures that even the most complex page designs are achieved quickly. As AI supports multitudes of routine tasks, creativity blossoms, empowering developers and editors to focus on strategic artistry.

The benefits of this revolution extend beyond just enhanced productivity. AI-augmented workflows promise an intuitive experience for both technical and non-technical users, fostering an environment where innovation becomes second nature. With these advanced interfaces, Drupal professionals are positioned at the forefront of a transformative era in content management.

Quantumshot: Extending Drupal's Starshot Project

Quantumshot represents DXPR's ambitious leap to further align with Drupal’s innovative pursuits. As an extension of Drupal’s foundational Starshot project, Quantumshot focuses on enhancing the platform’s versatility and user-centered functionality. By doing so, we aim to deliver tools that elevate the editing experience and refine the structured content management system Drupal is renowned for.

The initiatives under Quantumshot strive to meet the evolving needs of Drupal site builders and content creators. Through AI-augmented tools, Quantumshot ensures a seamless editorial journey, merging modern UX demands with Drupal's structured flexibility. This enhancement goes hand-in-hand with Quantumshot’s commitment to making all interfaces accessible, mobile-first, and ready for global content with multilingual support.

DXPR Set to Support NGOs, Non-Profits in 2025

NGOs and nonprofits play a crucial role in addressing global challenges, and DXPR is dedicated to empowering this sector with tools that amplify their mission. We understand the unique demands of nonprofit organizations, such as the need for impactful storytelling, multilingual communication, and accessible digital experiences. Our solutions are designed to help NGOs overcome these challenges and achieve greater outreach and engagement.

DXPR prioritizes features that enhance accessibility, ensure mobile-friendly user experiences, and support localization for diverse audiences. For nonprofits working across borders, our platform includes robust multilingual content management and right-to-left language support, enabling seamless communication with global communities. Additionally, intuitive mobile editing tools allow field teams to share updates and stories directly, ensuring real-time responsiveness.

By focusing on flexibility and usability, DXPR supports NGOs in creating meaningful connections with their audiences. Our commitment to accessibility and collaboration ensures that nonprofits can dedicate more time and resources to their causes, while we handle the complexities of digital content management. Together, we aim to make a lasting positive impact, empowering organizations to drive change in their communities.

Collaborative Efforts with the Drupal Community on AI and Accessibility

DXPR’s commitment to collaboration with the Drupal community is a cornerstone of its strategy to enhance AI capabilities and platform accessibility. An ongoing project involves co-developing AI standards aimed at boosting efficiency in content management while reinforcing Drupal's structured versatility. This joint effort is not only advancing AI tools but also fostering an ecosystem where innovation thrives.

Accessibility remains paramount in our collaborative mission, with collective initiatives ensuring that digital frontiers are open to everyone. Together with the community, we have implemented enhancements that prioritize universal design and mobile-first approaches. By championing accessibility, DXPR and Drupal are paving the way for inclusive web experiences that are essential in today’s interconnected world.

How DXPR Helps Your Organization in 2025

The 2025 roadmap from DXPR introduces pivotal developments for Drupal professionals, setting the stage for a transformative era in content management. A key highlight is the deep integration of AI-first interfaces, which are designed to optimize content creation workflows. These interfaces promise to reduce mundane tasks for developers, editors, and site builders, fostering a more streamlined and intuitive experience.

Quantumshot emerges as another significant addition, extending Drupal’s capabilities by aligning with its innovative goals. Through AI-augmented and mobile-first tools, not only is the user experience enhanced, but content management becomes more robust and adaptable.

While DXPR contributes to the Starshot project, for example through sponsoring the AI Image Alt text module, we can move faster and deploy AI tools more effectively.   

Category Drupal Community DXPR Marketing Team

LostCarPark Drupal Blog: Drupal Advent Calendar day 13 - Accessibility Tools track

Drupal Planet -

Drupal Advent Calendar day 13 - Accessibility Tools track james Fri, 12/13/2024 - 09:00

Welcome back to the Drupal Advent Calendar. For our thirteenth door we are joined by Gareth Alexander, who is leading the Drupal CMS Accessibility Tools track.

When creating content there are so many things to consider: Target Audience, SEO issues like keyword relevance, making content that is actually engaging and relevant, and then there is the accessibility of your content as well.

With the Drupal CMS accessibility tools track we hope to provide a way to help with one part of that. These tools will help guide a content author to make and keep their content as accessible as possible with…

Tags

Drupal Association blog: New Critical Security Updates for Drupal 7 Highlight Importance of Drupal 7 Extended Support by Tag1

Drupal Planet -

This blog post is published on behalf of Tag1.

As we count down to the end-of-life (EOL) for Drupal 7 on 5 January 2025, the Drupal Security Team has just released what is likely to be the final D7 updates from the community.

This latest security release includes important fixes for two D7 vulnerabilities: an XSS (cross-site scripting) vulnerability in Drupal core’s Overlay module and a potential object injection vulnerability, which, when combined with other vulnerabilities in Drupal core, contrib, or custom modules, could lead to Remote Code Execution. Tag1’s Ra Mänd and Fabian Franz both contributed to getting the security release out. The Drupal security team also issued multiple security releases for Drupal 7 contributed modules on the same day.
 

Starting January 2025, the Drupal Security team will no longer review reported issues or release security updates for Drupal 7 core or contrib modules. To address this, the Drupal Association has authorized Tag1 to be a D7 Extended Support Partner, ensuring your D7 sites stay protected with Tag1's Drupal 7 Extended Support (D7ES). We will continue to monitor for security vulnerabilities and provide updates and support to ensure your site remains safe and secure beyond January 2025.

The Critical Role of Drupal 7 Extended Support (D7ES)

This security release illustrates why the Drupal community established the Drupal 7 Extended Support program (D7ES) and authorized Tag1 to become a D7 Extended Support Partner in order to commercially assume the responsibilities of the Drupal Security Team. Simply put, the question isn't whether new security issues will be found but when. 

Through Tag1 D7ES, Tag1 will ensure that organizations can continue operating their Drupal 7 sites securely beyond the official EOL date, providing the critical security updates that every D7 site will inevitably need.

Why Tag1 is Your Optimal D7ES Partner

Tag1 stands apart in several crucial ways:

  • We have more people on the Drupal Security team than any other Drupal consulting company or D7ES provider and you have always relied on our team to fix security issues, including these latest updates.

  • We are responsible for much of the Drupal 7 codebase. Our team includes many of the key contributors to Drupal 7, including one of only a few core committers responsible for the platform's overall architecture and many of the core component and module maintainers.

  • We are the only D7ES provider with proven experience running Drupal Extended Support, having successfully managed D6 support for over 6 years post-EOL.

  • We created and will continue to maintain the QA and testing systems for Drupal 7, a critical component that ensures the reliability you expect from Drupal updates. You can trust that our updates will work on your operating system, version of php, database, etc. - the same way that you do today.

  • By choosing Tag1, you maintain as much continuity as possible - our experts will continue operating using processes similar to what we use to build and release Drupal today, minimizing changes to your workflows and release procedures.

The Path Forward

As we approach the EOL date, organizations running Drupal 7 sites must take proactive steps to ensure they remain secure. Enrolling in Tag1's D7ES program isn't just about maintaining security - it's about partnering with the team that has been integral to Drupal 7's security and stability from the beginning. We'll continue to provide the same level of expertise and attention to security that your organization has come to expect from Drupal.

Matt Glaman: phpstan-drupal now supports PHPStan 2.0

Drupal Planet -

PHPStan 2.0 was released a month ago, a massive milestone for the project. To learn about all the changes, I recommend reading the release announcement. phpstan-drupal now has a PHPStan 2.0 compatible release: https://github.com/mglaman/phpstan-drupal/releases/tag/2.0.0. The 1.x branch will be maintained as long as a version of Drupal Core uses it, at least until Drupal 10's end-of-life near the end of 2026. If applicable, I will backport bug fixes and features to 1.x.

LostCarPark Drupal Blog: Drupal Advent Calendar day 12 - Dashboard track

Drupal Planet -

Drupal Advent Calendar day 12 - Dashboard track james Thu, 12/12/2024 - 09:00

We are half way through our Advent Calendar, and we open with some exciting news. The first Drupal CMS Release Candidate is now available. We have been busy trying it out, but managed to take some time out to prepare today’s Advent Calendar, with some help from Matthew Tift. Over to you, Matthew.

The first page a user encounters after logging into a Drupal site is pivotal. It sets the tone for their entire experience, often defining how they will interact with the system.

The current Drupal user page

But with the introduction of the Dashboard initiative, that first page is about to change.

This initiative, inspired by a core…

Tags

Freelock Blog: Cache-bust pages containing embedded content

Drupal Planet -

Cache-bust pages containing embedded content Anonymous (not verified) Wed, 12/11/2024 - 07:00 Tags Development Automation ECA Drupal Drupal Planet

The saying goes, there are two hard problems in computer science: caching, naming things, and off-by-1 errors. While Drupal certainly has not solved the naming things, it has made a valiant attempt at a decent caching strategy. And for the most part it works great, allowing millions of lines of code to load up quickly the vast majority of the time.

This is more a tip about our favorite automation tool, the Events, Conditions, and Actions (ECA) module, and how it can get you out of a bind when Drupal caching goes too far.

The Drop Times: Jay Callicot on DrupalX, Decoupled Architectures, and the Future of Drupal Development

Drupal Planet -

Jay Callicot, Senior Drupal Architect at Promet Source, speaks with Alka Elizabeth from The DropTimes about his journey with Drupal, the development of DrupalX, and the future of enterprise web development. From decoupled architectures to AI-driven workflows, Callicot outlines how modern tools like Next.js, Storybook, and Tailwind CSS are shaping Drupal's evolution.

Consensus Enterprises: make targets, Droplets, and Aegir, oh my!

Drupal Planet -

<p>We&rsquo;ve done it! Over the last 6 posts, we&rsquo;ve reviewed in detail all the major components of our simplified Infrastructure-as-Code (IaC) setup, and we&rsquo;re ready to pull it all together to spin up an Aegir3 instance.</p> <p>With the pieces we have covered so far, we can run the following to get up the point of actually installing Aegir:</p> <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">pipenv shell <span style="color:#75715e"># Activate venv</span> source d <span style="color:#75715e"># Bootstrap Drumkit</span> make tools <span style="color:#75715e"># Install Ansible and Galaxy dependencies</span> make infra <span style="color:#75715e"># Run playbooks/infra/00-up.yml</span> </code></pre></div><p>This will get us a Project, a VPC, and a Firewall at DigitalOcean, configured with the names and settings we&rsquo;ve described in our previous posts. To get from here to a working Aegir, all we need is a host Droplet, standard LEMP stack dependencies, and then Aegir itself.</p> <h3 id="aegir0-host">Aegir0 (host)</h3> <p>First of all, let&rsquo;s use our <code>consensus.infra.droplet</code> role to create our host Droplet, and wrap a <a href="https://gitlab.com/consensus.enterprises/ansible/templates/example-aegir3-infrastructure/-/blog/main/drumkit/mk.d/30_aegir.mk#L3"><code>make aegir-droplet</code> target</a> to run the playbook <a href="https://gitlab.com/consensus.enterprises/ansible/templates/example-aegir3-infrastructure/-/blog/main/playbooks/hosts/aegir0.yml">playbooks/hosts/aegir0.yml</a>:</p> <pre><code>--- - name: aegir Droplet hosts: localhost gather_facts: true vars: droplet_hostname: aegir0 droplet_domain: cloudcity.dev droplet_project: &quot;{{ do_project_name }}&quot; droplet_firewall: &quot;{{ web_droplet_firewall }}&quot; droplet_tags: [&quot;web&quot;, &quot;aegir&quot;] droplet_size: &quot;s-2vcpu-2gb&quot; droplet_vpc: &quot;{{ do_vpc_name }}&quot; outgoing_email_password: &quot;{{ vaulted_outgoing_smtp_password }}&quot; outgoing_email_default: &quot;{{ org_technical_contact_email }}&quot; oauth_token: &quot;{{ vault_do_api_token }}&quot; gandi_token: &quot;{{ vaulted_gandi_access_token }}&quot; roles: - consensus.infra.droplet </code></pre><p>As discussed previously, the Droplet-specific vars are embedded directly in the playbook here, because we don&rsquo;t have a manifest or other registry to logically place these. This playbook (and others in <code>playbooks/hosts</code>) become the de facto manifest for the project.</p> <h3 id="aegir3">Aegir3</h3> <p>Now that we have a host, we can target it with a <a href="https://gitlab.com/consensus.enterprises/ansible/templates/example-aegir3-infrastructure/-/blog/main/playbooks/apps/aegir.yml">playbooks/apps/aegir.yml</a> playbook to call our <code>consensus.aegir.aegir</code> role, and introduce our <a href="https://gitlab.com/consensus.enterprises/ansible/templates/example-aegir3-infrastructure/-/blob/main/drumkit/mk.d/30_aegir.mk#L6"><code>make aegir-app</code> target</a>.</p> <p>This playbook has some conditional checks before and after to ensure everything works correctly, but ultimately boils down to this:</p> <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml">--- - <span style="color:#66d9ef">name</span>: <span style="color:#e6db74">&#34;End-to-end Aegir 3 build from git source.&#34;</span> <span style="color:#66d9ef">hosts</span>: aegir <span style="color:#66d9ef">gather_facts</span>: <span style="color:#66d9ef">true</span> <span style="color:#66d9ef">roles</span>: - <span style="color:#66d9ef">role</span>: geerlingguy.mysql <span style="color:#66d9ef">become</span>: True - <span style="color:#66d9ef">role</span>: geerlingguy.nginx <span style="color:#66d9ef">become</span>: True - <span style="color:#66d9ef">role</span>: geerlingguy.php-versions <span style="color:#66d9ef">become</span>: True - <span style="color:#66d9ef">role</span>: geerlingguy.php <span style="color:#66d9ef">become</span>: True - <span style="color:#66d9ef">role</span>: geerlingguy.composer <span style="color:#66d9ef">become</span>: True - <span style="color:#66d9ef">role</span>: consensus.aegir.aegir <span style="color:#66d9ef">become</span>: True </code></pre></div><p>We simply run a series of roles in sequence, building up the stack of software to support Aegir, and then finally Aegir itself.</p> <h3 id="make-aegir">make aegir</h3> <p>Tying the two previous playbooks together, we can implement a <code>make aegir</code> target simply:</p> <pre><code>aegir: aegir-droplet aegir-app aegir-droplet: ansible-playbook playbooks/hosts/aegir0.yml aegir-app: ansible-playbook playbooks/apps/aegir.yml </code></pre><p>Added to the steps at the top of this post, this new target will complete the provisioning of an Aegir3 instance at DigitalOcean.</p> <p>Note that <a href="https://gitlab.com/consensus.enterprises/ansible/templates/example-aegir3-infrastructure/-/blob/main/drumkit/mk.d/30_aegir.mk">drumkit/mk.d/30_aegir.mk</a> also has &ldquo;down&rdquo; variants of these targets as well:</p> <ul> <li><code>make aegir-down</code> - deregister from Tailscale and destroy the Droplet</li> <li><code>make aegir-ts-down</code> - only deregister from Tailscale (do not destroy Droplet)</li> <li><code>make aegir-droplet-down</code> - only destroy the Droplet (in case Tailscale is already offline)</li> </ul> <p>A note about SSL: you will note that the playbooks and roles involved here <em>DO NOT</em> provision SSL certificates of any kind for the Aegir instance. I&rsquo;ve left this piece out here for two reasons:</p> <ol> <li>There are many ways to achieve this, and we don&rsquo;t need it for our purposes</li> <li>Even with SSL, your Aegir3 instance shouldn&rsquo;t be exposed to the public internet anyway, since it&rsquo;s based on Drupal 7.</li> </ol> <p><strong>NB</strong> Please take care to properly secure your Aegir3 instance, as running Drupal 7 which is EOL! This could be by adding firewall rules, or reconfiguring your Nginx virtualhost to listen on your Tailscale interface, or similar.</p> <p>Also, if you&rsquo;re not aware, <a href="https://docs.aegir.hosting">Aegir5</a> is our effort to modernize Aegir based on modern Drupal with an Ansible-driven backend. This will be a secure replacement for Aegir, but since it&rsquo;s not production-ready yet, we&rsquo;re using Aegir3 as a stopgap for the time being.</p> <h3 id="simplicity-unlocked">Simplicity unlocked</h3> <p>Over the years, we at Consensus have wrangled with a lot of <em>necessary</em> complexity. The <a href="/blog/computed-token-field-intro">nature</a> of the <a href="/blog/tuf_for_humans/">problems</a> we tend to help our clients solve often means it&rsquo;s <a href="https://github.com/consensus-enterprises/taps/blob/scalability-tap/tap21.md">unavoidable</a>. In that context it&rsquo;s especially useful to stay focused on keeping things as simple as possible, ensuring we don&rsquo;t make things worse by piling extra complexity on top of the inevitable stuff.</p> <p>The process of simplifying our internal infrastructure has been a great example of radical simplification. We&rsquo;ve already seen a reduction in costs, both financial and operational. Our infrastructure team is reinvigorated by the ease of interacting with our new suite of servers, inspired to use and extend them.</p> <p>To review:</p> <ul> <li>We dropped Terraform, which is a great tool but represented unnecessary complexity in our context.</li> <li>We replaced a custom-built Wireguard server with Tailscale.</li> <li>We split our DEV and PROD environments into distinct repositories.</li> <li>We published key components of the solution to share between DEV and PROD.</li> <li>We built up a simple codebase structure to house infrastructure, host, and application playbooks.</li> <li>We used Drumkit to provide easy target commands to accomplish key workflow tasks.</li> </ul> <p>I hope this series has illustrated our approach and how it all fits together. If you are interested in exploring further, feel free to use our <a href="take://gitlab.com/consensus.enterprises/ansible/templates/example-aegir3-infrastructure">example repository</a> as a base. We&rsquo;ve left some <a href="https://gitlab.com/consensus.enterprises/ansible/templates/example-aegir3-infrastructure#usage">detailed usage notes</a> in the README with details on how to adapt it for your own use.</p> <p>If you do try something like this yourself, or you just have questions or comments, don&rsquo;t hesitate to <a href="/#contact">get in touch</a>.</p> <h3 id="aegir5">Aegir5</h3> <p>For those in the Drupal community familiar with the Aegir project, I will say again: the use of Aegir3 here is a stopgap until we can get Aegir5 ready to replace it. In the meantime, we&rsquo;re very pleased to have worked out a path for existing Aegir3 installations to support Drupal 8 through 11. Stay tuned for upcoming details on this as well as new developments with Aegir5!</p>

Tag1 Consulting: Migrating Your Data from D7 to D10: User and taxonomy term migrations

Drupal Planet -

In this follow-up to migrating files, we focus on migrating users and taxonomy terms. Key topics include preventing entity ID conflicts, handling watermarks, and decoupling content migrations from configuration migrations. We’ll also create migration scripts for both entities and explore stylistic tips for cleaner, more compact migration files.

mauricio Wed, 12/11/2024 - 05:20

Droptica: How to Effectively Manage Product Data on a Drupal Website for Manufacturers?

Drupal Planet -

A manufacturing company's website is often the place where a lot of detailed product information is located. Efficiently managing this data can be a challenge, especially with a large amount of product assortment and technical information. In this article, I'll show you how Drupal - an advanced CMS - enables you to conveniently manage and present your products on your website. I encourage you to read the article or watch the video in the “Nowoczesny Drupal” series.

LostCarPark Drupal Blog: Drupal Advent Calendar day 11 - Event Track

Drupal Planet -

Drupal Advent Calendar day 11 - Event Track james Wed, 12/11/2024 - 09:00

It’s time to open another door of the Drupal Advent Calendar! Behind today’s door we find the Events track of Drupal CMS, and we hand over to track lead Martin Anderson-Clutz to tell us some more about it.

Managing dates and times is a common need for Drupal sites, and the Drupal CMS Events recipe aims to make this easier than ever. To be clear, the intended use case is a site that posts multiple, short events. Events like Drupalcamps that comprise sessions, a schedule, and more should look at the Drupal Event Platform instead.

A Drupal CMS site showing DrupalCon Singapore as an event listing

A Smart Date field provides an intuitive way to enter dates and…

Tags

Freelock Blog: Use AI to write alt text for your images

Drupal Planet -

Use AI to write alt text for your images Anonymous (not verified) Tue, 12/10/2024 - 07:00 Tags Content Management UX Drupal Artificial Intelligence AI Accessibility Drupal Planet

Hot off the presses! A brand new module, AI Image Alt Text, uses your configured AI engine to write Alt text for your images, based on AI vision models. When you turn this on, you get a "Generate with AI" button next to image fields, where you can easily get AI to analyze your image and come up with alternative text.

With some quick tests, I'm finding it's describing the image better than I typically do.

LN Webworks: 5 Reasons Drupal Is the Best Choice For E-commerce Development

Drupal Planet -

The companies are using the newest technologies to improve their e-commerce websites customer service and outreach. With e-commerce websites, you can offer better features to the audience that enhance the overall experience of the visitors on the website. 

And what better CMS of choice than Drupal for your large-scale websites? Drupal development Services offers fresh features for e-commerce businesses that help their customers to have a better experience shopping online. On top of that, there is also a Drupal e-commerce module that allows you to help you engage more with the audience that visits the websites and converts them. 

In this blog, you will learn more about why you should use Drupal For your e-commerce websites and how it can be the best decision for your business. 

Without further ado, let's get started.

LostCarPark Drupal Blog: Drupal Advent Calendar day 10 - Privacy

Drupal Planet -

Drupal Advent Calendar day 10 - Privacy james Tue, 12/10/2024 - 09:00

Welcome to the the tenth door of the Drupal Advent Calendar. Today we hand over to Jürgan Haas to tell us about the Privacy track of the Starshot project.

Right after DrupalCon Portland, it was clear to us at LakeDrops that we would support the Starshot initiative wherever we could. And when the tracks had been announced, I applied for the privacy track, not only because it was still open but also because that topic is so close to my heart. In my view, the internet will only remain a benefit to us, the users, if it respects our privacy, a human right in more and more countries of the world…

Tags

Pages

Subscribe to www.hazelbecker.com aggregator - Drupal feeds