<?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>Mário Nunes, Author at Blog IT</title>
	<atom:link href="https://blogit.create.pt/author/marionunes/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogit.create.pt/author/marionunes/</link>
	<description>Create IT blogger community</description>
	<lastBuildDate>Thu, 10 Jan 2019 12:46:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>9 Outlook Quick Tips for Productivity</title>
		<link>https://blogit.create.pt/marionunes/2018/11/13/9-outlook-tips-for-productivity/</link>
					<comments>https://blogit.create.pt/marionunes/2018/11/13/9-outlook-tips-for-productivity/#respond</comments>
		
		<dc:creator><![CDATA[Mário Nunes]]></dc:creator>
		<pubDate>Tue, 13 Nov 2018 15:15:14 +0000</pubDate>
				<category><![CDATA[Outlook]]></category>
		<category><![CDATA[Modern Workplace]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[Productivity]]></category>
		<guid isPermaLink="false">https://blogit.create.pt/?p=7749</guid>

					<description><![CDATA[<p>Disable notifications New email notifications are a big distraction. Disable them! Archive processed email Archive emails that you don&#8217;t need to take further actions. In your inbox, you should have only the things you need to do, not those you have already done. I personally have only one archive folder, you might need to have [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2018/11/13/9-outlook-tips-for-productivity/">9 Outlook Quick Tips for Productivity</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Disable notifications</h2>
<p>New email notifications are a big distraction. Disable them!</p>
<p><img decoding="async" src="https://i.imgur.com/e3uZnbY.png" /></p>
<h2>Archive processed email</h2>
<p>Archive emails that you don&#8217;t need to take further actions. In your inbox, you should have only the things you need to do, not those you have already done.</p>
<p>I personally have only one archive folder, you might need to have more, but try to keep it simple!</p>
<p>If you have never archived your emails, archiving everything now might take several hours, but is well worth it! Also, it should not take any of your time, as it can be done overnight.</p>
<h2>Use tasks and calendar appointments</h2>
<p>Use tasks for things that can be done quickly (less than 30min).</p>
<p>Use calendar appointments for bigger tasks (more than 30min).</p>
<h2>Setup calendar and tasks on the main screen</h2>
<p>Have all the information you need on the main screen to avoid extra clicks and loading wait times!</p>
<h2><img decoding="async" src="https://i.imgur.com/qaiP6xO.png" />Use drag and drop</h2>
<p>Take full advantage of drag-and-drop for moving files and creating tasks and events!</p>
<p><img decoding="async" src="https://i.imgur.com/thqCXw2.png" /></p>
<h2>Keep windows small</h2>
<p>Don&#8217;t open your emails on a big window, it&#8217;s easier to read on a smaller screen (like books).</p>
<h2>Use the file preview feature</h2>
<p>Preview your files directly on the email.</p>
<p><img decoding="async" src="https://i.imgur.com/Jhhpzl7.png" /></p>
<h2>Colour direct emails</h2>
<p>Distinguish emails sent directly to you with colour!</p>
<p><img decoding="async" src="https://i.imgur.com/9KbTqGd.png" /></p>
<h2>Don&#8217;t abuse folder rules</h2>
<p>Use folder rules wisely. If you have too many rules and folders, you might lose time checking them all.</p>
<p>&nbsp;</p>
<p>I hope this was helpful,</p>
<p>Thanks for reading!</p>
<p>Mário Nunes</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2018/11/13/9-outlook-tips-for-productivity/">9 Outlook Quick Tips for Productivity</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/marionunes/2018/11/13/9-outlook-tips-for-productivity/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A Solution to DataTokens must contain an &#8216;umbraco-doc-request&#8217; key with a PublishedContentRequest object</title>
		<link>https://blogit.create.pt/marionunes/2018/09/10/a-solution-to-datatokens-must-contain-an-umbraco-doc-request-key-with-a-publishedcontentrequest-object/</link>
					<comments>https://blogit.create.pt/marionunes/2018/09/10/a-solution-to-datatokens-must-contain-an-umbraco-doc-request-key-with-a-publishedcontentrequest-object/#respond</comments>
		
		<dc:creator><![CDATA[Mário Nunes]]></dc:creator>
		<pubDate>Mon, 10 Sep 2018 15:42:48 +0000</pubDate>
				<category><![CDATA[Umbraco]]></category>
		<guid isPermaLink="false">https://blogit.create.pt/?p=7444</guid>

					<description><![CDATA[<p>Hi, If you are experiencing &#8220;DataTokens must contain an &#8216;umbraco-doc-request&#8217; key with a PublishedContentRequest object&#8221;, you might have configured static routes with RouteTable.Routes.MapRoute(&#8230;). Using the default UmbracoHelper Umbraco from Umbraco.Web.Mvc on these static routes might cause this error. The solution is using new UmbracoHelper(UmbracoContext.Current) instead. &#160;</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2018/09/10/a-solution-to-datatokens-must-contain-an-umbraco-doc-request-key-with-a-publishedcontentrequest-object/">A Solution to DataTokens must contain an &#8216;umbraco-doc-request&#8217; key with a PublishedContentRequest object</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hi,</p>
<p>If you are experiencing <strong>&#8220;DataTokens must contain an &#8216;umbraco-doc-request&#8217; key with a PublishedContentRequest object&#8221;</strong>, you might have configured static routes with <strong>RouteTable.Routes.MapRoute(&#8230;)</strong>.</p>
<p>Using the default UmbracoHelper <strong>Umbraco </strong>from Umbraco.Web.Mvc on these static routes might cause this error.</p>
<p>The solution is using <strong>new UmbracoHelper(UmbracoContext.Current) </strong>instead.</p>
<p>&nbsp;</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2018/09/10/a-solution-to-datatokens-must-contain-an-umbraco-doc-request-key-with-a-publishedcontentrequest-object/">A Solution to DataTokens must contain an &#8216;umbraco-doc-request&#8217; key with a PublishedContentRequest object</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/marionunes/2018/09/10/a-solution-to-datatokens-must-contain-an-umbraco-doc-request-key-with-a-publishedcontentrequest-object/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Adding an Angular app to your Umbraco Website</title>
		<link>https://blogit.create.pt/marionunes/2018/03/10/adding-an-angular-app-to-your-umbraco-website/</link>
					<comments>https://blogit.create.pt/marionunes/2018/03/10/adding-an-angular-app-to-your-umbraco-website/#comments</comments>
		
		<dc:creator><![CDATA[Mário Nunes]]></dc:creator>
		<pubDate>Sat, 10 Mar 2018 22:11:23 +0000</pubDate>
				<category><![CDATA[Angular]]></category>
		<category><![CDATA[Umbraco]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[.NET]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/marionunes/?p=334</guid>

					<description><![CDATA[<p>What problems does this solve? This enables you to have an Angular application alongside your Umbraco website, on a specified route. The Angular App can be protected by the Authentication of your website, if you have it. And you can make use of surface controllers for authenticated requests. The routing of your app will work [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2018/03/10/adding-an-angular-app-to-your-umbraco-website/">Adding an Angular app to your Umbraco Website</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>What problems does this solve?</strong></p>
<ul>
<li>This enables you to have an Angular application alongside your Umbraco website, on a specified route.</li>
<li>The Angular App can be protected by the Authentication of your website, if you have it. And you can make use of surface controllers for authenticated requests.</li>
<li>The routing of your app will work as intended, for example, if your Angular app is at <strong>/app</strong> and you make a request to <strong>/app/products</strong>, the request will be routed to the angular app products&#8217; page.</li>
</ul>
<p><strong>What this is not</strong></p>
<ul>
<li>A complete front end for a Umbraco website with dynamic routes.</li>
<li>This doesn&#8217;t have dynamic routes, you have to specify them on your code.</li>
</ul>
<p><strong>Let&#8217;s get started!</strong></p>
<p>First, start by creating a controller to handle the Angular App request.</p>
<pre class="brush: csharp; title: ; notranslate">
using System.Web.Mvc;

public class AngularAppController : BaseController
{
    public ActionResult AngularAppView()
    {
        return View();
    }
}
</pre>
<p>Then, you have to decide the route where your Angular app will render. On this example it will be <strong>/angularapp</strong>.</p>
<p>On your ApplicationStarted method, put this code:</p>
<pre class="brush: csharp; title: ; notranslate">
RouteTable.Routes.MapRoute(
  &quot;AngularApp&quot;,
  &quot;angularapp/{*.}&quot;,
  new { controller = &quot;AngularApp&quot;, action = &quot;AngularAppView&quot; });
</pre>
<p>The <strong>{*.}</strong> syntax is what makes your angular app routes load and not return the 404 page.</p>
<p>If you don&#8217;t have an ApplicationStarted method, find out how you to create it here: <a href="https://our.umbraco.org/documentation/reference/events/application-startup">https://our.umbraco.org/documentation/reference/events/application-startup</a></p>
<p>Under your Views folder, create a folder with the same name as the <strong>controller</strong> you set in MapRoute. In this case it will be &#8220;AngularApp&#8221;.<br />
Inside it, create a view with the same name as the <strong>action</strong> set you set in MapRoute.<br />
<img decoding="async" src="http://blogit-create.com/wp-content/uploads/2018/03/appview.png" alt="" width="268" height="71" class="alignnone size-full wp-image-414" srcset="https://blogit.create.pt/wp-content/uploads/2018/03/appview.png 268w, https://blogit.create.pt/wp-content/uploads/2018/03/appview-265x71.png 265w" sizes="(max-width: 268px) 100vw, 268px" /></p>
<p>Inside the view put the contents of the index.html of your angular app.<br />
Then you will need to move your angular app files somewhere like you /Assets folder, and edit their paths on the view.</p>
<p>Almost done!</p>
<p>Now you need to edit the routes of your Angular app.<br />
Simply add the route you chose as a prefix to the routes.</p>
<p>From something like this:</p>
<pre class="brush: csharp; title: ; notranslate">
const routes: Routes = &#x5B;
  { path: '', redirectTo: '/dashboard', pathMatch: 'full' },
  { path: '/dashboard', component: DashboardComponent },
  { path: '/detail/:id', component: HeroDetailComponent },
  { path: '/heroes', component: HeroesComponent }
];
</pre>
<p>To this:</p>
<pre class="brush: csharp; title: ; notranslate">
const routes: Routes = &#x5B;
  { path: 'angularapp', redirectTo: 'angularapp/dashboard', pathMatch: 'full' },
  { path: 'angularapp/dashboard', component: DashboardComponent },
  { path: 'angularapp/detail/:id', component: HeroDetailComponent },
  { path: 'angularapp/heroes', component: HeroesComponent }
];
</pre>
<p>Thanks for reading!<br />
Mário</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2018/03/10/adding-an-angular-app-to-your-umbraco-website/">Adding an Angular app to your Umbraco Website</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/marionunes/2018/03/10/adding-an-angular-app-to-your-umbraco-website/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Force Image Cache Refresh Programmatically</title>
		<link>https://blogit.create.pt/marionunes/2017/11/23/force-image-cache-refresh-programmatically/</link>
					<comments>https://blogit.create.pt/marionunes/2017/11/23/force-image-cache-refresh-programmatically/#comments</comments>
		
		<dc:creator><![CDATA[Mário Nunes]]></dc:creator>
		<pubDate>Thu, 23 Nov 2017 18:15:22 +0000</pubDate>
				<category><![CDATA[Umbraco]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/marionunes/?p=274</guid>

					<description><![CDATA[<p>The best solution I found, to force the browser cache to refresh for an image, is to modify the image url in the html. Example: I have an image with this url: &#8220;/images/mario-profile-photo.jpeg&#8221;. Change the url to: &#8220;/images/mario-profile-photo.jpeg?updated={DateTime.Now.Ticks}&#8220;. So, I lied, sorry! This will make the browser request the image again, because the url is [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2017/11/23/force-image-cache-refresh-programmatically/">Force Image Cache Refresh Programmatically</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The best solution I found, to force the browser cache to refresh for an image, is to modify the image url in the html.</p>
<p>Example:<br />
I have an image with this url: &#8220;/images/mario-profile-photo.jpeg&#8221;.<br />
Change the url to: &#8220;/images/mario-profile-photo.jpeg<strong>?updated={DateTime.Now.Ticks}</strong>&#8220;.</p>
<p><strong>So, I lied, sorry! This will make the browser request the image again, because the url is different. It doesn&#8217;t really refresh the cache.</strong></p>
<p>Using DateTime.Now.Ticks will force the refresh every time the page loads, so <strong>I don&#8217;t recommend using it</strong>.</p>
<p><u>If you have the time of when the photo was last updated, use that instead! Something like: {<strong>Photo.UpdateDate.Ticks</strong>}<br />
This way, you will only request a new image when it is different from the one you already have in cache.<u></u></u></p>
<blockquote><p>Note: the &#8220;?updated=&#8221; property is just a name, you can use whatever you want. The important thing is to modify the url.</p></blockquote>
<p>For Umbraco developers: When saving an image, do not forget to set it&#8217;s UpdateDate! Umbraco doesn&#8217;t update that property automatically.</p>
<p>Hope this helps,<br />
Thanks for reading!<br />
Mário</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2017/11/23/force-image-cache-refresh-programmatically/">Force Image Cache Refresh Programmatically</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/marionunes/2017/11/23/force-image-cache-refresh-programmatically/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Syncing Member Types with uSync</title>
		<link>https://blogit.create.pt/marionunes/2017/11/06/syncing-member-types-with-usync/</link>
					<comments>https://blogit.create.pt/marionunes/2017/11/06/syncing-member-types-with-usync/#respond</comments>
		
		<dc:creator><![CDATA[Mário Nunes]]></dc:creator>
		<pubDate>Mon, 06 Nov 2017 11:22:24 +0000</pubDate>
				<category><![CDATA[Umbraco]]></category>
		<category><![CDATA[uSync]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/marionunes/?p=204</guid>

					<description><![CDATA[<p>This took me longer to figure out than it should have. uSync has MemberType synchronization disabled by default. To enable it simply go to Config\uSyncBackOffice.Config and set MemberTypeHandler to true. &#60;Handlers Group=&#34;default&#34; EnableMissing=&#34;true&#34;&#62; &#60;HandlerConfig Name=&#34;uSync: DataTypeHandler&#34; Enabled=&#34;true&#34; /&#62; &#60;HandlerConfig Name=&#34;uSync: TemplateHandler&#34; Enabled=&#34;true&#34; /&#62; &#60;HandlerConfig Name=&#34;uSync: ContentTypeHandler&#34; Enabled=&#34;true&#34; /&#62; &#60;HandlerConfig Name=&#34;uSync: MediaTypeHandler&#34; Enabled=&#34;true&#34; /&#62; &#60;HandlerConfig Name=&#34;uSync: [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2017/11/06/syncing-member-types-with-usync/">Syncing Member Types with uSync</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>This took me longer to figure out than it should have.</p>
<p>uSync has MemberType synchronization disabled by default.</p>
<p>To enable it simply go to Config\uSyncBackOffice.Config and set MemberTypeHandler to true.</p>
<pre class="brush: xml; highlight: [11]; title: ; notranslate">
&lt;Handlers Group=&quot;default&quot; EnableMissing=&quot;true&quot;&gt;
    &lt;HandlerConfig Name=&quot;uSync: DataTypeHandler&quot; Enabled=&quot;true&quot; /&gt;
    &lt;HandlerConfig Name=&quot;uSync: TemplateHandler&quot; Enabled=&quot;true&quot; /&gt;

    &lt;HandlerConfig Name=&quot;uSync: ContentTypeHandler&quot; Enabled=&quot;true&quot; /&gt;
    &lt;HandlerConfig Name=&quot;uSync: MediaTypeHandler&quot; Enabled=&quot;true&quot; /&gt;
    &lt;HandlerConfig Name=&quot;uSync: LanguageHandler&quot; Enabled=&quot;true&quot; /&gt;
    &lt;HandlerConfig Name=&quot;uSync: DictionaryHandler&quot; Enabled=&quot;true&quot; /&gt;
    &lt;HandlerConfig Name=&quot;uSync: MacroHandler&quot; Enabled=&quot;true&quot; /&gt;
    &lt;HandlerConfig Name=&quot;uSync: DataTypeMappingHandler&quot; Enabled=&quot;true&quot; /&gt;
    &lt;HandlerConfig Name=&quot;uSync: MemberTypeHandler&quot; Enabled=&quot;true&quot; /&gt;
    
    &lt;!-- content edition - if installed --&gt;
    &lt;HandlerConfig Name=&quot;uSync: ContentHandler&quot; Enabled=&quot;true&quot; /&gt;
    &lt;HandlerConfig Name=&quot;uSync: MediaHandler&quot; Enabled=&quot;true&quot; /&gt;
&lt;/Handlers&gt;
</pre>
<p>
Thanks for reading!</p>
<p>Mário Nunes</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2017/11/06/syncing-member-types-with-usync/">Syncing Member Types with uSync</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/marionunes/2017/11/06/syncing-member-types-with-usync/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Working with Umbraco 7.6 New Pickers</title>
		<link>https://blogit.create.pt/marionunes/2017/11/05/working-with-umbraco-7-6-new-pickers/</link>
					<comments>https://blogit.create.pt/marionunes/2017/11/05/working-with-umbraco-7-6-new-pickers/#respond</comments>
		
		<dc:creator><![CDATA[Mário Nunes]]></dc:creator>
		<pubDate>Sun, 05 Nov 2017 14:01:26 +0000</pubDate>
				<category><![CDATA[Umbraco]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/marionunes/?p=104</guid>

					<description><![CDATA[<p>With the old pickers, we could do something like this: page.SetValue(&#34;myPicker&#34;, content.Id); With the new pickers, we can&#8217;t use IDs anymore, we have to use UDIs instead. They look like this: "umb://document/28b551d1e9e74c758686604c9168b910" So how can we get the content UDI? If we have an IContent, we can simply use the extension string udi = content.GetUdi().ToString(); [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2017/11/05/working-with-umbraco-7-6-new-pickers/">Working with Umbraco 7.6 New Pickers</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>With the old pickers, we could do something like this:</p>
<pre class="brush: csharp; title: ; notranslate">
page.SetValue(&quot;myPicker&quot;, content.Id);
</pre>
<p>With the new pickers, we can&#8217;t use IDs anymore, we have to use UDIs instead. They look like this:</p>
<p><code>"umb://document/28b551d1e9e74c758686604c9168b910"</code></p>
<p>So how can we get the content UDI?<br />
If we have an <strong>IContent</strong>, we can simply use the extension</p>
<pre class="brush: csharp; title: ; notranslate">
string udi = content.GetUdi().ToString();
</pre>
<p>If we have an <strong>IPublishedContent</strong>, we need to do a little bit more work.<br />
Umbraco provides a built in function to create UDIs. To use it, we need these:</p>
<pre class="brush: csharp; title: ; notranslate">
using Umbraco.Core;
using static Umbraco.Core.Constants;
</pre>
<p>Get the UDI like this:</p>
<pre class="brush: csharp; title: ; notranslate">
string udi = Udi.Create(UdiEntityType.Document, content.GetKey()).ToString();
</pre>
<blockquote><p>If you want to set <strong>multiple items</strong>, separate the udis with a comma. The resulting string should be like this:<br />
<code>"umb://document/28b551d1e9e74c758686604c9168b910,umb://document/28b551d1e9e74c758686604c9168b912,..."</code></p></blockquote>
<p></p>
<hr>
<p>To clean up the code, I created an extension class.</p>
<pre class="brush: csharp; title: ; notranslate">
    using Umbraco.Core;
    using Umbraco.Core.Models;
    using Umbraco.Web;
    using static Umbraco.Core.Constants;

    public static class UmbracoExtensions
    {
        /// &lt;summary&gt;
        /// Gets the specified content udi.
        /// &lt;/summary&gt;
        /// &lt;param name=&quot;content&quot;&gt;The content.&lt;/param&gt;
        /// &lt;returns&gt;The content udi.&lt;/returns&gt;
        public static string GetUdi(this IPublishedContent content)
        {
            return Udi.Create(UdiEntityType.Document, content.GetKey()).ToString();
        }
    }
</pre>
<p>With this extension, you can set the pickers with IPublishedContent with just one line of code!</p>
<pre class="brush: csharp; title: ; notranslate">
page.SetValue(&quot;myPicker&quot;, content.GetUdi());
</pre>
<p></p>
<hr>
<p><strong>So why not use IContent all the time?</strong><br />
To get an IContent, we need to use a service like MediaService or ContentService, they are much slower that getting and IPublishedContent through Umbraco.TypedContent(), which gets it from cache.</p>
<p><strong>UPDATE:</strong> Support for member pickers. Other pickers might need additional code too.</p>
<pre class="brush: csharp; title: ; notranslate">
public static string GetUdi(this IPublishedContent content)
{
    string entityType = UdiEntityType.Document;

    if (string.Equals(Models.Member.ModelTypeAlias, content.ContentType.Alias))
    {
        entityType = UdiEntityType.Member;
    }

    return Udi.Create(entityType, content.GetKey()).ToString();
}
</pre>
<p>Thanks for reading,<br />
Mário Nunes</p>
<p>The post <a href="https://blogit.create.pt/marionunes/2017/11/05/working-with-umbraco-7-6-new-pickers/">Working with Umbraco 7.6 New Pickers</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/marionunes/2017/11/05/working-with-umbraco-7-6-new-pickers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
