Droptica: Product Search Engine in Drupal with Apache Solr Integration - How-to Guide

Image removed.

Product search is a key function in e-commerce today. This article will show how to create an advanced product search engine based on Drupal and its integration with Apache Solr. By combining Drupal, Droopler installation profile, and Solr, a powerful tool can be created to make it easier for customers to navigate and search large data sets faster. I encourage you to read the blog post or watch the video in the “Nowoczesny Drupal” series (the video is in Polish).

PreviousNext: PowerBI Dashboard: Addressing content currency

Post co-authored with NSW Resources. A critical issue with the management of content currency on our Drupal website, nsw.gov.au/nswresources required an innovative solution to provide us with an automated content audit process. 

by luhur.rizal / 6 November 2024

Due to the complexity and size of our Drupal web presence, ensuring each page was up-to-date and reviewed by the appropriate business unit became increasingly challenging. We needed a tool to track how long it had been since a page was reviewed, set specific periods for future reviews and easily identify the page owners for each section of the website. Furthermore, with the required frequency of daily updates to the site, the solution had to be ‘live’ to accurately reflect these changes.

Choosing the right solution

To tackle these challenges, we collaborated with our Drupal web development partner, PreviousNext, to create a live .csv file of all relevant web pages. This file included custom metadata detailing each page’s review frequency, page owner, date of last page update, date of last content review, publishing status and the next scheduled review date. By using this .csv file as a data source, we built a user-friendly content audit report dashboard in Microsoft Power BI.

The PowerBI dashboard provides executives with a high-level overview of which sections of the website are most in need of review. A complementary dashboard for ‘content champions’ offers a more granular view of the status of each individual page, enabling targeted content management.

Power BI implementation

Implementing this solution involved several steps:

Internal stakeholder consultation

We engaged with the various business units in NSW Resources division to identify page owners and establish appropriate review periods for each section of the website.

Metadata assignment 

Metadata bulk-uploaded to the pages included the custom metadata fields created for the project, such as review periods and page owners.

Data manipulation in PowerBI 

Data from the .csv file was manipulated within PowerBI to ensure that columns were in the correct format. We created a 'Review status' column based on the next date of review to provide clear visibility. We also filtered out any unpublished or archived content to make it more streamlined. 

PowerBI build

Using the dataset from the website's metadata and Google Analytics, we built a comprehensive dashboard in PowerBI Desktop and then uploaded it to PowerBI Service for broader access. Live links to the web pages were integrated into the dashboards for easy navigation.

Executive overview report

We developed a high-level summary report that shows how many pages each business unit is responsible for and includes Google Analytics page views from the past 30 days.

Image removed.

Content audit report

This report provides filtering by review status and sub-areas within each business unit, offering direct links to the listed web pages and conditional formatting utilising a traffic light system for review status indicators.

Image removed.Image removed.

Overall tracker

Designed to be used exclusively by the NSW Resources website team, this site-wide and document overview provides an overall tracker, including documents, events, and articles that are not part of other reports.

Image removed.

Internal integrations 

PowerBI reports were integrated into Microsoft Teams and the SharePoint intranet, facilitating use across the business.

Internal work request form 

The form was updated to distinguish whether a web update is part of a comprehensive content audit review, therefore requiring a review period reset, or just a minor adjustment that means the review status remains unchanged.

A content audit that works for everyone

The project required extensive consultation to define the scope and needs of each business unit. Following this, identifying the correct page owners, along with setting appropriate review periods, posed significant challenges. 

As business units sometimes want entire website sections to be marked as reviewed with a change in the review period, the Drupal-side dashboard allowed for bulk changes to both owners and review periods by uploading a revised version of the .csv file, saving substantial time.

Understanding the correct licensing requirements for PowerBI was another challenge. After consulting with our internal IT team, a group workspace was set up under an enterprise agreement, and an individual licence was obtained for the team member managing the dashboards.

Testing the PowerBI dashboard

To ensure effectiveness, the solution was initially tested in a development environment that mirrored the production site. This approach allowed us to test the limitations and user experience prior to going live. During this phase, we tested the bulk upload of the .csv file to update page metadata.

A soft launch of the content audit dashboard provided valuable insights, such as the realisation that a three-month review period was too short, given the number of pages each business unit manages. 

As a result of this testing period, we made minor adjustments, such as requiring a defined review period for each page and allowing users to opt-out of updates considered a ‘review’ for reporting purposes. This might include, for example, correcting a typo, which doesn’t constitute a page review in the context of the content audit dashboard.

Transforming content auditing

This solution significantly enhanced reporting capabilities across NSW Resources, reducing the need for manual intervention. Now, page updates are easily reflected in the report dashboard automatically.

The PowerBI dashboards offer real-time updates and clear visibility of page ownership and review status, making it easier for business units to manage their content.

Business units can independently track the currency of their pages without needing data from the digital team, streamlining the process and increasing efficiency.

Future plans for the dashboard

The solution will continue to evolve. We plan to use the work done on the PowerBI integration to inform future website improvements with the potential for further Google Analytics data integration.

A document audit is currently a separate and opt-in process for business units, but future plans may involve greater integration.

Conclusion

Overall, this innovative solution addresses a critical need for NSW Resources by providing a robust, automated and user-friendly content audit process that adapts to the dynamic nature of our Drupal website.

Talking Drupal: Talking Drupal #474 - Revolt Event Loop

Today we are talking about the revolt event Loop, what it is, and why it matters with guest Alexander Varwijk (farvag). We’ll also cover IEF Complex Widget Dialog as our module of the week.

For show notes visit: https://www.talkingDrupal.com/474

Topics
  • What is an event loop
  • Why does Drupal need an event loop
  • What will change in core to implement this
  • What problem does this solve
  • Does this make Cron cleaner and long running processes faster
  • What impact will this have on contrib
  • How would contrib use this loop
  • What does this mean for database compatibility
  • What inspired this change
  • Test instability
  • Why Revolt
  • Will this help with Drupal AI
Resources Guests

Alexander Varwijk - alexandervarwijk.com Kingdutch

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Joshua "Josh" Mitchell - joshuami.com joshuami

MOTW Correspondent

Martin Anderson-Clutz - mandclu.com mandclu

  • Brief description:
    • Have you ever wanted to use Inline Entity Forms but have the dependent form open in a dialog? There’s a module for that.
  • Module name/project name:
  • Brief history
    • How old: created in Mar 2020 by dataweb, though recent releases are by Chris Lai (chrisck), a fellow Canadian
    • Versions available: 2.1.1 and 2.2.2, the latter or which is compatible Drupal 8.8 or newer, all the way up to Drupal 11
  • Maintainership
    • Actively maintained, latest release in the past month
    • Number of open issues: 4 open issues, none of which are bugs against the current version
  • Usage stats:
    • 273 sites
  • Module features and usage
    • When you install the module, your Inline Entity Form widget configuration will have a new checkbox, to “Enable Popup for IEF”
    • Includes specialized handling for different kinds of entities, like nodes, users, taxonomy terms, and users
    • Will handle not just the creation forms, but editing entities, and also duplicating or deleting entities
    • Not something you would always need, but can be very useful if the form you want to use for entity or even parent forms that are complex
    • I should also add that IEF supports form modes, so often I’ll create an “embedded” form mode that exposes fewer elements, for example hiding the fields for URL alias, sticky, and so on. So I would start there, but if the content creation experience still feels complex, then IEF Complex Widget Dialog might be a nice way to help

Tag1 Consulting: Migrating your Data from D7 to D10: Configuring text formats, editors and user roles

In the previous article, we learned to apply Drupal recipes to add configuration to our Drupal 10 site. In this article, we will continue this process to bring in more configuration related to text formats and editors, user roles, and user fields.

mauricio Mon, 11/04/2024 - 06:00

Golems GABB: Best Practices for REST APIs in Drupal 11

Best Practices for REST APIs in Drupal 11 Editor Mon, 11/04/2024 - 15:19

Are you worried about how to make your Drupal REST APIs efficient and secure yet fulfil today's needs? As Drupal 11 looms on the horizon, both developers and Drupal website owners are looking forward to using its benefits to create robust APIs. 
However, with much power comes great responsibility, and figuring out the best methods for creating REST API can seem very difficult. Are you prepared to use its full capability? In this article, the Golems company delves into the best practices for REST APIs in Drupal 11.

#! code: DrupalCamp Scotland 2024

DrupalCamp Scotland returned after a small hiatus of 5 years on the 25th October 2024, and saw nearly 50 people attend the university of Edinburgh Paterson's Land building for a day of talks and sessions. I had the honor of being invited to speak at the conference, which was the first physical speaking session I've had since 2019.

I arrived early to the conference on a sunny Friday morning after driving up the night before. After a cup of coffee and a lovely chat with the organisers and the first few attendees to arrive we started the conference.

The opening talk was from Billy Wardrop, who is Web Development Team Manager in University of Edinburgh. In his talk, A 7 year journey from Drupal 7 to Drupal 10 and what we learned migrating over 600 websites, he went through the lessons he had learned in that migration. This was a fascinating run through of all of the challenges that a web master faces and the history of the migration to Drupal 10 for the University of Edinburgh. It also highlighted the challenges of migrating hundreds of websites from different university departments away from their random systems and into a decent managed Drupal environment. Of particular interest was the talk about deployments as I have faced similar challenges with just 20 sites in the same system.

Next on the agenda was me! I have been writing a lot about the Batch API recently so I decided that I should probably conclude this series of articles with a talk on An Introduction to the Drupal Batch API. Thankfully, I had the week before the conference off, which gave me some time to prepare both the talk and the accompanying code examples.

Read more