Centarro: See you at DrupalCon Portland 2022!

It's been three looong years since the Drupal community gathered in Seattle (and two and a half since Amsterdam). DrupalCon Portland is the reunion we've been waiting for, and we can't wait to get there and share.

Virtual events are nice for keeping tabs on what your peers are doing, but nothing beats the large scale casual exchange of ideas at an event like DrupalCon. We recommend using the event to reconnect to the high level developments in various Drupal initiatives and using sessions and smaller conversations to go deep on the topics most directly impactful to your work.

To that end, we'll have the Centarro booth 404/406 setup to chat about all things Drupal Commerce! If you're planning, building, or operating a Drupal Commerce site, we'd love for you to come tell us about it. The impact our modules have on individuals, families, and companies all over the world gives meaning to our work that transcends the mere writing of a module or theme.

Read more

Centarro: Replace Swift Mailer with Symfony Mailer for HTML email

When you're theming a Drupal Commerce site, you shouldn't forget to style the emails your store sends. The primary use case is the checkout completion email that includes the customer's receipt, but there may be others depending on your feature set and customizations (e.g. dunning emails for recurring subscriptions).

Commerce Core provides a basic, table based template that you'll want to either replace or at least ensure is styled by your theme to reflect your branding. (Find it in the order module's templates directory, commerce-order-receipt.html.twig.) However, without adding the capacity to properly send HTML email from your site, it's going to look like a jumbled mess in your customer's inbox.

We've long recommended Swift Mailer for formatting and sending HTML emails from Drupal Commerce. Symfony announced the project's deprecation late last year, recommending folks switch to using the 3 year old Symfony Mailer instead after they brought it up to full feature parity with the Swift Mailer library.

Fortunately, there's a module for that!

Read more

Centarro: Commerce Core 2.25 expands payment, coupon, and promotion management

We released Commerce Core 2.25 on June 30th, 2021. This release kicks off a new schedule that focuses on feature releases once a quarter with bug fix / minor patch releases in the intervening months, giving us time to focus on our other modules as well. Our efforts for this release centered around store administration improvements, Layout Builder integration, and general performance and stability improvements. We also reviewed our code to ensure we had solutions or a roadmap for changes required by Brexit and the EU July 2021 eCommerce VAT package.

Store administration improvements

As with the 2.24 release, our work with multiple large merchants continued to drive store administration improvements throughout the 2.25 development cycle. This release packs in features related to payment administration, coupon administration, and promotion configuration in addition to quality of life improvements in one of our main dependencies, State Machine.

New payment entry options

Until this release, store administrators wanting to enter a new payment for an order could only do so using stored payment methods previously created by the customer. Several years ago, Drupal Commerce contributor Brad Jones kicked off development of a major feature patch to add support for the creation of new payment methods in the order management interface. This is particularly helpful for customer service representatives placing orders for customers who do not have accounts or stored payment methods on their sites yet.

Read more

Centarro: Centarro joins the virtual DrupalCamp Oslo 2020

Like many other events, DrupalCamp Oslo went virtual this year. In person events are still my favorite, but this did give me the chance to participate in the event for the first time! I joined in to provide an update on the state of the API-First work in the Drupal Commerce ecosystem.

We were excited to take part in the event, as we've often collaborated with the Norwegian Drupal team at Ny Media on Drupal Commerce contributions and on the occasional client project. One of our favorite outcomes was the Commerce Pricelist port to Drupal 8 developed as part of the Akademika.no case study.

We've been busy developing Centarro Commerce, our headless commerce SaaS, which means expanding the API-First capabilities of Drupal Commerce. For instance, we just added support for on-site payment gateways over our Commerce API. We also expanded our shipping integration with the ability to trigger shipment notifications in the latest Commerce Shipping release.

Image removed.

DrupalCamp Oslo was live-streamed on YouTube, so you can catch my talk about "API Driven Drupal Commerce" on the recording.

Read more

Centarro: Understanding the Drupal Commerce 2.x Address Book

Drupal Commerce 2.x includes address book functionality for both customers (from their account pages and checkout form) and administrators (from order edit pages). This article provides a quick summary of the address book architecture to help you understand how customer addresses are modeled / saved to your database and what you need to take into consideration when writing custom code / data migration processes for orders and customer profiles.

Commerce Core uses our Address module to add address fields to various entities, including stores and customer profiles. Address fields are not added directly to orders, payment methods, or shipments - the things for which we might typically expect an address to be selected from an address book. Those entities instead reference profiles with addresses that represent billing and shipping addresses.

As a result, a user’s address book is basically just a collection of profiles with the same uid as the user. These profiles are created in various ways:

Read more

Peoples Blog: Imagefield Slideshow module to render Slideshow on Drupal website

If you want to show images as a slideshow on your drupal website and want to do it quickly. Here’s the module which solves your purpose. Imagefield Slideshow is the simple module which will allow images to render as a slideshow on the drupal website at the field level. This module will provide a Slideshow formatter for Image fields, so that multiple images are uploaded to that particular im

Centarro: Commerce Shipping release adds shipment confirmation emails and improved JSON:API support

Several months have passed since we've tagged our first Commerce Shipping release candidate, which added support for "billing same as shipping" address copying and resolved a variety of bugs.

Since then we've kept a close eye on the issue queue. Even though it isn't part of the core Commerce project itself, we consider it an essential contributed module in our ecosystem. We've resolved a few more "last mile" bugs and recently packaged the module's second release candidate.

Shipment confirmation emails

Thanks to the hard work of several community contributors, we now support sending a "shipment confirmation" email to notify customers when their ordered items are shipped.

This behavior is controlled by a setting at the shipment type level:

Image removed.

Similar to order receipts, it's also possible to resend the shipment confirmation from an order's shipments tab:

Read more

Centarro: Commerce Core 2.24 improves merchant experience, BOGO promotions, and more

Hey, fellow Drupalists! January has been such a busy month at Centarro that we haven't been able to blog about the exciting improvements we've made to Commerce Core since last year's 2.21 release. We've worked specifically to improve the merchant experience to make our clients' lives easier, and we hope the changes will excite you as well.

Order management improvements

Starting on the order view page, we've had multiple client projects where order state transitions should be approved only when an order is paid in full. It's easy enough to alter the transition form to make that a hard requirement, but as with most things eCommerce, it isn't always a requirement. Moving the state transition buttons to the top of the sidebar and placing the order balance right above them makes it easier for merchants to take the next step of processing an order that much faster:

Read more

Centarro: Introducing the Centarro Commerce 2.x multi-store, multi-domain demo

Who doesn’t love a good demo? 😄

Late last year we launched a new Commerce 2.x demo site using our Belgrade theme and Commerce Demo. Not only does it look great, but the new site also beautifully demonstrates Drupal Commerce's "out of the box" multi-store, multi-domain features using Domain and Commerce Store Domain.

Multi-domain support

Commerce 2.x supports multiple stores out of the box. This is useful if you wish to sell specific products to different countries, for example. Products are published per-domain, and the current store context is determined through a pluggable system that lets you determine when to use something other than the site's default store.

Our new demo site uses four stores, each tied to a different subdomain. The current store is checked when we enabled payment gateways on the checkout form, so the subdomains are prepared to demonstrate different integrations:

Read more

LN Webworks: How to Combine React with Drupal

Image removed.

For the uninitiated, React.js, or simply React is an open-source JavaScript library used for creating user interfaces. Over time, it has gained massive popularity due to its incredible performance and efficiency. Interestingly, Facebook is behind the development and management of React. Coming to Drupal, it is a cutting-edge content management system (CMS) that is widely used for website and application development. It is also open-source and is world-renowned for its remarkable flexibility, scalability, and customization capabilities. Due to the massive appeal of the CMS, there are a lot of Drupal development companies today. 

At times, developers just want to bring the two marvelous technologies together to render a quick and smooth frontend based on React.js and a sophisticated backend based on Drupal. This blog talks in detail about various methods for bringing React with Drupal. First, let’s explore headless Drupal against embedded React.