<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>SharePoint dev blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/sharepointdev/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/sharepointdev/feed.xml</link>
    <description>The official Microsoft blog for SharePoint developers</description>
    <lastBuildDate>Sat, 04 Apr 2015 20:08:37 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Announcement: SharePoint Dev blog has moved</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepointdev/announcement-sharepoint-dev-blog-has-moved</link>
      <pubDate>Tue, 22 Jul 2014 19:18:00 GMT</pubDate>
      <dc:creator><![CDATA[Office Developer Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/sharepointdev/2014/07/22/announcement-sharepoint-dev-blog-has-moved/</guid>
      <description><![CDATA[This is the final SharePoint Dev blog post. We&rsquo;ve moved to the Office Developer blog, in this...]]></description>
      <content:encoded><![CDATA[<p>This is the final SharePoint Dev blog post. We&rsquo;ve moved to the Office Developer blog, in this new location:</p>
<p><a href="https://blogs.office.com/dev">https://blogs.office.com/dev</a></p>
<p>Here is the RSS feed for the new Office Developer blog: <a href="https://blogs.office.com/feed/?filter-audience=dev">https://blogs.office.com/feed/?filter-audience=dev</a></p>
<p>Please join us in this new location to keep reading all the latest news about SharePoint development.</p>
<p>Don&rsquo;t worry, we won&rsquo;t delete any of these MSDN blog posts &ndash; they&rsquo;ll stay here so you can continue to refer to them for the information you need.</p>
<p>Here are all the places where you can join the Office Developer conversation:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/8032.clip_image001_33AD3EAA.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/8032.clip_5F00_image001_5F00_33AD3EAA.png"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image001" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/4722.clip_image001_thumb_417F84A5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/4722.clip_5F00_image001_5F00_thumb_5F00_417F84A5.png" alt="clip_image001" width="25" height="26" border="0" /></a><sup><a href="https://twitter.com/officedev"><span style="font-size: small;">Twitter</span></a><span style="font-size: small;"> @OfficeDev</span></sup></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/8055.clip_image002_7377252F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/8055.clip_5F00_image002_5F00_7377252F.png"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image002" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/4745.clip_image002_thumb_3A60482D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/4745.clip_5F00_image002_5F00_thumb_5F00_3A60482D.png" alt="clip_image002" width="28" height="27" border="0" /></a><sup><a href="https://www.facebook.com/OfficeDev"><span style="font-size: small;">Facebook </span></a><span style="font-size: small;">Office Developer</span></sup></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/5315.clip_image003_1A453B70.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/5315.clip_5F00_image003_5F00_1A453B70.png"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image003" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/5824.clip_image003_thumb_0F1BB126.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/5824.clip_5F00_image003_5F00_thumb_5F00_0F1BB126.png" alt="clip_image003" width="28" height="25" border="0" /></a> <sup><a href="https://www.yammer.com/itpronetwork/"><span style="font-size: small;">Yammer </span></a><span style="font-size: small;">Office 365 Technical Network</span></sup></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/1614.clip_image004_5604D423.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/1614.clip_5F00_image004_5F00_5604D423.png"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image004" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/0118.clip_image004_thumb_07FC74AE.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/0118.clip_5F00_image004_5F00_thumb_5F00_07FC74AE.png" alt="clip_image004" width="27" height="25" border="0" /></a> <sup><a href="https://social.msdn.microsoft.com/Forums/office/en-US/home?category=apps,officedev,sharepoint,exchangeserver,lync,msproject"><span style="font-size: small;">MSDN forums</span></a></sup></p>
<p><a href="https://social.msdn.microsoft.com/Forums/office/en-US/home?category=apps,officedev,sharepoint,exchangeserver,lync,msproject"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image005" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/4341.clip_image005_7CD2EA63.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/4341.clip_5F00_image005_5F00_7CD2EA63.png" alt="clip_image005" width="33" height="37" border="0" /></a><sup><a href="https://stackoverflow.com/"><span style="font-size: small;">Stackoverflow </span></a><span style="font-size: small;">[MS-Office] [Office365] [OneNote]</span></sup></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/1207.clip_image006_2ECA8AEE.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/1207.clip_5F00_image006_5F00_2ECA8AEE.png"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image006" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/5758.clip_image006_thumb_0EAF7E31.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/5758.clip_5F00_image006_5F00_thumb_5F00_0EAF7E31.png" alt="clip_image006" width="26" height="25" border="0" /></a><sup><a href="https://dev.office.com/"><span style="font-size: small;">Office Developer Center</span></a></sup></p>]]></content:encoded>
    </item>
    <item>
      <title>Deprecation of Custom Code in Sandboxed Solutions</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepointdev/deprecation-of-custom-code-in-sandboxed-solutions</link>
      <pubDate>Tue, 14 Jan 2014 06:00:00 GMT</pubDate>
      <dc:creator><![CDATA[SharePoint Developer Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/sharepointdev/2014/01/14/deprecation-of-custom-code-in-sandboxed-solutions/</guid>
      <description><![CDATA[Our bad. We&rsquo;ve been guilty of sending mixed messages about the status of sandboxed solutions...]]></description>
      <content:encoded><![CDATA[<p>Our bad. We&rsquo;ve been guilty of sending mixed messages about the status of sandboxed solutions in SharePoint development. We&rsquo;d like to clarify that now.<p>While developing sandboxed solutions that contain only declarative markup and JavaScript -- which we call no-code sandboxed solutions (NCSS) -- is still viable, we have deprecated the use of custom managed code within the sandboxed solution. We have introduced the new SharePoint app model as a replacement to those scenarios that required the use of managed code. The app model decouples the SharePoint core product from the app runtime, and this enables much more flexibility and gives you the ability to run the code in the environment of your choice. We realize that our customers have made investments in coded sandboxed solutions and we will phase them out responsibly. Existing coded sandboxed solutions will continue to work in on-premises SharePoint farms for the foreseeable future. Given the dynamic nature of online services, we will determine support needs for coded sandboxed solutions in SharePoint Online based on customer demand. NCSSs continue to be supported. All future investments will go to making the new SharePoint app model richer and more powerful. Accordingly, we recommend that all new development should use the new app model whenever possible. In scenarios where you have to develop a farm solution or coded sandboxed solution, we recommend that you design it so that it can easily evolve toward a more loosely coupled development model. </p><p>For more information about the app model written especially for experienced SharePoint developers, see <a href="https://msdn.microsoft.com/en-US/office/apps/dn133840">Reimagine SharePoint Development</a>.</p><p><b>Call to action</b>: We want to make the app model great. Help us by identifying scenarios, APIs and feature gaps that make farm solutions or coded sandboxed solutions necessary today. Provide your suggestions and ideas in our <a href="https://officespdev.uservoice.com/">UserVoice</a> site.</p><p><i>This blog post was written by Brian Jones, Group Program Manager, Office Developer Platform.</i></p></p>
]]></content:encoded>
    </item>
    <item>
      <title>Create SharePoint 2013 development environments quickly on Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepointdev/create-sharepoint-2013-development-environments-quickly-on-azure</link>
      <pubDate>Thu, 26 Sep 2013 06:00:00 GMT</pubDate>
      <dc:creator><![CDATA[SharePoint Developer Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/sharepointdev/2013/09/26/create-sharepoint-2013-development-environments-quickly-on-azure/</guid>
      <description><![CDATA[In this blog post we will walk you through creating a SharePoint 2013 development environment on...]]></description>
      <content:encoded><![CDATA[<p><i>In this blog post we will walk you through creating a SharePoint 2013 development environment on Windows Azure using the Visual Studio Ultimate 2013 RC image. </i></p>  <p>Have you ever been in a situation where you need to create a SharePoint 2013 development environment quickly? Are you still working on SharePoint Solutions or are you building apps for SharePoint and you need a machine with SharePoint 2013 and Visual Studio 2013 on it? Do you just want to try out SharePoint 2013 development? </p>  <p>If you answered ‘yes’ to one or all of the questions mentioned above, and you have an MSDN subscription, we have good news for you.</p>  <p>We have released an Azure developer image that comes with SharePoint 2013 and Visual Studio 2013 Ultimate RC pre-installed. The image also contains scripts to provision and configure SharePoint 2013 with or without an Active directory running on a different machine. </p>  <p>Be aware that, if you don’t have an Azure subscription, you can activate your Azure benefit that comes with your MSDN subscription. As part of your subscription, you have free Windows Azure credits - up to US$150 per month! You can use them to build SharePoint development &amp; test environments on demand with virtual machines and more. See <a href="https://www.windowsazure.com/en-us/pricing/member-offers/msdn-benefits/">Windows Azure Benefit for MSDN Subscribers</a> for more information. In addition we have optimized Windows Azure billing—meaning you only pay for the virtual machines as long as you are working on them. When you are finished working, just shut down the virtual machine and you will no longer be billed for it.</p>  <p>Let’s have a brief look at the image and how to provision it. There are two ways to provision a virtual machine of that image. You can either use the portal or use PowerShell.</p>  <h1>Use the Windows Azure management portal:</h1>  <p>To create a new virtual machine from the Azure Management Portal, go to <a href="https://manage.windowsazure.com">https://manage.windowsazure.com</a> and follow the steps below: </p>  <ol>   <li>Sign in to the Windows Azure Portal</li>    <li>Choose the plus sign (+) at the bottom of the Portal page</li>    <li>Choose Compute&gt;Virtual Machine&gt;From Gallery</li>    <li>Scroll down the image list and choose Visual Studio 2013 Ultimate RC and choose the arrow on the lower right corner </li> </ol>  <div style="text-align: center; padding-bottom: 10px; font-size: 80%;"><img title="Figure 1. Virtual Machine image selection dialog box" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Figure 1. Virtual Machine image selection dialog box" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/1524.clip_image0027_50BEF81D.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/1524.clip_5F00_image0027_5F00_50BEF81D.jpg" width="635" height="406" />Figure 1. Virtual Machine image selection dialog box</div>  <p>The virtual machine creation wizard guides you through the process. We recommend an X-Large VM Size for SharePoint development.</p>  <p>The virtual machine provisioning takes about 5-10 minutes. Once the machine has been provisioned you can use remote desktop to connect to the machine. The next step is to provision SharePoint 2013. As mentioned the image is pre-loaded with software and scripts. The configuration scripts and software can be accessed by choosing the “Configure Developer Desktop” shortcut icon on your desktop. The scripts folder contains two scripts relevant for SharePoint 2013 provisioning and configuration and allow you to provision SharePoint as Stand Alone or SharePoint with Active Directory (the script assumes that the Active Directory is hosted on another Virtual Machine). </p>  <p>Both scripts will configure a basic SharePoint environment, meaning they create a Central Administration site and a Web Application with a Root Site collection. The Figure 2 shows the provisioned virtual machine with SharePoint Central Administration and sign in screen to use Visual Studio for the first time.</p>  <div style="text-align: center; padding-bottom: 10px; font-size: 80%;"><img title="Figure 2. Visual Studio sign in" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Figure 2. Visual Studio sign in" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/8461.clip_image0034_499FBBA5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/8461.clip_5F00_image0034_5F00_499FBBA5.png" width="587" height="330" />Figure 2. Visual Studio sign in </div>  <p>Please see <a name="_Toc366924346"></a><a href="https://visualstudio2013galleryimage.azurewebsites.net/#_Toc359582719">Visual Studio Ultimate 2013 RC Gallery image for MSDN subscribers</a> for a detailed walkthrough of how to provision and configure a virtual machine for SharePoint development as well as documentation for the included PowerShell scripts.</p>  <h1>Use Windows PowerShell:</h1>  <p>As mentioned in the beginning we also released scripts that allow you to provision a SharePoint 2013 development environment using PowerShell. In addition, the scripts also allow you to provision a Windows Server 2012 virtual machine with an Active Directory and join SharePoint to that domain. This opens up the full scale of SharePoint development. Full documentation for the scripts can be found here: <a href="https://visualstudio2013galleryimage.azurewebsites.net/#_Toc359582720">https://visualstudio2013galleryimage.azurewebsites.net/#_Toc359582720</a>. All the scripts can be downloaded from here: <a href="https://download.microsoft.com/download/C/4/B/C4BB2A5D-1296-4DB8-A448-ABEB13B5974D/ConfigureDeveloperDesktopSampleScripts.zip">https://download.microsoft.com/download/C/4/B/C4BB2A5D-1296-4DB8-A448-ABEB13B5974D/ConfigureDeveloperDesktopSampleScripts.zip</a></p>  <p>Once your development environment is set up you can even access your on-premises source control from Visual Studio on the virtual machine by using an Azure Point to Site connection. Be aware that when setting up an Azure point to site connection, you must first provision the virtual machine into a virtual network. For more information about Azure Point to site connections see <a href="https://msdn.microsoft.com/en-us/library/windowsazure/dn133792.aspx">https://msdn.microsoft.com/en-us/library/windowsazure/dn133792.aspx</a>.</p>  <p>Enjoy!</p>  <p>Boris Scholl</p>  <p>Sr. Program Manager, Cloud Platform Tools</p>]]></content:encoded>
    </item>
    <item>
      <title>Access OneDrive for Business using the SharePoint 2013 APIs</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepointdev/access-onedrive-for-business-using-the-sharepoint-2013-apis</link>
      <pubDate>Tue, 13 Aug 2013 06:00:00 GMT</pubDate>
      <dc:creator><![CDATA[SharePoint Developer Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/sharepointdev/2013/08/13/access-onedrive-for-business-using-the-sharepoint-2013-apis/</guid>
      <description><![CDATA[OneDrive for Business, a personal cloud library for business, is a place where users can store files...]]></description>
      <content:encoded><![CDATA[<p><i><a href="https://office.microsoft.com/en-us/sharepoint-server-help/what-is-skydrive-pro-HA102822076.aspx">OneDrive for Business</a></i><i>, a personal cloud library for business, is a place where users can store files and documents, sync them with their devices, and share them with others. It comes as a part of SharePoint Server 2013 or SharePoint Online (Office 365). Essentially it’s a SharePoint Document Library under the covers, so you can access it just like any other document library in SharePoint 2013 using the SharePoint APIs. Whether you use the client-side object model (CSOM) or Representational State Transfer (REST)—it’s your choice. In this post, learn how to construct the REST URLs to access files and folders in OneDrive for Business.</i></p>  <p>From a user’s perspective, to access your OneDrive for Business library, you simply click <strong>OneDrive </strong>in the Office 365 menu bar, as shown in Figure 1.</p>  <div style="text-align: center; padding-bottom: 10px; font-size: 80%;"><img title="Figure 1. Office 365 menu bar" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Figure 1. Office 365 menu bar" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/8267.image_42D125B2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/8267.image_5F00_42D125B2.png" width="424" height="41" />&#160;&#160;&#160;&#160; <br />Figure 1. Office 365 menu bar</div>  <p>Or you can always navigate directly there using this URL pattern:    <br />https://<i>YourO365DomainHere</i>-my.sharepoint.com/personal/     <br />&#160;&#160;&#160; <i>YourUserName</i>_ <i>YourO365DomainHere</i>_onmicrosoft_com/. </p>  <p>But that’s from the end-user perspective. How do you access OneDrive for Business as a developer? In this example, we will use REST.</p>  <p><b>Note:</b> If your Office 365 site is set up to use a custom domain—for example, <i>contoso.com</i>—your MySite URL will be of the pattern, https://<b><i>contoso</i></b>-my.sharepoint.com/personal/<i>YourUserName</i>_ <b><i>contoso_com</i></b>/.</p>  <h2><b>Start with the basics</b></h2>  <ol>   <li>Sign in to your Office 365 SharePoint site, and navigate to your OneDrive for Business library using one of the two methods mentioned above.</li>    <li>Click the <b>Shared with Everyone</b> folder and upload a document. For this example, the document name is <b>myDocument.docx</b>.</li>    <li>To use the REST API to view the information on the uploaded document, construct a URL with the following pattern:      <br />https://<i>YourO365DomainHere</i>-my.sharepoint.com/personal/       <br /><i>&#160;&#160;&#160; YourUserName</i>_<i>YourO365DomainHere</i>_onmicrosoft_com/_api/web/       <br />&#160;&#160;&#160; GetFileByServerRelativeUrl('/personal/<i>YourUserName</i>_<i>YourO365DomainHere</i>_onmicrosoft_com/       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Documents/Shared with Everyone/myDocument.docx') </li>    <li>Copy/paste it into your browser. The XML returned should look like this:      <div style="text-align: center; padding-bottom: 10px; font-size: 80%;"><img title="Figure 2. Example of XML returned by the REST API" style="display: inline; background-image: none;" border="0" alt="Figure 2. Example of XML returned by the REST API" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/2766.clip_image004_4E829C3D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/2766.clip_5F00_image004_5F00_4E829C3D.png" width="622" height="250" />Figure 2. Example of XML returned by the REST API</div>   </li>    <li>To download the document, append <b>/$value</b> to the URL. When prompted to save the file, name it <b>myDocumentDownload.docx</b>, and save it.</li> </ol>  <h2><b>Work with documents and other files as “items”</b></h2>  <ol>   <li>For definitive read/write guidance, see <a href="https://msdn.microsoft.com/en-us/library/dn292552.aspx">Working with lists and list items with REST</a> on MSDN. </li>    <li>To experiment, upload a couple of files to the root <b>Documents</b> folder in your OneDrive for Business library. Now you can test out a few REST read calls in your signed-in browser.</li>    <li>Using this URL pattern:      <br />https://<i>YourO365DomainHere</i>-my.sharepoint.com/personal/       <br /><i>&#160;&#160;&#160; YourUserName</i>_<i>YourO365DomainHere</i>_onmicrosoft_com/_api/web/       <br />Append <b>lists/Documents/items/</b> to it. Here you will get all the items. </li>    <ol style="list-style-type: lower-alpha;">     <li>To get the metadata for a particular item, modify <b>items/</b> to <b>items(<i>n</i>)/</b> where (<b><i>n</i></b>) is the specific item number you want to view.</li>      <li>To see the metadata for the file, append <b>file/</b> (for example, <b>items(<i>n</i>)/file/</b>)</li>      <li>To download the file, append <b>$value</b> (for example, <b>items(<i>n</i>)/file/$value</b>)</li>   </ol>    <li>You can also use in place of the above pattern <b>lists/GetByTitle('Documents')/</b>…, and the API will return the same results.</li> </ol>  <h2><b>Work with folders and files</b></h2>  <ol>   <li>Files are often nested in folders, and you may need to drill down into the folder structure; or you may want to represent the folder structure and files in a user interface (UI). Using the following REST calls, you can also work with folders and files in a more logical way than just the “<b>items(n)</b>” <i>sequential </i>location as the pattern shown above. This is where getting folders <i>by relative URL</i> and subsequently enumerating all the files within a folder is really handy.       <br />For definitive read/write guidance, see <a href="https://msdn.microsoft.com/en-us/library/dn292553.aspx">Working with folders and files with REST</a> on MSDN.</li>    <li>Assume the OneDrive file structure shown in Figure 3, where you have both folders and documents at the same level.      <div style="text-align: center; padding-bottom: 10px; font-size: 80%;"><img title="Figure 3. SkyDrive file structure with folders and documents at the same level" style="display: inline; background-image: none;" border="0" alt="Figure 3. SkyDrive file structure with folders and documents at the same level" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/4403.clip_image006_605F300A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/4403.clip_5F00_image006_5F00_605F300A.png" width="196" height="244" />         <br />Figure 3. OneDrive file structure with folders and documents at the same level</div>   </li>    <li>To retrieve all the folders, you will use <b>GetFolderByServerRelativeUrl</b> with the following URL pattern:       <br />https://<i>YourO365DomainHere</i>-my.sharepoint.com/personal/       <br />&#160;&#160;&#160; <i>YourUserName</i>_<i>YourO365DomainHere</i>_onmicrosoft_com/_api/web/       <br />To this URL, append <b>GetFolderByServerRelativeUrl('/personal/<i>YourUserName</i>_<i>YourO365DomainHere</i>_onmicrosoft_com/Documents')/folders/</b>.       <br />All the folders will be returned. You can then subsequently use the <b>ServerRelativeURL </b>property for each folder to continue to “walk down” each folder until you reach its end node.       <div style="text-align: center; padding-bottom: 10px; font-size: 80%;"><img title="Figure 4. ServerRelativeUrl property of a folder" style="display: inline; background-image: none;" border="0" alt="Figure 4. ServerRelativeUrl property of a folder" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/4426.clip_image008_072D464B.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/4426.clip_5F00_image008_5F00_072D464B.jpg" width="635" height="98" />Figure 4. ServerRelativeUrl property of a folder</div>   </li>    <li>Likewise, if you want to return metadata about all the files in a folder, simply replace <b>folders/</b> with <b>files/</b>, and all the files will be enumerated.       <div style="text-align: center; padding-bottom: 10px; font-size: 80%;"><img title="Figure 5. ServerRelativeUrl property of a file" style="display: inline; background-image: none;" border="0" alt="Figure 5. ServerRelativeUrl property of a file" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/1373.clip_image010_14FF8C46.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/1373.clip_5F00_image010_5F00_14FF8C46.jpg" width="523" height="187" />         <br />Figure 5. ServerRelativeUrl property of a file</div>      <br />Then, if you want to retrieve the file, use the <b>GetFileByServerRelativeUrl</b> URL pattern, described in the first section above, with <b>/$value</b> appended to the URL.</li> </ol>  <p>The above URL patterns show how to construct the REST calls for use in the browser for simplicity. However, you can readily implement these URL patterns in your code. </p>  <p>For example, if you are developing an app for SharePoint, the app can call into a user’s MySite site collection and access their OneDrive for Business documents using REST or CSOM.</p>  <p>The REST call to get to the file would be:    <br />https://YourO365DomainHere-my.sharepoint.com/personal/     <br />&#160;&#160;&#160; YourUserName_YourO365DomainHere_onmicrosoft_com/_api/web/     <br />&#160;&#160;&#160; GetFileByServerRelativeUrl('/personal/YourUserName_YourO365DomainHere_onmicrosoft_com/     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Documents/Shared%20with%20Everyone/myDocument.docx')/$value</p>  <p>To programmatically get the OneDrive for Business URL for the signed-in user, you can make a call to the user Profile service:    <br />https://YourO365DomainHere-my.sharepoint.com/_api/     <br />&#160;&#160;&#160; SP.UserProfiles.PeopleManager/GetMyProperties/personalURL/</p>  <p>Remember, your app for SharePoint needs to request the right set of permissions in the app manifest to access OneDrive for Business content—for example, <b>AllSites.Read</b>—and if using the User Profile service: <b>Social.Read</b>. When you request a token from Access Control Service (ACS), make sure you have the right audience. In order to call OneDrive for Business, you need a token whose target audience is <b>https://<i>YourO365DomainHere</i>-my.sharepoint.com/</b>. Also remember to encode all the query parameters in the URL.</p>  <p>This post does not detail these calls for CSOM, but the CSOM equivalents are available: see the <a href="https://msdn.microsoft.com/en-us/library/office/apps/dn268594.aspx">CSOM, JSOM, and REST API Index</a>. Other valuable resources are the articles on how to complete basic operations using <a href="https://msdn.microsoft.com/en-us/library/office/apps/fp179912.aspx">CSOM</a> and <a href="https://msdn.microsoft.com/en-us/library/office/apps/jj163201.aspx">JSOM</a>, and <a href="https://msdn.microsoft.com/en-us/library/office/apps/fp142380.aspx">getting started with SharePoint 2013 REST</a>. </p>  <p>Lastly, for sample code, download the <a href="https://code.msdn.microsoft.com/officeapps/Apps-for-SharePoint-sample-64c80184">Apps for SharePoint sample pack</a>, which provides examples across C#, REST, and JavaScript. It contains useful samples, including: </p>  <ul>   <li><a href="https://code.msdn.microsoft.com/officeapps/SharePoint-2013-Build-REST-b250c64d">SharePoint 2013: Build REST queries and use REST to traverse a site</a></li>    <li><a href="https://code.msdn.microsoft.com/officeapps/SharePoint-2013-Perform-ab9c4ae5">SharePoint 2013: Perform basic data operations on files and folders using REST</a></li>    <li><a href="https://code.msdn.microsoft.com/officeapps/SharePoint-2013-Perform-8a78b8ef">SharePoint 2013: Perform operations on SharePoint Document Library from PHP site</a>.</li> </ul>  <p>Enjoy!</p>  <p>Yina Arenas, Program Manager, APPS PM </p>  <p>Donovan Follette, Sr. Technical Evangelist, Developer &amp; Platform Evangelism</p>]]></content:encoded>
    </item>
    <item>
      <title>Office Developer Tools for Visual Studio 2013 Preview released!</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepointdev/office-developer-tools-for-visual-studio-2013-preview-released</link>
      <pubDate>Wed, 26 Jun 2013 09:10:00 GMT</pubDate>
      <dc:creator><![CDATA[Xiaoying Guo]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/sharepointdev/2013/06/26/office-developer-tools-for-visual-studio-2013-preview-released/</guid>
      <description><![CDATA[This morning at the Microsoft Build Developer conference in San Francisco, S. Somasegar, Corporate...]]></description>
      <content:encoded><![CDATA[<p>This morning at the Microsoft Build Developer conference in San Francisco, S. Somasegar, Corporate VP for Developer Division, announced Visual Studio 2013 Preview. Visual Studio 2013 Preview contains the most recent update of the Office Developer Tools to support the development of apps for Office and SharePoint as well as SharePoint farm and sandboxed solutions. In addition to the support that was available in Office Developer Tools for Visual Studio 2012, the preview provides new features to help you build apps, including MVC web application support for apps for SharePoint, and the Publish Manager for apps for Office and SharePoint. Meanwhile, <a href="https://msdn.microsoft.com/en-us/library/jj220038.aspx">&ldquo;Napa&rdquo; Office 365 Development Tools</a> continues to regularly release new features for app development. Check out the <a href="https://blogs.msdn.com/b/officeapps/archive/2013/06/26/office-developer-tools-for-visual-studio-2013-preview-released.aspx">Apps for Office and SharePoint blog</a> for more details!<p>Xiaoying Guo</p><p>Program Manager, Office Developer Tools</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>We want your ideas on migrating SharePoint solutions to apps for SharePoint</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepointdev/we-want-your-ideas-on-migrating-sharepoint-solutions-to-apps-for-sharepoint</link>
      <pubDate>Thu, 23 May 2013 06:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Keenan Newton]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/sharepointdev/2013/05/23/we-want-your-ideas-on-migrating-sharepoint-solutions-to-apps-for-sharepoint/</guid>
      <description><![CDATA[Have you heard? The new Reimagine SharePoint Development site is now live. This site contains...]]></description>
      <content:encoded><![CDATA[<p>Have you heard? The new <a href="https://www.reimaginespdev.com/">Reimagine SharePoint Development</a> site is now live. This site contains articles, videos, and blog posts that focus on migrating SharePoint solutions to apps. We will be adding content to the site in the months ahead, so if there is something you would like to know more about, just let us know in the comments below or in this <a href="https://social.technet.microsoft.com/Forums/en-US/sharepointdevelopment/thread/ad76aa9a-84ee-482c-8232-aca839c20362">MSDN forum thread</a>. For more information, see the <a href="https://blogs.msdn.com/b/sharepointdev/archive/2013/05/08/reimagine-sharepoint-development.aspx">Reimagine SharePoint Development</a> announcement post.<p>Several questions came up during the launch webcast. We are planning a series of blog posts that should get everybody on the same page. Stay tuned!</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>Reimagine SharePoint Development</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepointdev/reimagine-sharepoint-development</link>
      <pubDate>Wed, 08 May 2013 06:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Keenan Newton]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/sharepointdev/2013/05/08/reimagine-sharepoint-development/</guid>
      <description><![CDATA[Join us May 20, 2013, for a webcast as we kick off a new site centered on migrating SharePoint...]]></description>
      <content:encoded><![CDATA[<p>Join us May 20, 2013, for a webcast as we kick off a new site centered on migrating SharePoint solutions to apps. We will discuss the history of SharePoint customizations and where the SharePoint development platform is going. We will also highlight the benefits of the Cloud App Model and answer any questions on migrating SharePoint solutions to apps that you may have. I will be the host, and we are welcoming <b>Robert Lefferts</b>, Partner Director of Apps Program Management, as a special guest speaker. <p><a href="https://bit.ly/15VyQ20">Register for the webcast now</a></p><p>The <b>Reimagine SharePoint Development</b> site (https://reimaginespdev.com) officially launches on May 20. We created it specifically for current SharePoint developers who are interested in understanding more about apps, and who want to learn about the proven practices of architecting and developing apps and migrating SharePoint solutions to apps. </p><p>Our goal with this site is to help you understand when it&rsquo;s best to develop an app, and when it&rsquo;s not; what the proven practices are for creating apps for SharePoint; and when an existing SharePoint solution is a candidate for migration to an app, as well as how to do it. We plan to include MSDN articles and white papers, video content, blog posts from some of our MVPs about developing apps, migrating solutions to apps, and more. </p><p>As a SharePoint developer, you should make <a href="https://www.reimaginespdev.com">https://www.reimaginespdev.com</a> your first stop when planning and developing your next app or migrating your existing SharePoint solution.</p><p>We want to know what you think! Please leave us comments and share your thoughts and ideas.</p><p>Related resources:</p><ul>   <li><a href="https://msdn.microsoft.com/en-US/office/apps">Apps for Office and SharePoint Dev Center</a></li>    <li><a href="https://msdn.microsoft.com/library/office/apps/fp179924(v=office.15)">Sign up for an Office 365 Developer Site</a></li> </ul><p><i>Keenan Newton is a senior product marketing manager on the SharePoint team at Microsoft.</i></p></p>
]]></content:encoded>
    </item>
    <item>
      <title>Optimizing SharePoint 2013 websites for mobile devices</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepointdev/optimizing-sharepoint-2013-websites-for-mobile-devices</link>
      <pubDate>Tue, 07 May 2013 06:00:00 GMT</pubDate>
      <dc:creator><![CDATA[SharePoint Developer Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/sharepointdev/2013/05/07/optimizing-sharepoint-2013-websites-for-mobile-devices/</guid>
      <description><![CDATA[The mobile market is growing continuously, and in the near future, more mobile devices than desktop...]]></description>
      <content:encoded><![CDATA[<p><i>The mobile market is growing continuously, and in the near future, more mobile devices than desktop computers will be used to surf the web. To ensure a user-friendly experience, we must optimize Internet websites for presenting content across the different devices. SharePoint 2013 offers a number of options for optimizing public-facing websites for mobile devices. Depending on your requirements, you can choose one or a combination of several options.</i></p>  <p>In the last few years, the use of mobile devices to surf the web has increased significantly. According to some researchers, by 2015, more mobile devices than desktop computers will be used to access the web. Mobile devices come in different sizes and capabilities. And since the desktop experience just isn’t good for mobile users, what are the options for improving the experience of mobile users on your website?</p>  <h1>Improving the user experience across devices</h1>  <p>Optimizing the user experience of a website across different devices is a complex process. Not only do you have to take into account the screen resolution of each device, but you also need to consider its capabilities (such as touch or pointer-based) and device size (1024x768 might be clearly readable for everyone on a 20-inch monitor but might result in a very bad experience on a 5-inch screen).</p>  <p>When you are planning improvements to the user experience of your website on mobile devices, there is no silver bullet approach. You have to research who your users are, which devices they use, and what they are trying to achieve on your website. You also have to have clear goals for what purpose your website serves and how it should guide your visitors in the process of becoming your customers.</p>  <p>You have several options for improving the user experience of a public-facing website. Which one you choose depends on the different factors that apply to your scenario.</p>  <h1>Mobile websites</h1>  <p>In the past, when the web technology wasn’t as sophisticated as it is nowadays, it was a common practice to provide mobile users with a separate mobile website to optimize their experience. Being hosted on a separated URL, such as https://m.contoso.com, the mobile site would have a user experience optimized for mobile devices. In some scenarios, organizations would even go a step further and optimize the copy on the mobile website. When a user navigated to the website using a mobile device, the main website would detect the use of a mobile device and automatically redirect the visitor to the mobile version.</p>  <p>It’s not that hard to imagine that building and maintaining two different sites is not only costly but also time consuming. Every update has to be done separately. Even then, with the diversity of today’s mobile devices, the questions remain whether a single mobile website would suffice and whether you wouldn’t need more websites to reach the whole spectrum of your customers.</p>  <p>Being able to reuse the content across the main and mobile websites simplifies the content management process. But the need to separately maintain the functionality of both websites makes it hard to justify this approach in most scenarios.</p>  <h1>Mobile apps</h1>  <p>One of the recent developments of the mobile market is the increased popularity of companion apps. By using the native capabilities of specific devices, you can build rich mobile apps to support different use cases. There is no better user experience on a mobile device than the native one offered by the device itself. For more information, see <a href="https://msdn.microsoft.com/library/jj163228.aspx">Build mobile apps for SharePoint 2013</a>.</p>  <p>But is it realistic to build separate apps for all the different scenarios and for all the different mobile devices used to navigate the website? Although mobile apps are of great value for supporting specific use cases, there is still the need to access the information on the website from a mobile device in a user-friendly way.</p>  <h1>Responsive web design</h1>  <p>Instead of building separate mobile sites for mobile devices, what if we could have one website that automatically adapts itself to the particular device?</p>  <p>Responsive web design is a concept based on the ability to separate the design from the content on a website. Using the CSS media queries capability implemented in all modern browsers, and based on the screen dimensions of the specific device, you can load different style sheets to ensure that the website is presented in a user-friendly manner. And because CSS has its limitations, you can use JavaScript to further optimize the interface and interaction of a website on mobile devices. For more information, see <a href="https://blogs.msdn.com/b/sharepointdev/archive/2013/04/01/implementing-your-responsive-designs-on-sharepoint-2013.aspx">Implementing your responsive designs on SharePoint 2013</a>.</p>  <p>From the search engine optimization (SEO) perspective, responsive web design is the recommended way to optimize public-facing websites for mobile devices. After all, since the same HTML is sent to every device, it’s sufficient for an Internet search engine to index the content once, and it can be sure that the search results will apply the search query on every device.</p>  <p>Implementing responsive web design on a public-facing website is relatively easy assuming you start planning for it from the beginning. The great advantage of responsive web design above other approaches is that you maintain your website once to support a variety of audiences, and the different experiences are future-proof as they depend on the devices’ dimensions rather than their identity.</p>  <p>The following figures show how the sample Contoso Electronics website is displayed on different devices using responsive web design. Figure 1 shows the screen shot taken on a desktop device.</p>  <div style="text-align: center; font-size: 80%;"><img title="Figure 1. The Contoso Electronics website displayed on a desktop device" style="margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" border="0" alt="Figure 1. The Contoso Electronics website displayed on a desktop device" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/2772.clip_image002_102F4012.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/2772.clip_5F00_image002_5F00_102F4012.jpg" width="323" height="321" />Figure 1. The Contoso Electronics website displayed on a desktop device</div>  <p>Figure 2 shows how the Contoso Electronics website looks like on different mobile devices.</p>  <div style="text-align: center; font-size: 80%;"><img title="Figure 2. The Contoso Electronics website displayed on mobile devices" style="margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" border="0" alt="Figure 2. The Contoso Electronics website displayed on mobile devices" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/2705.clip_image004_16E24995.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/2705.clip_5F00_image004_5F00_16E24995.jpg" width="317" height="136" />Figure 2. The Contoso Electronics website displayed on mobile devices</div>  <h1>SharePoint 2013 device channels</h1>  <p>One of the new capabilities of SharePoint 2013 is <i>device channels</i>. You can use device channels to optimize how a website is displayed on different devices. By defining different channels and associating different devices with them, you can use different master pages to optimize how the website is presented to the user. For more information, see <a href="https://msdn.microsoft.com/library/jj733517.aspx">How to: Create device channels in SharePoint 2013</a>. Figure 5 shows a sample configuration of device channels for a public-facing website built with SharePoint 2013.</p>  <div style="text-align: center; font-size: 80%;"><img title="Figure 3. Device channels configured for a public-facing website built on SharePoint 2013" style="margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" border="0" alt="Figure 3. Device channels configured for a public-facing website built on SharePoint 2013" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/3365.clip_image006_61D5BA64.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/3365.clip_5F00_image006_5F00_61D5BA64.png" width="628" height="379" />Figure 3. Device channels configured for a public-facing website built on SharePoint 2013</div>  <p>Whereas responsive web design uses a device’s screen size to determine the presentation layer, device channels in SharePoint 2013 use the identity of the browser on the particular device to decide which presentation style to use. Depending on how many different devices your site visitors use, managing the different devices and experiences can become complex. By using device channels, you get more flexibility in controlling the markup of your website for the different devices. Another benefit of using device channels is that you can serve different content to different devices, whereas the same content is served when using responsive web design. With device channels, you can apply additional optimizations to your website, such as resizing images and videos server-side using the renditions capability, which further improves the performance and user experience of your website. For more information, see <a href="https://msdn.microsoft.com/library/jj720398.aspx">How to: Manage image renditions in SharePoint 2013</a>.</p>  <p>With all the different options at our disposal, which one should we use to get the best results?</p>  <h1>Improving the user experience of a public-facing website in SharePoint 2013</h1>  <p>First and foremost, it’s important to note that SharePoint 2013 supports all the methods mentioned above for improving user experience on mobile devices. Whether you’re looking at building a separate website for mobile users, supporting certain use cases with a mobile app, implementing responsive web design, or using device channels, it can all be implemented in your website on top of SharePoint 2013.</p>  <p>Not only does SharePoint 2013 not stand in your way, but it also supports you in implementing some of those improvements. For example, using the cross-site publishing capability, you can easily publish the centrally managed content on both the main and the mobile websites. With the Search REST API, you can have your content published in your mobile app, and if you’re looking at optimizing the presentation of your website across different devices, SharePoint 2013 offers plenty of features to help you.</p>  <p>With all these techniques at your disposal, it is up to you to decide which method, or combination of methods, is the best choice for what you’re trying to achieve. While you might be interested in supporting a particular complex process with a dedicated mobile app, it might still be of added value to ensure that everyone, regardless of their device, can access all the information on your website.</p>  <p>In most scenarios, it’s easy to choose whether or not the particular optimization technique offers added value. A slightly more difficult choice, partly due to the similarity of both methods, is whether you should use responsive web design or device channels to optimize the presentation of your website for mobile devices.</p>  <h1>Responsive web design and device channels comparison</h1>  <p>Responsive web design and the SharePoint 2013 device channels capability are similar in how they let you optimize a single website to be displayed in a user-friendly way on different devices. Despite this similarity, there are a few important differences between both approaches. Table 1 presents a comparison of the different properties of both approaches.</p>  <table cellspacing="0" cellpadding="0" border="1"><tbody>     <tr>       <td valign="top" width="312">         <p><b>Device channels</b></p>       </td>        <td valign="top" width="312">         <p><b>Responsive web design</b></p>       </td>     </tr>      <tr>       <td valign="top" width="312">         <p>Device management</p>       </td>        <td valign="top" width="312">         <p>Property management</p>       </td>     </tr>      <tr>       <td valign="top" width="312">         <p>Different HTML for every channel</p>       </td>        <td valign="top" width="312">         <p>Same HTML for every device</p>       </td>     </tr>      <tr>       <td valign="top" width="312">         <p>More management (support for new devices)</p>       </td>        <td valign="top" width="312">         <p>Future proof (device size)</p>       </td>     </tr>      <tr>       <td valign="top" width="312">         <p>More flexibility</p>       </td>        <td valign="top" width="312">         <p>Limited by CSS support and capabilities</p>       </td>     </tr>      <tr>       <td valign="top" width="312">         <p>Custom Vary-By User Agent response header required</p>       </td>        <td valign="top" width="312">         <p>Preferred by Internet search engines</p>       </td>     </tr>   </tbody></table>  <div style="text-align: center; font-size: 80%;">Table 1. Comparison of device channels and responsive web design</div>  <h1>Applying user experience</h1>  <p>First of all, there is a difference in how both approaches determine which user experience should be applied for the particular user. Responsive web design uses the size of the screen to determine how the content should be laid out in the browser’s window. Device channels, on the other hand, use the identity of the browser to load the suitable channel.</p>  <p>While responsive web design can cause different experiences to be loaded depending on the size of the browser window, device channels will always load the same experience for the same device regardless of the browser window size. Using device channels can have great advantages, for example, from the troubleshooting point of view where the user and the helpdesk employee would see the same interface despite the possible differences in their screen resolutions or browser window sizes.</p>  <h1>Page markup</h1>  <p>Another difference between device channels and responsive web design is how the page contents are served. Responsive web design changes only the presentation layer of the website. Although you can hide some pieces of the page in the browser using CSS, they are still present in the website’s code and therefore loaded. When using device channels, you can use different master pages to ensure that only the relevant markup is served to users. Additionally, you can use the device channel panels to further control the content elements loaded on specific pages.</p>  <p>Although device channels allow for better control of the rendered HTML and therefore optimized performance of the website, more effort is required to ensure that Internet search engines will properly deal with all the different versions of the website presented to different devices. You can achieve this by using the Vary-By User Agent response header, but it has to be done manually.</p>  <h1>Future-proofness</h1>  <p>Responsive web design uses the size of the browser window to distinguish between the different experiences. This is a robust approach, and the chances are low that a new device will appear on the market that has a poor user experience despite the configured breakpoints. One reason for that might be related to some specific capabilities of such devices, but again, chances of this are very rare.</p>  <p>SharePoint 2013 device channels are based on the identity of the browser used to open the website. There are two challenges with this approach. First of all, in some situations it might be impossible to distinguish between the same browser installed on the same operating system but on two devices with distinct capabilities. Second, if a new device appears on the market, you would have to verify that this device is assigned to the right device channel on your website.</p>  <h1>Choosing the right approach for optimizing the user experience</h1>  <p>Although responsive web design and device channels are very similar, their capabilities differ and they have different impact when used for optimizing a website for mobile devices. Due to their similarities and their own strength, choosing between the two approaches is often difficult. Why not combine both approaches to get the best of what they offer?</p>  <h1>Combining responsive web design and device channels</h1>  <p>An interesting scenario worth considering is to combine responsive web design and SharePoint 2013 device channels to benefit from the strengths of both approaches.</p>  <p>When combining responsive web design and device channels, you could use responsive web design to create the baseline cross-device experience. Depending on your design for the different breakpoints, using responsive web design could be good for the 80%, or maybe even 90%, of the optimizations. The remainder—whether they’re caused by how the web design changes between the breakpoints or by the capabilities of the different devices that should be supported—could be covered by device channels and device channel panels.</p>  <p>By using responsive web design to build the baseline for the cross-browser experience, we benefit from its future-proofness and robustness. For the specific exceptions, we can benefit from the granular control that SharePoint device channels offer us.</p>  <h1>About the author</h1>  <p><i>Waldek Mastykarz is a Microsoft SharePoint Server MVP and works as a SharePoint consultant at Mavention. Waldek shares his enthusiasm about the SharePoint platform through his blog, articles published in online and off-line magazines and on MSDN SharePoint Forums. He is also a speaker at community events such as the SharePoint conference in London, SharePoint Connections Amsterdam, and SharePoint Saturday. In addition to his job at Mavention, Waldek is a Virtual Technology Solutions Sales Professional for Microsoft Netherlands. In this role he helps answer customer questions around SharePoint Web Content Management (WCM).</i></p>  <p>Blog: <a href="https://blog.mastykarz.nl">https://blog.mastykarz.nl</a>     <br />Twitter: <a href="https://twitter.com/waldekm">https://twitter.com/waldekm</a>     <br />Mavention: <a href="https://www.mavention.com">https://www.mavention.com</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Implementing your responsive designs on SharePoint 2013</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepointdev/implementing-your-responsive-designs-on-sharepoint-2013</link>
      <pubDate>Mon, 01 Apr 2013 13:17:08 GMT</pubDate>
      <dc:creator><![CDATA[Ricardo Loo]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/sharepointdev/2013/04/01/implementing-your-responsive-designs-on-sharepoint-2013/</guid>
      <description><![CDATA[Learn how a SharePoint publishing site looks and reacts to different display resolutions when you...]]></description>
      <content:encoded><![CDATA[<p><i>Learn how a SharePoint publishing site looks and reacts to different display resolutions when you implement a responsive web design.</i></p>  <p>Web designers are crucial for a successful SharePoint implementation. We all know that. With this in mind, I wanted to write an article for our SharePoint web designers out there. Not being an authority on the subject, I decided to ask someone who has been working in web design for some time. By asking my contacts, I got the email address of an expert in SharePoint branding and UX customization. Eric Overfield was the name on the contact card. I set up a conference call, and very soon we were chatting and discussing UX, branding, artists, engineers, and SharePoint.</p>  <p>The conversation quickly turned to devices and how to make SharePoint work as well as possible in this new and changing set of displays. Eric’s answer was: <a href="https://alistapart.com/article/responsive-web-design">responsive web design</a>. Responsive web design allows us to look at a site like a fluid grid. The fluid, dynamic grid adapts itself to fit the information in display resolutions as different as those in a phone, a tablet, and a full desktop monitor. Keep in mind that the mix of display resolutions doubles if you consider landscape and portrait orientations available in all these devices.</p>  <p>The author of the <a href="https://alistapart.com/article/responsive-web-design">original post</a> about responsive web design, Ethan Marcotte, provided a <a href="https://d.alistapart.com/responsive-web-design/ex/ex-site-FINAL.html">reference site</a> to demo the concepts explained in his post. In this demo, you can observe how the elements in the page rearrange themselves to fit the current resolution as you resize your browser window. The demo left me wondering how a SharePoint website would react to different resolutions by using the fluid grid characteristic of responsive frameworks. Fortunately, Eric, along with some other people, developed <a href="https://responsivesharepoint.codeplex.com/">Responsive SharePoint</a>. Responsive SharePoint is a CodePlex project that you can use to try responsive frameworks on your SharePoint website.</p>  <p>I followed the provided instructions to install the resources by using Design Manager on an out-of-the-box publishing site. In no time, I was looking at how the site dynamically reacted to different resolutions as I resized my browser window. I decided to test the project by using the following display resolutions:</p>  <ul>   <li>1200x1900 (desktop, portrait orientation)</li>    <li>768x1366 (tablet, portrait orientation)</li>    <li>480x800 (smartphone, portrait orientation)</li> </ul>  <p>The results were amazing. Within 10 minutes, I had a SharePoint website that automatically adapts to display resolutions commonly used in devices. The following figure compares the website in commonly used display resolutions:</p>    <div style="text-align: center; font-size: 80%;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/6813.Responsive%20comparison.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88/6813.Responsive-comparison.png"><img title="Figure 1. Comparison of resolutions of the SharePoint website using a responsive framework" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Figure 1. Comparison of resolutions of the SharePoint website using a responsive framework" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/88/metablogapi/0268.clip_image002_thumb_0C1AC5B3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-88-metablogapi/0268.clip_5F00_image002_5F00_thumb_5F00_0C1AC5B3.png" width="640" height="345" /></a>Figure 1. Comparison of resolutions of the SharePoint website using a responsive framework</div>    <p>How is this achieved?</p>  <p>In this post, I can only explain that Responsive SharePoint uses media queries to match the width of the display in the device and then applies a set of styles to present the content in the available space. For this to work, you need a browser that supports media queries. The latest version of the major browsers support such functionality. The following code example shows how to declare media queries:</p>  <pre class="code"><span style="background: white; color: blue;">@media (</span><span style="background: white; color: red;">min-width</span><span style="background: white; color: black;">: </span><span style="background: white; color: blue;">769px) and (</span><span style="background: white; color: red;">max-width</span><span style="background: white; color: black;">: </span><span style="background: white; color: blue;">979px) </span><span style="background: white; color: black;">{
    </span><span style="background: white; color: rgb(0, 100, 0);">/*
        Styles for display width 
        between 769 and 979 pixels
    */
</span><span style="background: white; color: black;">}

</span><span style="background: white; color: blue;">@media (</span><span style="background: white; color: red;">max-width</span><span style="background: white; color: black;">: </span><span style="background: white; color: blue;">768px) </span><span style="background: white; color: black;">{
    </span><span style="background: white; color: rgb(0, 100, 0);">/*
        Styles for display width 
        equal to 768 pixels and thinner
    */
</span><span style="background: white; color: black;">}

</span><span style="background: white; color: blue;">@media (</span><span style="background: white; color: red;">min-width</span><span style="background: white; color: black;">: </span><span style="background: white; color: blue;">1200px) </span><span style="background: white; color: black;">{
    </span><span style="background: white; color: rgb(0, 100, 0);">/*
        Styles for display width 
        equal to 1200 pixels and wider
    */
</span><span style="background: white; color: black;">}
</span></pre>

<p>Of course there is much more to it. You can learn more by browsing the <a href="https://responsivesharepoint.codeplex.com/">Responsive SharePoint</a> CodePlex project.</p>

<p>The new design and branding features in SharePoint 2013 make it easy to create and edit your web design, including responsive designs. You can even use the tools you are familiar with by <a href="https://msdn.microsoft.com/library/jj733519.aspx">mapping a network drive to the SharePoint 2013 Master Page Gallery</a>. In my case, I used Microsoft Expression Web 4 to browse and edit the master pages and CSS files. </p>

<p>I am excited about the new design and branding features and how we can use them in responsive web designs. For more information, see <a href="https://msdn.microsoft.com/library/jj163942.aspx">What's new with SharePoint 2013 site development</a>.</p>

<p>- Ricardo</p>

<p><i>Eric Overfield is the co-founder of </i><a href="https://pixelmill.com/Default.aspx"><i>PixelMill</i></a><i>. PixelMill is a company that offers products and services for branding SharePoint starting with SharePoint 2007, and they have been in the web design business since 1998. Eric is very passionate about the community for whom he developed the CodePlex project </i><a href="https://responsivesharepoint.codeplex.com/"><i>Responsive SharePoint</i></a><i>. He is also a speaker at SharePoint events, such as SharePoint Saturdays, and is in the process of writing a book about responsive design and SharePoint 2013. You can read more about Eric’s work at </i><a href="https://blog.pixelmill.com/"><i>PixelMill’s blog</i></a><i> and follow him on Twitter </i><a href="https://twitter.com/ericoverfield"><i>@ericoverfield</i></a><i>.</i></p>]]></content:encoded>
    </item>
    <item>
      <title>Cross-post from the SharePoint blog: Options to create forms in SharePoint 2013</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepointdev/cross-post-from-the-sharepoint-blog-options-to-create-forms-in-sharepoint-2013</link>
      <pubDate>Wed, 13 Mar 2013 04:00:00 GMT</pubDate>
      <dc:creator><![CDATA[SharePoint Developer Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/sharepointdev/2013/03/13/cross-post-from-the-sharepoint-blog-options-to-create-forms-in-sharepoint-2013/</guid>
      <description><![CDATA[Last week, Keenan Newton published a blog post on the SharePoint blog. In his post, Keenan explains...]]></description>
      <content:encoded><![CDATA[<p>Last week, Keenan Newton published a blog post on the <a href="https://blogs.office.com/b/sharepoint/">SharePoint blog</a>. In his post, Keenan explains the different <a href="https://blogs.office.com/b/sharepoint/archive/2013/03/04/options-to-create-forms-in-sharepoint-2013.aspx">options for creating forms in SharePoint 2013</a>. To summarize, you can choose from several different tools for building forms in SharePoint. Depending on what your specific needs are, you will find a wide range of tools that provide flexibility for both business users and developers.<p>The following options are available for you to create forms in SharePoint 2013:</p><ul>
<li>InfoPath</li>
<li>Access</li>
<li>Excel</li>
<li>Visual Studio</li>
</ul><p>For more information, visit the original blog post, <a href="https://blogs.office.com/b/sharepoint/archive/2013/03/04/options-to-create-forms-in-sharepoint-2013.aspx">Options to Create Forms in SharePoint 2013</a>.</p></p>
]]></content:encoded>
    </item>
  </channel>
</rss>