{"id":350,"date":"2022-02-07T15:08:52","date_gmt":"2022-02-07T15:08:52","guid":{"rendered":"https:\/\/blog.citrus-lime.com\/crmc\/?p=350"},"modified":"2022-02-07T15:08:52","modified_gmt":"2022-02-07T15:08:52","slug":"modern-sharepoint-and-the-power-platform","status":"publish","type":"post","link":"https:\/\/blog.citrus-lime.com\/crmc\/modern-sharepoint-and-the-power-platform\/","title":{"rendered":"Modern SharePoint and the Power Platform"},"content":{"rendered":"\n<p>Like Dynamics 365 and the Power Platform, SharePoint has always been a platform to define data and create applications.<\/p>\n\n\n\n<p>However, SharePoint suffered from different ways of implementing requirements and having an API which was much more \u2018multi-headed\u2019 than the simpler and debatably stronger Dynamics API.<\/p>\n\n\n\n<p>SharePoint had and has the Server-side API, the Client Object Model, and the REST API working alongside Custom themes, web parts and applications \u2013 whereas Dynamics 365 had simplified supported ways of handling customisations, a single API until OData and REST, and a core model for handling plugins.<\/p>\n\n\n\n<p>This made Dynamics a (very debatably) better platform for building and deploying business applications, and ultimately lead to aspects of Dynamics growing into the Power Platform.<\/p>\n\n\n\n<p>However, the SharePoint Team have not been idle, and this has changed in recent years.<\/p>\n\n\n\n<p>Old style team sites still exist in SharePoint, but these have been replaced with newer communication sites that have a common user interface and supported ways of customisations.<\/p>\n\n\n\n<p>This changes SharePoint from a develop-first platform to a supported-customisation-first platform in a similar fashion to Dynamics; and so provides a more robust way of working \u2013 this combined with SharePoint\u2019s web parts for news and content as well as standard documents and Links makes SharePoint a much stronger and supported application for Intranets and collaboration.<\/p>\n\n\n\n<p>(Particularly given the link up with Microsoft Teams but that will be the focus of another article!)<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"462\" src=\"https:\/\/blog.citrus-lime.com\/crmc\/wp-content\/uploads\/sites\/30\/2022\/02\/Picture1-1024x462.png\" alt=\"\" class=\"wp-image-351\" srcset=\"https:\/\/blog.citrus-lime.com\/crmc\/wp-content\/uploads\/sites\/30\/2022\/02\/Picture1-1024x462.png 1024w, https:\/\/blog.citrus-lime.com\/crmc\/wp-content\/uploads\/sites\/30\/2022\/02\/Picture1-300x135.png 300w, https:\/\/blog.citrus-lime.com\/crmc\/wp-content\/uploads\/sites\/30\/2022\/02\/Picture1-768x347.png 768w, https:\/\/blog.citrus-lime.com\/crmc\/wp-content\/uploads\/sites\/30\/2022\/02\/Picture1.png 1375w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p><em><strong>Figure 1 &#8211; Building a Page in SharePoint with out-of-the-box Web Parts alongside Custom Web Parts in the App Catalogue built via SharePoint Foundation<\/strong><\/em><\/p>\n\n\n\n<p>This ability to use SharePoint as a user-first application instead of a IT-first development platform enables better content management and so a higher level of engagement and user adoption.<\/p>\n\n\n\n<p>Microsoft define this new approach and their reasons for the changes between \u2018old-SharePoint\u2019 and \u2018new-SharePoint\u2019 here: <a href=\"https:\/\/docs.microsoft.com\/en-us\/sharepoint\/dev\/solution-guidance\/portal-branding\">https:\/\/docs.microsoft.com\/en-us\/sharepoint\/dev\/solution-guidance\/portal-branding<\/a><\/p>\n\n\n\n<p>This can be improved with data models built using SharePoint lists to combine good content management and presentation with the custom data we track in lists.<\/p>\n\n\n\n<p>This starts for Intranets and collaboration \u2013 but can then grow in different ways.<\/p>\n\n\n\n<p>With the advent of the Power Platform, we can embed Canvas applications in SharePoint to connect users to our bespoke apps \u2013 and we can also use SharePoint lists as the datasource for these Canvas apps.<\/p>\n\n\n\n<p>This can be a very powerful way of delivering smaller lightweight apps at a lower Canvas app License cost, and then making easily accessible via our SharePoint Intranet or a Microsoft Teams tab.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"439\" src=\"https:\/\/blog.citrus-lime.com\/crmc\/wp-content\/uploads\/sites\/30\/2022\/02\/Picture2-new.png\" alt=\"\" class=\"wp-image-352\" srcset=\"https:\/\/blog.citrus-lime.com\/crmc\/wp-content\/uploads\/sites\/30\/2022\/02\/Picture2-new.png 752w, https:\/\/blog.citrus-lime.com\/crmc\/wp-content\/uploads\/sites\/30\/2022\/02\/Picture2-new-300x175.png 300w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><\/figure><\/div>\n\n\n\n<p><em><strong>Figure 2 &#8211; Using a SharePoint Page to host a simple Canvas App showing a Contacts List <\/strong><\/em><strong><em>from Dynamics<\/em><\/strong><\/p>\n\n\n\n<p>This can be a very powerful way of delivering smaller lightweight Apps at a lower Canvas App license cost, and then making easily accessible via our SharePoint Intranet or a Microsoft Teams Tab.<\/p>\n\n\n\n<p><strong>What does this mean?&nbsp;<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>We have more opportunities to use SharePoint as an application and use supported development techniques that are easier for future support.<\/li><li>SharePoint is much more integrated with the Power Platform for a common approach to business logic.<\/li><\/ul>\n\n\n\n<p><strong>What benefits does this give us?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>We can implement an IT strategy in the Microsoft Cloud that uses the best elements of SharePoint-for-content, Teams-for-collaboration and the Power Platform for Apps; without having to worry about specific Dynamics Projects vs SharePoint Projects \u2013 the Cloud is now much more of an integrated platform.<\/li><li>We can engage our Teams and stakeholders much better with our content and Apps.<\/li><li>We have easier and better supported methods of creating content that reduces the risk of \u2018dead intranets\u2019.<\/li><\/ul>\n\n\n\n<p><strong>How do we do it?<\/strong><\/p>\n\n\n\n<p>This article focuses on the architecture of SharePoint and how this works in the modern Microsoft Cloud.<\/p>\n\n\n\n<p>We can put this architecture to use in the following ways:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>PowerApps Consultancy \u2013 <\/strong>Create strong Line-of-Business Apps which we can then integrate into Teams and our Intranet<\/li><li><strong>SharePoint Consultancy \u2013 <\/strong>Define good Content and Lists within our Intranet<\/li><li><strong>SharePoint Development \u2013 <\/strong>Use the SharePoint Foundation to develop new Web Parts for SharePoint that can act as in-SharePoint Content Presentation or Mini-Apps<\/li><\/ul>\n\n\n\n<p>At CRMCS, we focus many of our articles on how to build PowerApps and Dynamics.<\/p>\n\n\n\n<p>Our DocDrive365 IP focuses on how to engage SharePoint content, specifically documents and Metadata, within Power Apps and Dynamics.<\/p>\n\n\n\n<p>This series of articles in our monthly newsletter is going to look at how we develop new web parts in SharePoint that can help us integrate Dynamics and DocDrive365 into our Intranets \u2013 so we can start thinking of SharePoint, Teams and Dynamics as a single solution for business; and not lose the benefits of these Applications when a business or partner only focuses on Dynamics or only focuses on SharePoint.<\/p>\n\n\n\n<p>Hopefully this article has given a good feel for what is possible.<\/p>\n\n\n\n<p>Our next article will take a deep dive into how to develop a SharePoint Custom Web Part using SharePoint Framework (SPFx) \u2013 taking the basic HelloWorld example and making applicable to our world of Power Apps by integrating Dynamics Data into the Web Part.<\/p>\n\n\n\n<p>We will then look at integrating Documents between PowerApps (what a document \u2018regards-to\u2019) and SharePoint to give a consistent information map for finding good information quickly.<\/p>\n\n\n\n<p><strong>Useful Links<\/strong>&#8230;<\/p>\n\n\n\n<p><strong>Why the SharePoint Framework?<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/sharepoint\/dev\/spfx\/sharepoint-framework-why\">https:\/\/docs.microsoft.com\/en-us\/sharepoint\/dev\/spfx\/sharepoint-framework-why<\/a><\/p>\n\n\n\n<p><strong>Introduction to Modern SharePoint Web Parts for Page Design<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/lightningtools.com\/blog\/modern-sharepoint-web-parts-introduction\">https:\/\/lightningtools.com\/blog\/modern-sharepoint-web-parts-introduction<\/a><\/p>\n\n\n\n<p><strong>Branding Guidance for SharePoint Online Portals<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/sharepoint\/dev\/solution-guidance\/portal-branding\">https:\/\/docs.microsoft.com\/en-us\/sharepoint\/dev\/solution-guidance\/portal-branding<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>At CRMCS, we focus many of our articles on how to build PowerApps and Dynamics.<br \/>\nOur DocDrive365 IP focuses on how to engage SharePoint content, specifically documents and Metadata, within Power Apps and Dynamics.<\/p>\n<p>This series of articles in our monthly newsletter is going to look at how we develop new web parts in SharePoint that can help us integrate Dynamics and DocDrive365 into our Intranets \u2013 so we can start thinking of SharePoint, Teams and Dynamics as a single solution for business; and not lose the benefits of these Applications when a business or partner only focuses on Dynamics or only focuses on SharePoint.<\/p>\n<p>Hopefully this article will provide you with a good feel for what is possible.<\/p>\n","protected":false},"author":43,"featured_media":60,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"footnotes":""},"categories":[3,4],"tags":[],"class_list":{"0":"post-350","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-crm","8":"category-docdrive365"},"featured_image_src":"https:\/\/blog.citrus-lime.com\/crmc\/wp-content\/uploads\/sites\/30\/2021\/11\/Picture6.png","author_info":{"display_name":"jadesmith","author_link":"https:\/\/blog.citrus-lime.com\/crmc\/author\/jadesmith\/"},"_links":{"self":[{"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/posts\/350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/users\/43"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/comments?post=350"}],"version-history":[{"count":1,"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/posts\/350\/revisions"}],"predecessor-version":[{"id":353,"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/posts\/350\/revisions\/353"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/media\/60"}],"wp:attachment":[{"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/media?parent=350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/categories?post=350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.citrus-lime.com\/crmc\/wp-json\/wp\/v2\/tags?post=350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}