First of all, what is Liquid?
Liquid is an open source templating language. This adds various super powers to HTML… now we can use if statements to conditionally show/hide things, use modular templates and include in other templates, loop for repeating regions like search results, and much, much more.
Part of what I love so much about Liquid is that you can achieve a lot with very little code – and the code is easy to read, even for non-programmers like me!
I’ll save you the full-blown history lesson but in short, liquid was originally developed by Shopify, then they very kindly open sourced it and DotLiquid was born, building in powerful extras for Dataverse.
Warning: Gotcha!
Like me, you may be tempted to go and read all about liquid from the Shopify documentation. Little harm in doing so BUT you’d miss the most powerful features as far as Dynamics / Power Pages are concerned… entities and fetchxml. These allow us to easily read data from Dataverse, Dynamics and Model Driven apps.
The real power it provides for Power Pages is a free-form way to read data from Dynamics and model-driven apps – outside of lists, basic forms and multistep forms. You can even bring your existing Advanced Find skills along for the ride!
So maybe like when I was starting out with liquid, you’ve already mastered the portal config options and can create powerful web apps integrated with Dynamics or a Model Driven App in no time. What’s the benefit of learning liquid?
Like in nature, liquid can take any form… whether that’s an inbox, a picture gallery, an audio playlist, dashboards, slideshows or whatever more exciting mash up you can imagine!
In short, liquid opens up opportunities to break the mould when it comes to layouts, lets us incorporate multimedia, break free of list and form layouts, and allows us to combine many tables on the same page in any way we see fit
Do a lot with very little
And for those of you not confident with coding, liquid isn’t full-on like a programming language. It’s small but fully featured and I’m going to show you how you can achieve lots with only six key skills… if you wanted to rebuild my Spotify clone, you’d find yourself leveraging these same skills over and over in novel ways.
To support my Scottish Summit presentation, I’ve written a deep-dive blog post on each of these – see the links below, you’ll be surprised just how much bang for your buck you get with learning each of these! Once you can retrieve data and loop through it on screen for example, you’ll see this fits so many patterns and use cases that there’s very little you can’t do with it
Liquid plays nicely with out-of-the-box portal config options too
That’s not to say it’s either config options like lists, basic forms, multistep forms or liquid… there’s a lot of scope to combine the two. Personalise, customise and extend out of the box templates with liquid.
Yes you can create custom web templates from scratch with liquid, but you can also make use of liquid in all the following places if you need to extend / tailor / personalise the out-of-the-box user experience:
- Web Templates
- Web Pages
- Content Snippets
- Lists
- Basic Forms
- Multistep Forms
- Web Files
Note – If you’ve ever wanted to integrate a JavaScript plugin or jQuery plug-ins in your portal but didn’t know how to provide the data, liquid is the answer 🙂
So, what are those key skills?
Sorry, that’s as much as I got completed as of now. Please let me know whether that’s helped your understanding and give me a shout in the comments with anything else you’d like to know about learning Liquid for Power Pages
In the meantime, here are the exact tutorials I learned from to get started with Liquid… in no particular order:
- The two articles that got me started from the beyond-helpful-and-inspiratinal Megan V Walker: Using Liquid To Enhance The Portal Experience and Using Liquid To Enhance Cases In Portals
- Liquid articles from Nick Doelman’s excellent blog, readyXRM, starting with
Liquid Markup in Dynamics 365 Portals – Part 1: “Hello World” - The fantastic Liquid templating series on Jim Novak’s blog, starting with Liquid Templates in Dynamics Portals – Part 1
- The Liquid section of the always awesome content on the Engineered Code blog by Nicholas Hayduk
Once you’re up and running with liquid and need some reference material for the finer detail, here are some extremely helpful reference materials from the Microsoft Docs site:
Skill | Purpose | Link(s) |
Entities | ||
Assign | ||
Fetch XML | ||
For | ||
If | ||
Note Attachments |