Power Platform Build Tools webinar and live demo

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
we are here to talk about application lifecycle management on the power platform we've been talking about it for a while released some tooling um there were some issues with it primarily around multi-factor authentication and you couldn't connect to the environment and we we kind of we encouraged everybody to go and use the build tools we encouraged everybody to also have multi-factor authentication which didn't go very well together so as part of releasing the build tools to ga we um we resolved that so we added service principal support uh for for the authentication so this is really just to like do a rehash of what we've what we've released talk a little bit about the best practices talking about solutions and then demoing what a pipeline actually looks like um so take it away over to you phil yeah thanks so um my name is phil thomas i'm on the powercat team i'm gonna be uh working with pair on these demos and just to talk a little bit about what we've got planned for you today um so the goal is to give you kind of a general overview right this is a broad session here and it is an nda session so we're going to assume that a lot of you aren't coming from a dynamics background you're coming from a canvas apps or sharepoint background and so we're going to cover some of the fundamentals of solutions and other things you need to enable alm and then we'll dive into the devops and how you can automate it and use some of the build tools the pair was just talking about so you can uh get the and then we'll at the end here we'll talk more about what's coming and kind of fill in the alm story i learned best through demos and so uh we're going to be highlighting this through some demos of both building a solution and using the build tools directly anything to add pair no just that that we would love to get feedback and questions throughout this session and we're lighting this up to a lot of folks it's this is this is new it's different than building an app out in the maker experience now that you suddenly start using pipelines and automating stuff so we just we would love any kind of feedback what can we how can we make it better what's what's great what's not so good and so we'll add a little survey in the in the chat as well so for those of you that prefer to to answer through a survey there's an opportunity for that as well as leaving your name if you'd like to like us to reach out to you to chat with you after the fact on on how we can we can make things better for you so i'll start whenever i talk about alm i was it's kind of a nerdy esoteric topic and so i'd like to like just highlight why this is important for everyone even if you do low code right why do you need alm even if you're not writing code and one of the scenarios i always think about is if you've ever gotten an email from your tester who is hopefully testing in their own test environment and they've identified a bug and you try to replicate it in your own environment and you find yourself starting to type an email with those five words you've all typed before we've all typed it right it works on my machine and so that's one of the goals of what we want to automate with alm is the processes that help provide consistency so you're not chasing phantom bugs or or even real bugs because you couldn't find because of configuration differences and so on automate those processes and then there's another common scenario super common even for those that are coming from the dynamic side is if you delayed putting your app into test because you wanted to squeeze in one last feature because you didn't want to take all the time it takes to deploy the code to test and if you imagine your deployment process right too often it resembles something looks like this i i i vote we should watch this guy at the end this is terrific i absolutely love it so this is this is what we're trying to prove i i don't know uh for those of you that that don't know me i i used to to be an isv myself before i joined microsoft and this was kind of like what it was like to try and set up a ci cd um it's still not as simple as we wanted but it's definitely it's definitely better but i absolutely absolutely love this this piece here it's wonderful and it's worth noting that this has 22 000 likes right so this is obviously a common problem wait for it stick the landing rushed it all right so that's the goal of what we're covering today right the goal is to keep you over on this side building apps and not doing these things that happen too often right there's lots of white papers on why management cares about alm but this is really about as a developer and as a maker why why it benefits you and so we really can't talk about this unless we kind of cover solutions and so let's talk about the basics of solutions and solutions if you haven't worked with them before they're a container for everything in your app and so if you've been exporting your canvas apps as an msf file those go in a solution along with the other components and so if we look like we take this dev environment over here right you've got many components in your app you've got flows and you've got a canvas app you've got environment variables and so to rebuild your test environment right one way is to build all those and implement them all one by one but it's hard to get it exactly right right like this sock what if you get the wrong color sock here i'm colorblind i could totally do that and so what solutions do is they give you one package that you could take and deploy to test so that you've got everything controlled and intact so the goal is to help kind of simplify some of these things right is the code broken or is the environment broken i had one customer we spent more time working on their test environment than we did on the app itself right that's not the kind of things that we want to be doing and so let's start with what the manual process looks like of creating and exporting a solution pair do you want to inject anything before i get started on the demo no go ahead go ahead let's see what it looks like all right uh so i've got this app here uh it's an impressive app it's called click and what it does it's canvas app you click on it uh you click on this button it's labeled click and it tells you to the nearest minute what time you clicked on it but it's not in a solution what i'm going to do is come over here into solutions and this is the process that we'll actually be automating with the devops tools the build tools and i'm going to create a new solution i'm going to call my solution click give it a publisher and everyone will have these two default ones it's wise to create your own and we'll talk about the importance of publishers later and then this gives me this solution which is a container for all sorts of things that you can build in power platform and so this one is relatively simple i'm just going to add in my my uh not new ad existing app i'm adding my existing canvas app and so now i've added that to a solution and if i want to deploy this to my test environment i could then export that we'll publish changes i'm going to skip the solution checker we'll just export it right out without the solution checker and i think if there's one thing you should take away right it's just that that always have things in a solution yes it takes you a minute or two minutes longer to get started and create the solution initially but it just makes your life so much simpler moving forward that you keep things in a solution so please please please go and do that you don't have to use the the build tools that will show but you you have to use solutions please so uh we've got unmanaged and managed and we'll talk more about those differences too uh kind of the shortcut is unmanaged is like source code manages what you deploy to test in production and we're deploying to test right now so i've exported this as a managed solution and then it just downloaded right here so now i'll come over to my test environment right click doesn't exist here and i'm going to import this solution and here's my managed solution right number nine and i'll import it and then that will take all the components in the solution and bring them into this environment and so that's the deployment process when done manually and that's what we're going to automate here with the build tools so once that pops up then we'll come and let's uh automate that same process but with a slightly more sophisticated app using the build tools i think we make sure it actually showed up here right proved all right so there's click so the app we're going to use for the uh the devops demo is called uh power cats it's called catfisher here here it is in the edit in edit mode in studio so what it does it's a relatively simple app it gives you an image of a cat you can name it rate it and loads up another another one and you just endlessly rate cats here uh everything's stored in common data service including the images right it's got a gallery it's got two flows one that loads the images and one that sends you an email when you give a five star cat so everyone knows you've got a cute cat in the in the gallery uh as and aside this this app pulls ai generated cat images from this cat does not exist and if you haven't seen this site uh you're gonna need the time you saved from alm because you're gonna you can spend it on the site i'm gonna open up this person doesn't exist uh these are all ai generated people this is not a photo i mean this just i can i can i can hit f5 f5 on the site all day this is bananas um so yeah so anyways catfish or what it does is it um it takes a ai generated pictures of caps and allows you to write them so i've got a solution here and you can see it's got multiple different elements it's got a security role it's got a model driven app so we can administer our rated cats it's got an environment variable so we send the kittygram email to the right email as we move it through environments it's got an entity canvas app and the two flaws so let's use the uh the build tools then to not only move this through environments but put it in source control and so i'll move into azure devops and if you haven't used azure devops i mean what we're doing with pipeline does a lot like flow and this is free you already have it available to you for less than five year users and so we'll start with this and if you haven't used source control before i like to think of source control is like a massive undo button like if i you know change this file here and commit it you'll be able to see like all the changes that have been made and who made them and so you have the same level of control for the files that are within your solution so let's start by building a new pipeline using the power platform build tools and what we're going to do is we're going to take our power cap solution and we're going to bring it into source control bring it into that source repository that we're just looking at and so we'll create an empty job and so these run on an agent so we're going to get a slice of time on a computer we want to be able to allow it to log in as us when it's running this pipeline and so we're going to allow it to access our authentication to check these in and then we'll add a new task now i've already added the power platform build tools if you don't have them installed you get an option to add them to your environment and we'll start by initializing it we'll do the tool installer and that gets us ready to use them going forward and then we're going to do the same steps that we did manually before so we're going to publish customizations which is exactly what we did with click it needs a connection into the environment this is what pair was just saying you can use a username or password or service principles depending on kind of what your organization requires and then next we're going to export the solution just like we did with click so here again we need the connection into the environment this is my dev environment we need the solution name and so if we come back here that is this solution name here not the nice one with the spaces although for mine it's the same so i'll put that in here but rather than put it in there we're gonna be using that over and over again so i'm actually going to create a variable for that so i'll come over here to the variables variables tab create a solution name variable and then we can reuse this variable throughout our pipeline and then the other thing it needs is an output file so we're going to get a chunk of a shared computer where these are going to run and those have predefined variables and folders and we can see the list of them here under predefined variables and in particular what we care about is a place to stage the downloaded solution and so we'll use this folder right here and so we can use that variable as well as our solution name and we'll download it dot zip right our solutions are zip files don't like something let's try this again [Music] there it goes and then after we've uh exported it we'll run power platform checker this is a step i uh i skipped when i when i did my click solution but this allows you then to enforce it and do it automatically for any solutions that are exported from your environment it needs the location of the solution which we saved up there and so we'll just put it there and it also needs the rule set we're not gonna we're not putting it in an app source and one thing to know we can configure this so this this step will fail if we have any higher critical steps or any higher critical errors and so then in that case then our solution won't be checked into source control so it allows us to give a little check a quality check before we get it in there and then finally we'll unpack it so each one of these is a zip file and so we're going to unpack it and put the individual components in source control so we'll take our input file from here paste it here it needs a folder to unpack it and again there's those predefined directories so we'll just use the sources directory and needs to know the type and we talked a little bit about management unmanaged i exported an unmanaged solution so we'll apply that here and then the last step we'll check it into source control parenthesis team have provided a nice command line script that will do the last bit for us so we'll paste this in here and we're ready to run it so what this will do is this will publish customizations export it check it and then unpack it and put it in source control so we have that kind of massive undo button for it every change is made and so we'll let that run and while that's running when i flip back to uh powerpoint and you want to talk a little bit about solutions here yeah maybe maybe just a little bit here um for any of you that's been on the on on the platform for a while maybe or maybe just a year even um we we kind of did not have everything in solutions to begin with from the dynamics 365 side of the house everybody were used to solution but then we started building out the the power apps capabilities and power automate and we added virtual agents and we added the ai builders and we had a business this is a hundred things and um and granted we added them a little faster than our solutioning system could keep up with um so for those of you that's been struggling with you know having canvas apps and having connectors and flows in the same solution and it's not really working and not being able to update i do apologize tremendously um it has been a huge focus um across the various teams and we've done a very big heavy lift here the past six nine months and we're in the last sprint now to make everything everything um work better but now you can have canvas apps in a solution you can have flows in the solution you can have connectors in the solution you can have power virtual agents in a solution you'll have ai builder models in a solution so the the new sort of minimum bar that we have for everything we do now is that we are not ga label anything before it is also healthy from an alm perspective right so you're going to see that that yeah we might preach something and but you will know that when we ga it it it is not only capable of being in a solution but it also connects well and healthy to the other components that might be in that solution and so we're doing the last few stretches of that here and come october you're going to see things um like connection referencing references starting to lit up so that the connection from that you have in dev will actually connect to another connection in prod and so forth so you'll be able to manage those we have that in in private preview at the moment in the maker experience itself in ui we will be adding devops tooling to that as well so um everybody's life if your life is masculine by healthy your healthy your alien practices are everyone's life will be so much better um come october so i think with that with that blurb i think the pipeline might be be done here is still finalizing oh that's what the little microphone button does okay um so the pipeline's done and our uh our solution is that let me and if we just look back to the click solution we downloaded earlier right this is full of files right the ms app file that we would normally download if we were we weren't using a solution is there as well as all these other content and that's what for our catfisher solution was extracted and is now stored in source control so all of those files that make up the power cap solution are now controlled here in source control and every time we check it in we'll be able to look at the differences as well so the next step then is getting things from source control because source control is going to be kind of our one source of truth and then create managed and unmanaged solutions out of that and rather than build that since we've already built a pipeline let's look at a pipeline that does that and so this pipeline uses the same build tools but what it does is it takes then what we've just created in source control it packs those into a solution and it imports them into a build environment so this is a separate environment separate than dev test and prod that is only for creating managed solution so the files that we exported get imp exported as or the files that we have source control get exported as an unmanaged solution import it into that build solution and export it as a managed solution so then we have both types available to us and it's worth calling out the reason why you want to be able to have access to both unmanaged and managed solutions is having unmanaged solutions allow you then to uh rebuild a dev environment right if your dev environment goes south if you get a new developer in addition to the banded solutions which you would deploy to test and deprive you want to talk about publishers at all there yes i want to i want to talk about publishers um for those of you that might have gone in and created um a solution for the first time you'll notice that there is there is a there is also always a a default publisher and reality is there's actually also a default solution what we really want you to do is to make sure that you always create your own publisher and when you create a solution so that way you can differentiate what is it that that you're building versus someone else's building versus what is it that you get from an isv so it's a way for us to identify where the solution came from in the first place so you should always create your own publisher and create your own solution when you use the default publisher never use the default solution then a lot of people say well but why you know why don't you make it simpler and yes we also want to make that experience simpler so the default should simply just land you in your own publisher and your own solution once you start creating a solution so we are we're trying to improve that a lot as well we have a we have a guiding we have one of many guiding principles is that we really want to try and make it more difficult for you to shoot yourselves in the foot we've made it really easy for people to shoot themselves in the foot last year and we're trying to really rectify that and and make it simple to follow the right path because it is very complex to um to dig yourself out of the hole once you've started creating things in the default solution and pushing things on manage to your production environments and so forth so we're we're working very very hard on that um it also gives you the customization prefix and option set values the customization prefixes is nice to have because you can quickly look across all your components and see who actually introduced them which publisher introduced this is something you got from from an isv something you got from microsoft something that you created yourself um so so keep that in mind as well oh and charles is saying very important with versioning pcf controls yeah [Music] so this job is finished and then associated here and stored in azure devops are both the managed and unmanaged versions of the solution so you'll always have those available as well to restore a dev environment or to go to test and prod so i and uh so nick dorman had a had a good comment here i just want to read that out that the concept of a build environment seems like digging carrots with black hole what's the big benefits as opposed to just exporting a man is losing directly from dev i it's uh it does the reason we recommend it let me let me sort of like maybe maybe rewind a little bit we recommend that you um spin up fresh dev environments when you want to start building an app and if you want to improve that app then you spin up a dev environment and import um the latest release of that app from source control if you do that the right way the next automatic solution from your dev environment might work the reason that we really want you to run it through a build environment is that what happens in reality very often is that people have a development environment and they start building an app and they go oh but i i want to test out this little add-on that i got from um from an isv or i got from a community side or somewhere else and quickly you start adding a lot of noise into your dev environment and there is a risk that that some of that noise is going to find its way into the solution that you're building which means that you're going to have missing dependencies when you deploy it to and to a downstream environment when you put it into production so running it through a build environment just makes sure that you have a something that you know can install in a clean environment so so that's one of the main reasons that we we really want you to do that and one of the one of the things we added to the to the build tools recently it's a little known feature is that you can you can spin up environments on demand and run whatever solution you have through that environment that's the variable that that does that for you right so you don't need to have a build environment up and running all the time you can just as part of your pipeline spin up a build environment run the solution through it delete the environment again as part of that build pipeline and pear can i add some context to you please okay so there's a couple of things so the reason we actually support both mechanics so the um use the managed solution to export it as a build artifact concept which is uh what's being pre presented here and the other one is to export both and put them both in your source code the the challenge with the bulls and source code what ends up happening just so you're you're aware of the real difference between managed and managed solutions and source code today is for the merge components so things like sitemap app modules forms and stuff like that that actually have two variants in your source code so if you do export both you'll end up having a managed and unmanaged version of a form as an example and the unmanaged will have the full form and the manage will have just the the deltas which is fine as long as you don't start editing one and not do the other so you have to be able to export both every time you do that so if you can retain the quality of your build pipelines you can go to the point where you actually put both into source code but just note that you're going to have two copies of all those now for our future here we're actually rolling out or sort of testing right now um a scenario right now for forms to be able to um merge both those formats into one so basically uh in the future here we're going to do it with forms site maps and app modules and stuff i got to the point where there'll only be one copy of the solution file and it'll be the same formats whether it's managed or unmanaged it's going to be exporting the the merge xml for forms or and for all the merged components which means that that that point in time with a single solution file you won't need to actually go through a build to get another managed solution because your source will equal your um your mana solution as well thank you sean actually sorry phil that was uh that was that was great yeah one other key comment here um and i just kind of want to punch right at what nick nick was pointing at why would you not just export from a a environment is managed environments over the life of our product we started with the idea that environments were a thing a sticky thing and that an environment was paid for as an environment not as capacity as we have adjusted that outlook environments are highly transitory now so truly the idea of being able to check something out use it toss it check something else out use it toss it is something that we've we've really restructured how we manage environments around so if your company happens to be in the mode where you have a dedicated test or a dedicated dev environment sure take into account what's been said but from a from an overall design architecture of the of the platform point of view really the only thing we expect to be sticky is your production environment and what that production environment is is up to you so i interpreted nick's question as to why would you not export from dev the managed solution as well as the unmanaged not just the only going to manage like we we obviously need the unmanaged so you can actually install it into a new devs you need in your source code the unmanaged one i interpreted his question as to why not just export both together instead of doing a round trip into the um into a separate environment yeah that was actually those because that's how i'm doing it now like when every time like i put it in source control obviously to keep track of the changes but i'll export both i'll do the manage to go to prod or to test and then the unmanaged to go to source control so my original question was this whole build server where we're taking that unmanaged and packing and doing all the stuff i was like okay this seems like a big intermediate step but so whatever i would say is there's two supported ways you're proposing a third which we don't really support so you're saying is you want to check out so basically you want to export design management source code you're only putting on managing source and then you want to go to the dev environment and export as managed and deploy that that would be bad practice i would say is export both manage and manage and use the unpack packed task with the slash both option to store the combined solution with the variance of unmanaged and managed merge components in your source control system such that your source control system is always a source of truth and no development environments in the middle of any deployment yeah i think it's just changing the mindset to uh more visual studio type of thinking than the like you know me i'm an old guy right so we were back when we had to pay for our environment so yeah but you still use one environment you don't need to have a separate build environment in that way but you should still check in both managed and unmanaged and source code if you're going to go without that build intermediate environment thank you okay should we push forward to the pipeline the uh yeah let's take more questions in between sure yes we'll start off creating a new release pipeline and then i've got the setup to deploy to uh uh to qa and then once we uh once it deploys the qa then we'll get it goes to our qa team for approval before going to prod and so this will start the deployment to qa much the same as the other using the same build task and then we'll see it go to my uh my test environment here where powercast does not yet exist as a solution watch that run in the background take a couple more uh questions or if you want to talk a little bit more about road map pair no sega let's take it there's a very good question here from from mariano that says but sometimes he doesn't want the entire solution to be managed is there a way to have an exception list and his example here is how do you deal with final tweaks in a customer environment based on their specific setup and the way you deal with that is that you have a managed solution that's deployed into the customer's environment and the customer has his or her own dev environment where they also have your managed solution installed into that dev environment and they build a solution on top of that where they do the final tweaks and they then have that solution that they build on top that is what they deployed to to the to the block production environment so you have those two two-man solutions in production yeah and um maybe the entire question wasn't around um the solution itself but i'll give you a specific example what if you have to yeah what if you have to switch out connectors and things like those i mean um how do you deal with that if your entire solution is managed yeah so we are rolling out support for these um we call them we call them connection reference so that is coming a little later where you can actually define define those so there isn't great support for that but there will be um in a month or two i don't know shannon anything you want to add to that sorry i was just answering your question uh what was the question again like how to deal with that that you want to switch out the connections in the in in the customer's production environment which is an issue today that we're solving with the connection references um so there's no there isn't a great way to do that right the environment variables and connection references stuff um is all going to be dealt with so we'll we'll be very have healthy and tasks for that very short term that's that's the biggest headache we have right now because uh you know it all depends on the number of variables if the customers have for example office 365 if they're not using office 365 then you know we need to switch out for the standard platform uh email connection those kind of things are the ones that are killing us right now well so if you have so there's two things there's the one is how do you transport and ship the things where they can provide their own values of those connectors but i think what you said here is that you have two variants of your application based on what and you're going to use a different connector in your application based on what they actually have in their subscription and that's you'd have to build that into your model either shipping uh two apps or two flows with uh either having some form of branching that uses one connector versus another or whether you have two separate ones and they just wire up the one that is appropriate for the subscription but yeah switching out a connector to a completely different connector we have not you know put into our model here it's it's more of how to ship connectors or connections and and the things that relate to connections um through solutions so that you don't have to edit your payload um so that you can actually still have your application running after you uh import it yeah and what we were doing internally and i don't want to hijack your meeting is uh we were trying to build some powershell script that would actually switch out the json payload based on the connection that they had so thanks for confirming that at least but if you do that you're going to be in a very unhealthy alm standpoint because exactly it's going to store that the unmanaged layer so as you ship an update your unmanaged layer is going to be on top of that and you'll you'll be frustrated saying i just shipped an update to fix a bug and they're not seeing it why and their only resolution is to go undo that on that active customization further you just said it when when uh frustration land at this point so yeah yeah frustration yeah that's one of the the golden rules here is don't do unmanaged changes because sooner or later we're gonna have a switch that in production environments you can actually turn off or disable and manage changes and you know and and those systems that you would build to do those unmanaged changes are going to break so don't do unmanaged changes it'll make it difficult to service it using other mechanics to give alternatives for your customers such that you can support them via managed solutions only thank you that was helpful there's another there's another question here that i know you get a lot shan and i know you have a good answer for it when will the import process be smart enough to the delta of changes to import rather than the whole thing so the the real thing with that one is the you think of is there's two types of components there are components that we ship full row or full component um and that's most of our components and then there's a couple of them like i said about three or four of them that's ship deltas so things like foreign site map and app modules are merge format capable so those will only ship what's changed the other ones right now today we have a full row you know ship everything now i have it on my roadmap to try to figure out how we can break this down and achieve more fidelity in that because something as simple as an entity um you've got a lot of these metadata attributes on identity is you know is audited enabled and um is chain tracking enabled and a whole pile of those and what happens is when you ship the entity with the metadata you get all of the columns you're not just the ones you've changed i'd like to move it to a model where we can express via some form of segmentation the ability to ship those settings separately from each other whether that comes in sort of a merge format of a per column basis or whether that comes in moving those into individual tables or groups of tables we have to figure out what uh what the end solution for that is but it's it's acknowledged that we do want to have more refinements so for standard entities you can ship just [Music] just the fields that you want changed but you also have to consider then that you have a dependency on the record also being there in the root too because you can't just ship a partial a partial row as the base layer it has to be just an extension above that then we have to go through the whole transition factories to ensure that uh the is very clear as to what you're expressing and that there's no ambiguity because if there's any ambiguity what you might be expressing in your solution file it's not gonna work for us we'll have have to make a decision one way or another and half of our customers um having you know the the desire to do an alternate uh thing would not not be there so we we got to design that one carefully but today it's all it's a whole row or nothing and and in my scenario there with the uh with the entity stuff i got if you changed or shipped let's say um as an isb you shipped with auditing disabled um and into a customer environment if they had and but you turned change tracking on and you included the metadata in your solution in the customer's environment if they had for that entity the auditing turned on you may inadvertently turn it off and you have no intention of that and it's just because we're shipping the whole rows and one of the values is is odd and enabled and your dev environment says no therefore it'll ship it as no and turn it off and prod and that may not be your desire so ack on the problem but we don't have a solution today but we are thinking about this for the future now from the entity standpoint it's there are child components things like forms views and and stuff like that those are we use the um uh segmentation to be able to do that it's just that when we talk about a specific row like in the entity column or a specific row in a like for instance well all canvas apps and all the other ones they all will go to you know full row as the export all right uh back to you phil you wanna well i was i could show i mean for anyone that hasn't seen it i was gonna show reconnecting uh flow after importing um but i know you've got some slides at the end too and we've got about 20 minutes we've got time okay yeah so just for anyone that wasn't tracking that conversation about connection references uh this is the version of the app that i imported in the test you see i have the red squiggles underneath my flow that um goes and pulls the creepy image of the cat down and the what needs to happen here is i need to reconnect that flow and so i can uh come under here under actions i can see the flow that's been imported here when i click on that it's going to re reconnect it and rename it unfortunately to load image 2 and then i can just update this reference here and i've got one hidden down of this button here and then that will reconnect reconnect that flow and also re-reference it here in this app so that uh that this again works and so that's that was the discussion around connection references is those would be kind of uh removed by one layer so that they'll stay with the environment and they'll get reconnected as the app as the app comes in so are you saying that's going to be fixed or is this the traditional process that we still need to follow this is the truth this is the old process here not okay and then the fix this is what would be fixed but quite often in your dev environment you can't even get the flow to come in in the first place it just comes up with an error all the time and you have to you have to do a special flow that calls a child flow that's all it does with one compose statement in it and it's an absolute nightmare and while you're fixing it can you just do it in a way so if i highlight just the um just a segment where that needs to be replaced and reattached the flow i don't lose all my formula why would you want that i'm kidding [Laughter] you know how many times i've had to go the formula notice i carefully copied that before i did anything i know i believe that is a topic that's a different uh it's more of a studio question i believe that is uh in discussion uh the last step in our release process then is to come back to the release uh the prod release is uh is pending approval from my qa team here so i've got the qa group here and if i prove it as them that will then kick off the last step there's other gates you can use but that's just a simple gate to make sure that it goes to prod only when you're ready with that then that's all for the demo let's uh switch back to the slides here uh where do you want to go pair do you want to go to these you want to go to some of the ones at the end no i think we should do we should do a health check as far as the end i mean it's a little bit on github it doesn't take long to go through so let's do a little bit of health check and let's take more questions everybody feel free to to speak up or write them in the chat i'm going to add just a small survey to the chat we're just curious on where people are today um so i would really encourage everyone to take it it's going to take you about 30 seconds to answer the survey that i'm pasting now and as far as the health check everything required a lot of the stuff we talked about the publisher we talked a little bit about segmenting out your dev environments or segmenting out your solution including for doing unmanaged customizations on top of a managed solution uh we've definitely talked about automated process and source control and we've touched upon having disposable dev environments and how storing your unmanaged solutions allow you to recover those and be able to bring on new devs so i think we're getting towards the end here if there are no more questions then i think we can wrap it up anymore anymore thanks all right thank you everyone for watching appreciate you joining and this was great guys survey let us know how we can help thank you you
Info
Channel: Microsoft Power Platform
Views: 4,099
Rating: 4.9230771 out of 5
Keywords: PowerApps
Id: Qwue8fwetJA
Channel Id: undefined
Length: 43min 28sec (2608 seconds)
Published: Thu Aug 20 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.