Shopify Unite 2019 Roundup Ominbus breakdown cheatsheet

Shopify Partner
1663 50 174
WIP as time allows. This is mainly a one stop shop forum list for shopify partners&experts for the fourth annual shopify  unite 2019. 
This doesn't mean merchants can't stay informed though now that the technical forum is public and are welcome to join the discussion.
 
What is shopify unite? 

@Nick wrote:

Yes, Shopify Unite is a Partner/ developer event only. For merchants, the equivalent is an event called ShopClass which you can learn more about here.

 
Will there be videos of the events talks? In the past videos were released on the shopify partners youtube channel sometime after the event has passed. 
 
How to get early access to a feature? Shopify Partners need to enable a developer preview from the Partner Dashboard. https://help.shopify.com/en/partners/dashboard/development-stores#developer-previews
Warning: expect data loss when using enabled developer previews or unstable api's as shopify makes changes
 
International
Checkout and Payments
  • Subscriptions purchases within Shopify Checkout using Checkout app extension
POS
  • Redesign
  • Loyalty and promotion details visible directly in cart
Themes 
 
Liquid
Please suggest any omissions, point out errors, or provide links to videos or demos.
Thanks - Paul
 
Problem Solved? ✔️Accept the solution so you can help others.
Confused? Busy? ? Get me to solve it paull.newton+shopifyforum@gmail.com.
Buy me a coffee? ☕ paypal.me/paulnewton or donate to eff.org
1 Like
Shopify Partner
1663 50 174
 
App Development 
GraphQL 
  • Library updates to improve compatibility with shopify 
Orders, Fulfilment , Shipping

API's

REST APIs 
 

SDK's

  • Storefront SDK
Extra resources
 
Please suggest any omissions, point out errors, or provide links to videos or demos.
Thanks - Paul
 
Whiteout:
TODO .ical calendar of releases, (note to self be nice to have this in github?)
Title - and whether or not it's considered "BETA"

 Availability - expected release

Forum - discussion if any

Changelog - either from developers.shopify.com/changelog or changelog.shopify.com

Partner|Merchant Guide - link to the help docs guide section or relevant blog post and whether it's meant for partners or merchants

Migration Guide

Tutorial

GRAPHQL API - if relevant link to relevant api docs

Liquid - if relevant link liquid reference

Channel - if feature is constrained to certain channels

Repo - for github or similar resources

Demo

Video

Notes and Warnings - things to pay attention to for a specific feature

Sooooo sleepy now

Problem Solved? ✔️Accept the solution so you can help others.
Confused? Busy? ? Get me to solve it paull.newton+shopifyforum@gmail.com.
Buy me a coffee? ☕ paypal.me/paulnewton or donate to eff.org
0 Likes
Shopify Partner
1663 50 174

< reserved just in case>

Problem Solved? ✔️Accept the solution so you can help others.
Confused? Busy? ? Get me to solve it paull.newton+shopifyforum@gmail.com.
Buy me a coffee? ☕ paypal.me/paulnewton or donate to eff.org
0 Likes
Shopify Staff
Shopify Staff
547 4 82

@PaulNewton  Just as an update to how Snippets will be used once the New Online Store Experience is launched- Snippets will be supported by themes moving forward. However, snippets will need to be rendered using the render Liquid tag. The deprecated include Liquid tag will not be supported in the new types of section files.

0 Likes
Highlighted
Shopify Partner
1663 50 174

@Liam_Griffin Do you mean only snippets in new section files must use {% render %} or is that global to any theme using new section files must use {%render%} everywhere to use a snippet.

 

Assuming this requirement does not apply to old themes without new section files.

Not clear what happens when a theme starts to be refactored.

 

 

 

 

Problem Solved? ✔️Accept the solution so you can help others.
Confused? Busy? ? Get me to solve it paull.newton+shopifyforum@gmail.com.
Buy me a coffee? ☕ paypal.me/paulnewton or donate to eff.org
0 Likes
Shopify Staff
Shopify Staff
547 4 82

You're correct in the first assumption @PaulNewton  So {% render 'snippet-name' %} works on all theme files to include a snippet. On the new section file types, (inside the frames, pages and content directories) the deprecated {% include %} Liquid tag will not be supported, so the {% render %} tag will need to be used. However, the {% include %} tag will work in other Liquid files (eg: sections/ templates directory). The idea here being that we want there to be backward compatibility and to allow for the easiest transition when themes are being updated. {% render %} is currently in production, and we've updated our reference docs here: https://help.shopify.com/en/themes/liquid/tags/theme-tags#render

0 Likes
Shopify Partner
1663 50 174

@Liam_Griffin  ty didn't realize that render change was live had been checking the liquid repo off/on but didn't notice it when it dropped last week  https://developers.shopify.com/changelog/deprecating-the-include-liquid-tag-and-introducing-the-rend... so thanks for pinging this thread.

 

Hopefully there's more robust docs for snippet best practices and legacy support in the works that also cover the other stuff with/as/for syntax as well.

For now I'd like to put two things out there for the themes team

#1 changlogs probably should always come with a dedicated forum post linked in the changelog either in design or TechQ&A for theme stuff.

 

#2 Reeeeeallly over emphasize the encapsulation part of {% render %}  in the help docs and repo docs. Being explicit about what variable assignment is i.e. does not affect theme settings object just applies to using variable tags , and that there is no way to set GLOBAL variables within liquid for use in a snippet called with {% render %} ?even in a layout?.

I predict if there's no aggressive admin feedback on both merchant&dev stores, similar to other categories of liquid errors, it's gonna be a really frustrating experience for coders trying to create or refactor themes getting stuck in an iteration because they can't figure out why snippets start behaving erratically or worse silently failing.

 

#3 The joys of refactoring - 

It's not uncommon to have tons of snippets that have to set external information, e.g. modified product loop index , that wouldn't make rational sense inside a snippet often because that var is used in parent file and snippet or multiple snippets.  Then there's things like "global" such as a DEBUG flag that you wouldn't want to expose to the merchant in theme settings.

 

So a simple find and replace from {% include %} to {% render %} isn't magic because the internal structure now needs things that were previously externally available. 

 

So what's needed at a low level is a workflow in shifting all these lines of code between different nested files similar to line bubbling:

linebubble.mov

like this but between files

 

Code editors, plugins,or diff tools,etc that could show the {% include %}&{% render %} file within another file to facilitate moving lines between different files to resolve these new dependency|encapsulation issues quickly.  A quick search gives no joy https://www.google.com/search?q=code+editor+move+line+between+files for standard editors, maybe VI is capable of this 🤷‍♂️. Bigger IDES or dedicated refactoring tools might be a bit much for most theme designers though.

 

Obviously not something for shopify to develop just putting it out there to start balls rolling because the more better the refactoring tooling workflow the more likely older themes are to be upgraded not because it's hard but because right now it's gonna be some really monotonous error prone copy&pasting.

That' not even counting doing a full convert of other theme file types to the newer sectioned system.

 

☠ Rip decrement tricks and variable snippets 😢 

NNTR

 

 

 

 

Problem Solved? ✔️Accept the solution so you can help others.
Confused? Busy? ? Get me to solve it paull.newton+shopifyforum@gmail.com.
Buy me a coffee? ☕ paypal.me/paulnewton or donate to eff.org
0 Likes
Shopify Staff
Shopify Staff
547 4 82

Hi Paul- this is really great feedback to receive and I've shared this with our internal developers. We've expanded on the help docs entry for the render tag, and you can expect more detailed blog posts to cover the use-cases of this tag in the near future. Thanks for your suggestions!

 

Liam

0 Likes