<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Learning SharePoint</title>
	<atom:link href="http://learningsharepoint.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://learningsharepoint.com</link>
	<description>SharePoint. Office 365. Azure.</description>
	<lastBuildDate>Sun, 09 Aug 2020 00:01:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
<site xmlns="com-wordpress:feed-additions:1">167782556</site>	<item>
		<title>Things to note when using Embedded Canvas-app in PowerApp + CDS</title>
		<link>https://learningsharepoint.com/things-to-note-when-using-embedded-canvas-app-in-powerapp-cds/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=things-to-note-when-using-embedded-canvas-app-in-powerapp-cds</link>
					<comments>https://learningsharepoint.com/things-to-note-when-using-embedded-canvas-app-in-powerapp-cds/#comments</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 24 Jul 2020 13:18:28 +0000</pubDate>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Common Data Service]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[PowerApps]]></category>
		<guid isPermaLink="false">https://learningsharepoint.com/?p=308</guid>

					<description><![CDATA[Lately, I been working with Embedded Canvas-apps a lot. I have a few tips for you that would come in&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Lately, I been working with Embedded Canvas-apps a lot. I have a few tips for you that would come in handy while planning the utilization of these apps in your project. </p>



<p></p>



<h3 class="wp-block-heading"><strong>My List &#8211; </strong></h3>



<p>1. Model-app object does not load instantly when Canvas-app is loaded. It might take anywhere from 1 to 5 seconds for the @ModelDrivenFormIntegration to load with CDS values.</p>



<p><strong>Solution </strong>&#8211; Add a Timer control to the Canvas-app and load the values from @ModelDrivenFormIntegration object on 3 sec TimerEnd() function. The model app object should load with values from the parent record by the end of the timer. See #4 below on how to load @ModelDrivenFormIntegration object so all lookup values are loaded.</p>



<p>2. When you patch values in Canvas-app for the model-app record, to use the new patched values in Canvas-app, you would require to re-run the timer and re-load ModelDrivenFormIntegration object. </p>



<p><strong>Solution </strong>&#8211; Stop, Reset and start the timer again if you are displaying values of, for example, Lookup Columns, etc. See #5 below.</p>



<p>3. An Embedded App only runs in Edit Forms and not in New forms. </p>



<p><strong>Solution </strong>&#8211; Pre-save the form using javascript to load your Embedded Canvas-app.</p>



<p>4. You might see empty values for lookup fields from the @ModelDrivenFormIntegration model-app&#8217;s object. </p>



<p><strong>Solution </strong>&#8211; In order to access Lookup fields or Related items, you need to pre-load the Model-app parent record of the Canvas-app in reference by the unique id of the model-app item before using it in the query. Example below.</p>



<pre class="wp-block-preformatted">UpdateContext(
    {
        _modelappRecord: LookUp(
            'PrimaryEntity',
            'PrimaryEntity UniqueId Colum' = ([@ModelDrivenFormIntegration].Item.'Unique ID')
        )
    }
);

UpdateContext({_lookupEntityRecord: _modelappRecord.'Entity Lookup Column'});</pre>



<p> &#8216;Entity Lookup Column&#8217; is the Lookup column in model-app to a different entity. _lookupEntityRecord will contain a record of the lookup item. You can further access properties of the lookup entity by using its properties example :  <strong>_lookupEntityRecord.ID</strong></p>



<p>Alternatively, it is suggested to add a hidden grid-bind to the primary entity so ModelDrivenFormIntegration keeps in sync. I found the above timer and pre-load of _modelappRecord more convenient as the grid was making the canvas-app slower.</p>



<p>5.&nbsp; Sometimes the @ModelDrivenFormIntegration does not load and the timer also runs out. </p>



<p><strong>Solution </strong>&#8211; Recommended adding a reload button\icon and re-trigger the timer on the reload button. Something like below. Set _startTimer to StartTimer function of your Timer. Example below.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<pre class="wp-block-preformatted"><p>UpdateContext(<span style="font-family: &quot;Open Sans&quot;, sans-serif; font-size: 1rem;">{&nbsp;&nbsp; _startTimer: false });</span></p><p><span style="font-family: &quot;Open Sans&quot;, sans-serif; font-size: 1rem;">Reset(Timer);</span></p>UpdateContext({_startTimer: true});</pre>
</div></div>



<p>6. Canvas-app refreshes if any one required value is set on the Model-app.</p>



<p>7. When patching values from within the Embedded app in your model-app, make sure to refresh the form to reflect the changes. Example below.</p>



<pre class="wp-block-preformatted">Patch(
        'PrimaryEntity',
        _modelappRecord,
        {
           IsComplete: 'IsComplete (PrimaryEntity)'.Yes
        }
    );

    ModelDrivenFormIntegration.RefreshForm(true);</pre>



<p>7. The same Canvas-app can be added to different screens\sections of your Model-app by duplicating the app&#8217;s Canvas-app Id. Bind the other embedded apps to static value and then add the existing app&#8217;s id.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="591" height="556" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/08/bind-Canvasapp-to-existing-canvas-app.png?resize=591%2C556&#038;ssl=1" alt="" class="wp-image-345" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/08/bind-Canvasapp-to-existing-canvas-app.png?w=591&amp;ssl=1 591w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/08/bind-Canvasapp-to-existing-canvas-app.png?resize=300%2C282&amp;ssl=1 300w" sizes="(max-width: 591px) 100vw, 591px" /><figcaption>Add Canvas-app id in an model-app Control for adding existing Canvas-app</figcaption></figure>



<p>8. There is a  limit of <span style="text-decoration: underline;">three Web Canvas-Apps per form</span> where only one app loads at a time. If you try to add another copy of an embedded canvas-app, you will see the following error.</p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/08/ThreeCanvasapp_allowed.png?resize=595%2C291&#038;ssl=1" alt="" class="wp-image-346" width="595" height="291" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/08/ThreeCanvasapp_allowed.png?w=595&amp;ssl=1 595w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/08/ThreeCanvasapp_allowed.png?resize=300%2C147&amp;ssl=1 300w" sizes="(max-width: 595px) 100vw, 595px" /><figcaption>Error while adding another copy of a Canvas-app in model-app form</figcaption></figure>



<p>9. Canvas-app does not inherit Security Roles from Model-app form. You have to explicitly share your Canvas-app with users and provide them with a security role (several exceptions to it, read below).</p>



<h3 class="wp-block-heading">Sharing an Embedded<strong> Canvas-app With Users</strong></h3>





<ul class="wp-block-list"><li>Regardless of permissions, no two people can edit an app at the same time. If one person opens the app for editing, other people can run it but not edit it.</li><li>You can&#8217;t share an app with a distribution group in your organization or with a group outside your organization.</li><li>You can share an app with Office 365 groups. However, the group must be security enabled.</li><li>You can assign security roles to individual users and security groups (including mail-enabled security groups) while sharing the Canvas-app with them.</li><li>If your AD security group is mapped with the dynamics&#8217; AAD security group Team and has a security role assigned to it, <span style="text-decoration: underline;">you do not need to assign the role</span> <span style="text-decoration: underline;">again</span> to that security group while sharing the Canvas-app.  Simply share the Canvas-app with the security group or AAD group with no security roles assigned as they inherit the roles from the mapped group Team.</li></ul>



<p>Also, read Microsoft&#8217;s guidelines on using Embedded Canvas-app @ <a href="https://docs.microsoft.com/en-us/powerapps/maker/model-driven-apps/embedded-canvas-app-guidelines&quot;"><u>Guidelines on working with embedded canvas apps</u></a>. Very useful.</p>



<p>Related: <a href="https://learningsharepoint.com/clear-date-field-in-cds-for-a-model-driven-power-app/"><span style="text-decoration: underline;">Clear Date Field in CDS for a Model-driven Power App using business process</span></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://learningsharepoint.com/things-to-note-when-using-embedded-canvas-app-in-powerapp-cds/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">308</post-id>	</item>
		<item>
		<title>Clear Date Field in CDS for a Model-driven Power App</title>
		<link>https://learningsharepoint.com/clear-date-field-in-cds-for-a-model-driven-power-app/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=clear-date-field-in-cds-for-a-model-driven-power-app</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 23 Jul 2020 18:33:23 +0000</pubDate>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Common Data Service]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[PowerApps]]></category>
		<guid isPermaLink="false">https://learningsharepoint.com/?p=294</guid>

					<description><![CDATA[Among many challenges of working with Model-driven app and Common Data Service, one specific that took some time to figure&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Among many challenges of working with Model-driven app and Common Data Service, one specific that took some time to figure out was how to clear a Date Field in CDS.</p>



<p>While trying to figure this out, I used various methods (that did not work for me btw but might work in your situation). These are : </p>



<ol class="wp-block-list"><li>Assign a new blank date Field to the existing CDS field. </li><li>Assign Blank() to the CDS Field. </li><li>Assigning bank text to the Date field. </li></ol>



<p>What actually worked for me at the end was the <span style="text-decoration: underline;">conventional Dynamics Process</span> that would run to clear the Date Completed field when a certain condition is met.</p>



<p> In my case, the Date Filed was called &#8220;Date Completed&#8221; and a check to clear it was a two options field called &#8220;IsComplete&#8221;. Setting IsComplete to yes (through my canvas-app) would trigger the process below and clear the Date Filed in CDS record. </p>



<p><strong>Corn </strong>&#8211; Because the process works asynchronously, there is a delay in clearing the field value in CDS. </p>



<p>Steps to configure are &#8211; </p>



<ol class="wp-block-list"><li>Create a new Process workflow in Power Apps from within your solution or from dynamics classic window under your entity. </li><li>Set the parameters as below for  Scope, Record Field Changes, automatically delete completed workflow jobs, and Run this workflow in the background.</li><li>Add a new Step with Condition on your Indicator field. For example, <strong>IsComplete </strong>equals to <strong>No</strong> as in my case.</li><li>Add Update Item step.</li></ol>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/Clear-Date-Complete-process.png?resize=640%2C256&#038;ssl=1" alt="" class="wp-image-296" width="640" height="256" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/Clear-Date-Complete-process.png?resize=1024%2C411&amp;ssl=1 1024w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/Clear-Date-Complete-process.png?resize=300%2C120&amp;ssl=1 300w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/Clear-Date-Complete-process.png?resize=768%2C308&amp;ssl=1 768w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/Clear-Date-Complete-process.png?w=1333&amp;ssl=1 1333w" sizes="(max-width: 640px) 100vw, 640px" /></figure></div>



<p>5. Select the Date Field to clear and then set the clear operator.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="688" height="202" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/Set_DatetoBlank_UpdateRec.png?resize=688%2C202&#038;ssl=1" alt="" class="wp-image-300" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/Set_DatetoBlank_UpdateRec.png?resize=1024%2C300&amp;ssl=1 1024w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/Set_DatetoBlank_UpdateRec.png?resize=300%2C88&amp;ssl=1 300w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/Set_DatetoBlank_UpdateRec.png?resize=768%2C225&amp;ssl=1 768w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/Set_DatetoBlank_UpdateRec.png?w=1203&amp;ssl=1 1203w" sizes="auto, (max-width: 688px) 100vw, 688px" /></figure>



<p>6. Save and activate the proccess. </p>



<p>In my case, I am patching the IsComplete value from my embedded Canvas-app but you can also update it through flow (manually triggering flow from within the model-driven app) which in turn will trigger the process.</p>



<p>Hope it helps!</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">294</post-id>	</item>
		<item>
		<title>Flow not running after assigning record to different BU &#8211; Power Apps</title>
		<link>https://learningsharepoint.com/flow-not-running-after-assigning-record-to-different-bu-power-apps/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flow-not-running-after-assigning-record-to-different-bu-power-apps</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 29 May 2020 19:04:54 +0000</pubDate>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Common Data Service]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[PowerApps]]></category>
		<guid isPermaLink="false">https://learningsharepoint.com/?p=271</guid>

					<description><![CDATA[Quick tip about the scopes of Flow when using a Model-driven app with Common Data Service and Flows with CDS&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Quick tip about the scopes of Flow when using a Model-driven app with Common Data Service and Flows with CDS connectors. </p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/05/searching_lsp.png?resize=533%2C400&#038;ssl=1" alt="CDS FLOW Business unit error" class="wp-image-273" width="533" height="400" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/05/searching_lsp.png?resize=1024%2C768&amp;ssl=1 1024w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/05/searching_lsp.png?resize=300%2C225&amp;ssl=1 300w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/05/searching_lsp.png?resize=768%2C576&amp;ssl=1 768w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/05/searching_lsp.png?w=1216&amp;ssl=1 1216w" sizes="auto, (max-width: 533px) 100vw, 533px" /></figure>



<p>I had to assign a Team as a new Owner of a record in a model-driven app after the user has submitted the record for review. The assignment part worked, but the flow would not run further after this new team becomes the Owner. </p>



<p>This new Owners team had appropriate security roles assigned to it and had enough rights on Processes (in the customization tab in security role) to run a flow. </p>



<p>So, the issue definitely lied on Flow&#8217;s side. I believe the error I got was below.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="302" height="210" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/BU_issue.png?resize=302%2C210&#038;ssl=1" alt="" class="wp-image-304" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/BU_issue.png?w=302&amp;ssl=1 302w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2020/07/BU_issue.png?resize=300%2C209&amp;ssl=1 300w" sizes="auto, (max-width: 302px) 100vw, 302px" /></figure>



<p>Turn&#8217;s out, I had used CDS (current environment) connector which lists out scopes the flow should run under.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Scopes determine if your flow runs when you(the user) creates a new record, or when a new record is created by a user within your business unit, or when a new record is created by any user in your organization.</p><cite><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/docs.microsoft.com/en-us/power-automate/media/cds-connector/scopes.png?w=688&#038;ssl=1" alt="Choose scope"></cite></blockquote>



<p>Set your Flow to run at Parent: Child business unit or Organization (depending upon your new Teams&#8217; BU&#8217;s location ) if you wish the new assignee BU team to run your flow.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">271</post-id>	</item>
		<item>
		<title>Power BI Governance &#8211; Access Management, Recommendations, and Best Practices</title>
		<link>https://learningsharepoint.com/power-bi-governance-access-management-recommendations-and-best-practices/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=power-bi-governance-access-management-recommendations-and-best-practices</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 13 Apr 2020 16:19:17 +0000</pubDate>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[Office 365 Governance]]></category>
		<category><![CDATA[Power BI]]></category>
		<category><![CDATA[SharePoint Online]]></category>
		<guid isPermaLink="false">https://learningsharepoint.com/?p=227</guid>

					<description><![CDATA[This document outlines permissions management for Power BI Workspace and features of new admin, Member and Contributor and Viewer Roles.&#8230;]]></description>
										<content:encoded><![CDATA[
<p>This document outlines permissions management for Power BI Workspace and features of new admin, Member and Contributor and Viewer Roles. </p>



<p>Recommendations and best practices for sharing reports per role are also included. </p>



<p>The document can be tailored as per your companies needs and used for publishing reports to production workspaces. Free to Download. </p>



<p><a href="https://www.slideshare.net/learningsharepointadmin/power-bi-governance-access-management-recommendations-and-best-practices">Download from Slideshare</a></p>



<iframe src='https://www.slideshare.net/slideshow/embed_code/231908748' width='688' height='564' sandbox="allow-popups allow-scripts allow-same-origin allow-presentation" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>



<p></p>



<p><strong>Related: </strong>Download <a href="https://learningsharepoint.com/ms-flow-basics-troubleshooting-and-operational-errors/">Ms Flow basics, troubleshooting and operational errors</a></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">227</post-id>	</item>
		<item>
		<title>PowerShell Script to update columns in SharePoint Online</title>
		<link>https://learningsharepoint.com/powershell-script-to-update-columns-in-sharepoint-online/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=powershell-script-to-update-columns-in-sharepoint-online</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 08 Apr 2020 15:18:14 +0000</pubDate>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[Power Shell]]></category>
		<category><![CDATA[SharePoint Online]]></category>
		<guid isPermaLink="false">https://learningsharepoint.com/?p=210</guid>

					<description><![CDATA[Quick ready-to-use PowerShell script that you can give your admins to update single or multiple fields in a SharePoint Online&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Quick ready-to-use PowerShell script that you can give your admins to update single or multiple fields in a SharePoint Online site.</p>



<div class="wp-block-file"><a href="https://learningsharepoint.com/wp-content/uploads/2020/04/UpdateSPOListItem_PowerShellforAdmins.txt">SP2010UpdateWFFields</a><a href=" https://learningsharepoint.com/wp-content/uploads/2020/04/UpdateSPOListItem_PowerShellforAdmins.txt" class="wp-block-file__button" download="">Download</a></div>



<p>Download the attached script from above and save it as .ps1. </p>



<p>The Script will ask for the following (for your admins to enter) :</p>



<pre class="wp-block-preformatted"><ul>
<li>"Enter the Admin URL of 0365 (eg. https://&lt;Tenant Name&gt;-admin.sharepoint.com)"</li>

<li>"Enter the username of 0365 (eg. admin@&lt;tenantName&gt;.onmicrosoft.com)"</li>

<li>"Please enter the password for $($userName)" -AsSecureString</li>

<li>"Enter the Site URL"</li>

</ul>
</pre>



<p>Change the following in the script : </p>



<ul class="wp-block-list"><li><strong>Library Name  </strong></li></ul>



<pre class="wp-block-preformatted">   Look for "$_list = $_lists.GetByTitle("<em><strong>Documents</strong></em>")"</pre>



<ul class="wp-block-list"><li><strong>Columns to Update</strong></li></ul>



<pre class="wp-block-preformatted">Look for   $listItem["<strong><em>ProjectID</em></strong>"] = $listItem["<strong><em>TempProjectID</em></strong>"] # Update Field Value Here </pre>



<p></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">210</post-id>	</item>
		<item>
		<title>Manage Permissions for Files in your OneDrive for Business [Video]</title>
		<link>https://learningsharepoint.com/manage-permissions-for-files-in-your-onedrive-for-business-video/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=manage-permissions-for-files-in-your-onedrive-for-business-video</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 04 Apr 2020 23:35:08 +0000</pubDate>
				<category><![CDATA[End-user Tutorials]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[Office 365 Videos]]></category>
		<category><![CDATA[OneDrive for Business]]></category>
		<category><![CDATA[SharePoint Online]]></category>
		<guid isPermaLink="false">https://learningsharepoint.com/?p=199</guid>

					<description><![CDATA[Office 365 End-user Tutorial Video from our Archive. Tutorial Video on how to Share and Manage Permissions for files in&#8230;]]></description>
										<content:encoded><![CDATA[
<p> Office 365 End-user Tutorial Video from our Archive. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p> <em> Tutorial Video on how to Share and Manage Permissions for files in OneDrive or SharepPoint.</em> </p></blockquote>



<figure class="wp-block-video"><video controls src="https://learningsharepoint.com/wp-content/uploads/2020/04/Manage-Permissions-for-Files-in-your-OneDrive-for-Business.mp4"></video><figcaption> <strong>End-user Tutorial</strong> &#8211; <strong>Manage Permissions for Files in your OneDrive for Business or SharePoint Team Site</strong> (English)<br><a href="https://learningsharepoint.com/wp-content/uploads/2020/04/Manage-Permissions-for-Files-in-your-OneDrive-for-Business.mp4"><b><u>Download Here</u></b></a><br><br>  (Open the Video and access download from bottom right &#8220;&#8230;&#8221; option) </figcaption></figure>



<p><a href="https://www.youtube.com/watch?v=rexuRCcXW3o&amp;t=47s"><strong>Youtube link. </strong></a></p>
]]></content:encoded>
					
		
		<enclosure url="https://learningsharepoint.com/wp-content/uploads/2020/04/Manage-Permissions-for-Files-in-your-OneDrive-for-Business.mp4" length="12578419" type="video/mp4" />

		<post-id xmlns="com-wordpress:feed-additions:1">199</post-id>	</item>
		<item>
		<title>Power Automate (MS Flow) Presentation on &#8211; SPlit On, Concurrency Control, Pagination, Access Configuration</title>
		<link>https://learningsharepoint.com/power-automate-ms-flow-presentation-on-split-on-concurrency-control-pagination-access-configuration/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=power-automate-ms-flow-presentation-on-split-on-concurrency-control-pagination-access-configuration</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 25 Nov 2019 03:42:25 +0000</pubDate>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[End-user Tutorials]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[Power Automate]]></category>
		<guid isPermaLink="false">https://learningsharepoint.com/?p=163</guid>

					<description><![CDATA[I recently presented in SharePoint Saturday Toronto on Power Automate (MS Flow) basics, Behind the Scenes, Errors, and Troubleshooting. The&#8230;]]></description>
										<content:encoded><![CDATA[
<p>I recently presented in SharePoint Saturday Toronto on Power Automate (MS Flow) basics, Behind the Scenes, Errors, and Troubleshooting. The session included tips on avoiding being Throttled and tips on when &amp; how to use SPlit On, Concurrency Control and Pagination on a flow trigger. Also, I have added the best Practises on how to set up Access Control for Flow Connections.    </p>



<p>Download or View my slidedeck on Slideshare.</p>



<iframe src='https://www.slideshare.net/slideshow/embed_code/197067069' width='688' height='564' sandbox="allow-popups allow-scripts allow-same-origin allow-presentation" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>



<p>     </p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">163</post-id>	</item>
		<item>
		<title>SharePoint Migration &#8211; Preserve the Workflow History from SharePoint On-prem to SharePoint Online</title>
		<link>https://learningsharepoint.com/sharepoint-migration-preserve-the-workflow-history-from-sharepoint-on-prem-to-sharepoint-online/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sharepoint-migration-preserve-the-workflow-history-from-sharepoint-on-prem-to-sharepoint-online</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 20 Nov 2019 00:15:52 +0000</pubDate>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[SharePoint Online]]></category>
		<guid isPermaLink="false">https://learningsharepoint.com/?p=120</guid>

					<description><![CDATA[Often it is asked by end-users to preserve the workflow history for out-of-the-box Approval workflows when moving to SharePoint Online&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Often it is asked by end-users to preserve the workflow history for out-of-the-box Approval workflows when moving to SharePoint Online (Office 365). Since none of the well-known migration tools supported moving Workflow history as it is, I worked on a workaround idea of my own.</p>



<p>The idea was to give users a familiar text of who approved the task and when that typically appears on the Workflow history page of an Item. This text can be pulled-in from the hidden workflow history list, and, added to a blank text column <b><i>WorkflowHistory </i></b> next to the document. Once the workflow data is added in one of the Columns of the document library, it can be migrated like any other column that depicts document&#8217;s properties.  </p>



<p>For the example below, I created a multiline <em>WorkflowHistory </em>field in the library and populated it with OOB Approval Workflow&#8217;s Outcome  &amp; Description data pulled-in from the hidden workflow history list using a PowerShell script.  Fields &#8211; Outcome and Description are queried based on the item id and list id and data from all tasks of workflow on an item is populated. </p>



<p>A PowerShell script automates the process (except few parameters) is available for download below. See details of modification before running it in your SharePoint 2010 or SharePoint 2013 environment. </p>



<p>Download the attached script from below and make the following Changes :    </p>



<div class="wp-block-file"><a href="https://learningsharepoint.com/wp-content/uploads/2019/11/SP2010UpdateWFFields.txt">SP2010UpdateWFFields</a><a href="https://learningsharepoint.com/wp-content/uploads/2019/11/SP2010UpdateWFFields.txt" class="wp-block-file__button" download>Download</a></div>



<ul class="wp-block-list"><li>Change the value for your SharePoint 2010\2013 site in $siteUrl = &#8220;{<strong>yoursiteurl</strong>}&#8221;  line.</li><li>Change the value for &#8220;Documents&#8221; to specify your own documnet library in $_list = $_lists.GetByTitle(&#8220;<strong>Documents</strong>&#8220;) line.</li><li>Change the folder path to specify folder 14 or 15 as per your SharePoint version. Example, change path in <em>Add-Type -Path &#8220;C:\Program Files\Common Files\microsoft shared\Web Server Extensions\14\ISAPI\Microsoft.SharePoint.Client.dll&#8221;</em> </li></ul>



<p>The script runs per library, and, runs in batches to take care of 5000+ item threshold. Run it on PowerShell version 3 on your SharePoint 2010 or SharePoint 2013 server.</p>



<p>For questions, drop me a note in the comments below or ask on Twitter or LinkedIn. </p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">120</post-id>	</item>
		<item>
		<title>Using PowerApps to Hide, Disable, set current date, align and format Fields in SharePoint Online Forms</title>
		<link>https://learningsharepoint.com/using-powerapps-to-hide-disable-set-current-date-align-and-format-fields-in-sharepoint-online-forms/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-powerapps-to-hide-disable-set-current-date-align-and-format-fields-in-sharepoint-online-forms</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 19 Nov 2019 14:16:51 +0000</pubDate>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[PowerApps]]></category>
		<category><![CDATA[SharePoint Online]]></category>
		<guid isPermaLink="false">https://learningsharepoint.com/?p=131</guid>

					<description><![CDATA[Described below, few functions to modify fields in SharePoint Custom forms using PowerApps. The Columns are all created in the&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Described below, few functions to modify fields in SharePoint Custom forms using PowerApps. The Columns are all created in the list but modified to add formula or text in PowerApps. Open your form in PowerApps (select Customize forms under PowerApps tab) and then continue selecting each field and modify its properties.</p>



<h2 class="wp-block-heading">Set Default Date to Today&#8217;s date &#8211;</h2>



<p>Select the Date &amp; Time Column in your form and then set the value for property <em>Default </em>Date to <strong><em>Now()</em></strong>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2560" height="415" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Request_date_powerapps-scaled.png?fit=688%2C112&amp;ssl=1" alt="" class="wp-image-146" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Request_date_powerapps-scaled.png?w=2560&amp;ssl=1 2560w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Request_date_powerapps-scaled.png?resize=300%2C49&amp;ssl=1 300w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Request_date_powerapps-scaled.png?resize=1024%2C166&amp;ssl=1 1024w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Request_date_powerapps-scaled.png?resize=768%2C125&amp;ssl=1 768w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Request_date_powerapps-scaled.png?resize=1536%2C249&amp;ssl=1 1536w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Request_date_powerapps-scaled.png?resize=2048%2C332&amp;ssl=1 2048w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Request_date_powerapps-scaled.png?resize=1600%2C259&amp;ssl=1 1600w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Request_date_powerapps-scaled.png?w=1376&amp;ssl=1 1376w" sizes="auto, (max-width: 688px) 100vw, 688px" /></figure>



<h2 class="wp-block-heading">Pre-populate Logged in user in Person &amp; Group Field &#8211;</h2>



<p>Please refer to my article <a href="https://learningsharepoint.com/display-current-logged-in-user-in-sharepoint-online-newform-powerapps/"><strong><span style="text-decoration: underline;">here</span></strong></a>.</p>



<h2 class="wp-block-heading"><strong>Disable a field when the form is a Newform &#8211;  </strong></h2>



<p>Let&#8217;s say if you have an Approval Status field which needs to be disabled in NewForm.aspx. You can achieve the following by setting the <em>Displaymode </em>property in <strong><em>DefaultSelectedItems </em></strong>of your field. </p>



<p>Paste the following in <em><strong>DefaultSelectedItems </strong></em>property of Control’s DataCard (select the actual text control).</p>



<p><strong> If(SharePointForm1.Mode = FormMode.New,DisplayMode.Disabled,Parent.Default)</strong></p>



<p>Other options are <em>Displaymode.Edit</em> or <em>Displaymode.View</em></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2361" height="1068" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Powerapps_disableColumn.png?fit=688%2C311&amp;ssl=1" alt="" class="wp-image-147" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Powerapps_disableColumn.png?w=2361&amp;ssl=1 2361w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Powerapps_disableColumn.png?resize=300%2C136&amp;ssl=1 300w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Powerapps_disableColumn.png?resize=1024%2C463&amp;ssl=1 1024w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Powerapps_disableColumn.png?resize=768%2C347&amp;ssl=1 768w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Powerapps_disableColumn.png?resize=1536%2C695&amp;ssl=1 1536w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Powerapps_disableColumn.png?resize=2048%2C926&amp;ssl=1 2048w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Powerapps_disableColumn.png?resize=1600%2C724&amp;ssl=1 1600w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/Powerapps_disableColumn.png?w=1376&amp;ssl=1 1376w" sizes="auto, (max-width: 688px) 100vw, 688px" /></figure>



<p>If the column is a checkbox, then use below. </p>



<p><em><strong>If(SharePointForm1.Mode = FormMode.New, false, true)</strong></em></p>



<h2 class="wp-block-heading"><strong>Resize Custom Form\Data Cards &#8211;</strong> </h2>



<p><strong>Resize Controls and DataCards:</strong> The simplest way to resize a data card is to <span style="text-decoration: underline;">re-size all controls in it</span>. Expand the Datacards from the left and then check the position and height of each control in it. Look specifically at the <span style="text-decoration: underline;">ErrorMessage Control</span>. </p>



<p><strong>Resize and Position form on the Screen:</strong> To Resize the position of SharePointForm (or whatever your form is called), change the value of <strong>X </strong>corresponding to the position of your screen. Select the form from left and then select &#8220;X&#8221; from properties. Add the value in <em>Fx </em>field or in Advanced properties on right. You can center your form or align it left or right with this value.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2221" height="519" src="https://i1.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/resizeForm_poweapps.png?fit=688%2C161&amp;ssl=1" alt="" class="wp-image-134" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/resizeForm_poweapps.png?w=2221&amp;ssl=1 2221w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/resizeForm_poweapps.png?resize=300%2C70&amp;ssl=1 300w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/resizeForm_poweapps.png?resize=1024%2C239&amp;ssl=1 1024w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/resizeForm_poweapps.png?resize=768%2C179&amp;ssl=1 768w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/resizeForm_poweapps.png?resize=1536%2C359&amp;ssl=1 1536w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/resizeForm_poweapps.png?resize=2048%2C479&amp;ssl=1 2048w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/resizeForm_poweapps.png?resize=1600%2C374&amp;ssl=1 1600w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/resizeForm_poweapps.png?w=1376&amp;ssl=1 1376w" sizes="auto, (max-width: 688px) 100vw, 688px" /></figure>



<p> <em><strong>Resize\Change Screen size:</strong></em> Set the Orientation of the screen if you want to decrease the screen size and add custom Width and height. For that, navigate to <strong>File -> Settings -> Screen size + orientation</strong>.</p>



<p>In the&nbsp;<strong>Orientation</strong>&nbsp;list, select&nbsp;<strong>Portrait</strong>&nbsp;or&nbsp;<strong>Landscape</strong>. Select Custom Width and Height. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1088" height="621" src="https://i1.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/powerapps_screen.png?fit=688%2C392&amp;ssl=1" alt="" class="wp-image-135" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/powerapps_screen.png?w=1088&amp;ssl=1 1088w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/powerapps_screen.png?resize=300%2C171&amp;ssl=1 300w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/powerapps_screen.png?resize=1024%2C584&amp;ssl=1 1024w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/powerapps_screen.png?resize=768%2C438&amp;ssl=1 768w" sizes="auto, (max-width: 688px) 100vw, 688px" /></figure>



<p><strong>Aligning List form labels: </strong>Use X and Y properties of each label and control to align and resize list form labels. I created a sample that quite resembles the Infopath form alignment. I tried to keep the control&#8217;s height, padding and X &amp; Y values consistent. See the screen below.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1331" height="763" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/NewItem_customized.png?fit=688%2C394&amp;ssl=1" alt="" class="wp-image-137" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/NewItem_customized.png?w=1331&amp;ssl=1 1331w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/NewItem_customized.png?resize=300%2C172&amp;ssl=1 300w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/NewItem_customized.png?resize=1024%2C587&amp;ssl=1 1024w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/NewItem_customized.png?resize=768%2C440&amp;ssl=1 768w" sizes="auto, (max-width: 688px) 100vw, 688px" /></figure>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">131</post-id>	</item>
		<item>
		<title>Display Current Logged In User in SharePoint Online NewForm &#8211;  PowerApps</title>
		<link>https://learningsharepoint.com/display-current-logged-in-user-in-sharepoint-online-newform-powerapps/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=display-current-logged-in-user-in-sharepoint-online-newform-powerapps</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 15 Nov 2019 19:24:05 +0000</pubDate>
				<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[PowerApps]]></category>
		<category><![CDATA[SharePoint Online]]></category>
		<guid isPermaLink="false">https://learningsharepoint.com/?p=124</guid>

					<description><![CDATA[I was looking for a quick solution to auto-populate a Person and Group field with Logged in user&#8217;s email. The&#8230;]]></description>
										<content:encoded><![CDATA[
<p>I was looking for a quick solution to auto-populate a Person and Group field with Logged in user&#8217;s email. </p>



<p>The easiest way to achieve that is a simple two-step process.</p>



<ol class="wp-block-list"><li>Add the following on <em><strong>OnVisible </strong></em>Property of your form. See the screen below.</li></ol>



<p><strong>Set(myself, User())</strong></p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="644" height="786" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_Onvisible.png?resize=644%2C786&#038;ssl=1" alt="" class="wp-image-127" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_Onvisible.png?w=644&amp;ssl=1 644w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_Onvisible.png?resize=246%2C300&amp;ssl=1 246w" sizes="auto, (max-width: 644px) 100vw, 644px" /></figure>



<p>     2. Add the following in <em><strong>DefaultSelectedItems </strong></em>property of Control&#8217;s DataCard (select the actual Person &amp; group control and not the entire field). See the screen below.</p>



<p><strong>If(SharePointForm1.Mode = FormMode.New, <br> {<br>         DisplayName: myself.FullName,<br>         Claims: &#8220;i:0#.f|membership|&#8221; &amp; myself.Email<br>     },<br>     Parent.Default)</strong></p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="688" height="308" src="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_DefaultSelectedItems.png?resize=688%2C308&#038;ssl=1" alt="" class="wp-image-125" srcset="https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_DefaultSelectedItems.png?resize=1024%2C459&amp;ssl=1 1024w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_DefaultSelectedItems.png?resize=300%2C134&amp;ssl=1 300w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_DefaultSelectedItems.png?resize=768%2C344&amp;ssl=1 768w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_DefaultSelectedItems.png?resize=1536%2C688&amp;ssl=1 1536w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_DefaultSelectedItems.png?resize=1600%2C717&amp;ssl=1 1600w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_DefaultSelectedItems.png?w=1805&amp;ssl=1 1805w, https://i0.wp.com/learningsharepoint.com/wp-content/uploads/2019/11/PowerApps_DefaultSelectedItems.png?w=1376&amp;ssl=1 1376w" sizes="auto, (max-width: 688px) 100vw, 688px" /></figure>



<p>3. Publish it and test it.</p>



<p> </p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">124</post-id>	</item>
	</channel>
</rss>
