Sorry

This feed does not validate.

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://www.sharepointblue.com/feeds/posts/default?alt=rss

  1. <?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8625187760026725920</id><updated>2019-09-18T08:51:28.738-04:00</updated><category term="SharePoint"/><category term="SharePoint 2013"/><category term="SharePoint 2007"/><category term="SharePoint 2010"/><category term="PowerShell"/><category term="C#"/><category term="Javascript"/><category term="Web Services"/><category term="Naveed"/><category term="Tahir"/><category term="Tahir Naveed"/><category term="JQuery"/><category term="Office 365"/><category term="SharePoint Designer 2007"/><category term="User Profile"/><category term="List"/><category term="Web part"/><category term="APress"/><category term="App"/><category term="Books"/><category term="Expert SharePoint 2010 Practices"/><category term="Lists.asmx"/><category term="Migration"/><category term="Office365"/><category term="XML"/><category term="XSL"/><category term="Active Directory"/><category term="Azure"/><category term="DataView"/><category term="HTML"/><category term="JavaScript Object Model"/><category term="MOSS 2007"/><category term="MySite"/><category term="Search"/><category term="Silverlight"/><category term="WebPart"/><category term="ASP.Net"/><category term="Business Intelligence"/><category term="CS50"/><category term="Chart"/><category term="Content Database"/><category term="Document Center"/><category term="Document Management"/><category term="Excel Services"/><category term="Export"/><category term="Graph"/><category term="Harvard University"/><category term="JSOM"/><category term="Join"/><category term="Limitation"/><category term="Managed Metadata"/><category term="Master Page"/><category term="MetaData"/><category term="Navigation"/><category term="No Code"/><category term="NothingbutSharePoint"/><category term="Orion Systems Integrators"/><category term="Out-of-Box"/><category term="REST"/><category term="Record Center"/><category term="Reporting Services"/><category term="SSIS"/><category term="SSRS 2008"/><category term="Security"/><category term="Security Trimming"/><category term="SharePoint Online"/><category term="SharePoint Web Service"/><category term="Training"/><category term="Views.asmx"/><category term="Visual Studio 2010"/><category term="Visual Studio 2013"/><category term="2014"/><category term="AI"/><category term="ASP.Net Error"/><category term="ASPX"/><category term="Accounts"/><category term="An unexpected error has occurred"/><category term="Architecture"/><category term="Array"/><category term="Artificial Intelligence"/><category term="Attachment"/><category term="Audit Log"/><category term="Authentication"/><category term="Backup"/><category term="Binomial Distribution"/><category term="Bootstrap"/><category term="Bot"/><category term="CAML Query AND"/><category term="CLient-Side Object Model"/><category term="CSOM"/><category term="CSS"/><category term="Capacity"/><category term="Central Administration"/><category term="Challange"/><category term="Charts.js"/><category term="Claim"/><category term="Claims"/><category term="Client Object Model"/><category term="Communication"/><category term="Community"/><category term="Content Approval"/><category term="Content Type"/><category term="Content Type Hub"/><category term="Content Types"/><category term="Correlation ID"/><category term="Current User"/><category term="Customization"/><category term="DataGrid"/><category term="Deletion"/><category term="Deployment"/><category term="Designer"/><category term="Development"/><category term="Development Environment"/><category term="Discussion List"/><category term="Display Template"/><category term="Docker"/><category term="Document"/><category term="ECMAScript"/><category term="ETL"/><category term="Event Handler"/><category term="Excel"/><category term="Excel Web Access"/><category term="Facebook"/><category term="Farm Account"/><category term="Featured"/><category term="Feed"/><category term="Foundation"/><category term="Free"/><category term="Global Navigation"/><category term="Google Visualization API"/><category term="Graph API"/><category term="HTML5"/><category term="HTTP"/><category term="Harvard"/><category term="Harvard Extension School"/><category term="HarvardX"/><category term="Head"/><category term="Hello World"/><category term="Identity"/><category term="Image Rese"/><category term="Import"/><category term="Installation"/><category term="Integration Services"/><category term="JWPlayer"/><category term="Java script"/><category term="Javascript JSON"/><category term="Join two lists"/><category term="Key"/><category term="Like"/><category term="Linear Regression"/><category term="List.asmx"/><category term="Lists.asms"/><category term="MCTS"/><category term="MOSS"/><category term="MOSS Development"/><category term="MS Excel"/><category term="Machine Learning"/><category term="Meta Data"/><category term="Microsoft"/><category term="Microsoft Graph"/><category term="MicrosoftFlow"/><category term="Mobile"/><category term="New Jersey"/><category term="OTB"/><category term="Object Model"/><category term="Office 15"/><category term="Office Graph"/><category term="Power Shell"/><category term="Powershell 2.0"/><category term="Predictive Analytics"/><category term="Primary Key"/><category term="Programmatically"/><category term="Properties"/><category term="Publishing"/><category term="QnA"/><category term="Query String"/><category term="RSS"/><category term="Redirect"/><category term="Reporting"/><category term="Request"/><category term="Responsive"/><category term="Responsive Design"/><category term="Restore"/><category term="SAML 2.0"/><category term="SPFx"/><category term="SPO"/><category term="SQL"/><category term="SQL Server"/><category term="SQL Server 2012"/><category term="STS Admin"/><category term="STSADM"/><category term="Sandbox solution"/><category term="Script Analyzer"/><category term="Search Core Results WebPart"/><category term="Server Object Model"/><category term="SharePoint 15"/><category term="SharePoint 2003"/><category term="SharePoint 2010; SharePoint Designer; Child Parent Relation; No Code"/><category term="SharePoint 2016"/><category term="SharePoint 2016 Preview"/><category term="SharePoint Client Object Model"/><category term="SharePoint Designer"/><category term="SharePoint Designer 2013"/><category term="SharePoint; PowerShell; JavaScript; SharePoint Online"/><category term="Silverlight Web part"/><category term="Site Collection"/><category term="Site Columns"/><category term="Size"/><category term="Taxonomy"/><category term="Technical Preview"/><category term="Term"/><category term="Token"/><category term="UPA"/><category term="Upgrade"/><category term="User Group.asmx"/><category term="User Login"/><category term="User Profile Application"/><category term="User Profile Cleanup"/><category term="Version"/><category term="Video"/><category term="Visual Studio"/><category term="Visual Studio 2005"/><category term="Visual Studio 2008"/><category term="Visual Studio 2012"/><category term="Web User Control"/><category term="WebPart Development"/><category term="Win10"/><category term="WinForm"/><category term="Without Code"/><category term="Workflow"/><category term="XMLHTTPRequest"/><category term="XSL Variables"/><category term="code analysis."/><category term="ebook"/><category term="email"/><category term="iPad"/><category term="images"/><category term="iphone"/><category term="office365dev"/><category term="versions.asmx"/><title type='text'>SharePointBlue - Yet Another SharePoint Blog</title><subtitle type='html'>Just making notes...who can remember all the stuff?</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default?start-index=26&amp;max-results=25'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="137d7c6176637f6a53717f7c747476613d707c7e">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>149</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-4128942660245925745</id><published>2019-01-05T09:31:00.001-05:00</published><updated>2019-01-05T09:31:36.149-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Office365"/><category scheme="http://www.blogger.com/atom/ns#" term="office365dev"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>Official SharePoint Documentation</title><content type='html'>I have recently contributed to the official SharePoint documentation for developement. Check it out here:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/working-with-lists-and-list-items-with-rest&quot;&gt;https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/working-with-lists-and-list-items-with-rest&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/4128942660245925745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2019/01/official-sharepoint-documentation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4128942660245925745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4128942660245925745'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2019/01/official-sharepoint-documentation.html' title='Official SharePoint Documentation'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="325c5d4057425e4b72505e5d555557401c515d5f">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1717555853773127006</id><published>2018-07-04T11:27:00.000-04:00</published><updated>2018-07-04T20:23:49.252-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Azure"/><category scheme="http://www.blogger.com/atom/ns#" term="Docker"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><category scheme="http://www.blogger.com/atom/ns#" term="SPFx"/><category scheme="http://www.blogger.com/atom/ns#" term="Win10"/><title type='text'>SPFx Docker image on Windows 10 VM</title><content type='html'>Please follow this GitHub link:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;span style=&quot;color: #000120;&quot;&gt;&lt;a href=&quot;https://github.com/AlgoNinja/win10docker-spfx&quot;&gt;https://github.com/AlgoNinja/win10docker-spfx&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/1717555853773127006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2018/07/spfx-docker-image-on-windows-10-vm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1717555853773127006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1717555853773127006'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2018/07/spfx-docker-image-on-windows-10-vm.html' title='SPFx Docker image on Windows 10 VM'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f997968b9c899580b99b95969e9e9c8bd79a9694">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-7242428478646366404</id><published>2017-12-14T10:03:00.000-05:00</published><updated>2017-12-14T10:12:10.585-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="Artificial Intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Azure"/><category scheme="http://www.blogger.com/atom/ns#" term="Bot"/><category scheme="http://www.blogger.com/atom/ns#" term="QnA"/><title type='text'>Knowledge Chat Bot (No Code)</title><content type='html'>Recently my customers was looking for a solution where on-field guys can search for answers related to their tasks and it was a perfect scenario to develop a Chat Bot. Microsoft &lt;a href=&quot;https://dev.botframework.com/&quot; target=&quot;_blank&quot;&gt;Bot Framework&lt;/a&gt; has been available for quite some time now and its functionality is keep on getting enhanced with different aspect of Artificial Intelligence like speech recognition, face recognition etc. With yesterday&#39;s &lt;a href=&quot;https://techcrunch.com/2017/12/13/microsoft-makes-azure-bot-service-generally-available/&quot; target=&quot;_blank&quot;&gt;announcement&lt;/a&gt; of GA of &lt;a href=&quot;https://azure.microsoft.com/en-us/services/bot-service/&quot; target=&quot;_blank&quot;&gt;Azure Bot Services&lt;/a&gt;, now we have one place to develop, deploy and expose our intelligent bots to channels like Web, Skype, FB Messenger etc.&lt;br /&gt;&lt;br /&gt;In this post, I will walk you through Azure Bot Services(&lt;a href=&quot;https://docs.microsoft.com/en-us/Bot-Framework&quot;&gt;https://docs.microsoft.com/en-us/Bot-Framework&lt;/a&gt;) to build and connect a bot but first we need to build our bot&#39;s brain and fill it with the knowledge using QnAMaker( &lt;a href=&quot;http://qnamaker.ai/&quot;&gt;http://qnamaker.ai&lt;/a&gt;). &lt;br /&gt;&lt;br /&gt;This post is divided into following three sections: &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Architecture&lt;/li&gt;&lt;li&gt;Building the Knowledge Base (KB)&lt;/li&gt;&lt;li&gt;Building the Chat Bot&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Note:&lt;/b&gt; &lt;i&gt;You need Azure subscription to build this bot&lt;/i&gt;.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;Architecture &lt;/b&gt;&lt;br /&gt;&lt;hr width=&quot;100%&quot; /&gt;Following is the architecture of our solution where we will build a service (bot&#39;s brain) in QnA Maker and then fill it with our Knowledge Base. Then we will create our bot in Azure Bot Services and link it to the bot&#39;s brain (MyBotService) and then we can publish our bot via different channels. We can use Channels to display our bot inside a SharePoint Page, Skype, Teams, Facebook Messenger etc.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-k_Rp_pW4UeA/WjKO5-tyETI/AAAAAAAAUoM/zq8udXmU3LYZT2PxNfZ8iY2OpWB5S5hewCLcBGAs/s1600/Architecture.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;695&quot; data-original-width=&quot;1365&quot; height=&quot;323&quot; src=&quot;https://4.bp.blogspot.com/-k_Rp_pW4UeA/WjKO5-tyETI/AAAAAAAAUoM/zq8udXmU3LYZT2PxNfZ8iY2OpWB5S5hewCLcBGAs/s640/Architecture.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;b&gt;&lt;b&gt;Building the Knowledge Base (KB)&lt;/b&gt;&lt;/b&gt;&lt;br /&gt;&lt;hr width=&quot;100%&quot; /&gt;&lt;ol&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-wY0nJhXu_oM/WjH3utMs76I/AAAAAAAAUmk/R3-ISxekeckTEbDjFG9ZSpk1tSNIVZ5VQCLcBGAs/s1600/02.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-wyj-H9MtTV4/WjHrV-AhV_I/AAAAAAAAUmU/mUqlLZZEZ54MKCoK4zSokQ5rCRQb46inACLcBGAs/s1600/01.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;li&gt;Log on to QnA Maker at&amp;nbsp;&lt;u&gt;&lt;span style=&quot;color: #000120;&quot;&gt;&lt;a href=&quot;https://qnamaker.ai/&quot;&gt;https://qnamaker.ai&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;.&lt;/li&gt;&lt;li&gt;Select &lt;b&gt;Create New Service&lt;/b&gt; tab and provide &lt;b&gt;name&lt;/b&gt; of the bot service e.g. &lt;b&gt;MyBotService&lt;/b&gt;, leave remaining fields as it is and hit &lt;b&gt;Create&lt;/b&gt; button to create the service which will serve as brain of the bot.&lt;br /&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-wyj-H9MtTV4/WjHrV-AhV_I/AAAAAAAAUmU/mUqlLZZEZ54MKCoK4zSokQ5rCRQb46inACLcBGAs/s1600/01.PNG&quot; imageanchor=&quot;1&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: transparent; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-left: 16px; margin-right: 16px; orphans: 2; text-align: center; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;460&quot; data-original-width=&quot;1204&quot; height=&quot;243&quot; src=&quot;https://1.bp.blogspot.com/-wyj-H9MtTV4/WjHrV-AhV_I/AAAAAAAAUmU/mUqlLZZEZ54MKCoK4zSokQ5rCRQb46inACLcBGAs/s640/01.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;You should see the screen where you can provide the knowledge base for your bot. Add couple of questions and their answers by selecting &lt;b&gt;+ Add QnA Pair. &lt;/b&gt;Once you add few QnA pairs, hit &lt;b&gt;Save and retrain&lt;/b&gt; to train your model. You can also provide the questions and answers in text, pdf and document format.&lt;br /&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-wY0nJhXu_oM/WjH3utMs76I/AAAAAAAAUmk/R3-ISxekeckTEbDjFG9ZSpk1tSNIVZ5VQCLcBGAs/s1600/02.PNG&quot; imageanchor=&quot;1&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: transparent; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-left: 16px; margin-right: 16px; orphans: 2; text-align: center; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;522&quot; data-original-width=&quot;1351&quot; height=&quot;246&quot; src=&quot;https://1.bp.blogspot.com/-wY0nJhXu_oM/WjH3utMs76I/AAAAAAAAUmk/R3-ISxekeckTEbDjFG9ZSpk1tSNIVZ5VQCLcBGAs/s640/02.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;You can select &lt;b&gt;Test&lt;/b&gt; tab to test the knowledge base in chat format.&lt;/li&gt;&lt;li&gt;Hit &lt;b&gt;Publish&lt;/b&gt; once testing is done, and then hit &lt;b&gt;publish&lt;/b&gt; again on the next screen to publish MyBotService to the web. We will consumed this service through our Bot.&lt;/li&gt;&lt;li&gt;Once the MyBotService is published, Save the two values highlighted in the screen shot below as &lt;b&gt;QnAKnowledgebaseId&lt;/b&gt; and&amp;nbsp;&lt;b&gt;QnASubscriptionKey&lt;/b&gt;. We need this information in our Bot&#39;s settings.&lt;br /&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-Z1H6-TO2qJ8/WjKUir5q0oI/AAAAAAAAUoc/_J1NHn25LyUEg9sQi_9rEIQ0uZaxUXtyQCLcBGAs/s1600/04.PNG&quot; imageanchor=&quot;1&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: transparent; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-left: 16px; margin-right: 16px; orphans: 2; text-align: center; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;472&quot; data-original-width=&quot;868&quot; height=&quot;348&quot; src=&quot;https://2.bp.blogspot.com/-Z1H6-TO2qJ8/WjKUir5q0oI/AAAAAAAAUoc/_J1NHn25LyUEg9sQi_9rEIQ0uZaxUXtyQCLcBGAs/s640/04.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Note:&lt;/b&gt; You can access further documentation about QnA Maker at &lt;a href=&quot;https://qnamaker.ai/Documentation&quot;&gt;https://qnamaker.ai/Documentation&lt;/a&gt;.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;Building the Chat Bot&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;hr width=&quot;100%&quot; /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;background-color: transparent; color: black; display: inline; float: none; font-family: &amp;quot;times new roman&amp;quot;; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;Log on to Azure at &lt;/span&gt;&lt;a href=&quot;http://portal.azure.com/&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: transparent; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;http://portal.azure.com&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Select &lt;b&gt;New&lt;/b&gt; and go to &lt;b&gt;AI&amp;nbsp;+ Cognitive Services&lt;/b&gt; section and choose &lt;b&gt;Web App Bot&lt;/b&gt;.&lt;br /&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-XbI145MbvJE/WjKFaW9o0bI/AAAAAAAAUnc/Nm-G_51tyJYv3M99OAyQACk-3WsG56MiQCLcBGAs/s1600/01.PNG&quot; imageanchor=&quot;1&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: transparent; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-left: 16px; margin-right: 16px; orphans: 2; text-align: center; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;478&quot; data-original-width=&quot;807&quot; height=&quot;378&quot; src=&quot;https://1.bp.blogspot.com/-XbI145MbvJE/WjKFaW9o0bI/AAAAAAAAUnc/Nm-G_51tyJYv3M99OAyQACk-3WsG56MiQCLcBGAs/s640/01.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;Provide a unique Bot Name (e.g. DemoBot101), select &lt;b&gt;Subscription&lt;/b&gt; and then choose &lt;b&gt;Bot template&lt;/b&gt; as &lt;b&gt;Question and Answer&lt;/b&gt;. You can also choose between C# or Node.js SDK which doesn&#39;t matter in this case as we are not writing any code. Select &lt;b&gt;Create&lt;/b&gt; button at the end to create the Bot.&lt;br /&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-_zZ5kCAnFxM/WjKFaXM8j4I/AAAAAAAAUng/aKXQr4RnMWIiuqiEn7c2OjrUbORlEWg7QCEwYBhgL/s1600/02.PNG&quot; imageanchor=&quot;1&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: transparent; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-left: 16px; margin-right: 16px; orphans: 2; text-align: center; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;874&quot; data-original-width=&quot;1130&quot; height=&quot;494&quot; src=&quot;https://2.bp.blogspot.com/-_zZ5kCAnFxM/WjKFaXM8j4I/AAAAAAAAUng/aKXQr4RnMWIiuqiEn7c2OjrUbORlEWg7QCEwYBhgL/s640/02.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;Once the basic bot has been created you will be notified and select &lt;b&gt;Go to resources&lt;/b&gt; from the notification section to see the Bot&#39;s details, settings etc.&lt;br /&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-0VDvhlkt5_A/WjKFaeGJ5kI/AAAAAAAAUng/BnwsJu27rzcCOhAJtJ6lYzvFMAw5RE24wCEwYBhgL/s1600/03.PNG&quot; imageanchor=&quot;1&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: transparent; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-left: 16px; margin-right: 16px; orphans: 2; text-align: center; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;247&quot; data-original-width=&quot;421&quot; height=&quot;233&quot; src=&quot;https://4.bp.blogspot.com/-0VDvhlkt5_A/WjKFaeGJ5kI/AAAAAAAAUng/BnwsJu27rzcCOhAJtJ6lYzvFMAw5RE24wCEwYBhgL/s400/03.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;Select &lt;b&gt;Application Settings&lt;/b&gt; of the bot and go to the &lt;b&gt;App settings&lt;/b&gt; section and provide the value of the keys&amp;nbsp;&lt;b&gt;QnAKnowledgebaseId&lt;/b&gt;&lt;span style=&quot;background-color: transparent; color: black; display: inline; float: none; font-family: &amp;quot;times new roman&amp;quot;; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt; and&amp;nbsp;&lt;/span&gt;&lt;b&gt;QnASubscriptionKey&lt;/b&gt; which we copied while creating the MyBotService and hit &lt;b&gt;Save&lt;/b&gt;.&lt;br /&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-YB2wtu7mre8/WjKJ28d_AZI/AAAAAAAAUns/eGjvgflfmV46Biystn0dkV9cxcWrHBuLgCLcBGAs/s1600/04.PNG&quot; imageanchor=&quot;1&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: transparent; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-left: 16px; margin-right: 16px; orphans: 2; text-align: center; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;732&quot; data-original-width=&quot;1193&quot; height=&quot;392&quot; src=&quot;https://1.bp.blogspot.com/-YB2wtu7mre8/WjKJ28d_AZI/AAAAAAAAUns/eGjvgflfmV46Biystn0dkV9cxcWrHBuLgCLcBGAs/s640/04.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;Now you can test the bot from &lt;b&gt;Test in Web Chat&lt;/b&gt; tab.&lt;br /&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-PZDiPhUO7JQ/WjKJ2_BMC2I/AAAAAAAAUno/kJUnMtHFCRExVVODn2QnxyiXoOEt6jPdwCEwYBhgL/s1600/05.PNG&quot; imageanchor=&quot;1&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: transparent; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-left: 16px; margin-right: 16px; orphans: 2; text-align: center; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;808&quot; data-original-width=&quot;867&quot; height=&quot;372&quot; src=&quot;https://3.bp.blogspot.com/-PZDiPhUO7JQ/WjKJ2_BMC2I/AAAAAAAAUno/kJUnMtHFCRExVVODn2QnxyiXoOEt6jPdwCEwYBhgL/s400/05.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Once the testing is completed, this Chat Bot can be published to web, Skype, Teams, MSN Messenger etc via &lt;b&gt;Channels&lt;/b&gt;.&lt;br /&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-1wJjG31KtXc/WjKN44xik3I/AAAAAAAAUoE/zmCraA4fFdMcYodNnvPl7QeENZ6pkP8IgCLcBGAs/s1600/05.PNG&quot; imageanchor=&quot;1&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: transparent; color: #0066cc; font-family: Times New Roman; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-left: 16px; margin-right: 16px; orphans: 2; text-align: center; text-decoration: underline; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;838&quot; data-original-width=&quot;1268&quot; height=&quot;422&quot; src=&quot;https://2.bp.blogspot.com/-1wJjG31KtXc/WjKN44xik3I/AAAAAAAAUoE/zmCraA4fFdMcYodNnvPl7QeENZ6pkP8IgCLcBGAs/s640/05.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;/ol&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;b&gt;Note:&lt;/b&gt; You can access Azure Bot Services documentation here:&amp;nbsp;&lt;a href=&quot;https://azure.microsoft.com/en-us/services/bot-service&quot;&gt;https://azure.microsoft.com/en-us/services/bot-service&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/7242428478646366404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2017/12/knowledge-chat-bot-no-code.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7242428478646366404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7242428478646366404'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2017/12/knowledge-chat-bot-no-code.html' title='Knowledge Chat Bot (No Code)'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="fc92938e998c9085bc9e90939b9b998ed29f9391">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://4.bp.blogspot.com/-k_Rp_pW4UeA/WjKO5-tyETI/AAAAAAAAUoM/zq8udXmU3LYZT2PxNfZ8iY2OpWB5S5hewCLcBGAs/s72-c/Architecture.jpg" height="72" width="72"/><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-7265502439691067334</id><published>2017-10-18T10:37:00.001-04:00</published><updated>2017-10-23T12:01:34.119-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Communication"/><category scheme="http://www.blogger.com/atom/ns#" term="Office365"/><category scheme="http://www.blogger.com/atom/ns#" term="Publishing"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>Publishing Sites vs Communication Sites</title><content type='html'>It was &lt;a href=&quot;https://techcommunity.microsoft.com/t5/SharePoint-Blog/Reach-your-audience-via-SharePoint-communication-sites-in-Office/ba-p/70079&quot; target=&quot;_blank&quot;&gt;announced&lt;/a&gt; in SharePoint Virtual Summit in May 2017, a more modern way of content publishing is released called Communication Sites. Now you can read all about Communication sites &lt;a href=&quot;https://support.office.com/en-us/article/What-is-a-SharePoint-communication-site-94a33429-e580-45c3-a090-5512a8070732&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://en.share-gate.com/blog/sharepoint-online-communication-sites-explained&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;, I am going to focus on the major differences between the daddy (&lt;a href=&quot;https://support.office.com/en-us/article/Build-a-SharePoint-publishing-site-60B4402C-894A-452C-9DF9-D6546D5172B6&quot; target=&quot;_blank&quot;&gt;Publishing Sites&lt;/a&gt;) and the newborn (Communication Sites) since both are geared towards a similar requirement.....Content Publishing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;When NOT to use Publishing &amp;amp; Communication Sites?&lt;/b&gt;&lt;br /&gt;If you have a scenario where few people (generally one or two) are creating content for a larger audience (generally whole organization) then use publishing sites or more recommended communication sites.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-kxUbYLsumkc/Wbq1qs16q-I/AAAAAAAATec/doIuKyRN2oErlsjH_bvh0P9S-2CUJaZMwCLcBGAs/s1600/Publishing%2Bsite.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;431&quot; data-original-width=&quot;324&quot; height=&quot;320&quot; src=&quot;https://3.bp.blogspot.com/-kxUbYLsumkc/Wbq1qs16q-I/AAAAAAAATec/doIuKyRN2oErlsjH_bvh0P9S-2CUJaZMwCLcBGAs/s320/Publishing%2Bsite.PNG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;If a smaller group is communicating/collaborating among them solves (just like a team would do) then use &lt;a href=&quot;https://support.office.com/en-us/article/Create-a-team-site-in-SharePoint-Online-ef10c1e7-15f3-42a3-98aa-b5972711777d&quot; target=&quot;_blank&quot;&gt;Team Sites&lt;/a&gt;. Do not use Publishing Sites or Communication Sites for such scenarios. Its an over kill. Also between small groups the communication is generally two way.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-X5KtgW5uWn4/Wbq1q3Tk17I/AAAAAAAATeY/kWO_s3DSoNwz1EIgLkaD5PQijAkfOFlaQCEwYBhgL/s1600/Team%2BSite.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;365&quot; data-original-width=&quot;486&quot; height=&quot;240&quot; src=&quot;https://4.bp.blogspot.com/-X5KtgW5uWn4/Wbq1q3Tk17I/AAAAAAAATeY/kWO_s3DSoNwz1EIgLkaD5PQijAkfOFlaQCEwYBhgL/s320/Team%2BSite.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Publishing Sites vs Communication Sites:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border=&quot;1&quot; bordercolor=&quot;#0033FF&quot; cellspacing=&quot;0&quot; style=&quot;width: 600px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Publishing Sites&lt;/th&gt;&lt;th&gt;Communication Sites&lt;/th&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td&gt;1&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Not so mobile ready. We have to make use of developers to create master page for mobile and then configure device channels to redirect mobile traffic to different site design.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-kJGDS3mvOmU/WbrA48VjWiI/AAAAAAAATfM/-6-xfWXX4XEMcktbVejPHEamNCKF-WKGwCLcBGAs/s1600/Pub-2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1107&quot; data-original-width=&quot;698&quot; height=&quot;320&quot; src=&quot;https://4.bp.blogspot.com/-kJGDS3mvOmU/WbrA48VjWiI/AAAAAAAATfM/-6-xfWXX4XEMcktbVejPHEamNCKF-WKGwCLcBGAs/s320/Pub-2.PNG&quot; width=&quot;201&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Mobile ready with responsive design. :o)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-uqUos7Iy4hA/WbrA4lu9HHI/AAAAAAAATfI/hd0_iMmvV-EAJV91XNmn2KPGW5nF0iyEQCLcBGAs/s1600/Com-2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1143&quot; data-original-width=&quot;697&quot; height=&quot;320&quot; src=&quot;https://1.bp.blogspot.com/-uqUos7Iy4hA/WbrA4lu9HHI/AAAAAAAATfI/hd0_iMmvV-EAJV91XNmn2KPGW5nF0iyEQCLcBGAs/s320/Com-2.PNG&quot; style=&quot;cursor: move;&quot; width=&quot;195&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;2&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;More development work to setup a complete solution as developer&#39;s involvement is needed for developing custom Master Pages, writing HTML/CSS, designing Page Layouts with SharePoint Designer.&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-uqUos7Iy4hA/WbrA4lu9HHI/AAAAAAAATfI/hd0_iMmvV-EAJV91XNmn2KPGW5nF0iyEQCLcBGAs/s1600/Com-2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;Developer&#39;s involvement is not required for common requirements like responsive UI, Page Layouts with multiple columns, light weight web parts (e.g. Hero web part).&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;3&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-PO9_FwbMRtU/Wbq_hANYiBI/AAAAAAAATe8/wk20zSHhQH46FeEvCyKH3sGi3cxzQ9GKQCLcBGAs/s1600/Pub-1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;Not so modern UI even with HTML5. Very SharePoint type look an feel.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-0XkGmsNN5po/Wbq_gudXK5I/AAAAAAAATe4/0SyW6nwlcEoOC7ArCfHS1VSnIwNSaG80wCLcBGAs/s1600/Com-1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;815&quot; data-original-width=&quot;1600&quot; height=&quot;161&quot; src=&quot;https://1.bp.blogspot.com/-0XkGmsNN5po/Wbq_gudXK5I/AAAAAAAATe4/0SyW6nwlcEoOC7ArCfHS1VSnIwNSaG80wCLcBGAs/s320/Com-1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Modern UI.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-PO9_FwbMRtU/Wbq_hANYiBI/AAAAAAAATe8/wk20zSHhQH46FeEvCyKH3sGi3cxzQ9GKQCLcBGAs/s1600/Pub-1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;846&quot; data-original-width=&quot;1600&quot; height=&quot;168&quot; src=&quot;https://3.bp.blogspot.com/-PO9_FwbMRtU/Wbq_hANYiBI/AAAAAAAATe8/wk20zSHhQH46FeEvCyKH3sGi3cxzQ9GKQCLcBGAs/s320/Pub-1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;4&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Publishing a page needs more steps like check-out, , save, check-in, publish.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-X-ySlMLi8kc/Wbq-yU9N4VI/AAAAAAAATes/AmIjwLmHNWcLnONDTcnRRXv77iTs99phQCLcBGAs/s1600/PS-Pub.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;302&quot; data-original-width=&quot;333&quot; height=&quot;181&quot; src=&quot;https://3.bp.blogspot.com/-X-ySlMLi8kc/Wbq-yU9N4VI/AAAAAAAATes/AmIjwLmHNWcLnONDTcnRRXv77iTs99phQCLcBGAs/s200/PS-Pub.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-E5b06F7jFWU/Wbq-ybFhXYI/AAAAAAAATew/fmlS_HmiK3IzQ04GpY_GPqvvJgJGbA9kgCLcBGAs/s1600/PS-Com.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;One step publishing. Just click publishing.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-E5b06F7jFWU/Wbq-ybFhXYI/AAAAAAAATew/fmlS_HmiK3IzQ04GpY_GPqvvJgJGbA9kgCLcBGAs/s1600/PS-Com.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;76&quot; data-original-width=&quot;313&quot; height=&quot;48&quot; src=&quot;https://2.bp.blogspot.com/-E5b06F7jFWU/Wbq-ybFhXYI/AAAAAAAATew/fmlS_HmiK3IzQ04GpY_GPqvvJgJGbA9kgCLcBGAs/s200/PS-Com.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;Conclusion:&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;Now that we have learned the major differences between the both site types, here is what we should do in order to choose between them.&lt;br /&gt;&lt;br /&gt;We should start designing publishing solutions with Communication sites in mind. It gives many features OOB which have been requested by customer again and again, specially the responsive UI. It is quicker to create content, faster to publish and cleaner to manage Communication sites without any developer&#39;s involvement. At this point it does not have features like cross-site publishing, Approval workflow, multi language etc but many(not all) of these features are in pipeline as told in &lt;a href=&quot;https://techcommunity.microsoft.com/t5/Communications-Sites-AMA/bd-p/CommunicationsSitesAMA&quot; target=&quot;_blank&quot;&gt;community forum&lt;/a&gt; :o).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; Publishing Sites are not deprecated at this point.&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;br /&gt;On the other hand Publishing Site have more functionality at this point and gives you more control over branding as you can introduce your own HTML/CSS and can write custom MasterPages. But this great functionality comes at the cost of custom code and developer&#39;s involvement which can result in higher cost for publishing.&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/7265502439691067334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2017/10/publishing-sites-vs-communication-sites.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7265502439691067334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7265502439691067334'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2017/10/publishing-sites-vs-communication-sites.html' title='Publishing Sites vs Communication Sites'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ddb3b2afb8adb1a49dbfb1b2babab8aff3beb2b0">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-kxUbYLsumkc/Wbq1qs16q-I/AAAAAAAATec/doIuKyRN2oErlsjH_bvh0P9S-2CUJaZMwCLcBGAs/s72-c/Publishing%2Bsite.PNG" height="72" width="72"/><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-2882651467342562226</id><published>2017-06-12T10:57:00.000-04:00</published><updated>2017-06-12T10:57:57.190-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MicrosoftFlow"/><category scheme="http://www.blogger.com/atom/ns#" term="Office365"/><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="Workflow"/><title type='text'>Microsoft Flow - HTTP REST Call</title><content type='html'>In this blog post, I will cover what is a workflow and how we can create a workflow using Microsoft Flow that can make HTTP REST calls to bring the stock price and then I will discuss how we can use this workflow in a iPhone app in following sections:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;Workflow&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;Microsoft Flow&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;HTTP REST Call from MS Flow&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;Using the Workflow in the Flow App&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Workflow:&lt;/b&gt;&lt;br /&gt;My definition of a workflow is, &lt;i&gt;&lt;b&gt;steps to complete a task&lt;/b&gt;&lt;/i&gt;. That&#39;s it :o). &lt;br /&gt;For example, if you want to get your driving license then you follow the steps provided on the DMV&#39;s site (1-Bring documents, 2-Fill paper work, 3-Get your photo taken, 4-Pay fee). In this example, our task is to get the driving license and in order to complete this task we have to follow four steps.&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;div id=&quot;flow&quot;&gt;&lt;b&gt;Microsoft Flow:&lt;/b&gt;&lt;/div&gt;In SharePoint world we used to have &lt;a href=&quot;https://en.wikipedia.org/wiki/Microsoft_SharePoint_Designer&quot;&gt;SharePoint Designer&lt;/a&gt; (which we all love)&amp;nbsp;to create workflows and do other stuff.&amp;nbsp;Now that there is not going to be a newer version of SPD, Microsoft has provided&amp;nbsp;another awesome way of creating workflows called &lt;a href=&quot;https://flow.microsoft.com/&quot; target=&quot;_blank&quot;&gt;Microsoft Flow&lt;/a&gt;.&amp;nbsp;Its a cloud based service&amp;nbsp;which lives outside the SharePoint world, can be used on a mobile phone&amp;nbsp;and can interact with many services like SPO list/lib, Outlook, Azure, Salesforce, Twitter, Google Drive, Gmail and the list goes on and on. Microsoft Flow is a no-code/low-code solution&amp;nbsp;and it can also interact with SharePoint on-prem. &lt;br /&gt;&lt;br /&gt;So without further due lets create a workflow&amp;nbsp;which&amp;nbsp;will make HTTP REST call to grab stock quote of a provided ticker....and we will be using this workflow&amp;nbsp;in our&amp;nbsp;iPhone.&lt;br /&gt;&lt;br /&gt;&lt;div id=&quot;dev&quot;&gt;&lt;b&gt;HTTP REST Call from MS Flow:&lt;/b&gt;&lt;/div&gt;&lt;ol&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-MSm5Jmvo4Uc/WTlpgJ9KrwI/AAAAAAAASk4/a1Df_TyjMHkR8oqJx2oNK0jyhH_Kk4VlgCEw/s1600/04.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;li&gt;Go to &lt;a href=&quot;https://flow.microsoft.com/&quot; target=&quot;_blank&quot;&gt;Microsoft Flow&lt;/a&gt;, sign-in&amp;nbsp;and create an empty flow &quot;Stock Price&quot;.&lt;/li&gt;&lt;li&gt;Now I am going to add steps to trigger the workflow manually which will make an HTTP REST call and then parse the results and show me the price in a mobile notification.&lt;/li&gt;&lt;li&gt;For that my workflow will have following steps:&amp;nbsp;An input&amp;nbsp;button, HTTP Request step, Compose step, Parse JSON step&amp;nbsp;and then Mobile Notification step as shown in the diagram below:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-tuuHc4Dz8H4/WTlpgAMbAcI/AAAAAAAASk4/Pg_Gj2D44c4wJWAW_1ZvJCKUx3fzDrPmACEw/s1600/03.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-1Zu_hwRC8Kk/WTlm0NhtQyI/AAAAAAAASkY/UDEncVZcSTY6c0QVjeTmkyUxqdHeYNrCgCLcB/s1600/01.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1130&quot; data-original-width=&quot;1477&quot; height=&quot;305&quot; src=&quot;https://1.bp.blogspot.com/-1Zu_hwRC8Kk/WTlm0NhtQyI/AAAAAAAASkY/UDEncVZcSTY6c0QVjeTmkyUxqdHeYNrCgCLcB/s400/01.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Manually trigger a workflow step adds a button on your iPhone app which takes a stock ticker input. You have to install the Flow app from the&amp;nbsp;App Store&amp;nbsp;in order to view it.&lt;br /&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-dmmAGkecS6U/WTlpV4E3oSI/AAAAAAAASkk/xKDZlWuEL6MNvjf-jJIeH2CbDyydttK4QCEw/s1600/02.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;492&quot; data-original-width=&quot;908&quot; height=&quot;173&quot; src=&quot;https://1.bp.blogspot.com/-dmmAGkecS6U/WTlpV4E3oSI/AAAAAAAASkk/xKDZlWuEL6MNvjf-jJIeH2CbDyydttK4QCEw/s320/02.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;HTTP step will make REST call to google finance API via GET method by providing the stock ticker taken in the previous step. e.g. &lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;b&gt;http://finance.google.com/finance/info?client=ig&amp;amp;q=MSFT&lt;/b&gt;&lt;/span&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-tuuHc4Dz8H4/WTlpgAMbAcI/AAAAAAAASk4/Pg_Gj2D44c4wJWAW_1ZvJCKUx3fzDrPmACEw/s1600/03.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;363&quot; data-original-width=&quot;912&quot; height=&quot;158&quot; src=&quot;https://1.bp.blogspot.com/-tuuHc4Dz8H4/WTlpgAMbAcI/AAAAAAAASk4/Pg_Gj2D44c4wJWAW_1ZvJCKUx3fzDrPmACEw/s400/03.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;As a result we will get JSON response. I added Compose step to strip out the special characters in the response&amp;nbsp;by using&amp;nbsp;a WDL(&lt;a href=&quot;https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-definition-language&quot; target=&quot;_blank&quot;&gt;Workflow Definition Language&lt;/a&gt;) function: &lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&quot;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;@replace(body(&#39;HTTP&#39;), &#39;// &#39;, &#39;&#39;)&quot;&lt;/span&gt;&lt;/b&gt;.&lt;br /&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-MSm5Jmvo4Uc/WTlpgJ9KrwI/AAAAAAAASk4/a1Df_TyjMHkR8oqJx2oNK0jyhH_Kk4VlgCEw/s1600/04.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;154&quot; data-original-width=&quot;919&quot; height=&quot;66&quot; src=&quot;https://3.bp.blogspot.com/-MSm5Jmvo4Uc/WTlpgJ9KrwI/AAAAAAAASk4/a1Df_TyjMHkR8oqJx2oNK0jyhH_Kk4VlgCEw/s400/04.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;After removing the special characters I should&amp;nbsp;be able to parse&amp;nbsp;JSON by providing a valid schema. You can&amp;nbsp;generate schema by adding your response to the blue link provided at the bottom of this step.&lt;br /&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-sIxYfKshT7M/WTlpgKv9FKI/AAAAAAAASk4/KepaNweFnsgF6_mvUfFF7kOIR3iBs6uaACEw/s1600/05.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;921&quot; height=&quot;173&quot; src=&quot;https://4.bp.blogspot.com/-sIxYfKshT7M/WTlpgKv9FKI/AAAAAAAASk4/KepaNweFnsgF6_mvUfFF7kOIR3iBs6uaACEw/s320/05.PNG&quot; style=&quot;cursor: move;&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;Now lets add the notification step and add &lt;b&gt;Ticker&lt;/b&gt; and&amp;nbsp;&lt;b&gt;l&lt;/b&gt; outputs to the Text field of this step. Note that notification step will be placed inside the loop automatically as JSON response can have&amp;nbsp;multiple results for &lt;b&gt;l&lt;/b&gt;.&lt;br /&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-OD9adC-8reY/WTlpgaeZhxI/AAAAAAAASk4/oJo3WN8lN98rFuw2HtzcWluTFM3d0fSuwCEw/s1600/06.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;488&quot; data-original-width=&quot;966&quot; height=&quot;161&quot; src=&quot;https://3.bp.blogspot.com/-OD9adC-8reY/WTlpgaeZhxI/AAAAAAAASk4/oJo3WN8lN98rFuw2HtzcWluTFM3d0fSuwCEw/s320/06.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div id=&quot;demo&quot;&gt;&lt;b&gt;Using the Workflow in the Flow App&lt;/b&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Install the Flow app from App Store in your iPhone.&lt;/li&gt;&lt;li&gt;Sign-in and go to the &lt;b&gt;Buttons&lt;/b&gt;. You should be able to see all your buttons there.&lt;/li&gt;&lt;li&gt;Click &quot;Stock Price&quot; button and provide the symbol &lt;b&gt;MSFT&lt;/b&gt; and then hit &lt;b&gt;Done&lt;/b&gt;.&lt;br /&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-s2H8pm-KVXg/WTl2UhqVAFI/AAAAAAAASlE/-upTGTzGuVElbmiDraXOOJD5Otx_AOQ9ACLcB/s1600/20170608_154244000_iOS.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1136&quot; data-original-width=&quot;640&quot; height=&quot;320&quot; src=&quot;https://1.bp.blogspot.com/-s2H8pm-KVXg/WTl2UhqVAFI/AAAAAAAASlE/-upTGTzGuVElbmiDraXOOJD5Otx_AOQ9ACLcB/s320/20170608_154244000_iOS.png&quot; width=&quot;179&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-30T82t98ips/WTl2UoxjWeI/AAAAAAAASlI/rvBakRgTuGAxZHx7d40yqrolbLbq5J3nACLcB/s1600/20170608_154300000_iOS.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1136&quot; data-original-width=&quot;640&quot; height=&quot;320&quot; src=&quot;https://3.bp.blogspot.com/-30T82t98ips/WTl2UoxjWeI/AAAAAAAASlI/rvBakRgTuGAxZHx7d40yqrolbLbq5J3nACLcB/s320/20170608_154300000_iOS.png&quot; width=&quot;179&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;This will start the workflow and you should&amp;nbsp;get the&amp;nbsp;push notification with the stock ticker&amp;nbsp;with the price quote in it.&lt;br /&gt;&amp;nbsp;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-kbJdAboHeY0/WTl2U-8QYEI/AAAAAAAASlQ/nbZpTzTm5N4AgwRUsbKpTYRPKhBtvVPjwCEw/s1600/20170608_155840000_iOS.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1136&quot; data-original-width=&quot;640&quot; height=&quot;320&quot; src=&quot;https://1.bp.blogspot.com/-kbJdAboHeY0/WTl2U-8QYEI/AAAAAAAASlQ/nbZpTzTm5N4AgwRUsbKpTYRPKhBtvVPjwCEw/s320/20170608_155840000_iOS.png&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;Ref: &lt;a href=&quot;https://flow.microsoft.com/&quot;&gt;https://flow.microsoft.com&lt;/a&gt;&lt;br /&gt;Ref: &lt;a href=&quot;https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-definition-language&quot;&gt;https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-definition-language&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/2882651467342562226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2017/06/microsoft-flow-http-rest-call.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2882651467342562226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/2882651467342562226'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2017/06/microsoft-flow-http-rest-call.html' title='Microsoft Flow - HTTP REST Call'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c4aaabb6a1b4a8bd84a6a8aba3a3a1b6eaa7aba9">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-1Zu_hwRC8Kk/WTlm0NhtQyI/AAAAAAAASkY/UDEncVZcSTY6c0QVjeTmkyUxqdHeYNrCgCLcB/s72-c/01.PNG" height="72" width="72"/><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-380882606116819917</id><published>2017-05-25T15:22:00.000-04:00</published><updated>2017-05-25T16:09:17.677-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Office 365"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><category scheme="http://www.blogger.com/atom/ns#" term="SPO"/><title type='text'>SharePoint Online Page Load Time with JavaScript</title><content type='html'>&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;Scenario:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;We know that Microsoft don&#39;t recommend any kind of load testing against SharePoint Online pages as mentioned &lt;/span&gt;&lt;a href=&quot;https://support.office.com/en-us/article/Capacity-planning-and-load-testing-SharePoint-Online-c932bd9b-fb9a-47ab-a330-6979d03688c0&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;but still customers want to know how much time it takes to load a page to get a feel of the end user experience. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;To find the page load times, browsers (Edge, Chrome &amp;amp; Firefox)&amp;nbsp;now have built-in support of &lt;/span&gt;&lt;a href=&quot;http://www.w3.org/TR/navigation-timing/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Navigation Timing&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; which is a JavaScript API to measure the performance of a web page.&amp;nbsp;This API&amp;nbsp;is exposed via &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;performance.timing&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; object. Performance Timing API provides following&amp;nbsp;events of&amp;nbsp;for a web page, which we can use in JavaScript to get the different times of page load:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-I3-3GCUCQeY/WScmnOa9MAI/AAAAAAAAQNc/psb5YKjblZ0LLfzuyMrBziYtlt8oTBKrQCLcB/s1600/Performance-timing.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;382&quot; src=&quot;https://3.bp.blogspot.com/-I3-3GCUCQeY/WScmnOa9MAI/AAAAAAAAQNc/psb5YKjblZ0LLfzuyMrBziYtlt8oTBKrQCLcB/s640/Performance-timing.png&quot; width=&quot;640&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Here is an example of JavaScript that calculates the complete page load time, starting from the user pressing the&amp;nbsp;Go button in the browser till the page renders completely:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style=&quot;background-color: #eeeeee; border-image: none; border: 1px dashed rgb(153, 153, 153); color: black; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Load Time: &amp;lt;div id=&quot;LoadTime&quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script type=&quot;text/javascript&quot; &amp;gt;&lt;br /&gt;&lt;br /&gt;window.onload = function(){&lt;br /&gt;  setTimeout(function(){&lt;br /&gt;    var t = performance.timing;&lt;br /&gt;    document.getElementById(&#39;LoadTime&#39;).innerHTML = t.loadEventEnd - t.navigationStart;&lt;br /&gt;  }, 0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Note that above script is calculating difference between &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;loadEvendEnd&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; (very last event) and &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;navigationStart&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; (very first event) which is simulating the end user experience. The time will be displayed in milliseconds.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-VMFuvBnwa1M/WScwLI-zCYI/AAAAAAAAQNw/9wdrXwHZULsI7RZTDwpk5EV3rkSFmAjFgCLcB/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://1.bp.blogspot.com/-VMFuvBnwa1M/WScwLI-zCYI/AAAAAAAAQNw/9wdrXwHZULsI7RZTDwpk5EV3rkSFmAjFgCLcB/s400/Capture.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Similarly we can calculate the time&amp;nbsp;between the request sent to server and response&amp;nbsp;that came back&amp;nbsp;from the server by&amp;nbsp;calculating the difference between &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;responseEnd&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; and &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;requestStart&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; events.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Reference: &lt;/span&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/performance/navigation-timing-api&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/performance/navigation-timing-api &lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/380882606116819917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2017/05/sharepoint-online-page-load-time-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/380882606116819917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/380882606116819917'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2017/05/sharepoint-online-page-load-time-with.html' title='SharePoint Online Page Load Time with JavaScript'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b5dbdac7d0c5d9ccf5d7d9dad2d2d0c79bd6dad8">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-I3-3GCUCQeY/WScmnOa9MAI/AAAAAAAAQNc/psb5YKjblZ0LLfzuyMrBziYtlt8oTBKrQCLcB/s72-c/Performance-timing.png" height="72" width="72"/><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-6797399783293980467</id><published>2016-11-01T21:48:00.000-04:00</published><updated>2016-11-01T21:48:10.472-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Graph"/><category scheme="http://www.blogger.com/atom/ns#" term="Graph API"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Graph"/><category scheme="http://www.blogger.com/atom/ns#" term="Office 365"/><category scheme="http://www.blogger.com/atom/ns#" term="Office Graph"/><title type='text'>Microsoft Graph vs Office Graph</title><content type='html'>Microsoft introduced &lt;a href=&quot;https://dev.office.com/officegraph&quot;&gt;Office Graph&lt;/a&gt; a couple of months back&amp;nbsp;which uses machine learning techniques to connect people to the relevant content, conversations and other people around them in Microsoft Cloud (Office 365).&amp;nbsp;Now Microsoft&amp;nbsp;recently introduced &lt;a href=&quot;https://graph.microsoft.io/en-us/&quot;&gt;Microsoft Graph&lt;/a&gt;, which is a unified API endpoint, for accessing data, intelligence, and insights&amp;nbsp;in the Microsoft cloud...and everybody is now confused :o). In this post I will try to&amp;nbsp;explain the difference.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is Graph?&lt;/b&gt;&lt;br /&gt;According to wikipedia graph&amp;nbsp;also known as social graph&amp;nbsp;is described as: &lt;br /&gt;&lt;i&gt;The &lt;b&gt;social graph&lt;/b&gt; in the Internet context is a graph that depicts personal relations of internet users.  In short, it is model or representation of a social network, where the word graph has been taken from graph theory to emphasize that rigorous mathematical analysis will be applied as opposed to the relational representation in a social network.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Which means that how a person on internet is&amp;nbsp;related or linked to another person and/or object(like document, image etc).This term was popularized by Facebook...for obvious reasons&amp;nbsp;:o).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Office Graph:&lt;/b&gt;&lt;br /&gt;The Office Graph&amp;nbsp;uses machine learning algorithms&amp;nbsp;to learn&amp;nbsp;how a Office 365 user is connected to other users, content(documents etc) and conversations&amp;nbsp;in&amp;nbsp;a tenant and create a graph based on it in order to make suggestions. &lt;br /&gt;&lt;br /&gt;If you go to Delve, the yellow section shows the information generated automatically based on Office Graph:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-0-GBx9KcMFI/WBihZ_lhRII/AAAAAAAAOBU/bf0u6aZARHsoTHaSOhGFUIZJ0nqiLC1dACLcB/s1600/1%2BDelve%2Bwith%2BGraph.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;364&quot; src=&quot;https://3.bp.blogspot.com/-0-GBx9KcMFI/WBihZ_lhRII/AAAAAAAAOBU/bf0u6aZARHsoTHaSOhGFUIZJ0nqiLC1dACLcB/s640/1%2BDelve%2Bwith%2BGraph.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If we disable office graph by going into the SharePoint settings:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-8bADiGiqcMc/WBihlRPunpI/AAAAAAAAOBY/WEIf-4gfBzQzDR3ohGgwOnmCQggbKI2jgCLcB/s1600/Office%2BGraph%2BSettings.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;51&quot; src=&quot;https://2.bp.blogspot.com/-8bADiGiqcMc/WBihlRPunpI/AAAAAAAAOBY/WEIf-4gfBzQzDR3ohGgwOnmCQggbKI2jgCLcB/s400/Office%2BGraph%2BSettings.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;then Delve will not show the information generated by the office graph, it will only show basic about me information:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-1LxXIxqFh98/WBih2jxd-SI/AAAAAAAAOBc/BMkstsHZzP8RdwMvbauwGbYy67e6FGOFACLcB/s1600/Delve%2Bwithout%2BGraph.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://3.bp.blogspot.com/-1LxXIxqFh98/WBih2jxd-SI/AAAAAAAAOBc/BMkstsHZzP8RdwMvbauwGbYy67e6FGOFACLcB/s640/Delve%2Bwithout%2BGraph.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Microsoft Graph:&lt;/b&gt;&lt;br /&gt;Microsoft Graph is an API with a single end point to access data, intelligence and insights from Microsoft Cloud (Office 365). &lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-PXevKmxvoug/WBiwBrDwx8I/AAAAAAAAOBs/lPigjYYsKGIV-07lpl1XoJ1NCT2SYShVACLcB/s1600/MS%2BGrap%2BAPI.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;144&quot; src=&quot;https://4.bp.blogspot.com/-PXevKmxvoug/WBiwBrDwx8I/AAAAAAAAOBs/lPigjYYsKGIV-07lpl1XoJ1NCT2SYShVACLcB/s640/MS%2BGrap%2BAPI.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Let&#39;s understand it by an example, imagine a scenario where an&amp;nbsp;app has to access a user&#39;s email attachment, upload it to SharePoint&amp;nbsp;and then&amp;nbsp;notify&amp;nbsp;user&#39;s manager. Now&amp;nbsp;that&amp;nbsp;app needs to get authenticated&amp;nbsp;first and then go to Outlook to grab emails and then go to SharePoint to upload files, which means dev have to have&amp;nbsp;to work with three different set of APIs (Active Directory, Outlook and SharePoint). To overcome such scenarios Microsoft has introduced one API&amp;nbsp;(Graph API)&amp;nbsp;to talk to all Office 365 products. Microsoft Graph API is one API to rule them all.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Access Office Graph via MS Graph: &lt;/b&gt;Microsoft Graph API&amp;nbsp;does not depend on Office Graph. However it can provides more functionality when Office Graph is enabled e.g. trends and related&amp;nbsp;people etc. Click &lt;a href=&quot;https://msdn.microsoft.com/en-us/office/office365/howto/query-Office-graph-using-gql-with-search-rest-api&quot;&gt;here&lt;/a&gt; to learn more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; For SharePoint developers: MS Graph API is not here to kill CSOM and SharePoint REST API.&lt;br /&gt;&lt;br /&gt;MS Graph API calls&amp;nbsp;can be tested before writing the app&amp;nbsp;with Graph Explorer: &lt;a href=&quot;https://graph.microsoft.io/en-us/graph-explorer&quot;&gt;https://graph.microsoft.io/en-us/graph-explorer&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-3ftjr8-UJHA/WBiyR3DcULI/AAAAAAAAOB4/kVyd1sYhcLkniEmtEKju8pfccQfJiFBawCLcB/s1600/Graph%2BExplorer.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;456&quot; src=&quot;https://4.bp.blogspot.com/-3ftjr8-UJHA/WBiyR3DcULI/AAAAAAAAOB4/kVyd1sYhcLkniEmtEKju8pfccQfJiFBawCLcB/s640/Graph%2BExplorer.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Ref: &lt;a href=&quot;https://en.wikipedia.org/wiki/Social_graph&quot;&gt;https://en.wikipedia.org/wiki/Social_graph&lt;/a&gt;&lt;br /&gt;Ref: &lt;a href=&quot;https://dev.office.com/officegraph&quot;&gt;https://dev.office.com/officegraph&lt;/a&gt;&lt;br /&gt;Ref: &lt;a href=&quot;https://graph.microsoft.io/&quot;&gt;https://graph.microsoft.io&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/6797399783293980467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2016/11/microsoft-graph-vs-office-graph.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/6797399783293980467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/6797399783293980467'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2016/11/microsoft-graph-vs-office-graph.html' title='Microsoft Graph vs Office Graph'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b6d8d9c4d3c6dacff6d4dad9d1d1d3c498d5d9db">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-0-GBx9KcMFI/WBihZ_lhRII/AAAAAAAAOBU/bf0u6aZARHsoTHaSOhGFUIZJ0nqiLC1dACLcB/s72-c/1%2BDelve%2Bwith%2BGraph.PNG" height="72" width="72"/><thr:total>6</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-7620255067397253486</id><published>2016-10-25T23:11:00.001-04:00</published><updated>2016-10-25T23:11:53.781-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Office 365"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>Office365 Subsite Logo Redirection</title><content type='html'>&lt;b&gt;Scenario:&lt;/b&gt;&lt;br /&gt;Sub-site logo&amp;nbsp;points to the sub-site&#39;s home page by default...and the requirement is to point it to the top level site&#39;s.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;We can not change Master Page in Office365/SharePoint Online site so we need to&amp;nbsp;&lt;a href=&quot;http://www.sharepointblue.com/2016/03/sharepoint-online-javascript-injection.html&quot;&gt;embed/inject&lt;/a&gt; the following JavaScript:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: &amp;quot;andale mono&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;fixed&amp;quot; , monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;$(document).ready(function () {&lt;br /&gt;&lt;br /&gt;    $(&#39;#ctl00_onetidProjectPropertyTitleGraphic&#39;).attr(&#39;href&#39;,&#39;/sites/Portal&#39;);&lt;br /&gt;    $(&#39;#ctl00_onetidProjectPropertyTitleGraphic&#39;).removeAttr(&#39;id&#39;);&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/7620255067397253486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2016/10/office365-subsite-logo-redirection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7620255067397253486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/7620255067397253486'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2016/10/office365-subsite-logo-redirection.html' title='Office365 Subsite Logo Redirection'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8be5e4f9eefbe7f2cbe9e7e4ececeef9a5e8e4e6">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-228551863809111172</id><published>2016-09-13T23:28:00.000-04:00</published><updated>2016-09-13T23:28:58.807-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="code analysis."/><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell"/><category scheme="http://www.blogger.com/atom/ns#" term="Script Analyzer"/><title type='text'>PowerShell Script Analyzer</title><content type='html'>&lt;i&gt;&quot;PSScriptAnalyzer is a static code checker for Windows PowerShell modules and scripts. PSScriptAnalyzer checks the quality of Windows PowerShell code by running a set of rules. The rules are based on PowerShell best practices identified by PowerShell Team and the community. It generates DiagnosticResults (errors and warnings) to inform users about potential code defects and suggests possible solutions for improvements.&lt;/i&gt;&quot;&lt;br /&gt;Ref: &lt;a href=&quot;https://github.com/PowerShell/PSScriptAnalyzer&quot;&gt;https://github.com/PowerShell/PSScriptAnalyzer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lets put this to the&amp;nbsp;test. I have written following basic PowerShell Script in Visual Studio Code (because it is&amp;nbsp;an awesome tool and it has a PowerShell extension that give you features like IntelliSense, Goto definition, Debugging etc) and will be running the Script Analyzer on the script file. In this script I am calling a function that will display a&amp;nbsp;string stored in&amp;nbsp;a variable.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-DqZyD9vWgzg/V9hWFNc1e2I/AAAAAAAANKQ/BGe26RroTAAe7WevExiD41RdQECznRsCwCLcB/s1600/01.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;190&quot; src=&quot;https://4.bp.blogspot.com/-DqZyD9vWgzg/V9hWFNc1e2I/AAAAAAAANKQ/BGe26RroTAAe7WevExiD41RdQECznRsCwCLcB/s320/01.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Open the Windows PowerShell Console and lets install the PSScriptAnalyzer module (This module is available in v 5.0 and above by default):&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: &amp;quot;andale mono&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;fixed&amp;quot; , monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;Install-Module -Name PSScriptAnalyzer -Force&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Verify if&amp;nbsp;the commands are available for this module:&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: &amp;quot;andale mono&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;fixed&amp;quot; , monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;Get-Command -Module PSScriptAnalyzer&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-rmlNFje1aJ8/V9hVh4skjzI/AAAAAAAANKM/u9MpRIRKhPUz4KVwZMAFvTAXz9FGRyPTACLcB/s1600/02.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;80&quot; src=&quot;https://2.bp.blogspot.com/-rmlNFje1aJ8/V9hVh4skjzI/AAAAAAAANKM/u9MpRIRKhPUz4KVwZMAFvTAXz9FGRyPTACLcB/s640/02.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Run the Script Analyzer on&amp;nbsp;our test script:&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: &amp;quot;andale mono&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;fixed&amp;quot; , monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;Invoke-ScriptAnalyzer -Path C:\Users\user1\Desktop\Test.ps1&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-G-P1l9oTVN0/V9hXADhbSHI/AAAAAAAANKY/-H6rTHn-HEUC4pOzv-Z7Wqh3DIuW03Q6wCLcB/s1600/03.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;98&quot; src=&quot;https://4.bp.blogspot.com/-G-P1l9oTVN0/V9hXADhbSHI/AAAAAAAANKY/-H6rTHn-HEUC4pOzv-Z7Wqh3DIuW03Q6wCLcB/s640/03.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now the ScriptAnalyzer is&amp;nbsp;showing me&amp;nbsp;one warning in my most simplest script that Write-Host (which I have been using my whole life) is obsolete and use Write-Output instead.....which is awesome :o).&amp;nbsp;And that&#39;s how easily we can do static analysis based on the built-in rules&amp;nbsp;on our PowerSell scripts.&lt;br /&gt;&lt;br /&gt;To get the complete list of&amp;nbsp; rules, use the following command:&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: &amp;quot;andale mono&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;fixed&amp;quot; , monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;Get-ScriptAnalyzerRule&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/228551863809111172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2016/09/powershell-script-analyzer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/228551863809111172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/228551863809111172'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2016/09/powershell-script-analyzer.html' title='PowerShell Script Analyzer'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="224c4d5047524e5b62404e4d454547500c414d4f">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://4.bp.blogspot.com/-DqZyD9vWgzg/V9hWFNc1e2I/AAAAAAAANKQ/BGe26RroTAAe7WevExiD41RdQECznRsCwCLcB/s72-c/01.PNG" height="72" width="72"/><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-6495089552616414944</id><published>2016-06-12T15:22:00.001-04:00</published><updated>2016-06-12T18:40:49.243-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>SharePoint DSC</title><content type='html'>SharePoint DesierState Configuration has Ben released.&lt;br /&gt;&lt;br /&gt;Url:&amp;nbsp;&lt;a href=&quot;https://github.com/PowerShell/SharePointDsc&quot;&gt;https://github.com/PowerShell/SharePointDsc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While in pre-release mode it was called xSharePoint.</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/6495089552616414944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2016/06/sharepoint-dsc.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/6495089552616414944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/6495089552616414944'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2016/06/sharepoint-dsc.html' title='SharePoint DSC'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="acc2c3dec9dcc0d5eccec0c3cbcbc9de82cfc3c1">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-5125026065147640823</id><published>2016-03-10T12:18:00.001-05:00</published><updated>2016-03-10T12:40:03.590-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint; PowerShell; JavaScript; SharePoint Online"/><title type='text'>SharePoint Online - JavaScript Injection with PowerShell</title><content type='html'>&lt;b&gt;Scenario:&lt;/b&gt;&lt;br /&gt;Updating the Master Page for SharePoint Online is not recommended by Microsoft now.....fine. So how do we change the UI then? And the answer is...by injecting JavaScript and CSS.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;You might want to watch &lt;a href=&quot;https://channel9.msdn.com/Blogs/Office-365-Dev/JavaScript-injection-in-SharePoint-Online-Office-365-Developer-Patterns-and-Practices&quot;&gt;this video&lt;/a&gt; of JavaScript injection&amp;nbsp;which we will not follow here as injecting JavaScript and/or&amp;nbsp;CSS through Visual Studio&amp;nbsp;takes little bit of time as shown in the above video&amp;nbsp;so I am putting pieces together to inject JavaScript using PowerShell very very...very quickly. Thank you Office Dev PnP&#39;s &lt;a href=&quot;https://github.com/erwinvanhunen&quot;&gt;Erwin van Hunen&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; We are not going to use SharePoint Online Management Shell ;o) instead we will use Windows PowerShell.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install PnP PowerShell Cmdlets&amp;nbsp;for SharePoint Online&lt;br /&gt;Url: &lt;a href=&quot;https://github.com/officedev/pnp-powershell/releases&quot;&gt;https://github.com/officedev/pnp-powershell/releases&lt;/a&gt;&lt;/li&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-6YW0p9tHkuE/VuGi-0kwchI/AAAAAAAAISA/PNVsNvZb2KI/s1600/02.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-IFFuuQ_N55A/VuGiwaCNMJI/AAAAAAAAIR4/FHe2m19QJu0/s1600/01.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-6YW0p9tHkuE/VuGi-0kwchI/AAAAAAAAIR0/7C5Tcu4Bor0/s1600/02.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;li&gt;Perform a quick test: Run the command below in Windows PowerShell to see if it is available&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&amp;nbsp;Get-Command Add-SPOJavaScriptBlock&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-IFFuuQ_N55A/VuGiwaCNMJI/AAAAAAAAIR4/FHe2m19QJu0/s1600/01.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;108&quot; src=&quot;https://3.bp.blogspot.com/-IFFuuQ_N55A/VuGiwaCNMJI/AAAAAAAAIR4/FHe2m19QJu0/s640/01.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Connect to the site where you want to push JavaScript code:&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Connect-SPOnline https://tenant.sharepoint.com/sites/portal&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-6YW0p9tHkuE/VuGi-0kwchI/AAAAAAAAISA/PNVsNvZb2KI/s1600/02.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://3.bp.blogspot.com/-6YW0p9tHkuE/VuGi-0kwchI/AAAAAAAAISA/PNVsNvZb2KI/s1600/02.PNG&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Push the JavaScript code.&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Add-SPOJavaScriptBlock -Name MyScript -Script &quot;alert(&#39;Hello World&#39;);&quot;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;or&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Add-SPOJavaScriptLink -Name JQuery -Url https://code.jquery.com/jquery.min.js&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-az15a5r5h64/VuGntbVhrSI/AAAAAAAAISY/6cTBn7RAXkU/s1600/05.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;42&quot; src=&quot;https://2.bp.blogspot.com/-az15a5r5h64/VuGntbVhrSI/AAAAAAAAISY/6cTBn7RAXkU/s640/05.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;You are done. Now browse the site and you will get the annoying Hello World alert on all the pages.&lt;br /&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-ASG7zUpnEAU/VuGkIPt5fFI/AAAAAAAAISI/GdfmAGd8hVY/s1600/03.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;233&quot; src=&quot;https://2.bp.blogspot.com/-ASG7zUpnEAU/VuGkIPt5fFI/AAAAAAAAISI/GdfmAGd8hVY/s320/03.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-LoU-z5p0kl4/VuGkIGScXpI/AAAAAAAAISE/8VWLvBmeQV8/s1600/04.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;231&quot; src=&quot;https://3.bp.blogspot.com/-LoU-z5p0kl4/VuGkIGScXpI/AAAAAAAAISE/8VWLvBmeQV8/s320/04.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/li&gt;&lt;/ol&gt;Here is the complete script:&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: &amp;quot;andale mono&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;fixed&amp;quot; , monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;#&lt;br /&gt;# This is a sample script and is provided as is.&lt;br /&gt;# Author: Tahir Naveed&lt;br /&gt;# Description: This script connects to a SPO site and &lt;br /&gt;# injects a JavaScript code block which will execute on all of the pages.&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;$url = &quot;https://tenant.sharepoint.com/sites/portal&quot;&lt;br /&gt;$ScriptName = &quot;MyScript&quot;&lt;br /&gt;$scriptBlock = &quot;alert(&#39;Hello World&#39;);&quot;&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;    #Connect to the SPO site&lt;br /&gt;    Connect-SPOnline $url&lt;br /&gt;    &lt;br /&gt;    #Remove script if added before&lt;br /&gt;    Remove-SPOJavaScriptLink -Name $ScriptName&lt;br /&gt;&lt;br /&gt;    #Add the script&lt;br /&gt;    Add-SPOJavaScriptBlock -Name $ScriptName -Script $scriptBlock&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{&lt;br /&gt;    Write-Host &quot;$_.Exception.Message&quot;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Write-Host &quot;Completed successfully.&quot; -ForegroundColor Green&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;Ref: &lt;a href=&quot;https://channel9.msdn.com/blogs/OfficeDevPnP/Introduction-to-PnP-PowerShell-Cmdlets&quot;&gt;Introduction to PnP PowerShell&amp;nbsp;Cmdlets&lt;/a&gt;&lt;br /&gt;Ref: &lt;a href=&quot;https://github.com/OfficeDev/PnP-PowerShell/blob/master/Documentation/readme.md&quot;&gt;OfficeDev/PnP-PowerShell Reference&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/5125026065147640823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2016/03/sharepoint-online-javascript-injection.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/5125026065147640823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/5125026065147640823'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2016/03/sharepoint-online-javascript-injection.html' title='SharePoint Online - JavaScript Injection with PowerShell'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cfa1a0bdaabfa3b68fada3a0a8a8aabde1aca0a2">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-IFFuuQ_N55A/VuGiwaCNMJI/AAAAAAAAIR4/FHe2m19QJu0/s72-c/01.PNG" height="72" width="72"/><thr:total>3</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-8322803467389517037</id><published>2016-03-03T09:57:00.000-05:00</published><updated>2016-03-03T13:54:11.356-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Export"/><category scheme="http://www.blogger.com/atom/ns#" term="Import"/><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>SharePoint - Export/Import Subsite</title><content type='html'>&lt;b&gt;Scenario:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Lets suppose we have two SharePoint 2013 site collections and we&amp;nbsp;want to export&amp;nbsp;a sub-site from&amp;nbsp;one site collection to another&amp;nbsp;using PowerShell, then below is the answer.&lt;br /&gt;&lt;br /&gt;Source: http://domain.com/sites/Site1/SubsiteA&lt;br /&gt;Destination: http://domain.com/sites/Site2/SubsiteA&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;&lt;div&gt;Export: &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;Export-SPWeb &quot;http://domain.com/sites/Site1/SubsiteA&quot; -Path &quot;C:\Temp\Export.cmp&quot; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;Import: &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;Import-SPWeb &quot;http://domain.com/sites/Site2/SubsiteA&quot; -Path &quot;C:\Temp\Export.cmp&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;Note:&lt;/b&gt; All the list, libraries, documents etc will get exported except for the workflows. &lt;br /&gt;&lt;br /&gt;Ref: &lt;a href=&quot;https://technet.microsoft.com/en-us/library/ff607895.aspx&quot;&gt;https://technet.microsoft.com/en-us/library/ff607895.aspx&lt;/a&gt;&lt;br /&gt;Ref: &lt;a href=&quot;https://technet.microsoft.com/en-us/library/ff607613.aspx&quot;&gt;https://technet.microsoft.com/en-us/library/ff607613.aspx&lt;/a&gt;&lt;br /&gt;Ref: &lt;a href=&quot;https://technet.microsoft.com/en-us/library/ee663490.aspx&quot;&gt;https://technet.microsoft.com/en-us/library/ee663490.aspx&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;u&gt;&lt;/u&gt;&lt;sub&gt;&lt;/sub&gt;&lt;sup&gt;&lt;/sup&gt;&lt;strike&gt;&lt;/strike&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/8322803467389517037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2016/03/sharepoint-exportimport-subsite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8322803467389517037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8322803467389517037'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2016/03/sharepoint-exportimport-subsite.html' title='SharePoint - Export/Import Subsite'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="90feffe2f5e0fce9d0f2fcfff7f7f5e2bef3fffd">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-913788630471432667</id><published>2016-02-10T11:24:00.000-05:00</published><updated>2016-02-10T11:46:34.408-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="App"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="No Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Office365"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>SharePoint - PowerApps (Mobile Apps)</title><content type='html'>So I can&amp;nbsp;create mobile apps for&amp;nbsp;Office365 without writing any code using Microsoft Power Apps......This is Awesome.&lt;br /&gt;&lt;br /&gt;URL: https://powerapps.microsoft.com/en-us/tutorials/get-started-test-drive/#save-and-share-your-app </content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/913788630471432667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2016/02/sharepoint-powerapps-mobile-apps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/913788630471432667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/913788630471432667'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2016/02/sharepoint-powerapps-mobile-apps.html' title='SharePoint - PowerApps (Mobile Apps)'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3c52534e594c50457c5e50535b5b594e125f5351">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1653274429700908983</id><published>2015-12-04T18:05:00.001-05:00</published><updated>2015-12-04T18:10:24.141-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Office 365"/><category scheme="http://www.blogger.com/atom/ns#" term="Responsive"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>SharePoint - Responsive Design (Framework)</title><content type='html'>You can go to my &lt;a href=&quot;http://www.sharepointblue.com/2015/12/sharepoint-responsive-design-bootstrap.html&quot;&gt;previous post&lt;/a&gt; where I have explained how to implement responsive design in a SharePoint site using Bootstrap from scratch. Now we you will quickly figure out that implementing responsive design from scratch will take a lot of time, effort and learning. So in order to save time we will use a pre-built &lt;a href=&quot;http://responsivesharepoint.codeplex.com/&quot;&gt;framework&lt;/a&gt;&amp;nbsp;developed by a team of awesome people. &lt;br /&gt;&lt;br /&gt;Perform following steps for SharePoint Online sites:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;http://responsivesharepoint.codeplex.com/downloads/get/753973&quot;&gt;Download&lt;/a&gt; the WSP.&lt;/li&gt;&lt;li&gt;Follow page 17-22 of the&amp;nbsp;&lt;a href=&quot;http://responsivesharepoint.codeplex.com/downloads/get/753977&quot;&gt;documentation&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;And the site will look like this:&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-hdjb6XaBdNE/VmIapSrtaRI/AAAAAAAAHdU/63h6CCvVmW4/s1600/Desktop.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;280&quot; src=&quot;http://1.bp.blogspot.com/-hdjb6XaBdNE/VmIapSrtaRI/AAAAAAAAHdU/63h6CCvVmW4/s400/Desktop.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-GAiLU_BmJ_Q/VmIarEVWs5I/AAAAAAAAHdg/oUzDKkXYn7A/s1600/Safari.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://3.bp.blogspot.com/-GAiLU_BmJ_Q/VmIarEVWs5I/AAAAAAAAHdg/oUzDKkXYn7A/s320/Safari.PNG&quot; width=&quot;179&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;u&gt;Desktop&lt;/u&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;u&gt;Mobile&lt;/u&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/li&gt;&lt;li&gt;Now after the site has been made responsive and works all great. You can&amp;nbsp;download the Master Page &lt;b&gt;foundation-4.3.2-server.master&lt;/b&gt; and customize according to your own branding. See pages 23-25 of the documentation.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/1653274429700908983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/12/sharepoint-responsive-design-framework.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1653274429700908983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1653274429700908983'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/12/sharepoint-responsive-design-framework.html' title='SharePoint - Responsive Design (Framework)'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3d53524f584d51447d5f51525a5a584f135e5250">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-hdjb6XaBdNE/VmIapSrtaRI/AAAAAAAAHdU/63h6CCvVmW4/s72-c/Desktop.PNG" height="72" width="72"/><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-309753278045994263</id><published>2015-12-01T18:25:00.000-05:00</published><updated>2015-12-04T18:09:44.666-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bootstrap"/><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="Responsive Design"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>SharePoint - Responsive Design (Bootstrap)</title><content type='html'>SharePoint Online pages are after all&amp;nbsp;rendered&amp;nbsp;as HTML/CSS and Java Script. In this post I will show how to create a responsive design for SharePoint Online pages using Bootstrap so that&amp;nbsp;they&amp;nbsp;look elegant on different screen sizes (Desktop, tablet, phone)&amp;nbsp;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bootstrap&lt;/b&gt; is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web. You can start learning about bootstrap &lt;a href=&quot;http://getbootstrap.com/getting-started/&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;HTML Framework:&lt;/b&gt;&lt;br /&gt;Following is the HTML framework that a HTML page should match in order to be responsive to multiple screen sizes.&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&lt;br /&gt;  &amp;lt;head&amp;gt;&lt;br /&gt;    &amp;lt;title&amp;gt;Bootstrap 101&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;!-- Latest compiled and minified CSS --&amp;gt;&lt;br /&gt;    &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;!-- Latest compiled and minified JavaScript --&amp;gt;&lt;br /&gt;    &amp;lt;script src=&quot;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;    &lt;br /&gt;  &amp;lt;/head&amp;gt;&lt;br /&gt;  &amp;lt;body&amp;gt;&lt;br /&gt;    &lt;br /&gt;    &amp;lt;div class=&quot;container&quot;&amp;gt;&lt;br /&gt;        &amp;lt;div class=&quot;row&quot;&amp;gt;&lt;br /&gt;            &amp;lt;div class=&quot;col-sm-6&quot; style=&quot;border:1px red solid&quot;&amp;gt;Hello&amp;lt;/div&amp;gt;&lt;br /&gt;            &amp;lt;div class=&quot;col-sm-6&quot; style=&quot;border:1px green solid&quot;&amp;gt;World&amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;    &lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;This code will create&amp;nbsp;2 responsive&amp;nbsp;divs inside a main container div. Container div&amp;nbsp;will render the content inside the two divs as following on Desktop and the&amp;nbsp;Mobile devices with the help of Bootstrap libraries:&lt;br /&gt;&lt;table with=&quot;100%&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-GZX-HO9pCPk/Vl4nTV61P9I/AAAAAAAAHcE/JLeyjLJ0i9Y/s1600/Desktop1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;80&quot; src=&quot;http://4.bp.blogspot.com/-GZX-HO9pCPk/Vl4nTV61P9I/AAAAAAAAHcE/JLeyjLJ0i9Y/s400/Desktop1.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-XYAxcKrkTgs/Vl4ne9yc_iI/AAAAAAAAHcM/bqiJGamv0Rk/s1600/Mobile1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://4.bp.blogspot.com/-XYAxcKrkTgs/Vl4ne9yc_iI/AAAAAAAAHcM/bqiJGamv0Rk/s200/Mobile1.PNG&quot; width=&quot;182&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;u&gt;Desktop&lt;/u&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;u&gt;Mobile&lt;/u&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;Responsive SharePoint Page:&lt;/b&gt;&lt;br /&gt;Now lets incorporate this framework in to a SharePoint Site.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Add following lines in the &lt;b&gt;head&lt;/b&gt; tag of Master Page:&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-IKwIF_wv940/Vl4k6qUbKQI/AAAAAAAAHb4/32rN-b62Gp0/s1600/MasterPage.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;80&quot; src=&quot;http://4.bp.blogspot.com/-IKwIF_wv940/Vl4k6qUbKQI/AAAAAAAAHb4/32rN-b62Gp0/s320/MasterPage.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Add the container div in the page inside the &lt;b&gt;PlaceHolderMain&lt;/b&gt; tag so that all the HTML of the page&amp;nbsp;resides inside the container div:&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-wifkNOj3RpE/Vl4o_M9m-bI/AAAAAAAAHcY/8yGUugLxzPM/s1600/Container.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;81&quot; src=&quot;http://1.bp.blogspot.com/-wifkNOj3RpE/Vl4o_M9m-bI/AAAAAAAAHcY/8yGUugLxzPM/s320/Container.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Add the row div and then add the column divs to hold the actual web parts:&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-a5CHmb7ImEc/Vl4qZr5_0AI/AAAAAAAAHck/fK67fSWmtlM/s1600/Page.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;141&quot; src=&quot;http://4.bp.blogspot.com/-a5CHmb7ImEc/Vl4qZr5_0AI/AAAAAAAAHck/fK67fSWmtlM/s400/Page.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Now the web parts on the page will be managed by container div and&amp;nbsp;page will look like this on different screens:&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-NGAVEYmAHak/Vl4r0Gjxb6I/AAAAAAAAHcw/YQKT6h4SW2g/s1600/Desktop2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;171&quot; src=&quot;http://3.bp.blogspot.com/-NGAVEYmAHak/Vl4r0Gjxb6I/AAAAAAAAHcw/YQKT6h4SW2g/s320/Desktop2.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-Ata14yi_yjk/Vl4r4KPeDOI/AAAAAAAAHc4/wt9WlMeTx1U/s1600/Mobile2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://1.bp.blogspot.com/-Ata14yi_yjk/Vl4r4KPeDOI/AAAAAAAAHc4/wt9WlMeTx1U/s320/Mobile2.PNG&quot; width=&quot;212&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;u&gt;Desktop&lt;/u&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;u&gt;Mobile&lt;/u&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/309753278045994263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/12/sharepoint-responsive-design-bootstrap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/309753278045994263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/309753278045994263'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/12/sharepoint-responsive-design-bootstrap.html' title='SharePoint - Responsive Design (Bootstrap)'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9ff1f0edfaeff3e6dffdf3f0f8f8faedb1fcf0f2">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-GZX-HO9pCPk/Vl4nTV61P9I/AAAAAAAAHcE/JLeyjLJ0i9Y/s72-c/Desktop1.PNG" height="72" width="72"/><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-379132568394162513</id><published>2015-08-27T17:52:00.000-04:00</published><updated>2015-08-27T17:52:28.142-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2016 Preview"/><title type='text'>SharePoint 2016(Preview) New Features</title><content type='html'>Microsoft has released the new and improved features in SharePoint Server 2016 IT Preview. Check out the following link:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;a href=&quot;https://technet.microsoft.com/en-us/library/mt346121(v=office.16).aspx&quot;&gt;https://technet.microsoft.com/en-us/library/mt346121(v=office.16).aspx&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/379132568394162513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/08/sharepoint-2016preview-new-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/379132568394162513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/379132568394162513'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/08/sharepoint-2016preview-new-features.html' title='SharePoint 2016(Preview) New Features'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="147a7b667164786d5476787b737371663a777b79">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-4454492944074257809</id><published>2015-08-25T10:34:00.000-04:00</published><updated>2015-08-25T10:34:16.626-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2016"/><title type='text'>SharePoint 2016 Preview</title><content type='html'>SharePoint 2016 Preview is available to download now. &lt;blockquote class=&quot;twitter-tweet&quot; lang=&quot;en&quot;&gt;&lt;div dir=&quot;ltr&quot; lang=&quot;en&quot;&gt;Breaking: &lt;a href=&quot;https://twitter.com/hashtag/SharePoint?src=hash&quot;&gt;#SharePoint&lt;/a&gt; Server 2016 IT Preview and cloud hybrid search is here! Download now -&amp;gt; &lt;a href=&quot;http://t.co/JCPzHQP3K9&quot;&gt;http://t.co/JCPzHQP3K9&lt;/a&gt; &lt;a href=&quot;http://t.co/GDat7bv5rJ&quot;&gt;pic.twitter.com/GDat7bv5rJ&lt;/a&gt;&lt;/div&gt;— Microsoft SharePoint (@SharePoint) &lt;a href=&quot;https://twitter.com/SharePoint/status/635845596167974912&quot;&gt;August 24, 2015&lt;/a&gt;&lt;/blockquote&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//platform.twitter.com/widgets.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/4454492944074257809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/08/sharepoint-2016-preview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4454492944074257809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4454492944074257809'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/08/sharepoint-2016-preview.html' title='SharePoint 2016 Preview'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="056b6a776075697c4567696a626260772b666a68">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-8627780632675134124</id><published>2015-08-10T15:44:00.003-04:00</published><updated>2015-08-10T15:44:51.939-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Content Type Hub"/><category scheme="http://www.blogger.com/atom/ns#" term="Managed Metadata"/><category scheme="http://www.blogger.com/atom/ns#" term="Office 365"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2013"/><title type='text'>SharePoint 2013 - Content Type Hub</title><content type='html'>Content Type Hub is part of Managed Meta Data Service and was introduced into SharePoint to share the Content Types across the site collections and web applications. It was introduced in SharePoint 2010 and now its available in SharePoint 2013 and Office365.&lt;br /&gt;&lt;br /&gt;I found this beautiful article to explain how to configure a Content Type Hub to share Content Type across other site collections and web applications:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://sharepoint-community.net/profiles/blogs/understanding-content-type-hub-cth-in-sharepoint-2013&quot;&gt;http://sharepoint-community.net/profiles/blogs/understanding-content-type-hub-cth-in-sharepoint-2013&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note: Its already configured for you in Office365 under &lt;a href=&quot;http://myoffice365/sites/contentTypeHub&quot;&gt;http://MyOffice365/sites/contentTypeHub&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/8627780632675134124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/08/sharepoint-2013-content-type-hub.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8627780632675134124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8627780632675134124'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/08/sharepoint-2013-content-type-hub.html' title='SharePoint 2013 - Content Type Hub'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a0cecfd2c5d0ccd9e0c2cccfc7c7c5d28ec3cfcd">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1490042378861988240</id><published>2015-03-18T16:28:00.002-04:00</published><updated>2015-03-18T16:33:03.383-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="Search"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>SharePoint 2013 People Search REST Call</title><content type='html'>You can find the whole API reference for Search REST API &lt;a href=&quot;https://msdn.microsoft.com/en-us/library/office/jj163876.aspx&quot;&gt;here&lt;/a&gt;. But when you have to do People Search then you need to put the context around your search Query and it will look like as follows:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Normal Search REST Call:&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://www.sharepointblue.com/SearchCenter/_api/search/query?querytext=%27*%27&quot;&gt;http://www.sharepointblue.com/SearchCenter/_api/search/query?querytext=&#39;*&#39;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;People Search REST Call:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://www.sharepointblue.com/SearchCenter/_api/search/query?querytext=%27*%27&amp;amp;sourceid=%27b09a7990-05ea-4af9-81ef-edfab16c4e31%27&quot;&gt;http://www.sharepointblue.com/SearchCenter/_api/search/query?querytext=&#39;*&#39;&amp;amp;sourceid=&#39;b09a7990-05ea-4af9-81ef-edfab16c4e31&#39;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; Before firing the People Search request, make sure User Profiles are crawlled inside the SharePoint by crawling:&amp;nbsp;&lt;b&gt;sps3://My_Site_host_URL&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ref: &lt;a href=&quot;https://msdn.microsoft.com/en-us/library/office/jj163876.aspx&quot;&gt;https://msdn.microsoft.com/en-us/library/office/jj163876.aspx&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/1490042378861988240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/03/sharepoint-2013-people-search-rest-call.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1490042378861988240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1490042378861988240'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/03/sharepoint-2013-people-search-rest-call.html' title='SharePoint 2013 People Search REST Call'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="caa4a5b8afbaa6b38aa8a6a5adadafb8e4a9a5a7">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-1874324069896064996</id><published>2015-03-16T12:53:00.002-04:00</published><updated>2015-03-26T12:17:06.262-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Azure"/><category scheme="http://www.blogger.com/atom/ns#" term="Linear Regression"/><category scheme="http://www.blogger.com/atom/ns#" term="Machine Learning"/><category scheme="http://www.blogger.com/atom/ns#" term="Predictive Analytics"/><title type='text'>Predictive Analytics with AzureML</title><content type='html'>I started exploring AzureML(&lt;a href=&quot;http://azure.microsoft.com/en-us/services/machine-learning/&quot;&gt;Azure Machine Learning&lt;/a&gt;) few weeks back and quickly fell in love with its simplicity and robustness.&lt;br /&gt;&lt;br /&gt;I grabbed the sample data of Down Jones Index from &lt;a href=&quot;http://archive.ics.uci.edu/ml/datasets/Dow+Jones+Index&quot;&gt;UC Irvine Machine Learning Repository&lt;/a&gt; and applied the Linear Regression algorithm to create a prediction model to estimate the future values of Microsoft stock&#39;s opening weekly price (so that I can be rich) and here how my model looks like in AzureML.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-e_z-QhYV6LE/VQcFgYEDFbI/AAAAAAAAEJM/6HXeRncehdQ/s1600/MSFT.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-e_z-QhYV6LE/VQcFgYEDFbI/AAAAAAAAEJM/6HXeRncehdQ/s1600/MSFT.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;First I am removing the entire rows with missing values from the data. Then I am applying the filter for MSFT symbol in the first split and I am dividing the data to 80-20 ratio to train the actual model on 80% of the data with the help of Linear Regression algorithm. After that I am trying to predict price variable in Train Model and verifying it using 20% of remaining data. In the last, I am evaluating the model that how effective and reliable it is.&lt;br /&gt;&lt;br /&gt;At this point I need to seriously improve my model using other algorithms, removing/adding new variables etc because the &lt;b&gt;Coefficient of Determination&lt;/b&gt;&amp;nbsp;is nowhere closer to 1 and &lt;b&gt;Mean Absolute Error&lt;/b&gt;, &lt;b&gt;Root Mean Squared Error&lt;/b&gt;, &lt;b&gt;Relative Absolute Error&amp;nbsp;&lt;/b&gt;&amp;amp;&amp;nbsp;&lt;b&gt;Relative Squared Error&lt;/b&gt; are very high. But that&#39;s how a prediction model (more or less) will eventually look like in AzureML. It can be published as a web service with few clicks.&lt;br /&gt;&lt;br /&gt;I have published this experiment/source to AzureML gallery and can be accessed here:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://gallery.azureml.net/Details/3f4d92649bfa4fa3bf4b0c93a3635227&quot;&gt;https://gallery.azureml.net/Details/3f4d92649bfa4fa3bf4b0c93a3635227&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My next step would be to grab data from SharePoint lists and apply some prediction algos on it.</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/1874324069896064996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/03/predictive-analytics-with-azureml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1874324069896064996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/1874324069896064996'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/03/predictive-analytics-with-azureml.html' title='Predictive Analytics with AzureML'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1876776a7d687461587a74777f7f7d6a367b7775">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-e_z-QhYV6LE/VQcFgYEDFbI/AAAAAAAAEJM/6HXeRncehdQ/s72-c/MSFT.PNG" height="72" width="72"/><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-4922688606860415805</id><published>2015-02-18T14:20:00.000-05:00</published><updated>2015-02-18T14:20:32.307-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="images"/><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell"/><title type='text'>PowerShell - Download Images from Web</title><content type='html'>I had a requirement where I have to export user profile images from MySite 2013 and I end up writing following PowerShell script:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;[Reflection.Assembly]::LoadFile( `&lt;br /&gt;&#39;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.dll&#39;)`&lt;br /&gt;  | out-null &lt;br /&gt;&lt;br /&gt;$FileName = &quot;C:\Temp\ImagesURL.txt&quot;;&lt;br /&gt;$Loc = &quot;C:\Temp\Images\&quot;&lt;br /&gt;$ImageName = &quot;&quot;&lt;br /&gt;&lt;br /&gt;$wc = New-Object System.Net.WebClient&lt;br /&gt;&lt;br /&gt;$content = Get-Content $FileName&lt;br /&gt;foreach ($line in $content)&lt;br /&gt;{&lt;br /&gt;    $Image = $Loc + $line.Substring($line.LastIndexOf(&quot;/&quot;) + 1)&lt;br /&gt;    $url = $line&lt;br /&gt;    &lt;br /&gt;    Write-Host $url&lt;br /&gt;    Write-Host $Image&lt;br /&gt;    &lt;br /&gt;    $wc.DownloadFile($url, $Image)&lt;br /&gt;    &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;write-host &quot;Finished successfully.&quot;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/4922688606860415805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/02/powershell-download-images-from-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4922688606860415805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4922688606860415805'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/02/powershell-download-images-from-web.html' title='PowerShell - Download Images from Web'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="046a6b766174687d4466686b636361762a676b69">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-4895936224074234613</id><published>2015-02-13T12:20:00.000-05:00</published><updated>2015-03-02T16:58:22.334-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTTP"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Request"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><category scheme="http://www.blogger.com/atom/ns#" term="XMLHTTPRequest"/><title type='text'>HTTP Request with Javascript</title><content type='html'>&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;var oReq = new ActiveXObject(&quot;MSXML2.XMLHTTP.3.0&quot;);&lt;br /&gt;&lt;br /&gt;function handler()&lt;br /&gt;{&lt;br /&gt;    if (oReq.readyState == 4 /* complete */) {&lt;br /&gt;        if (oReq.status == 200) {&lt;br /&gt;            document.getElementById(&quot;myDiv&quot;).innerText = oReq.responseText;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function SendRequest()&lt;br /&gt;{&lt;br /&gt;    var vURL = &quot;http://IdolApp:12345/data/data.xml&quot;;&lt;br /&gt;&lt;br /&gt;    if (oReq != null) {&lt;br /&gt;        oReq.open(&quot;GET&quot;, vURL, true);&lt;br /&gt;        oReq.onreadystatechange = handler;&lt;br /&gt;        oReq.send();&lt;br /&gt;    }&lt;br /&gt;    else {&lt;br /&gt;        window.console.log(&quot;AJAX (XMLHTTP) not supported.&quot;);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&amp;lt;input type=&quot;button&quot; id=&quot;btnSubmit&quot; value=&quot;Go&quot; onclick=&quot;SendRequest()&quot;/&amp;gt;&lt;br /&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;&amp;lt;div id=&quot;myDiv&quot; &amp;gt;:o)&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;Ref: &lt;a href=&quot;https://msdn.microsoft.com/en-us/library/ie/ms535874(v=vs.85).aspx&quot;&gt;https://msdn.microsoft.com/en-us/library/ie/ms535874(v=vs.85).aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;br /&gt;Initialize the oReq with following to make it IE and Chrome compatible:&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;var oReq;&lt;br /&gt;&lt;br /&gt;if (window.XMLHttpRequest)&lt;br /&gt;{// code for IE7+, Firefox, Chrome, Opera, Safari&lt;br /&gt; oReq=new XMLHttpRequest();&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{// code for IE6, IE5&lt;br /&gt; oReq=new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/4895936224074234613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/02/http-request-with-javascript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4895936224074234613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4895936224074234613'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/02/http-request-with-javascript.html' title='HTTP Request with Javascript'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5836372a3d283421183a34373f3f3d2a763b3735">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-6150647690797658812</id><published>2015-01-19T14:59:00.001-05:00</published><updated>2015-01-19T14:59:54.943-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Chart"/><category scheme="http://www.blogger.com/atom/ns#" term="Charts.js"/><title type='text'>Using Charts.js with ASP.NET</title><content type='html'>Following is an example of using &lt;a href=&quot;http://www.chartjs.org/&quot;&gt;Charts.js&lt;/a&gt; library to display nice graphs &amp;amp; charts after providing the data via C#/ASP.NET:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download and unzip the Charts.js javascript library and add the entire folder into the ASP.NET project in the Visual Studio.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Add the refrence in head of ASP.NET:&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&amp;lt;script src=&quot;Scripts/Chart.js-master/Chart.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Add the following javascript in ASP.NET file with .NET variables (ChartLables, ChartData1 &amp;amp; ChartData2) that will be populated via C#:&lt;br /&gt; &lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&amp;lt;script&amp;gt;&lt;br /&gt;        var randomScalingFactor = function () { return Math.round(Math.random() * 100) };&lt;br /&gt;        var lineChartData = {&lt;br /&gt;            //labels: [&quot;January&quot;, &quot;February&quot;, &quot;March&quot;, &quot;April&quot;, &quot;May&quot;, &quot;June&quot;, &quot;July&quot;],&lt;br /&gt;            labels: &lt;b&gt;&amp;lt;% =this.ChartLabels %&amp;gt;&lt;/b&gt;,&lt;br /&gt;            datasets: [&lt;br /&gt;                {&lt;br /&gt;                    label: &quot;Query Count&quot;,&lt;br /&gt;                    fillColor: &quot;rgba(220,220,220,0.2)&quot;,&lt;br /&gt;                    strokeColor: &quot;rgba(220,220,220,1)&quot;,&lt;br /&gt;                    pointColor: &quot;rgba(220,220,220,1)&quot;,&lt;br /&gt;                    pointStrokeColor: &quot;#fff&quot;,&lt;br /&gt;                    pointHighlightFill: &quot;#fff&quot;,&lt;br /&gt;                    pointHighlightStroke: &quot;rgba(220,220,220,1)&quot;,&lt;br /&gt;                    &lt;span style=&quot;font-family: &#39;Andale Mono&#39;, &#39;Lucida Console&#39;, Monaco, fixed, monospace;&quot;&gt;//data: [0, 1, 4, 6, 10, 8, 6]&lt;/span&gt;&lt;br /&gt;                    data: &lt;b&gt;&amp;lt;% =this.ChartData1 %&amp;gt;&lt;/b&gt;&lt;br /&gt;                },&lt;br /&gt;                {&lt;br /&gt;                    label: &quot;My Second dataset&quot;,&lt;br /&gt;                    fillColor: &quot;rgba(151,187,205,0.2)&quot;,&lt;br /&gt;                    strokeColor: &quot;rgba(151,187,205,1)&quot;,&lt;br /&gt;                    pointColor: &quot;rgba(151,187,205,1)&quot;,&lt;br /&gt;                    pointStrokeColor: &quot;#fff&quot;,&lt;br /&gt;                    pointHighlightFill: &quot;#fff&quot;,&lt;br /&gt;                    pointHighlightStroke: &quot;rgba(151,187,205,1)&quot;,&lt;br /&gt;                    //data: [28, 48, 40, 19, 86, 27, 90]&lt;br /&gt;                    data: &lt;b&gt;&amp;lt;% =this.ChartData2 %&amp;gt;&lt;/b&gt;&lt;br /&gt;                }&lt;br /&gt;            ]&lt;br /&gt;        }&lt;br /&gt;        function DrawChart() {&lt;br /&gt;            var ctx = document.getElementById(&quot;canvas&quot;).getContext(&quot;2d&quot;);&lt;br /&gt;            window.myLine = new Chart(ctx).Line(lineChartData, {&lt;br /&gt;                responsive: true&lt;br /&gt;            });&lt;br /&gt;        }&lt;br /&gt;    &amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Add the following HTML snippet to ASP.NET page where the chart will actually be displayed:&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&amp;lt;div style=&quot;width: 100%&quot;&amp;gt;&lt;br /&gt;  &amp;lt;div&amp;gt;&lt;br /&gt;    &amp;lt;canvas id=&quot;canvas&quot; height=&quot;250&quot; width=&quot;400&quot;&amp;gt;&amp;lt;/canvas&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;On the C# file (.NET code behind), simply populate the data into the three C# variables and call the javascript function DrawChart(); on some ASP.NET button click:&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;public string ChartLabels = null;&lt;br /&gt;public string ChartData1 = null;&lt;br /&gt;public string ChartData2 = null;&lt;br /&gt;&lt;br /&gt;this.ChartLabels = &quot;[&#39;January&#39;, &#39;February&#39;, &#39;March&#39;, &#39;April&#39;, &#39;May&#39;, &#39;June&#39;, &#39;July&#39;]&quot;;&lt;br /&gt;this.ChartData1 = &quot;[65, 59, 80, 81, 56, 55, 40]&quot;;&lt;br /&gt;this.ChartData2 = &quot;[28, 48, 40, 19, 86, 27, 90]&quot;;&lt;br /&gt;&lt;br /&gt;//Call the Javascript function from C#&lt;br /&gt;Page.ClientScript.RegisterStartupScript(this.GetType(), &quot;CallMyFunction&quot;, &quot;DrawChart()&quot;, true);&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-Pqj6gbIkjYQ/VL1hJP7fvnI/AAAAAAAAEIE/RUJbWaWLhFI/s1600/Chart.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-Pqj6gbIkjYQ/VL1hJP7fvnI/AAAAAAAAEIE/RUJbWaWLhFI/s1600/Chart.PNG&quot; height=&quot;361&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/6150647690797658812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/01/using-chartsjs-with-aspnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/6150647690797658812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/6150647690797658812'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/01/using-chartsjs-with-aspnet.html' title='Using Charts.js with ASP.NET'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e789889582978b9ea7858b8880808295c984888a">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Pqj6gbIkjYQ/VL1hJP7fvnI/AAAAAAAAEIE/RUJbWaWLhFI/s72-c/Chart.PNG" height="72" width="72"/><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-4382644545330341810</id><published>2015-01-19T09:58:00.002-05:00</published><updated>2015-01-19T09:59:05.986-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Navigation"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2007"/><title type='text'>SharePoint 2007 - Hiding the Navigation</title><content type='html'>&lt;b&gt;Scenario:&lt;/b&gt;&lt;br /&gt;I had a small requirement to hide left and top navigation from a SharePoint 2007 Publishing Site on just one page (not the whole site).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;Two line javascrpit :o) in a hidden Content Editor Web Part, after identifying the IDs of the HTML elements which render the navigation.&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;document.getElementById(&#39;onetIdTopNavBarContainer&#39;).style.display = &#39;none&#39;;&lt;br /&gt;document.getElementById(&#39;LeftNavigationAreaCell&#39;).style.display = &#39;none&#39;;&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/4382644545330341810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2015/01/sharepoint-2007-hiding-navigation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4382644545330341810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/4382644545330341810'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2015/01/sharepoint-2007-hiding-navigation.html' title='SharePoint 2007 - Hiding the Navigation'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5739382532273b2e17353b38303032257934383a">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-8625187760026725920.post-8602225618715332891</id><published>2014-12-04T10:47:00.000-05:00</published><updated>2014-12-04T12:12:07.543-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>Reading XML with PowerShell</title><content type='html'>Here is an example of accessing XML data via PowerShell:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Script:&lt;/b&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;$xmlDocument = [xml] @&quot;&lt;br /&gt;&amp;lt;catalog&amp;gt;&lt;br /&gt;   &amp;lt;book id=&quot;101&quot;&amp;gt;&lt;br /&gt;      &amp;lt;author&amp;gt;Author1&amp;lt;/author&amp;gt;&lt;br /&gt;      &amp;lt;title&amp;gt;Title1&amp;lt;/title&amp;gt;&lt;br /&gt;      &amp;lt;genre&amp;gt;Genere1&amp;lt;/genre&amp;gt;&lt;br /&gt;      &amp;lt;price&amp;gt;45.95&amp;lt;/price&amp;gt;&lt;br /&gt;      &amp;lt;publish_date&amp;gt;2000-10-01&amp;lt;/publish_date&amp;gt;&lt;br /&gt;      &amp;lt;description&amp;gt;This is a description1.&amp;lt;/description&amp;gt;&lt;br /&gt;   &amp;lt;/book&amp;gt;&lt;br /&gt;   &amp;lt;book id=&quot;101&quot;&amp;gt;&lt;br /&gt;      &amp;lt;author&amp;gt;Author2&amp;lt;/author&amp;gt;&lt;br /&gt;      &amp;lt;title&amp;gt;Title2&amp;lt;/title&amp;gt;&lt;br /&gt;      &amp;lt;genre&amp;gt;Genere2&amp;lt;/genre&amp;gt;&lt;br /&gt;      &amp;lt;price&amp;gt;75.99&amp;lt;/price&amp;gt;&lt;br /&gt;      &amp;lt;publish_date&amp;gt;1998-7-15&amp;lt;/publish_date&amp;gt;&lt;br /&gt;      &amp;lt;description&amp;gt;This is a description2.&amp;lt;/description&amp;gt;&lt;br /&gt;   &amp;lt;/book&amp;gt;&lt;br /&gt;&amp;lt;/catalog&amp;gt;&lt;br /&gt;&quot;@&lt;br /&gt;&lt;br /&gt;$xmlDocument.catalog.book | Select-Object -Property author, title, price&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Result:&lt;/b&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;PS C:\Users\tnaveed\Desktop&amp;gt; C:\Users\tnaveed\Desktop\CheckUser.ps1&lt;br /&gt;&lt;br /&gt;author                         title                         price                        &lt;br /&gt;------                         -----                         -----                        &lt;br /&gt;Author1                        Title1                        45.95                        &lt;br /&gt;Author2                        Title2                        75.99                        &lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.sharepointblue.com/feeds/8602225618715332891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.sharepointblue.com/2014/12/reading-xml-with-powershell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8602225618715332891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8625187760026725920/posts/default/8602225618715332891'/><link rel='alternate' type='text/html' href='http://www.sharepointblue.com/2014/12/reading-xml-with-powershell.html' title='Reading XML with PowerShell'/><author><name>Unknown</name><email><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d0bebfa2b5a0bca990b2bcbfb7b7b5a2feb3bfbd">[email&#160;protected]</a></email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry></feed><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda