<br />
<b>Deprecated</b>:  YoastSEO_Vendor\Symfony\Component\DependencyInjection\Container::__construct(): Implicitly marking parameter $parameterBag as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/symfony/dependency-injection/Container.php</b> on line <b>60</b><br />
<br />
<b>Deprecated</b>:  YoastSEO_Vendor\League\OAuth2\Client\Provider\AbstractProvider::authorize(): Implicitly marking parameter $redirectHandler as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/AbstractProvider.php</b> on line <b>416</b><br />
<br />
<b>Deprecated</b>:  YoastSEO_Vendor\GuzzleHttp\Client::getConfig(): Implicitly marking parameter $option as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Client.php</b> on line <b>181</b><br />
<br />
<b>Deprecated</b>:  YoastSEO_Vendor\GuzzleHttp\ClientInterface::getConfig(): Implicitly marking parameter $option as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php</b> on line <b>77</b><br />
{"id":2194,"date":"2014-07-14T08:11:58","date_gmt":"2014-07-14T06:11:58","guid":{"rendered":"https:\/\/blog.sharedove.com\/adisjugo\/?p=2194"},"modified":"2014-07-14T08:11:58","modified_gmt":"2014-07-14T06:11:58","slug":"work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes","status":"publish","type":"post","link":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/","title":{"rendered":"Work Management service in SharePoint 2013 (8): Working with provider refreshes"},"content":{"rendered":"<p>As mentioned earlier, a provider refresh is a process of retrieving and caching tasks for a user. It is done on demand, with no background job processing the tasks. Refresh will be started at that moment, when a user access its \u201cMy Tasks\u201d area. There is an artificial limit of 5 minutes between provider refreshes, which can be changed through PowerShell for SharePoint on premise.<\/p>\n<p>Provider refresh can also be initialized programmatically, from the task session:<\/p>\n<pre>CreateRefreshJobResult refreshResult = uos.BeginCacheRefresh();<\/pre>\n<p>The resulting CreateRefreshJobResult will tell us if the provider refresh process has started successfully (it will be probably not yet completed). If the provider refresh process could not be started from some reason, CreateRefreshJobResult will hold the error information and it\u2019s Correlation Id (mostly caused by the imposed 5 minutes limit).<\/p>\n<p>If CreateRefreshJobResult was executed successfully, it will contain an Id of the newly created provider refresh process, which can be used to check the provider refresh job status. You can check the general status, the status for each task provider separately, and update status for each task location separately.<\/p>\n<p>This short code snippet explains it all:<\/p>\n<pre>RefreshResult rr = uos.GetRefreshStatus(jobId);\nConsole.WriteLine(\"Refresh state: \" + rr.AggregatorRefreshState.ToString());\nConsole.WriteLine(\"Corellation id: \" + rr.CorrelationId);\nConsole.WriteLine(\"Refresh finished: \" + rr.RefreshFinished.ToShortDateString() + \" \" + rr.RefreshFinished.ToShortTimeString());\nConsole.WriteLine(\"\");\nConsole.WriteLine(\"Provider statuses:\");\nConsole.WriteLine(\"------------------\");\nforeach (ProviderRefreshStatus prs in rr.ProviderStatuses)\n{\nConsole.WriteLine(\"Provider key: \" + prs.ProviderKey);\nConsole.WriteLine(\"Provider name: \" + prs.ProviderLocalizedName);\nConsole.WriteLine(\"Root location id: \" + prs.RootLocationId.ToString());\nConsole.WriteLine(\"Provider Refresh started: \" + prs.RefreshStarted.ToShortDateString() + \" \" + prs.RefreshStarted.ToShortTimeString());\nConsole.WriteLine(\"Provider finished: \" + prs.RefreshFinished.ToShortDateString() + \" \" + prs.RefreshFinished.ToShortTimeString());\nConsole.WriteLine(\"\");\n}<\/pre>\n<pre>Console.WriteLine(\"\");\nConsole.WriteLine(\"Location update results:\");\nConsole.WriteLine(\"------------------------\");<\/pre>\n<pre>foreach (LocationUpdateResult lur in rr.TaskChangesByLocation)\n{\nLocation loc = allLocations.Where(a =&gt; a.Id == lur.RootLocationId).FirstOrDefault();\nConsole.WriteLine(\"Location: \" + lur.RootLocationId);\nConsole.WriteLine(\"Added: \" + lur.AddedCount.ToString());\nConsole.WriteLine(\"Active added: \" + lur.ActiveAddedCount.ToString());\nConsole.WriteLine(\"Removed: \" + lur.RemovedCount.ToString());\nConsole.WriteLine(\"Updated: \" + lur.UpdatedCount.ToString());\n}<\/pre>\n<p>The result from this code snippet will look like the screenshot below. We can see, that there is only one provider active (SharePoint, in this case), and that 3 tasks have been updated in the location with id 3:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/blogs.msdn.com\/cfs-filesystemfile.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-01-15-70\/0702.dd.png\" alt=\"\" \/><\/p>\n<p>You can retrieve a provider refresh history for a user, with all provider refreshes from some time interval until now.<\/p>\n<p>Those few lines of code will enable you to check refresh status for the past 7 days, and to analyze potential problems \u2013 for each unsuccessful provider refresh, Correlation Id associated with the refresh status, for the further analysis.<\/p>\n<pre>RefreshHistory rh = uos.GetRefreshHistory(DateTime.Now.AddDays(-7));<\/pre>\n<pre>foreach (RefreshResult rr in rh.Refreshes)\n{\n \/\/ Check refresh status\n}<\/pre>\n<div class=\"fb-background-color\">\n\t\t\t  <div \n\t\t\t  \tclass = \"fb-comments\" \n\t\t\t  \tdata-href = \"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/\"\n\t\t\t  \tdata-numposts = \"59\"\n\t\t\t  \tdata-lazy = \"true\"\n\t\t\t\tdata-colorscheme = \"light\"\n\t\t\t\tdata-order-by = \"time\"\n\t\t\t\tdata-mobile=true>\n\t\t\t  <\/div><\/div>\n\t\t  <style>\n\t\t    .fb-background-color {\n\t\t\t\tbackground:  !important;\n\t\t\t}\n\t\t\t.fb_iframe_widget_fluid_desktop iframe {\n\t\t\t    width: 100% !important;\n\t\t\t}\n\t\t  <\/style>\n\t\t  ","protected":false},"excerpt":{"rendered":"<p>As mentioned earlier, a provider refresh is a process of retrieving and caching tasks for a user. It is done on demand, with no background job processing the tasks. Refresh will be started at that moment, when a user access its \u201cMy Tasks\u201d area. There is an artificial limit of 5 minutes between provider refreshes, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[11],"tags":[72],"class_list":["post-2194","post","type-post","status-publish","format-standard","hentry","category-development","tag-work-management"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Work Management service in SharePoint 2013 (8): Working with provider refreshes - Adis Jugo blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Work Management service in SharePoint 2013 (8): Working with provider refreshes - Adis Jugo blog\" \/>\n<meta property=\"og:description\" content=\"As mentioned earlier, a provider refresh is a process of retrieving and caching tasks for a user. It is done on demand, with no background job processing the tasks. Refresh will be started at that moment, when a user access its \u201cMy Tasks\u201d area. There is an artificial limit of 5 minutes between provider refreshes, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/\" \/>\n<meta property=\"og:site_name\" content=\"Adis Jugo blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-07-14T06:11:58+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/blogs.msdn.com\/cfs-filesystemfile.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-01-15-70\/0702.dd.png\" \/>\n<meta name=\"author\" content=\"adis.jugo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"adis.jugo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/\",\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/\",\"name\":\"Work Management service in SharePoint 2013 (8): Working with provider refreshes - Adis Jugo blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blogs.msdn.com\/cfs-filesystemfile.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-01-15-70\/0702.dd.png\",\"datePublished\":\"2014-07-14T06:11:58+00:00\",\"author\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/#primaryimage\",\"url\":\"http:\/\/blogs.msdn.com\/cfs-filesystemfile.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-01-15-70\/0702.dd.png\",\"contentUrl\":\"http:\/\/blogs.msdn.com\/cfs-filesystemfile.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-01-15-70\/0702.dd.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.sharedove.com\/adisjugo\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Work Management service in SharePoint 2013 (8): Working with provider refreshes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#website\",\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/\",\"name\":\"Adis Jugo blog\",\"description\":\"The Southern Side\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.sharedove.com\/adisjugo\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c\",\"name\":\"adis.jugo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g\",\"caption\":\"adis.jugo\"},\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/author\/adisjugo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Work Management service in SharePoint 2013 (8): Working with provider refreshes - Adis Jugo blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/","og_locale":"en_US","og_type":"article","og_title":"Work Management service in SharePoint 2013 (8): Working with provider refreshes - Adis Jugo blog","og_description":"As mentioned earlier, a provider refresh is a process of retrieving and caching tasks for a user. It is done on demand, with no background job processing the tasks. Refresh will be started at that moment, when a user access its \u201cMy Tasks\u201d area. There is an artificial limit of 5 minutes between provider refreshes, [&hellip;]","og_url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/","og_site_name":"Adis Jugo blog","article_published_time":"2014-07-14T06:11:58+00:00","og_image":[{"url":"http:\/\/blogs.msdn.com\/cfs-filesystemfile.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-01-15-70\/0702.dd.png","type":"","width":"","height":""}],"author":"adis.jugo","twitter_card":"summary_large_image","twitter_misc":{"Written by":"adis.jugo","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/","url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/","name":"Work Management service in SharePoint 2013 (8): Working with provider refreshes - Adis Jugo blog","isPartOf":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/#primaryimage"},"image":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.msdn.com\/cfs-filesystemfile.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-01-15-70\/0702.dd.png","datePublished":"2014-07-14T06:11:58+00:00","author":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c"},"breadcrumb":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/#primaryimage","url":"http:\/\/blogs.msdn.com\/cfs-filesystemfile.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-01-15-70\/0702.dd.png","contentUrl":"http:\/\/blogs.msdn.com\/cfs-filesystemfile.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-01-15-70\/0702.dd.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2014\/07\/14\/work-management-service-in-sharepoint-2013-8-working-with-provider-refreshes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.sharedove.com\/adisjugo\/"},{"@type":"ListItem","position":2,"name":"Work Management service in SharePoint 2013 (8): Working with provider refreshes"}]},{"@type":"WebSite","@id":"https:\/\/blog.sharedove.com\/adisjugo\/#website","url":"https:\/\/blog.sharedove.com\/adisjugo\/","name":"Adis Jugo blog","description":"The Southern Side","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.sharedove.com\/adisjugo\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c","name":"adis.jugo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g","caption":"adis.jugo"},"url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/author\/adisjugo\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/posts\/2194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/comments?post=2194"}],"version-history":[{"count":0,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/posts\/2194\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/media?parent=2194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/categories?post=2194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/tags?post=2194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}