Cache Me If You Can: The Power Pages Wishlist - podcast episode cover

Cache Me If You Can: The Power Pages Wishlist

Apr 15, 202531 minSeason 3Ep. 2
--:--
--:--
Listen in podcast apps:
Metacast
Spotify
Youtube
RSS

Episode description

In this episode, we deliver on their promise from the previous show — a wishlist of features they’d love to see in Power Pages (and none of them are AI). It’s a mix of practical frustrations from real-world projects and some wild ideas for future innovation. What did we talk about?

  • George’s standing desk automation project — powered by Python, Bluetooth, and (eventually) Power Platform. Imagine your desk going up automatically before every meeting!
  • Top Power Pages wishlist items:

    • API to clear the cache — long-requested, simple sounding, yet still missing.

    • Modern Forms — it’s time to modernize the end-user experience beyond Bootstrap upgrades.

    • Support for Quick View and Quick Create forms — why only Main forms?

    • Multi-step form improvements — allow skipping between steps, especially when there are no conditions.

    • Bring back Front-Side Editing — content editing without admin rights is a must for real CMS scenarios.

    • Power Automate integration in forms and lists — run flows like classic workflows directly from UI.

    • Framework agnostic design — let’s dream big: support Tailwind, Foundation, or other CSS frameworks beyond Bootstrap.

     

What's next? How about a tour of Power Pages features that already exist — but almost nobody uses.

Credits

Cover image by chatGPT (inspired by terrible prompts)

References Get in touch

Transcript

George

Good afternoon, Nick.

Nick

Good evening, George. I'm glad to be back with you. In our last, uh, episode, we left the viewers hanging, or viewers, or listeners hanging a little bit. So we're here to, to make good on our promise of a wishlist.

George

Yeah, the wishlist of the things we wish that were in Power pages, um, that surprise, surprise, not AI related. Uh, they just features that I think, uh, we could use on real, real projects. Um, sometimes you just slap. The table and you say, Hey, uh, I wish the feature was there. I wish I could do X. Speaking of the table, I've got this beautiful table. You say, hold on. Table goes up, table goes down. Right? Not a big deal. Not a big deal in, its on its own. It's standing desk, right.

What is the big deal? Is that the model I bought has a Linux controller. And what is the big deal about Linux? Controller is the one used by ikea. So, uh, interchangeable with Ikea standing desk, big deal. Now, when something is sold by Ikea, it's sold by millions. That means there are millions people out there who's got this controller, which got Bluetooth, and out of that million, there's one or two nerds who crack it open. And guess what?

There is a public on GitHub, there is a project how you can control your desk. It's written on Python, how you can control your desk from your desk, desktop on your computer, from from your computer. So here's my little pet project. I haven't done it yet. I'll try to do it the next time we meet it. But here's the idea. People complain, oh, I never used this. You know, up and down features. I'm just too bogged down in my work.

Is there, like on wishlist, the feature five minutes before any meeting in my calendar desk goes up and when I hang up, that meeting desk goes down. So I will have to stand through all the meetings.

Nick

I see a, uh, power platform connector in your future. Um, yeah,

George

there's a bit of, uh, trickery involved because that's, um. I can run, um, a web, local web server on my desktop, but I really want to wire it as a, um, you know, iot device, right? So proxy somehow. And yes, if I manage to do that, then yes, there will be power platform connector and then I can control, like everyone goes up. Imagine controlling other people desks. Ooh, that's,

Nick

and how, how is your licensing deal with Ikea going? Do you, have you guys decided how split? That's, uh, that's not ikea.

George

That's these guys who sell controllers to ikea. That's some, yeah. Uh, probably Chinese company. Uh, I dunno. Uh, based on language translation like that probably in China. Um, on the instructions, it's like, yeah, whatever. Um, yeah. But, um, that would be cool controlling someone else's desk. Mm-hmm. Mm-hmm. My mind boggles endless possibilities. Hmm. Bluetooth device. We'll see. But yes. Um, this is my, uh, piece of automation. I wish it was there and it's there.

So let's go ahead and see for what things we think or we wish were in Power pages that are not there. Da da da. You go first.

Nick

Okay. And I'm gonna preface, uh, some of mine with some of these I think are, I, I don't understand why they're not there already. It doesn't seem like it's that complicated. Like it seems like all the pieces are there. It would just, you know, take someone in an afternoon to get them in the, in the product. Other ones, I understand they're probably, uh.

Uh, longer in the future, but, um, if anyone kind of follows me on LinkedIn or on X and they, they see any of the memes I do, they'll know that this is a gripe that I probably complain about, uh, a few times a month. And that is an API to clear the cache.

George

Mm-hmm.

Nick

I, I guess I can understand why it's Right. The

George

name of the podcast

Nick

Ex. Yeah, exactly. So I'd like to automate Yes, the refreshing of the cash. Um, I, I just think there are so many use cases, um, where this could be leveraged responsibly. Um, I, the only thing I can think, like, I don't think it would be that hard. The only thing I can think of is, um, obviously caching is important. Um, the platform, the product would just be awful without caching. So my guess is the concern is that people will just go overboard and want data that's.

Always up to the second and just be hitting this thing relentlessly. Um, but I guess if, if we, you know, if you have to sign a, a contract to do good, to get access to this API, I'd be willing to do that because there are just certain use cases where, um, you know, there, there are some workarounds there, there, there's some different ways you can go about it using the web API, um, but just an official way to say, Hey, I know this data has changed. Just, just go, go get the new stuff.

Like you can trust me, go get the new stuff. Um, rather than kind of trying to work out ways around it. What do you think, George? Do you, uh, do I have your signature on my petition?

George

Oh, yeah. Yeah, absolutely. Um, if I'm responsible, I was thinking that the reason I paused, I was thinking what, what you said about, uh, responsible use. Uh, and I one day, if it's possible to kind of. Govern it a little bit, like introduce, uh, uh, limited use for that API. So you can't call it every five seconds. Like at least if you didn't let it rebuild the cache, then don't call it again and, you know, do some, you know, tuning of, of that. But technically speaking, what, what.

What would be your concern if you were on, on the Implementa, not some, sorry, not implementation team, but the team who's responsible for running, um, for operations team, like keep that staff up and running. What would be your primary concern? Heating Dataverse. Too much.

Nick

Um, yeah, I would guess so. Um. The number of ap, the API calls you get to dataverse. Like, uh, I don't think there's too many people, you know, people aren't usually running into that too often, so, you know, the, the load on the web server can't be that much. Like, yeah. I think the caching, um, for, and again, this would be for kind of your own tables, not for the built-in kind of power pages tables, that, that contain the configuration. Um, but yeah. Yeah. If it's API,

George

it needs to be selective, right? So it need, you need to be able to say, Hey, look, I know for sure someone added a column. Please nuke the cache. Right? That, I guess you can argue that that happened, that should't be, it's a deployment stuff, so you, you shouldn't be, you can cache just because metadata changed you really, you shouldn't change your metadata. Too often Yes. People that these swear. Yeah, exactly.

Nick

Uh, but, but even if there was some built in, like if you say execute a power, automate flow or run a workflow on a record, like it should be smart enough to be like, Hey, well I'm probably changing something about this record, so I maybe want the cash in validated here. Now again, you can kind of do that with a web API call, but it just. I wonder, feels like there's some opportunity there. Yeah. I

George

wonder what, uh, what fidelity would you want on cash in validation? Definitely per table. Uh, then what, do you want more fidelity than that?

Nick

No. Like if you look at, because you can, you can get yourself into some interesting pickles with cash because, um, you know, when you do something like an update, when you, when you add a record, it invalidates. Um, the entire cache for that table. But if you just, um, you know, it basically caches at the dataverse query level, so you can still get kind of stale. You, you can get different results for the same table legitimately in the way that the caching is right now.

Um, so, you know, I would say. The ability to say, Hey, this one record's changed. You know, invalidate the cache. And I think that's kind of how the underlying cache invalidation works right now when you, when you make an update via the, a former list or the web API. So I just think there's gotta be a way to say, Hey, I've touched this record, let it do what it's doing now.

But just a way to, to, to, to make a call to the API saying, Hey, let's you know, just pretend that I've updated this record and validate the cache the same way you, you'd do it now. Mm. But just don't make me touch that row just to invalidate the cache for that particular row.

George

Yeah. The other thing, I wonder if it's, uh, if it caches like, uh, um, FE X ML results and specific FE XML results. Um, yeah. It,

Nick

it, it does. Yeah.

George

Yeah. What, what we do in, in our integration product, uh, with, uh, with WordPress is that we, we do a FET XML, we calculate. Some kind of, uh, hash and then we cash against this hashed value. So if you change fit XML, yes, it immediately kind of goes and tries to find something else. So that solves the problem, like parameter rising. You've got different parameters, you've got different, uh, hash value results, a different um. But it's not a very sophisticated cache. It's like, yeah, whatever.

If fetch x ml looks the same, feels the same, you get the same value. Uh, but we do give API control, um, just because we can. Yeah. So that's a big one. Um, I'll what's, what's number one on your list, George? Uh, oh, number one on my list. I'll go in the order. They, they're not. I, I would struggle to choose one over another. So let's go with the one that I already winched before.

It's um, with all the quick starts, um, that I templates available, the biggest ask I hear is from customers is like, yeah, I've got this site and we moved to Dataverse power apps. So Dynamics 3, 6, 5, fine. And we are willing to consider. Moving to Power Pages. Now what I want is to say to copilot or whoever is listening, here's my existing site, can you please generate the site that at least looks the same? So I don't want meeting place. I don't want school bookings.

I don't want banking, whatever it is, template. I just want the site that looks and feels the same. It's not that difficult. Take CSS, figure out what it is, package it up, make it look the same. I'll fill in the blanks on, not blanks or whatever, I'll figure it out what to do. Um, but just give me some, um, uh, bootstrap equivalent of whatever I'm seeing on the website, you know? So that would be, um, my number one wishlist.

Nick

Yeah, that makes a ton of sense. I doesn't seem like they would have to do too much. Special work to make that happen. Um, some of those It's a prompt

George

engineering.

Nick

Yeah.

George

Yeah. It's really, you need someone who knows their prompting. Someone who in their, you know, use days, perhaps did some website hacking and they understand CSS, uh, HTML and do some prompt engineering. So that doesn't, it sounds like a really good marketing win. Uh, from technology point of view, there's really, um, technology is all there. Uh, from my point of view. Um, just needs to harness it and, um, get the right person to do it. Mm-hmm.

Like the same way, why did we end up with Angular for marketing, for event apps? They probably said, Hey look, we need to do something. Who do we have? We've got these two dudes out of uni. What do they know? They know Angular. Okay. Heck, heck with it. Write something. Do. Two dudes went ahead and wrote Angular and it's not a bad Angular app. I like, I dissected it left and right. Yeah. Solid. Solid Angular app. Why angular? Because we could, because we have the skills.

So just find the right skills here.

Nick

Okay.

George

Yeah. What's

Nick

next on your list? Um. So, yeah, the first one, the API, to clear the cache. To me that seems not that complicated. This next one, uh, it's, it is a bigger ask, but, um, part of what we talked about in the last episode with the release wave was the modern lists. Um, I think it's time for modern forms. I think it's time. For, you know, much of the investment that I see Microsoft making in the product is for, whether it's copilot or whether it's, you know, the design studio is for the makers.

I like to see more investment for the end users of Power Pages. The forms are dated, their, I mean, they really haven't changed much since, uh, the old A DX studio days. Um, an upgrade to Bootstrap five isn't gonna change that. Um, so just making the forms out of the box much more modern.

Um, you know, whether that's things like, um, you know, submissions without post backs or more, um, say metadata that you can put on just to make it feel more modern, put a better kind of client, you know, field level validation. Just all these things that we kind of expect out of modern forms these days. Um, I think that's, that would be a worthwhile investment.

I think that would, uh, get a lot more people trying to use the low code capabilities of the platform versus we still see kind of, too many times people just resorting to, to pro code. 'cause it just doesn't, it doesn't give the, the user experience that people are looking for.

George

Incidentally, my next item is kind of related to that. Because I still don't understand why the only type of forms supported are main forms. Why quick view and quick create forms are not supported. And that baffles me because the XML, the layout, the metadata that describes the form are identical or virtual. Identical with some minor differences from memory. Quick view on Quick create. They do not support JavaScript. Perfect.

How many times do you try to explain to the customer that whatever you wrote for power apps for model driven apps is not gonna work in Power Pages? Time after time, right? This one? Mm-hmm. The lower bar is already set. There is no JavaScript. You cannot wire a JavaScript, so what you see is what you get right. Uh, they have limited number of tabs, which simplifies, they don't support.

I don't believe they support time, view control, so that, again, it's around simplifying things and that kind of works alongside with modern forms. You don't have to create super duper sophisticated forms like effectively replicating MDA, but in the web, that's not the idea. You need a very. Uh, for the lack of better word, sexy looking forms. Simple forms yet robust and that is pleasure to fill in. Even if you're using ai. Remember this AI field assistant, right?

Um, something that pleasure to work with. Just go and take a look at third parties. That do that day in, day out. Like they, they specialize in built-in forms. How good are those forms? Like on mobile device? They take the entire screen and they kind of rotate between the screens. How good is that? Right. It's a continuous form, but it gives you appearance of this navigation screens after screens. It's like, could be, um, one. Control per screen, per mobile device.

Like what is your name, what is your age? And things like that. And people don't mind that. It's just, you know, flicking through the mobile phone. It's not a tedious stuff to do. So, um, yes, piggyback on your modern form requests and I say, why don't you take quick view and quick create and do the modern way. Oh, bonus. Quick view or quick create. I'm not showing up on the form list, so no users will ever see them.

Nick

I, I couldn't agree more. I, I don't, all I can guess is that 15 years ago when a DX studio was building it, someone said, oh, let's just, we'll just stick with main forms for now, and it hasn't got another minute there. We'll do the hazard tomorrow. Yeah, yeah,

George

yeah. And tomorrow never. Never came. What's next on your list? Okay,

Nick

so well, to pile onto the forms, um, let's talk about multi step forms. Yeah. So, um, and this has been, you know, definitely in the top, you know, top handful of, of requested features since the day they were invented. Um, and that is, so with a multi-step form AKA advanced forms AKA. Web forms, whatever you wanna call them, with a multi-step form. The ability to navigate through the steps in the list by clicking on the kind of the progress bar along the top.

Um, the whole point of a multi-step form is that it's a wizard that you can step through. Um, but the only way that we can navigate between the steps are next and previous buttons. There's no opportunity to skip ahead and, or, or, or jump back a couple of steps now. Knowing the architecture under the hood, I, I completely understand how this is not as simple as, you know, people think, well, why isn't it just a, you know, you click on the link and like it takes you back to that page.

Well, when you have conditional steps, it's not so obvious as to what, you know, what was three steps ago. Um, so I understand why it's difficult, but still, I think even if it was restricted to simple cases where it's like, Hey, we've got five steps. You know, even things like maybe you can't jump ahead because you know something might be required before you can get to step four. Maybe you need to create something on step three.

But at least the ability to jump back to a previous step, which is no different than just clicking back, back, back, that's supported. So even, you know, a baby step to allow that would be, I think, very much appreciated. And, you know, if there were some things such as, you know, if you know that it's just edit steps on the same table going forward, allow, allow you to kind of jump ahead, uh, in certain cases as well. So, look, you can

George

know, you say the conditions could make it difficult, right? But I see time after time again. I see, uh, a lot of multi-step forms that are multi-step forms only for the one and one reason only. Too much information, simplicity, saving work in progress. Again, it's like with your clear cache, API, pink is swear. My form has no conditional input. Mm-hmm. It's just multi-step. Each step is a progress.

That needs to be saved, optionally, or not optionally, needs to be saved with the user, uh, being able to resume at that step or any of the previous steps. Right? Filling in, like, you know, I. Uh, need your passport details, need this, need that need, your social security, whatever we don't have in Australia. Social security, we do have social security. We don't have social security numbers. Um, we have very good social security, uh, reasonable.

Um, so if I have seven steps and I say, Hey, look, any of these steps, just because life is complex, there's a lot of data, right? So save button. And I should be able to jump between step number two and step number six, just because I feel like it, right? If I miss something, tell me I missed something. Otherwise, just why not? Uh oh, I forgot my passport has expired. So let me go to step number two and put, you know, correct details. And then go back to step number six.

So it's like, again, simplify the case, which is 80%. So. Okay. Mm-hmm. Um, what's, what do you got

Nick

for us next, George? Oh,

George

I miss front end editor.

Nick

Oh, classic. I, I still remember, you know, at a DX studio when that that front end editor was released and it was, it blew our minds that you could be editing a site live right on the site itself.

George

And you know, the best part of that. That there was a special privilege to do front side editing. You didn't need to be admin.

Nick

Well, that does kind of tie into mine and, and I, I basically have the same wish because a content editor that doesn't require someone to be a power platform, you know, administrator, system admin in that environment, it, it just requires too much power to, for someone to. To manage content on a Power Page's website. You know, sometimes we see the platform marketed as a content management system.

No good content management system requires you to be an administrator to change a word on the homepage. Um, so I agree. Um, the front side editor was a, was the answer for that for many, many years. Um, and even, even today, we're working on a project to migrate a client from an old. You know, an old portal into a new one.

And, uh, they're quite disappointed to, to find out about the death of the front side editor and that it just isn't practical for them to, uh, to give some people just some basic editing access. Um,

George

wouldn't you want, um, in situations like this where it's really critical, I suppose you could build a walk around like a separate table that mm-hmm. Custom table that contains the. Essential content that you want to, or you frontend, uh, uh, your content snippet table with a, you know, canvas editor or something like this. Uh, and we've

Nick

unfortunately done it. The CMS on top of a CMS, it, it seems wrong, but it it has happened. Yeah. Yeah, yeah.

George

And, and then you basically surface from that table, you surface the data and

Nick

Yeah. Um.

George

Wow.

Nick

Yeah. Yeah. We built entire, like you basically create brand new tables of content, goes in there when it gets approved, and then you can copy it into the right place. Um, but it doesn't seem like that's something someone should have to build into a CMS

George

that's actually taps right into underused features that, uh, we actually thinking of talking the next time. This, uh, uh, one, i, I just give you listeners. All three of them sneak peek and, um, that, uh, uh, the feature where you can invent your own languages, um, for the website and use them to, to your, uh, as your development languages. Oh. I think, I think I remember

Nick

that one. Yeah, that was a good one. And I used it. Was that a tip of the day at some point, way back? Oh yeah, it was, and I did

George

a video on that. It was, I think video was a bit too rough around the edges. I'm not good at video editing, but I think I might just resurrect it and do it again because such a cool thing. Uh, people complain about lack of, uh, you know, um, that actually brings item that I think I missed on my. List is a proper publishing cycle. How difficult, you mean

Nick

draft and published isn't, isn't enough for you, George?

George

It's no draft and publish. Yeah. Uh, no. I, I, I always see all of them, so I can't, I can't decide which one to pick, so, um. There's no history, there's no other changes, there's no approval. I mean, not surely if you put like a two or three smart devs on it, surely they can figure it out in no time. Right. How to put things into place that allows you proper publishing cycle with approvals and stuff. Mm-hmm. Preview approvals. Yeah. Well, what's, uh, what's next on your list?

Nick

I've got one more thing on my list here. Um, and I, I'm gonna put this in the, in the category of. It seems like this would, would take someone in an afternoon, but that is support for power automate within forms and lists. We've got power automate through the the API mm, but in the same places where classic workflows are supported. So basically running an on demand, uh, classic workflow. Via list or on a form, why can't that execute a power automate flow?

We've already got the trigger in place to do it through the web. API

George

Past parameters? Yeah,

Nick

yeah,

George

yeah. Wire up. Yeah. I

Nick

don't under, yeah, I don't understand. And in fact, um, shameless plug, I, I wrote the JavaScript to do it in a recent blog post. Nice. It wasn't that complicated. Um, basically just adds an extra action button. To the, uh, to the list and calls the power automate API. Um, but I'm curious as to what the, what the holdup is on that.

If there is some sort of, uh, I know sometimes with the, with Power bi it can be kind of permissions 'cause you don't, you know, how do you validate that it's on the right table? And, but I mean, we've got it for, we've got it for, for classic workflows. So with power automate flows, just trust that I'm gonna set it up and I'm gonna point it and. Don't worry about the permission, just, you know, let me do it. So that one I think is, uh, a quick win. That should be, uh,

George

I think that should be near the top of the list. The last time I heard, don't, don't worry about permissions. Yeah. That 20 million records were leaked, so. Well, yeah, we haven't

Nick

even talked about the multiple hacks and bugs and stuff that have happened in the last year or so since, uh, oh, that, uh, sounds

George

like an episode. Um, yeah. Uh, I've got last item. I mentioned it before. My last item is, it's a long stretch. This one. I appreciate that. It may never happen. Uh, but, uh, we've been. Boiling ourselves to death in Bootstrap World for years and years and years. And we kind of missed the fact that, uh, there are other frameworks out there, uh, that are at least as popular as Bootstrap. And over the years, they became very popular. I'm talking about like Tailwind CSS Foundation.

Booma Booma is specifically a very tight, very tiny, small, very effective. So there's a lot of. Uh, I call it like loosely, it's not just CSS, but the CSS plus JavaScript. So it's like layout frameworks. Uh, there's a lot of frameworks out there. Um, if we could somehow make Power Pages agnostic, that would be a huge step forward and would make more appealing to my grades to power pages because if I have something, um, in Tailwind CSS and I want to move to Power Pages.

The, the last thing I want to do is, uh, to figure out how to move from Tailwind to Bootstrap.

Nick

So I think you're just getting greedy, George. We would, we were, we've been asking for Bootstrap five for so many years, and now that we have it now, you just want more and more and more. Yeah. Wow. Aren't we all? Aren't we

George

all greedy and greedy? So on that greedy note, I think it's time to wrap up and the next time we talk about, not a wishlist, but just the opposite, the list of things that are there, but nobody, oh, very few people use them or not aware of their existence. That's, so that's gonna be, that should be a fun one. I'm looking forward to that, George. That's gonna be a fun one. So until next time, thank you very much and stay safe. All right, see you all next time.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast