{"id":1220,"date":"2021-07-05T18:55:44","date_gmt":"2021-07-05T18:55:44","guid":{"rendered":"https:\/\/365stack.in\/?p=1220"},"modified":"2021-11-27T14:21:55","modified_gmt":"2021-11-27T14:21:55","slug":"a-complete-guide-for-migration-to-power-platform-pre-development-analysis-part-1","status":"publish","type":"post","link":"https:\/\/365stack.in\/index.php\/2021\/07\/05\/a-complete-guide-for-migration-to-power-platform-pre-development-analysis-part-1\/","title":{"rendered":"A Complete Guide for Migration to Power Platform: Pre-Development Analysis &#8211; Part 1"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">After having a clear understanding of what the tool can offer, how it can be leveraged in your projects should be well planned. If the application is going to be created from a new requirement, we can focus only on the Power Platform by analyzing the use cases of the requirement and a feasibility study should suffice for common scenarios like approval, functions, references, CRUD operations, integrations, performance, limitations has to be taken care.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Following are some of the Power Platform limitations which one might face in the development phase, hence it should be addressed in the pre-development analysis.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Power Platform Limitations<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">One of the common limitations is, PowerAutomate flows will live only for <a href=\"https:\/\/docs.microsoft.com\/en-us\/power-automate\/limits-and-config#duration-limits\" target=\"_blank\" rel=\"noreferrer noopener\">30 days<\/a>, most of the flows will get completed in a maximum of 5 minutes except if the following actions like Do Until, Approval, Pause until were used. This must be addressed while implementing solutions and will apply to workflow run history also.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Power Platform solution architects should be well versed in the cost perspective to give a better solution.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/PowerApps-Limitation.jpg?resize=400%2C200&#038;ssl=1\" alt=\"\" width=\"400\" height=\"200\" data-recalc-dims=\"1\" \/><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Flow Infinite Loop<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">This is a common limitation in most of the workflows especially when it is tied with SharePoint. When the workflow updates the current item and the workflow trigger is on item update, a design issue will be thrown. If the list has a customized form it can be managed with a flag column otherwise it should be handled within the flow.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1270\" data-permalink=\"https:\/\/365stack.in\/infiniteloop-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/InfiniteLoop-1.png?fit=342%2C291&amp;ssl=1?v=1625507302\" data-orig-size=\"342,291\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"InfiniteLoop\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/InfiniteLoop-1.png?fit=300%2C255&amp;ssl=1?v=1625507302\" data-large-file=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/InfiniteLoop-1.png?fit=342%2C291&amp;ssl=1?v=1625507302\" src=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/InfiniteLoop-1.png?resize=262%2C200&#038;ssl=1\" alt=\"\" class=\"wp-image-1270\" width=\"262\" height=\"200\" data-recalc-dims=\"1\" \/><figcaption>Infinite Loop Warning<\/figcaption><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Threshold Limitation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">One who is well-versed with SharePoint will be familiar with this issue, SharePoint has a threshold limitation of having a maximum of 12 lookups in a view. We can add more than that to the list, but it will throw integration errors in PowerApps and flow behavior will be a bit different. It could be managed by mapping the flow actions and triggers to different views with limited lookup columns.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"106\" data-attachment-id=\"1271\" data-permalink=\"https:\/\/365stack.in\/thresholdissue\/\" data-orig-file=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/ThresholdIssue-e1625507783976.png?fit=1532%2C255&amp;ssl=1?v=1625507788\" data-orig-size=\"1532,255\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"ThresholdIssue\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/ThresholdIssue-e1625507783976.png?fit=300%2C50&amp;ssl=1?v=1625507788\" data-large-file=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/ThresholdIssue-e1625507783976.png?fit=640%2C106&amp;ssl=1?v=1625507788\" src=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/ThresholdIssue-e1625507783976-1024x170.png?resize=640%2C106&#038;ssl=1\" alt=\"\" class=\"wp-image-1271\" srcset=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/ThresholdIssue-e1625507783976.png?w=1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/ThresholdIssue-e1625507783976.png?w=300&amp;ssl=1 300w, https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/ThresholdIssue-e1625507783976.png?w=768&amp;ssl=1 768w, https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/ThresholdIssue-e1625507783976.png?w=1532&amp;ssl=1 1532w, https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/ThresholdIssue-e1625507783976.png?w=1280&amp;ssl=1 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><figcaption>Lookup Threshold Warning<\/figcaption><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Default Impersonation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Power Automate by default will run in the flow owner instance, on an update or create item action in the flow, owner name gets updated in the metadata fields instead of the actual user name who initiates the trigger.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" data-attachment-id=\"1272\" data-permalink=\"https:\/\/365stack.in\/power-automate-connection\/\" data-orig-file=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Power-Automate-Connection.jpg?fit=657%2C324&amp;ssl=1?v=1625507979\" data-orig-size=\"657,324\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Power Automate Connection\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Power-Automate-Connection.jpg?fit=300%2C148&amp;ssl=1?v=1625507979\" data-large-file=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Power-Automate-Connection.jpg?fit=640%2C316&amp;ssl=1?v=1625507979\" src=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Power-Automate-Connection.jpg?fit=640%2C200&#038;ssl=1\" alt=\"\" class=\"wp-image-1272\" width=\"-342\" height=\"200\" srcset=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Power-Automate-Connection.jpg?w=657&amp;ssl=1 657w, https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Power-Automate-Connection.jpg?w=300&amp;ssl=1 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><figcaption>Power Automate Connection reference<\/figcaption><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Email From Address<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Email actions in Power Automate will send mail from the owner instance, and the email is sent from the owner mailbox. The mail receiver will be confused a bit in such a scenario when it is not configured with their site or app name.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Send-Email-From-Address.png?resize=435%2C158&#038;ssl=1\" alt=\"\" width=\"435\" height=\"158\" data-recalc-dims=\"1\" \/><figcaption>Email From Address<\/figcaption><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/365stack.in\/index.php\/2021\/11\/21\/how-to-create-custom-attachment-control-in-powerapps\/\" target=\"_blank\" rel=\"noreferrer noopener\">Library Attachments<\/a><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">There is no out-of-the-box control to upload files to a SharePoint library, we have to do it in a roundabout way.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Power-Apps-Attachment.png?fit=640%2C200&#038;ssl=1\" alt=\"\" width=\"-95\" height=\"200\" data-recalc-dims=\"1\" \/><figcaption>Power Apps Library Attachments<\/figcaption><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Check user in SharePoint group<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Power Automate has no OOTB function to check whether the user is a part of a particular SharePoint group.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Get-User-from-Group.png?fit=640%2C200&#038;ssl=1\" alt=\"\" width=\"-252\" height=\"200\" data-recalc-dims=\"1\" \/><figcaption>Send HTTP Request<\/figcaption><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Print Option<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">This is one thing on which Power Apps really need to focus on, Even though they have a <a href=\"https:\/\/365stack.in\/index.php\/2021\/06\/05\/print-screens-in-your-canvas-app\/\" target=\"_blank\" rel=\"noreferrer noopener\">Print()<\/a> function it is not working in SharePoint Customize form.&nbsp; For this problem, an <a href=\"https:\/\/365stack.in\/index.php\/2021\/09\/17\/powerapps-print-form-to-pdf\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTML form<\/a> has to be created to achieve this functionality.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Power-Apps-Print.png?fit=640%2C200&#038;ssl=1\" alt=\"\" width=\"-45\" height=\"200\" data-recalc-dims=\"1\" \/><figcaption>Power Apps Print<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">This is part 1 of the Predevelopment analysis post, Please do follow up on the <a href=\"https:\/\/365stack.in\/index.php\/2021\/07\/06\/a-complete-guide-for-migration-to-power-platform-pre-development-analysis-part-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">next post<\/a> for the analysis based on the legacy systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Please leave your valuable comments and suggestions, Happy Building \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If the application is going to be created from a new requirement, we can focus only on the Power Platform by analyzing the use cases of the requirement and a feasibility study should suffice for common scenarios like approval, functions, references, CRUD operations, integrations, performance, limitations has to be taken care.<\/p>\n","protected":false},"author":2,"featured_media":1285,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[32],"tags":[35,43,37,46,45,38,33,34,9,41,10,40,36,39],"class_list":["post-1220","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-power-platform","tag-infopath-to-powerapps","tag-k2-to-powerplatform","tag-lotusnotes-to-powerplatform","tag-microsoft-365","tag-migration-best-practices","tag-nintex-to-powerplatform","tag-power-platform","tag-power-platform-migration","tag-powerapps","tag-powerapps-migration","tag-powerautomate","tag-powerautomate-migration","tag-sharepoint-designer-to-powerautomate","tag-sharepoint-migration"],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/365stack.in\/wp-content\/uploads\/2021\/07\/Requirement-Anlaysis-scaled.jpeg?fit=2560%2C1768&ssl=1","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/posts\/1220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/comments?post=1220"}],"version-history":[{"count":12,"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/posts\/1220\/revisions"}],"predecessor-version":[{"id":1750,"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/posts\/1220\/revisions\/1750"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/media\/1285"}],"wp:attachment":[{"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/media?parent=1220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/categories?post=1220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/365stack.in\/index.php\/wp-json\/wp\/v2\/tags?post=1220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}