<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":2018,"date":"2013-11-20T23:57:42","date_gmt":"2013-11-20T22:57:42","guid":{"rendered":"https:\/\/blog.sharedove.com\/adisjugo\/?p=2018"},"modified":"2013-11-20T23:57:42","modified_gmt":"2013-11-20T22:57:42","slug":"dissecting-the-work-management-service-application-part-1-intro","status":"publish","type":"post","link":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/","title":{"rendered":"Dissecting the Work Management Service Application Part 1: Intro"},"content":{"rendered":"<p>SharePoint 2013 and SharePoint Online Wave 15 (from Office 365) have been here for quite some time now, and you might, or might not be aware of the Work Management Service Application (WMA) which is included in both twin-sister editions. I find it actually interesting that there is almost no information on the Internet about the WMA, other than end-user info how to use it with Out-of-the-box features.<\/p>\n<p>Since I had a chance to implement some WMA-based use cases for my customers recently, I will start with a series of the blog posts \u2013 expected five to seven, where I will dissect the WMA, explain the general principles, deep dive into the APIs (yes!) and say something about the provider model.<\/p>\n<p><!--more--><\/p>\n<p>We all know the situation that we have and keep our tasks in different systems. SharePoint tasks lists, Project tasks, Exchange tasks, tasks from different LOB and ERP systems, or personal task management systems like \u201cRemember the Milk\u201d. And even inside one system, tasks can be scattered throughout different locations \u2013 just think of many tasks lists in SharePoint. This can get very difficult to track and cope with. Work Management Service Application in SharePoint 2013 and SP Online gathers the tasks from different sources (aka \u201cProviders\u201d), and displays them in a unified task list inside the SharePoint MySite.<\/p>\n<p><a href=\"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/WorkManagementApplicationHi.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"WorkManagementApplicationHi\" src=\"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/WorkManagementApplicationHi_thumb.png\" alt=\"WorkManagementApplicationHi\" width=\"442\" height=\"210\" border=\"0\" \/><\/a><\/p>\n<p>What this basically means, is that SharePoint is through the refresh process aggregating tasks from the different locations in different providers, and displaying them in the MySite. Now, I used some SharePoint WMA lingo here, so let\u2019s see some definitions.<\/p>\n<p><strong>Providers<\/strong> are different tasks content sources, like SharePoint, Project Server or Exchange. SharePoint WMA is based on a \u201cprovider model\u201d architecture, what basically means, that in theory we can aggregate tasks from different providers, or write our own providers. In practice, in SharePoint 2013 WMA, there are three providers implemented: SharePoint itself, Project Server and Exchange Server. There is a provider model interface, and APIs for creating new providers, but this is not supported at this moment.<\/p>\n<p><strong>Locations <\/strong>are different places inside providers where the tasks can be located. Think of the multiple tasks lists across the SharePoint Farm.<\/p>\n<p><strong>Refresh <\/strong>is a process of aggregating tasks from different locations in different providers by a WMA.<\/p>\n<h2>Prerequisites<\/h2>\n<p>In order for Task Aggregation to work, there are few services which needs to be up and running (fully configured) in your farm:<\/p>\n<ul>\n<li>Work Management Service Application (obviously)<\/li>\n<li>User Profile Service Application<\/li>\n<li>MySites<\/li>\n<li>Search Service<\/li>\n<\/ul>\n<p>UPA is, as in many situation, a cornerstone which must be up and running for other services. MySite is needed from one side to display the consolidated tasks, and from other side it is used as a tasks cache (I\u2019ll come to that in one of the future blog posts where I\u2019ll deal with the refresh process).<\/p>\n<p>Search Service is used as a vehicle for the aggregation process, which actually aggregates tasks from different locations.<\/p>\n<p><a href=\"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/mytasks.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"mytasks\" src=\"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/mytasks_thumb.png\" alt=\"mytasks\" width=\"432\" height=\"297\" border=\"0\" \/><\/a><\/p>\n<p>OK, I believe this is enough for the intro. The next few posts will deal with:<\/p>\n<ul>\n<li>WMA APIs<\/li>\n<li>WMA Object Model<\/li>\n<li>Tasks Queries and tasks<\/li>\n<li>Task views<\/li>\n<li>Pinning tasks<\/li>\n<li>Refreshes<\/li>\n<li>Working with Exchange Tasks<\/li>\n<li>Custom providers (unsupported)<\/li>\n<\/ul>\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\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/\"\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>SharePoint 2013 and SharePoint Online Wave 15 (from Office 365) have been here for quite some time now, and you might, or might not be aware of the Work Management Service Application (WMA) which is included in both twin-sister editions. I find it actually interesting that there is almost no information on the Internet about [&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":[10,11],"tags":[27,54,57,72],"class_list":["post-2018","post","type-post","status-publish","format-standard","hentry","category-architecture","category-development","tag-client-object-model","tag-server-object-model","tag-sharepoint2013","tag-work-management"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Dissecting the Work Management Service Application Part 1: Intro - 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\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dissecting the Work Management Service Application Part 1: Intro - Adis Jugo blog\" \/>\n<meta property=\"og:description\" content=\"SharePoint 2013 and SharePoint Online Wave 15 (from Office 365) have been here for quite some time now, and you might, or might not be aware of the Work Management Service Application (WMA) which is included in both twin-sister editions. I find it actually interesting that there is almost no information on the Internet about [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/\" \/>\n<meta property=\"og:site_name\" content=\"Adis Jugo blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-11-20T22:57:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/WorkManagementApplicationHi_thumb.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=\"3 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\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/\",\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/\",\"name\":\"Dissecting the Work Management Service Application Part 1: Intro - Adis Jugo blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/WorkManagementApplicationHi_thumb.png\",\"datePublished\":\"2013-11-20T22:57:42+00:00\",\"author\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/#primaryimage\",\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/WorkManagementApplicationHi_thumb.png\",\"contentUrl\":\"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/WorkManagementApplicationHi_thumb.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.sharedove.com\/adisjugo\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dissecting the Work Management Service Application Part 1: Intro\"}]},{\"@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":"Dissecting the Work Management Service Application Part 1: Intro - 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\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/","og_locale":"en_US","og_type":"article","og_title":"Dissecting the Work Management Service Application Part 1: Intro - Adis Jugo blog","og_description":"SharePoint 2013 and SharePoint Online Wave 15 (from Office 365) have been here for quite some time now, and you might, or might not be aware of the Work Management Service Application (WMA) which is included in both twin-sister editions. I find it actually interesting that there is almost no information on the Internet about [&hellip;]","og_url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/","og_site_name":"Adis Jugo blog","article_published_time":"2013-11-20T22:57:42+00:00","og_image":[{"url":"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/WorkManagementApplicationHi_thumb.png","type":"","width":"","height":""}],"author":"adis.jugo","twitter_card":"summary_large_image","twitter_misc":{"Written by":"adis.jugo","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/","url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/","name":"Dissecting the Work Management Service Application Part 1: Intro - Adis Jugo blog","isPartOf":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/#primaryimage"},"image":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/WorkManagementApplicationHi_thumb.png","datePublished":"2013-11-20T22:57:42+00:00","author":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c"},"breadcrumb":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/#primaryimage","url":"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/WorkManagementApplicationHi_thumb.png","contentUrl":"https:\/\/blog.sharedove.com\/adisjugo\/wp-content\/uploads\/2013\/11\/WorkManagementApplicationHi_thumb.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2013\/11\/20\/dissecting-the-work-management-service-application-part-1-intro\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.sharedove.com\/adisjugo\/"},{"@type":"ListItem","position":2,"name":"Dissecting the Work Management Service Application Part 1: Intro"}]},{"@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\/2018","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=2018"}],"version-history":[{"count":0,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/posts\/2018\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/media?parent=2018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/categories?post=2018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/tags?post=2018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}