Keep up with the new changes coming to app discovery in the app store 
Shopify Development news and articles
 
Liquid Weekly

Karl Says


Now that you're all caught up on emails it's time to hit 2022 in stride with this week's batch of articles.

News & Articles

Capturing Every Change From Shopify’s Sharded Monolith
Shopify's business requirements necessitated faster data ingest with low-latency query response times. Read how they solved this interesting big data problem through building the dedicated Merchant Analytics Platform.
How we’re improving discoverability on the Shopify App Store
App developers know just how critical it is for their apps to be discovered on the app store. This year Shopify has chosen to focus on making the Shopify App Store the simplest, safest, and most personalized it’s ever been. Read about the upcoming changes.
My First Impressions of web3
I'll be honest, I haven't been motivated to learn much about crypto and "web3". Looks like I'm not the only one! Moxie Marlinespike, founder of Signal, shares his thoughts on his first impression of web3.
Making Slate work with M1 Mac
With the release of new Apple silicon chips this new architecture has lead to some issues with Slate failing on M1 Macs. However since Slate is no longer supported by Shopify it is unlikely we'll see an official fix. Follow this guide to fix the issue.
How to Display Images using Shopify Metafields in Your Store
After the Online Store 2.0 launch, Shopify merchants have a built-in metafields feature in their store. This guide is to help you how to use Shopify metafields to display images in your store.

Code & Tools

Live reloading for Hotwire Rails apps
Working on embedded Shopify Rails apps can be a pain. In order to see changes you need to reload the parent page + iframe together which can take several seconds. Luckily Kirill Platonov has created a new gem to solve this pain point - check it out!
Upload Files with the Shopify GraphQL API
Here's a gist from Celso White showing a great solution to a tricky problem - uploading files using the Shopify GraphQL API. Celso is a web developer who works with creatives, non-profits and e-commerce brands to tell their stories online. He specializes in creating custom Shopify sites and javascript apps. Check out his app, Otto, which automates theme image updates!
Netlify Drop
Drag and drop a folder with your site’s HTML, CSS, and JS files. We’ll publish them live and give you a link to share it.
New release of the Shopify_App Gem for Rails
After a long hiatus the foundational gem for building a Shopify app in rails is getting some love with release 18.0.3 which addresses some issues with AppBridge 2.0 among other things.
Problem with Making a Cart Form Field Mandatory
Have you ever had trouble requiring a form field for submission? We've all been there and it's easy to get tripped up. Follow lbmedia1's journey of self discovery in the Shopify community forum where he posits and answers the question to his own dilemma.

Changelog

Admin

Metafields now available on Orders, Collections and Customers
You can now add metafield definitions to Orders, Collections and Customers directly from your Shopify admin. Previously, this was only available on Products and Variants. Metafields allow you to attach unique pieces of information to all parts of your store, which allow you to store and display information efficiently.

Platform

Updates to our API License and Terms & Partner Program Agreement
We've made changes to our API License and Terms of Use and our Partner Program Agreement. These changes impact how Shopify Partners and developers interact with the Shopify platform, and offer products or services to merchants.

Shopify App Store

New Regulatory operating fee field in the Partner payout and app earnings CSV
On January 5, 2022, we will add a Regulatory operating fee field to the Partner payout and app earnings CSV. This field will help app and theme developers understand the calculation of the Regulatory Operating Fee introduced in the Partner Program Agreement update. It represents the amount deducted from your app and theme charges to merchants based on the applicable merchant business address.

Jobs

Affiliate Manager, Remote, Canada
Rewind is looking for an affiliate manager who will lead and oversee the Affiliate media channel. Your role is to own the performance of this channel and ensure that business strategies, plans, and initiatives are executed.
Front-End, Freelance
Aaron is looking for 2 contractor/freelance front-end developers for projects starting in 2022. He's looking to create a small tight knit team to focus on theme development. React experience is a huge plus.
Senior Front-end Shopify Developer
Series Eight is hiring a Senior Front-end Shopify Developer. Preferred Locations: EU / UK / RSA

Tip of the Week


How to display compare_price on cart page for each cart item

Have you ever needed to display the compare_at price for each cart item?

Unfortunately as you've probably discovered this field isn't included in the /cart.json response

Here's an easy approach to retrieve the data for each cart item and displaying it with Liquid

fetch('/cart.js').then(data => data.json())
  .then((cart) => {
    cart.items.forEach((item) => {
      fetch(`/variants/${item.id}.json`).then(data => data.json())
        .then((data) => {
          const variant = data.product_variant;
          console.log(variant, variant.compare_at_price);
          // ... do whatever you need to do with compare at price here
        })
    })
  })

Thanks to Sam Webb for this week's tip.