Monday, October 29, 2018

Animating PowerApps

PowerApps does give you a few handy pieces that you can start assembling to make the UI a bit more interesting.  While animated slide in/out trays and menus are not provided by default, you can create them from the tools provided at least in some form or fashion.  Some of this is actually fairly easy if you have the right components to start with.
It looks so easy!

Do keep in mind that as I have mentioned in other posts, you cannot catch the OnHover or OnFocus events specifically, so you might be restricted on certain aspects.

OnSelect is not OnFocus: Translucent Controls Use Case

This is again one of those minor annoyances of something that you'd assume will work this way that does not.  Clearly the PowerApps engine recognizes this event but doesn't really expose you to it in a way you might assume.

It is doing you a "favor" in creating a simple shortcut for when the control is "in focus" for the border thickness/color when a control is in focus, but you cannot catch and respond to an "OnFocus" event because it does not exist.  I hinted at this in an earlier post about Fixing Tab Order.

Therefore, while you can catch clicks into a control easily (e.g. OnSelect event) you cannot catch when the user uses the TAB key to arrive at a control.  In fact, you will also start punching yourself when you notice there also is no OnHover event to catch (although you can control border size/color similarly to above).

Wednesday, October 24, 2018

JSON operations in MS Flow (Power Automate)

Microsoft Flow (now renamed Power Automate probably because a bunch of other stuff in the world is named "Flow") has a lot of assumptions around JSON built into it.  The "Object" variable in Flow is actually only considered valid if it is valid JSON.  In truth, it should be referred to as a "JSON Object" for clarity.  To support this functionality it does some things behind the scenes that aren't expressly shown on-screen.

Ultimately, Flow automatically escapes out any String variable if you add it to a Flow Object variable.  So you don't have to do squat.  For the most part.  Read on.

NOTE: You might also find useful info within the following post as well: Stupid Power Automate Tricks

Monday, October 22, 2018

Using Microsoft Forms with Power Automate/Flow (and SharePoint, PowerApps, Excel and beyond)

Microsoft Forms is a dead-simple UI interface to allow end-users the ability to generate and distribute surveys to internal and even external users.  It isn't horribly complex and the number of things you can do is vastly dwarfed by the number of things you cannot.  However, it is good enough to get some basic Q&A from users w/o bringing a web developer into the equation.

However, what do you do w/ the survey data?  How do I save this data "somewhere else"?  What if I want to include some higher-level logic?

Once you start to understand the pieces of Microsoft's o365 offering you will start scratching your head about how it all connects together.  There are always questions of how/why you should do to integrate X with Y.  But in almost every single scenario, the answer is: do it in Power Automate (Flow).

Sunday, September 23, 2018

Passing Parameters into your App

One of the great things about doing any Web App is just the ability to throw some additional variables/data at it inline via URL (see anything after the likely ? you see in the URL that got you here).  These inline variables are handy ways to do basic integration for data that you don't really care about securing.  PowerApps makes it as simple as any other web app to send data in.  It is accessing/using that data to make decisions before you do anything else that can be annoying.

I have recently (June 2019) completely re-written this post as Microsoft has fixed some of the initial and most annoying aspects of this process.


Thursday, August 9, 2018

Breaking PowerApps - Cannot Save or Edit an app

I just wrapped up about 12 hours of me wondering if I should keep trying to figure out this problem or if I should just quit and start filling out job applications.

It turns out that if you make a change to a SharePoint list that a Model PowerApp links to then it is possible your application can get in such a state that you cannot even edit or save any changes to it.  Completely unusable.  Completely broken.

Now imagine that somebody else controls the SharePoint list you are linking to...

Sunday, April 1, 2018

Filtering on Booleans from SharePoint lists

One of the easiest variables to use/test against in all of programming are Boolean values.  Those are true/false, yes/no or the classic ones and zeros.  And yet, things are not so simple when trying to filter records returned from SharePoint.

Thursday, March 29, 2018

Default Lookup field to logged in user

"Why of course I'd like to have this user lookup field default to the currently logged in user.  That's easy right?"  - New PowerApps Developer
Oh so easy...


Sunday, March 25, 2018

PowerApps: "Fixing" Tab order

Yet again, PowerApps does not fail to disappoint in how certain basic things function while continuing to perform feats of magic on the back-end.

It is best to laugh when you encounter these little glitches, note them, and then quickly not brood over exactly how dumb someone had to be to miss X.

This article deals w/ Tab order and some of the issues you'll encounter

PowerApps: Modal Dialog or Popup Boxes

Once again, PowerApps succeeds at making easy things difficult for everyday tasks.  This time, it is the creation of Dialog or Popup boxes.  Their approach is incredibly flexible from a User Interface perspective, but it makes just creating a simple stupid dialog box an extended series of steps that will cause you to doubt your decision to ever use this a platform.

HOWEVER, do not get discouraged (at least about this).  In fact, it is fairly easy once you change your perspective a bit.

NOTE: Updated in November 2024 to ditch the kludgy methods we used to have to do

Thursday, March 22, 2018

PowerApps: Display a SharePoint User's name in another text field

Some very basic things are just far too convoluted in the current iteration of PowerApps.  Displaying raw text values from lists is one of them.  Even worse, are displaying individual fields from a List of Records.  The most obvious and common problem is just listing the name of a user selected from a SharePoint list (or one/multiple users from the same list).  

This is the primary issue w/ PowerApps: things which you assume to just be simple are convoluted, while things you believe will take forever as just a few mouse clicks away.