<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>SharePoint Me in the Right Direction</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/sharepoint_me_in_the_right_direction/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/sharepoint_me_in_the_right_direction/feed.xml</link>
    <description>The official blog of Mike Demster, Microsoft SharePoint Sr. Escalation Engineer</description>
    <lastBuildDate>Fri, 17 Feb 2017 20:32:58 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Does SharePoint 2016 support SAML 2.0</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_me_in_the_right_direction/does-sharepoint-2016-support-saml-2-0</link>
      <pubDate>Fri, 17 Feb 2017 19:10:32 GMT</pubDate>
      <dc:creator><![CDATA[Mikelaughs]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_me_in_the_right_direction/?p=155</guid>
      <description><![CDATA[There may be some confusion, looking at all the public documentation for SharePoint, in regard to...]]></description>
      <content:encoded><![CDATA[There may be some confusion, looking at all the public documentation for SharePoint, in regard to exactly what is and isn't supported in terms of SAML tokens.
This article <a href="https://technet.microsoft.com/en-us/library/cc262350(v=office.16).aspx#plansaml">https://technet.microsoft.com/en-us/library/cc262350(v=office.16).aspx#plansaml</a> states the following:
<blockquote><span class="LW_CollapsibleArea_Title">SAML token-based authentication</span>
<div class="LW_CollapsibleArea_HrDiv">

<hr class="LW_CollapsibleArea_Hr" />

</div>
<div class="sectionblock">

SAML token-based authentication in SharePoint Server 2016 uses the SAML 1.1 protocol and the WS-Federation Passive Requestor Profile (WS-F PRP). It requires coordination with administrators of a claims-based environment, whether it is your own internal environment or a partner environment. If you use Active Directory Federation Services (AD FS) 2.0, you have a SAML token-based authentication environment.

</div>
&nbsp;</blockquote>
While this may seem straight forward for some, it doesn't explicitly say that SAML 2.0 is not supported.  Thus the reason that this question was raised to the SharePoint Product team who writes the code for accepting SAML tokens.  The results:
<ul>
 	<li><strong>We support SAML 1.1 and below ONLY</strong></li>
 	<li><strong>We support SAML 1.1 with all versions of ADFS (2.0 through 4.0)</strong></li>
</ul>
If SAML 2.0 will be supported in SharePoint On-Premise at some future time, it is not likely to be in any version that is currently available (2016 or before), but that would be going more into the realm of speculation.  Probably the best that can be said is that at this time there are no official plans for supporting SAML 2.0 in SharePoint 2016.]]></content:encoded>
    </item>
    <item>
      <title>SharePoint Management Shell- List out all authentication Providers for each zone in each web Application in your farm</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_me_in_the_right_direction/sharepoint-management-shell-list-out-all-authentication-providers-for-each-zone-in-each-web-application-in-your-farm</link>
      <pubDate>Fri, 17 Feb 2017 16:51:51 GMT</pubDate>
      <dc:creator><![CDATA[Mikelaughs]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_me_in_the_right_direction/?p=115</guid>
      <description><![CDATA[You may find yourself hunting for the SharePoint Web application and looking through each...]]></description>
      <content:encoded><![CDATA[You may find yourself hunting for the SharePoint Web application and looking through each authentication zone to find the ones associated with a certain Auth Provider.  This can happen if you've ever tried removing a claims authentication provider, but the error indicates that it is associated with one or more web applications.

The following script will give you the details you need:

$webapps = get-spwebapplication
foreach ($webapp in $webapps)
{
Write-Host "===================Start Web Application" $webapp.Name "=====================" -foreground Green;
Write-Host "Web Application Name: " $webapp.Name;
Write-Host "Web Application URL: " $webapp.URL;
foreach ($zone in $webapp.IisSettings.Keys)
{
Write-Host "--------------------------";
Write-Host "Zone: " $zone -foreground Magenta;
Write-Host "Authentication Provider:";
Write-Host "--------------------------";
Get-SPAuthenticationProvider -WebApplication $webapp -zone $zone;
Write-Host "--------------------------";
}
Write-Host "====================End Web Application" $webapp.Name "=====================`n`n" -foreground Green;
}

One additional thing to note here, is that this script can be modified to give you the following information about each extended and mapped zone (each mapped zone correlates to an IIS site with these settings):

AuthenticationMode                               : Forms
MembershipProvider                               : i
RoleManager                                      : c
AllowAnonymous                                   : False
EnableClientIntegration                          : True
ServerBindings                                   : {Microsoft.SharePoint.Admini
stration.SPServerBinding}
SecureBindings                                   : {}
UseWindowsIntegratedAuthentication               : True
UseBasicAuthentication                           : False
DisableKerberos                                  : True
ServerComment                                    : SharePoint - 5555
Path                                             : C:\inetpub\wwwroot\wss\Virtu
alDirectories\5555
PreferredInstanceId                              : 479071364
UseClaimsAuthentication                          : True
ClaimsAuthenticationRedirectionUrl               :
UseFormsClaimsAuthenticationProvider             : True
FormsClaimsAuthenticationProvider                : Microsoft.SharePoint.Adminis
tration.SPFormsAuthenticatio
nProvider
UseTrustedClaimsAuthenticationProvider           : False
UseWindowsClaimsAuthenticationProvider           : False
OnlyUseWindowsClaimsAuthenticationProvider       : False
WindowsClaimsAuthenticationProvider              :
ClaimsAuthenticationProviders                    : {Forms Authentication}
ClaimsProviders                                  : {}
ClientObjectModelRequiresUseRemoteAPIsPermission : True
UpgradedPersistedProperties                      : {}

This can be done by using:
--------------------------------------
foreach ($iissettings in $webapp.IisSettings)
{
IisSettings.Values]]></content:encoded>
    </item>
    <item>
      <title>SharePoint 2013 Incoming Email - a discussion of some of the requirements</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_me_in_the_right_direction/sharepoint-2013-incoming-email-a-discussion-of-some-of-the-requirements</link>
      <pubDate>Mon, 08 Feb 2016 11:03:35 GMT</pubDate>
      <dc:creator><![CDATA[Mikelaughs]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_me_in_the_right_direction/2016/02/08/sharepoint-2013-incoming-email-a-discussion-of-some-of-the-requirements/</guid>
      <description><![CDATA[- Cross posted from my post on the SharePoint Team blog, where you'll find blogs from a great bunch...]]></description>
      <content:encoded><![CDATA[- Cross posted from my post on the SharePoint Team blog, where you'll find blogs from a great bunch of knowledgeable SharePoint support engineers.

<a href="http://blogs.msdn.com/b/spses/archive/2015/03/04/requirements-for-sending-email-to-sharepoint-libraries-including-x-headers.aspx">http://blogs.msdn.com/b/spses/archive/2015/03/04/requirements-for-sending-email-to-sharepoint-libraries-including-x-headers.aspx</a>

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

There have been some questions around E-Mail requirements for sending email to a SharePoint list or library, and specifically around the need for the x-sender and x-receiver header fields.

This is not intended to be a comprehensive list of all requirements, but rather an overview of the way we use x-headers and other unique or notable requirements for sending mail to SharePoint lists and libraries.  More information about requirements not specifically cited here can be gleaned from the referenced RFC 821 and RFC 822 standards.

<b>We process messages sent to SharePoint lists via email, in three phases.</b>

1. First is the SharePoint Email Engine, which consists of the functionality associated with the SharePoint timer job which fetches the email messages from the Windows SMTP service via the drop folder, and then converts each message into a stream for delivery to the appropriate list in the appropriate SPWeb. This functionality exists in private classes, so there is not a great deal of available information on the internals of this step.

2. The second phase is handled in the <a href="https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.utilities.spemailmessage(v=office.15).aspx"><b>SPEmailMessage</b></a> class.  I have linked to the public MSDN information about this step. This phase consists of parsing of the message extracting the header, body and attachment components, and converting these to metadata and attachments to be added to the target list/library is done here.

3. A third phase handles the details of mapping the appropriate metadata and attachments to the library-type specific fields.

X-Headers are typically used in processing SMTP mail from the drop folder. While phase #2 and #3 do not require the X-Headers, phase #1 does require them, and uses them for routing the message.

Since the first phase is not publicly documented on MSDN I have attempted to sum up the requirements for this phase below, with additional, relevant information from phases 2 and 3.

1. Required fields include:

==============================

Sender Header = "x-sender: "

Receiver Header = "x-receiver: "

Mail file Pattern = "*.eml"

Message ID = "message-id"

If there are no Recipients listed in the “x-receiver:” header field, no sender listed in “x-sender:” , or the x-sender header field is not present, we will fail processing the message and return an error with this verbiage in the ULS logs:

-----------------------------------------------------------------------------------------------------------------------------------------

A critical error occurred while processing the incoming e-mail file &lt;email file name&gt; The error was:

Bad senders or recipients

---------------------------------------------------------------------------------------------------------

Additionally, if the message header contains "X-AlertServerType" with a value = "STS" or "X-mailer" with a value = "Microsoft SharePoint Foundation 2010" the message is considered to be originated from SharePoint and will not be delivered to a SharePoint list.

The behavior seen in this first phase is similar to the Exchange replay folder behavior noted here:

<a href="https://technet.microsoft.com/en-us/library/bb124230.aspx">https://technet.microsoft.com/en-us/library/bb124230.aspx</a>

The X-Header fields, including x-sender and x-receiver, used by SharePoint are described in more detail here:

<a href="https://msdn.microsoft.com/en-us/library/ms526966(v=EXCHG.10).aspx">https://msdn.microsoft.com/en-us/library/ms526966(v=EXCHG.10).aspx</a>

excerpt:

<b>Using the SMTP Message Envelope Fields</b>

A summary of the use of x-sender and x-receiver from this article is included below:

===========================================================================

The <b>recipientlist</b> field contains the e-mail address of each intended recipient. If the message was submitted over the network through the SMTP protocol, each recipient corresponds to a RCPT TO: protocol command. If the message was submitted through the local SMTP service pickup directory, each recipient corresponds to an x<i>-</i>receiver header at the top of the message file. You can alter this list when executing; for example, you can expand a custom distribution list by substituting the alias address with each member of the list.

The <b>senderemailaddress</b> field contains the address of the message's sender. If the message was submitted over the network using the SMTP, this address corresponds to the transmitted MAIL FROM SMTP command. If the message was submitted using the SMTP service pickup directory, this address corresponds to the x-senderheader at the top of the message file.

<b>Note</b>

The <b>recipientlist</b> and <b>senderemailaddress</b> envelope fields and the various message header fields such as (urn:schemas:mailheader:) <b>To</b>, <b>From</b>, <b>Cc</b>, and <b>Bcc</b> are different attributes of the message. The SMTP does not use the mail header fields to route the message; it routes the message based upon the RCPT TO and MAIL FROM protocol commands if a message is submitted using the SMTP, or the x-receiver and x-sender headers if a message is submitted to the local SMTP pickup directory. The envelope fields are not transmitted or stored with the message and exist only for the message's lifetime in SMTP transport.

===========================================================================

In addition to x-sender and x-receiver, we make use of and populate the messagestatus and arrivaltime x-header fields when picking up the message from the drop folder and delivering it to the appropriate list.  These fields help to manage delivery failures, aborts, retries, etc.

&nbsp;

2. In the second phase we follow RFC 821 for attributes like “MAIL FROM” (EnvelopeSender), or if not present, we fall back to RFC 822 “FROM” header if MAIL FROM is blank or not present.

The same behavior applies to the RFC 821 “RCPT TO” and RFC 822 “TO” header fields, among others.

In this phase - <a href="https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.utilities.spemailmessage(v=office.15).aspx"><b>SPEmailMessage</b></a> - we use RFC 821 when parsing other message header, body, and attachment components.

The MIME parser used is a specific - and modified to suit SharePoint coding design - version of the Exchange EDGE server role MIME parser.

Of note, a 4K header size limit is imposed by our implementation of the MIME parser.

&nbsp;

3. Third phase (SP Email Handler) and additional information:

====================

Attachments - Invalid filename characters = "\\/:*?\"&lt;&gt;|#{}%~&amp;"

SharePoint List types supported for email

NOTE: SharePoint has coded email handlers for the following SPListTemplateType types.

· Announcements

· Events

· DocumentLibrary

· PictureLibrary

· XMLForm

· DiscussionBoard

· Posts]]></content:encoded>
    </item>
    <item>
      <title>Mapping a drive to a SharePoint library (Connect to Server) from Mac OSX Finder does not allow drag and drop of files into a SharePoint document Library</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_me_in_the_right_direction/mapping-a-drive-to-a-sharepoint-library-connect-to-server-from-mac-osx-finder-does-not-allow-drag-and-drop-of-files-into-a-sharepoint-document-library</link>
      <pubDate>Thu, 27 Aug 2015 14:02:00 GMT</pubDate>
      <dc:creator><![CDATA[Mikelaughs]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_me_in_the_right_direction/2015/08/27/mapping-a-drive-to-a-sharepoint-library-connect-to-server-from-mac-osx-finder-does-not-allow-drag-and-drop-of-files-into-a-sharepoint-document-library/</guid>
      <description><![CDATA[If you have ever tried mapping a drive to a SharePoint document library, from a MacBook Air or...]]></description>
      <content:encoded><![CDATA[If you have ever tried mapping a drive to a SharePoint document library, from a MacBook Air or MacBook Pro - essentially any Mac OSX 10 device, you have probably noticed that it doesn't work!

My experience was with a MacBook Air and MacBook Pro, both with OSX 10.

What you might not be clear on is - Why doesn't it work?  or - Where does the problem lie, in SharePoint or in the Mac OSX?

Pardon any misuse of Mac terminology here, as I live in Windows 99% of the time.

<span style="color: #339966;font-size: large"><strong>This is a high level look at what's happening:</strong></span>

<span style="color: #339966"><strong> </strong></span>

The problem starts when you use the Mac OSX Finder, which is similar to Windows "Explorer.exe", to connect to a SharePoint document library.

This is done by clicking on Go -&gt; Connect to Server -&gt; Add the path to the SharePoint document library like http://SharePointPortal/sites/MyTeamSite/MacFilesGoHere/

Once the mapped drive (Connect to Server) is connected and opened, you try to drag and drop files from your MacBook into the drive/location.  This results in either no file being copied over, or a 0 byte file being copied into the library.

Additionally, you will likely see the following error:

Copy
-----------
The Finder can't complete the operation because some data in "TheFileName.rtf" can't be read or written.
(Error code -36)
---------------------------------------------------------------------

This error may look familiar, as it's often seen copying to other devices or locations from Mac's Finder.

In addition to this error, you will probably find that Finder is now hung in an infinite loop (making repeated unauthenticated requests and getting 401 authentication responses) or is generally just no longer responding.  To recover from this, you may be able to use the "Unmount" command, or you may have to power down the device and restart it.

<span style="color: #339966"><strong> </strong></span>

<span style="color: #339966;font-size: large"><strong>So, what is the problem?</strong></span>

<span style="color: #339966"><strong> </strong></span>

The Finder uses User-Agent: WebDAVFS/3.0.1 (03018000) Darwin/13.4.0 (x86_64)

<span style="font-family: Times New Roman;font-size: medium">The Finder attempts to do PROPFIND and PUT for additional files that it wants to copy to the library.  For example, if I’m trying to copy a file called “MyFile.rtf”, these additional files include files like ._MyFile.rtf, ._., .DS_Store, etc.</span>

&nbsp;

These requests all return 414 errors from SharePoint:

&nbsp;

<span style="font-family: Times New Roman;font-size: medium">HTTP/1.1 414 REQUEST URI TOO LONG </span>

<span style="font-family: Times New Roman;font-size: medium">X-MSDAVEXT_Error: 589924; The%20following%20file%28s%29%20have%20been%20blocked%20by%20the%20administrator%3a%20%2fsites%2fMyTeamSite%2fMacFilesGoHere%2f%2e%5fTheFileName%2ertf </span>

<span style="font-family: Times New Roman;font-size: medium">(decoded: X-MSDAVEXT_Error: 589924; The following file(s) have been blocked by the administrator: /sites/MyTeamSite/MacFilesGoHere/._TheFileName.rtf)
</span>
Ultimately, Finder will either copy a 0kb file or no file to the document library because of this error.

<span style="color: #339966;font-size: large"><strong>What's the cause?</strong></span>

<span style="font-size: medium"><span style="font-family: Times New Roman">SharePoint was not built on top of Mac OSX obviously.  The additional files that are so integral the way OSX, and more specifically, the way their HFS or HFS+ file system works, are not used in an NTFS files system and are not understood by SharePoint.  SharePoint was designed to interface with NTFS directly when using "Open in Explorer view" and adding this functionality was no small feat.  The fact is, HFS and NTFS are two completely different and privately controlled, proprietary file systems which work in much different ways.  You can start to scratch the surface on understanding the HFS scheme and use of these additional files here <a href="http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html">http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html</a>.</span></span>

<span style="font-size: medium"><span style="font-family: Times New Roman">Further, SharePoint has not been designed to accept file names beginning with a dot "." and in fact is designed, since the days of FrontPage server extensions, to block them.  Even if SharePoint was changed to allow the dot (.) prefixed file names, these additional “sidecar” files that Mac OSX Finder tries to add would be likely to interfere with advanced features like required properties, force checkout, event receivers, versioning, alerts, workflows, etc.  So there would be a monumental coding and collaboration effort required, to allow these additional files to be added.  Certainly, additional handling would have to be built into many areas in SharePoint for this to even begin to be feasible.  </span></span>

<span style="font-size: medium"><span style="font-family: Times New Roman">This is not to say that SharePoint couldn't either strip out these files or build in support for them, but this would not only require close collaboration with Apple to properly handle the files, but also Apple would have to be willing to expend effort to work with the SharePoint product team to help them improve their own product, much in the same way the Windows OS team had to expend time and resources to allow the SharePoint Explorer view feature to come into being at all. </span></span><span style="font-size: medium"><span style="font-family: Times New Roman">
</span></span>

<span style="font-size: medium"><span style="font-family: Times New Roman">Long story short, fixing this would not be up to Microsoft alone, and to do this fully (i.e. not using some reverse engineered, open source version) would require a joint effort and buy in from Apple to assist with the effort every step of the way, including their support should it break.
</span></span>

&nbsp;

<strong><span style="color: #339966;font-size: large">What can I do?</span></strong>

<strong><span style="color: #339966;font-size: large"> </span></strong>

Right now, and in the foreseeable future, the best option is to not use the "Connect To Server" option of Finder in Mac OSX to try to copy files into SharePoint.

The alternative?  Use the browser.

SharePoint 2013 allows you to drag files directly into the web UI from Finder (a file on your Mac).  Just browse to the document library in the browser and drag files into the area indicated.  You can also use the options in the web UI to upload files via the menu.

With these additional options readily available, there isn't a really compelling need for Microsoft to take on the monumental effort of rewriting SharePoint to comply with a completely different file system and concept of file metadata, just so it can allow a third entry point for these types of files.

And now you know why it doesn't work.  It's not evil ;) , it's just different file systems with different schemes crashing into each other.  It's a new day and I think we'll find we're moving away from the concept of mapped drives anyway, and toward more modern concepts like syncing and web driven, cloud enabled storage and management of files.

<span style="color: #339966;font-size: large"><strong> </strong></span>

<span style="color: #339966;font-size: large"><strong>A deeper look</strong></span>

<span style="font-family: Times New Roman;font-size: medium">If you want to see what files, exactly, that the MacBook is trying to copy over, you can do two things:</span>
<ol>
 	<li>use a web traffic analysis tool to inspect the traffic</li>
 	<li>format a thumb drive as Fat32 or exFat and plug it into your MacBook.  Then use Finder to drag files over to the drive.  Now take the drive back to windows (easiest way) and unhide hidden/system files.  You’ll see all the additional files that were copied over to the drive along with the one file you selected.</li>
</ol>
<span style="font-size: medium"><span style="font-family: Times New Roman"><b>exFAT</b>: allows you to store files larger than 4 GB and can be read and written in Windows and OS X 10.6.5 and later.</span></span>

<span style="font-family: Times New Roman;font-size: medium">To analyze web traffic from the MacBook, I set up Telerik’s Fiddler on a Windows PC and enabled remote connections in Tools -&gt; Fiddler Options -&gt; Allow remote computers to connect, and set Fiddler to listen on port 8888.  I then set up a web http proxy on the MacBook to point to the PC on port 8888.  This allows me to load Fiddler on the PC and capture all of the traffic coming from the MacBook, including the conversation with the SharePoint server.</span>]]></content:encoded>
    </item>
    <item>
      <title>Playing Windows authenticated SharePoint 2013 Videos from a Mac OS X device and Safari browser - Solution</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_me_in_the_right_direction/playing-windows-authenticated-sharepoint-2013-videos-from-a-mac-os-x-device-and-safari-browser-solution</link>
      <pubDate>Wed, 21 Jan 2015 11:04:47 GMT</pubDate>
      <dc:creator><![CDATA[Mikelaughs]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_me_in_the_right_direction/2014/01/23/playing-windows-authenticated-sharepoint-2013-videos-from-a-mac-os-x-device-and-safari-browser-solution/</guid>
      <description><![CDATA[The Problem: 
You are Unable to play videos from an authenticated (Windows Authentication)...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family:Calibri;font-size:medium;"><span style="font-size:x-large;">The Problem:</span> </span></p>
<p><span style="font-family:Calibri;font-size:medium;">You are Unable to play videos from an authenticated (Windows Authentication) SharePoint site on a MacBook (OS X) running the Safari browser.&nbsp; This was reproduced on SharePoint 2013 by editing a page and selecting Insert -&gt; Video -&gt; From Computer.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">The video may say &ldquo;Loading&rdquo; or may just never start playing.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:x-large;">What Gives?</span></p>
<p><span style="font-family:Calibri;font-size:medium;">On a Windows PC using integrated AUTH (i.e. logged into the domain): All that is needed to make this work in Safari is to enable BLOB cache on the web application (ref: </span><a href="http://msdn.microsoft.com/en-us/library/office/aa604896(v=office.14).aspx"><span style="color:#0563c1;font-family:Calibri;font-size:medium;">Disk-Based Caching for Binary Large Objects in SharePoint Server 2010 (ECM)</span></a><span style="font-family:Calibri;font-size:medium;">).&nbsp; This is because BLOB cache adds support for byte-range requests, but more on that later.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">On Mac OS X:&nbsp;When using NTLM authentication the first request to the server will be responded to with a 401 &ldquo;WWW-Authenticate: &lt;Methods&gt;&rdquo; response, indicating that the request needs to authenticate using one of the listed methods.&nbsp; When the Safari browser on Mac OSX receive the initial 401 response to the video request, Safari sends a &quot;Connection: Close&quot; in the next GET request for the video.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">This same&nbsp;problem is seen if you take the video outside of SharePoint and just place it on a plain old&nbsp;.aspx or other page type that you create and put into a new IIS site.&nbsp; The authentication fails when trying to get the video, even though you are able to authenticate and get the page.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">Below is an example using the .aspx page I created and placed in an IIS site with Windows Authentication enabled and an HTML5 video tag:</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">First, we request the page:</span></p>
<p><span style="font-family:Calibri;font-size:small;">--------anonymous Get request for page-----------</span></p>
<p><span style="font-family:Calibri;font-size:small;">GET /pages/page1.aspx HTTP/1.1</span></p>
<p><span style="font-family:Calibri;font-size:small;">Host: WebServer.contoso.com</span></p>
<p><span style="font-family:Calibri;font-size:small;">User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept-Language: en-us</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept-Encoding: gzip, deflate</span></p>
<p><span style="font-family:Calibri;font-size:small;">Connection: keep-alive</span></p>
<p><span style="font-family:Calibri;font-size:small;">Connection: keep-alive</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:small;">-----401 with allowed Auth types response from server---------</span></p>
<p><span style="font-family:Calibri;font-size:small;">HTTP/1.1 401 Unauthorized</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Type: text/html</span></p>
<p><span style="font-family:Calibri;font-size:small;">Server: Microsoft-IIS/8.0</span></p>
<p><span style="font-family:Calibri;font-size:small;">WWW-Authenticate: Negotiate</span></p>
<p><span style="font-family:Calibri;font-size:small;">WWW-Authenticate: NTLM</span></p>
<p><span style="font-family:Calibri;font-size:small;">X-Powered-By: ASP.NET</span></p>
<p><span style="font-family:Calibri;font-size:small;">Date: Fri, 04 Oct 2013 22:54:26 GMT</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Length: 1293</span></p>
<p><span style="font-family:Calibri;font-size:small;">Proxy-Support: Session-Based-Authentication</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;head&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot;/&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;title&gt;401 - Unauthorized: Access is denied due to invalid credentials.&lt;/title&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;style type=&quot;text/css&quot;&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;!--</span></p>
<p><span style="font-family:Calibri;font-size:small;">body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}</span></p>
<p><span style="font-family:Calibri;font-size:small;">fieldset{padding:0 15px 10px 15px;} </span></p>
<p><span style="font-family:Calibri;font-size:small;">h1{font-size:2.4em;margin:0;color:#FFF;}</span></p>
<p><span style="font-family:Calibri;font-size:small;">h2{font-size:1.7em;margin:0;color:#CC0000;} </span></p>
<p><span style="font-family:Calibri;font-size:small;">h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} </span></p>
<p><span style="font-family:Calibri;font-size:small;">#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:&quot;trebuchet MS&quot;, Verdana, sans-serif;color:#FFF;</span></p>
<p><span style="font-family:Calibri;font-size:small;">background-color:#555555;}</span></p>
<p><span style="font-family:Calibri;font-size:small;">#content{margin:0 0 0 2%;position:relative;}</span></p>
<p><span style="font-family:Calibri;font-size:small;">.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}</span></p>
<p><span style="font-family:Calibri;font-size:small;">--&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;/style&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;/head&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;body&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;div id=&quot;header&quot;&gt;&lt;h1&gt;Server Error&lt;/h1&gt;&lt;/div&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;div id=&quot;content&quot;&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;div class=&quot;content-container&quot;&gt;&lt;fieldset&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp; &lt;h2&gt;401 - Unauthorized: Access is denied due to invalid credentials.&lt;/h2&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp; &lt;h3&gt;You do not have permission to view this directory or page using the credentials that you supplied.&lt;/h3&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;/fieldset&gt;&lt;/div&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;/div&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;/body&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;/html&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:small;">--------GET request with NTLM stub-------------</span></p>
<p><span style="font-family:Calibri;font-size:small;">GET /pages/page1.aspx HTTP/1.1</span></p>
<p><span style="font-family:Calibri;font-size:small;">Host: WebServer.contoso.com</span></p>
<p><span style="font-family:Calibri;font-size:small;">User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept-Language: en-us</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept-Encoding: gzip, deflate</span></p>
<p><span style="font-family:Calibri;font-size:small;">Connection: keep-alive</span></p>
<p><span style="font-family:Calibri;font-size:small;">Connection: keep-alive</span></p>
<p><span style="font-family:Calibri;font-size:small;">Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:small;">------NTLM challenge response from server--------------</span></p>
<p><span style="font-family:Calibri;font-size:small;">HTTP/1.1 401 Unauthorized</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Type: text/html; charset=us-ascii</span></p>
<p><span style="font-family:Calibri;font-size:small;">Server: Microsoft-HTTPAPI/2.0</span></p>
<p><span style="font-family:Calibri;font-size:small;">WWW-Authenticate: NTLM TlRMTVNTUAACAAAAFAAUADgAAAAFgokCz7/tVAyW0JkAAAAAAAAAALYAtgBMAAAABgLwIwAAAA9UAEUAUwBUADMAMgA2ADcAMwA2AAIAFABUAEUAUwBUADMAMgA2ADcAMwA2AAEAFABNAEkASwBFAEQARQBNADIAMwA0AAQAHAB0AGUAcwB0ADMAMgA2ADcAMwA2AC4AbABhAGIAAwAyAE0ASQBLAEUARABFAE0AMgAzADQALgB0AGUAcwB0ADMAMgA2ADcAMwA2AC4AbABhAGIABQAcAHQAZQBzAHQAMwAyADYANwAzADYALgBsAGEAYgAHAAgAq7/9vlTBzgEAAAAA</span></p>
<p><span style="font-family:Calibri;font-size:small;">Date: Fri, 04 Oct 2013 22:54:56 GMT</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Length: 341</span></p>
<p><span style="font-family:Calibri;font-size:small;">Proxy-Support: Session-Based-Authentication</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;&quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;Not Authorized&lt;/TITLE&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;META HTTP-EQUIV=&quot;Content-Type&quot; Content=&quot;text/html; charset=us-ascii&quot;&gt;&lt;/HEAD&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;BODY&gt;&lt;h2&gt;Not Authorized&lt;/h2&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;hr&gt;&lt;p&gt;HTTP Error 401. The requested resource requires user authentication.&lt;/p&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&lt;/BODY&gt;&lt;/HTML&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:small;">----------fully authenticated NTLM GET request----------------</span></p>
<p><span style="font-family:Calibri;font-size:small;">GET /pages/page1.aspx HTTP/1.1</span></p>
<p><span style="font-family:Calibri;font-size:small;">Host: WebServer.contoso.com</span></p>
<p><span style="font-family:Calibri;font-size:small;">User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept-Language: en-us</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept-Encoding: gzip, deflate</span></p>
<p><span style="font-family:Calibri;font-size:small;">Connection: keep-alive</span></p>
<p><span style="font-family:Calibri;font-size:small;">Connection: keep-alive</span></p>
<p><span style="font-family:Calibri;font-size:small;">Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAADmAOYAWAAAABQAFAA+AQAACgAKAFIBAAAUABQAXAEAAAAAAAAAAAAABYIIAIrY6OVFM5g5nl+qrMQcJpeDek9uIM5K6EqzQ4NNWJdkxhRg5j3wlhsBAQAAAAAAAKDoVb5Uwc4Bg3pPbiDOSugAAAAAAgAUAFQARQBTAFQAMwAyADYANwAzADYAAQAUAE0ASQBLAEUARABFAE0AMgAzADQABAAcAHQAZQBzAHQAMwAyADYANwAzADYALgBsAGEAYgADADIATQBJAEsARQBEAEUATQAyADMANAAuAHQAZQBzAHQAMwAyADYANwAzADYALgBsAGEAYgAFABwAdABlAHMAdAAzADIANgA3ADMANgAuAGwAYQBiAAcACACrv/2+VMHOAQAAAAAAAAAAVABFAFMAVAAzADIANgA3ADMANgB1AHMAZQByADEAcwBzAGMAaABpAGUAbQBtAGEAYwA=</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:small;">---------200 OK and content response from server------------</span></p>
<p><span style="font-family:Calibri;font-size:small;">HTTP/1.1 200 OK</span></p>
<p><span style="font-family:Calibri;font-size:small;">Cache-Control: private</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Type: text/html; charset=utf-8</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Encoding: gzip</span></p>
<p><span style="font-family:Calibri;font-size:small;">Vary: Accept-Encoding</span></p>
<p><span style="font-family:Calibri;font-size:small;">Server: Microsoft-IIS/8.0</span></p>
<p><span style="font-family:Calibri;font-size:small;">X-AspNet-Version: 4.0.30319</span></p>
<p><span style="font-family:Calibri;font-size:small;">Persistent-Auth: true</span></p>
<p><span style="font-family:Calibri;font-size:small;">X-Powered-By: ASP.NET</span></p>
<p><span style="font-family:Calibri;font-size:small;">Date: Fri, 04 Oct 2013 22:54:56 GMT</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Length: 628</span></p>
<p><span style="font-family:Calibri;font-size:small;">------------------------------------------------------------------</span></p>
<p><span style="font-family:Calibri;font-size:small;">Now, we request the video</span></p>
<p><span style="font-family:Calibri;font-size:small;">------------------------------------------------------------------</span></p>
<p><span style="font-family:Calibri;font-size:small;">----------Anonymous GET request for video------(Notice the &quot;Range: bytes=0-1 header)</span></p>
<p><span style="font-family:Calibri;font-size:small;">GET /content/BirthdayParty.mp4 HTTP/1.1</span></p>
<p><span style="font-family:Calibri;font-size:small;">Host: WebServer.contoso.com</span></p>
<p><span style="font-family:Calibri;font-size:small;">User-Agent: AppleCoreMedia/1.0.0.11G63 (Macintosh; U; Intel Mac OS X 10_7_5; en_us)</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept: */*</span></p>
<p><span style="font-family:Calibri;font-size:small;">Range: bytes=0-1</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept-Encoding: identity</span></p>
<p><span style="font-family:Calibri;font-size:small;">Connection: keep-alive</span></p>
<p><span style="font-family:Calibri;font-size:small;">Connection: keep-alive</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:small;">-----------401 WWW-Authenticate: NTLM response from server-----------(Safari on MAC apparently requires this first response to be a byte range response)</span></p>
<p><span style="font-family:Calibri;font-size:small;">HTTP/1.1 401 Unauthorized</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Type: text/html</span></p>
<p><span style="font-family:Calibri;font-size:small;">Server: Microsoft-IIS/8.0</span></p>
<p><span style="font-family:Calibri;font-size:small;">WWW-Authenticate: Negotiate</span></p>
<p><span style="font-family:Calibri;font-size:small;">WWW-Authenticate: NTLM</span></p>
<p><span style="font-family:Calibri;font-size:small;">X-Powered-By: ASP.NET</span></p>
<p><span style="font-family:Calibri;font-size:small;">Date: Fri, 04 Oct 2013 22:54:56 GMT</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Length: 1293</span></p>
<p><span style="font-family:Calibri;font-size:small;">Proxy-Support: Session-Based-Authentication</span></p>
<p><span style="font-family:Calibri;font-size:small;">&hellip;&lt;div class=&quot;content-container&quot;&gt;&lt;fieldset&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp; &lt;h2&gt;401 - Unauthorized: Access is denied due to invalid credentials.&lt;/h2&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp; &lt;h3&gt;You do not have permission to view this directory or page using the credentials that you supplied.&lt;/h3&gt;&hellip;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:small;">----------Since no byte range response was sent, Safari sends a &quot;Connection: Close&quot;-------(Also notice that Safari has changed the user agent)</span></p>
<p><span style="font-family:Calibri;font-size:small;">GET /content/BirthdayParty.mp4 HTTP/1.1</span></p>
<p><span style="font-family:Calibri;font-size:small;">Host: WebServer.contoso.com</span></p>
<p><span style="font-family:Calibri;font-size:small;">User-Agent: QuickTime/7.7.1 (qtver=7.7.1;cpu=IA32;os=Mac 10.7.5)</span></p>
<p><span style="font-family:Calibri;font-size:small;">Accept: */*</span></p>
<p><span style="font-family:Calibri;font-size:small;">Connection: close</span></p>
<p><span style="font-family:Calibri;font-size:small;">Connection: close</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:small;">--------401 response with auth types allowed from server--------------</span></p>
<p><span style="font-family:Calibri;font-size:small;">HTTP/1.1 401 Unauthorized</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Type: text/html</span></p>
<p><span style="font-family:Calibri;font-size:small;">Server: Microsoft-IIS/8.0</span></p>
<p><span style="font-family:Calibri;font-size:small;">WWW-Authenticate: Negotiate</span></p>
<p><span style="font-family:Calibri;font-size:small;">WWW-Authenticate: NTLM</span></p>
<p><span style="font-family:Calibri;font-size:small;">X-Powered-By: ASP.NET</span></p>
<p><span style="font-family:Calibri;font-size:small;">Date: Fri, 04 Oct 2013 22:54:56 GMT</span></p>
<p><span style="font-family:Calibri;font-size:small;">Content-Length: 1293</span></p>
<p><span style="font-family:Calibri;font-size:small;">Proxy-Support: Session-Based-Authentication</span></p>
<p><span style="font-family:Calibri;font-size:small;">&hellip; &lt;h2&gt;401 - Unauthorized: Access is denied due to invalid credentials.&lt;/h2&gt;</span></p>
<p><span style="font-family:Calibri;font-size:small;">&nbsp; &lt;h3&gt;You do not have permission to view this directory or page using the credentials that you supplied.&lt;/h3&gt;&hellip;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">------------------------------------------------------------------</span></p>
<p><span style="font-family:Calibri;font-size:medium;">This is what Safari is apparently looking for in terms of a response:</span></p>
<p><span style="font-family:Calibri;font-size:medium;">-------------------------------------------------------------------</span></p>
<p>HTTP/1.1 206 Partial Content</p>
<p>Cache-Control: public, max-age=86400</p>
<p>Content-Length: 2</p>
<p>Content-Type: video/mp4</p>
<p><span style="background-color:#ffff00;">Content-Range: bytes 0-1</span>/383631</p>
<p>Last-Modified: Tue, 15 Oct 2013 23:30:53 GMT</p>
<p><span style="background-color:#ffff00;">Accept-Ranges: bytes</span></p>
<p>ETag: &quot;{35DF5330-208E-4900-A467-F6327DFC241B},1pub&quot;</p>
<p>Server: Microsoft-IIS/7.5</p>
<p>X-AspNet-Version: 4.0.30319</p>
<p>SPRequestGuid: 2c0a4d9c-2c89-b0f8-a067-c5db7abeabf7</p>
<p>request-id: 2c0a4d9c-2c89-b0f8-a067-c5db7abeabf7</p>
<p>X-FRAME-OPTIONS: SAMEORIGIN</p>
<p>X-Powered-By: ASP.NET</p>
<p>MicrosoftSharePointTeamServices: 16.0.0.2120</p>
<p>X-Content-Type-Options: nosniff</p>
<p>X-MS-InvokeApp: 1; RequireReadOnly</p>
<p>P3P: CP=&quot;ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI&quot;</p>
<p>Date: Tue, 15 Oct 2013 23:31:41 GMT</p>
<p>&nbsp;</p>
<p></p>
<p>-------------------------------------------------------------------------------</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">There are several <i>WORKING</i> scenarios for playing videos from SharePoint in Safari on Mac OS X or Windows:</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Safari for Windows &ndash; accessing SharePoint 2013 with NTLM (or basic, other) authentication: Requires BLOB cache be enabled on SharePoint web application.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks </span><span style="color:#000000;"><span style="font-family:Calibri;font-size:medium;">to&nbsp;Kirk Liemohn for pointing out&nbsp;in his <a href="http://www.threewill.com/sharepoint-videos-ios-safari-iphone-ipad-unforgiving/">Blog</a>,&nbsp;you need blobcache to be enabled on all WFE servers.</span><span style="font-family:Calibri;font-size:medium;"><br /></span></span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Safari for Mac &ndash; accessing SharePoint 2013 with ADFS claims authentication (or other SAML claim type auth): Requires BLOB cache be enabled on SharePoint web application.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Safari for Mac or PC accessing a page on an IIS site with HTML5 video tag, anonymous access allowed: works out of the box &ndash; IIS 7.5+ support byte-range natively.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Safari on Mac or PC accessing Office 365 : Works out of the box.&nbsp; BLOB cache is enabled, and federated claims authentication is used in this scenario so no 401 challenge response is returned.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Safari on Mac or PC accessing SharePoint 2013 with anonymous enabled on asset library: Works, because of an odd behavior in that a) Safari does not send an anonymous access token like IE does on first request, so we return a 401 (Remember that anonymous is still authenticated using the IUSR account, so the anonymous token is still needed)&nbsp; B) When Safari responds with another GET request with the &ldquo;Connection: close&rdquo; header, we send the video file anyway in response, resulting in the file being available and playable in the browser.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">So, from the above scenarios, and there may be more not addressed here, the overriding themes are:</span></p>
<p><span style="font-family:Calibri;font-size:medium;">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BLOB cache should be enabled (SharePoint BLOB cache supports serving byte-range requests).</span></p>
<p><span style="font-family:Calibri;font-size:medium;">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Safari expects and requires a byte-range response from the server.&nbsp; If one is not received, it sends a &ldquo;connection: close&rdquo; header in the next request.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">Knowing what Safari is looking for in the response, and considering NTLM protected files will always return a 401 challenge response to an initial GET request, there really isn&rsquo;t a change that I can see on the SharePoint side that will fix this.&nbsp; The server must respond to unauthenticated requests with a 401, when NTLM windows authentication is used.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">Further, Safari on Mac with Kerberos authentication &ndash; We run into a similar issue as we do with NTLM because it seems that Safari on Mac doesn&#39;t send the Kerberos token with the initial request.&nbsp; While a Windows client will send &quot;Authentication: Negotiate YIIGPg&lt;rest of base64 encoded Kerberos string&gt;&quot; with the first request each time, the Mac and Safari do not. I don&#39;t know if this is something that can be changed in OS X or Safari, to allow it to send the Kerberos ticket with the initial request, or if this is a limitation of Mac/Safari. If this were to be corrected, and the Mac is able to send the Kerberos ticket with the first request for the video file (should already be authenticated when accessing the page), then it would not be prompted with the 401 challenge, then the videos would work as expected. </span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:x-large;">What can I do?</span></p>
<p><span style="font-family:Calibri;font-size:medium;">First, turn on BLOB cache on your SharePoint server or make sure if you are running a pure IIS site (no SharePoint), that you are running IIS 7.5+.&nbsp; This will fix&nbsp;most Safari on Windows scenarios.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">For Safari on MAC OS X, A couple of options are:</span></p>
<p><span style="font-family:Calibri;font-size:medium;">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use Forms based Authentication</span></p>
<p><span style="font-family:Calibri;font-size:medium;">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use Federated Authentication (such as ADFS)</span></p>
<p><span style="font-family:Calibri;font-size:medium;">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use a SSO (Single sign-on) server to broker authentication to the back end SharePoint servers</span></p>
<p><span style="font-family:Calibri;font-size:medium;">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Allow anonymous access on the asset library</span></p>
<p><span style="font-size:medium;"><span style="font-family:Calibri;">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Request a change to Safari&rsquo;s reaction to a 401 &ldquo;NTLM challenge response&rdquo; on initial video&nbsp;byte-range request, so that it doesn&#39;t send the &quot;Connection: Close&quot; if the 206 is not immediately returned.</span></span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span><span style="font-family:Calibri;font-size:medium;"><br /></span></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint 2013 Profile Pictures no longer display in MySites after moving MySite URL or changing web applications</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_me_in_the_right_direction/sharepoint-2013-profile-pictures-no-longer-display-in-mysites-after-moving-mysite-url-or-changing-web-applications</link>
      <pubDate>Tue, 14 Jan 2014 11:20:00 GMT</pubDate>
      <dc:creator><![CDATA[Mikelaughs]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_me_in_the_right_direction/2014/01/14/sharepoint-2013-profile-pictures-no-longer-display-in-mysites-after-moving-mysite-url-or-changing-web-applications/</guid>
      <description><![CDATA[You may have run into this innocently enough, just trying to get a better URL for your MySite...]]></description>
      <content:encoded><![CDATA[<p><span style="color:#000080;">You may have run into this innocently enough, just trying to get a better URL for your MySite users.&nbsp; Or you have migrated and,&nbsp;for whatever reason, had to use&nbsp;a new URL for MySites.&nbsp;</span></p>
<p><span style="color:#000080;">For example: your MySite Host was</span> <a href="http://portal.company.com/"><span style="color:#0563c1;">http://portal.company.com</span></a> <span style="color:#000080;">and you have changed it to</span> <a href="http://personal.company.com/"><span style="color:#0563c1;">http://personal.company.com</span></a><span style="color:#000000;">.&nbsp;&nbsp;Any change to the URL will cause the issue.</span></p>
<p><span style="color:#000080;">Once you migrate your MySite host to a new web application with a new URL or maybe just unextend/re-extend the web application to a different URL, you will notice that your user&#39;s profile pictures are no longer accessible, and look like this:</span></p>
<p><span style="color:#000080;">&nbsp;</span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/blankuser2.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/blankuser2.jpg"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/blankuser2.jpg" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/blankuser2.jpg" border="0" /></a></p>
<p>&nbsp;</p>
<p><span style="color:#000080;font-size:medium;">The Cause:</span><br /><span style="color:#000080;font-size:medium;"> -----------------------</span><br /><span style="color:#000080;font-size:medium;"><span style="font-size:small;"> When you import pictures from Active Directory and run this command:</span></span></p>
<p><span style="color:#808080;font-size:medium;"><span style="font-size:small;">Update-SPProfilePhotoStore -MySiteHostLocation http://MySiteHost -CreateThumbnailsForImportedPhotos</span> <span style="font-size:small;">$true</span></span></p>
<p><span style="font-family:Calibri;"><span style="color:#000080;font-size:medium;">All of the imported pictures that are currently in the metaverse get thumbnails generated and placed in this location:</span><br /> <a href="http://mysitehost/User%20Photos/Profile%20Pictures/"><span style="font-size:medium;">http://MySiteHost/User%20Photos/Profile%20Pictures/</span></a></span></p>
<p><br /><span style="font-family:Calibri;font-size:medium;"> </span><span style="color:#000080;font-family:Calibri;font-size:medium;">The location of the &lt;username&gt;_MThumb.jpg that gets generated, is stored as a PictureURL property in the user&rsquo;s Profile.</span></p>
<p><span style="color:#808080;font-family:Calibri;font-size:small;">Incidentally, the &lt;username&gt;_LThumb is the one used on the MySite &ldquo;About Me&rdquo; page, while _MThumb is the URL that gets stored in the profile properties.</span></p>
<p><span style="color:#000080;font-family:Calibri;font-size:medium;">Now that the MySites are hosted under a new URL, the old URL location of the profile pictures is not valid.&nbsp; Running another profile sync and running the Update-SPProfilePhotoStore command again to populate the thumbnails does not bring the pictures back, and you will see errors like this in the Application log in Event Viewer</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p>Source:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FIMSynchronizationService</p>
<p>Event ID:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6110</p>
<p>Event ID:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6110</p>
<p>The management agent &quot;MOSS-UserProfile&quot; step execution completed on run profile &quot;MOSS_FULLIMPORT_78fc6e7d-92a5-421a-a2f0-79a4250f42f3&quot; but the watermark was not saved.</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p>Log Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application</p>
<p>Event ID:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6803</p>
<p>Level:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Error</p>
<p>The management agent &quot;MOSS-UserProfile&quot; failed on run profile &quot;MOSS_FULLIMPORT_78fc6e7d-92a5-421a-a2f0-79a4250f42f3&quot; because the server encountered errors.</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p>Log Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application</p>
<p>Event ID:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6801</p>
<p>Level:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Error</p>
<p>The extensible extension returned an unsupported error.</p>
<p>&nbsp;The stack trace is:</p>
<p>&nbsp;</p>
<p>&nbsp;&quot;System.Net.WebException: Unable to connect to the remote server ---&gt; System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 10.10.103.219:8000</p>
<p>&nbsp;&nbsp; at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)</p>
<p>&nbsp;&nbsp; at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket&amp; socket, IPAddress&amp; address, ConnectSocketState state, IAsyncResult asyncResult, Exception&amp; exception)</p>
<p>&nbsp;&nbsp; --- End of inner exception stack trace ---</p>
<p>&nbsp;&nbsp; at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest&amp; request)</p>
<p>&nbsp;&nbsp; at System.Net.WebClient.DownloadData(Uri address)</p>
<p>&nbsp;&nbsp; at Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportExtension.DownloadPictures(ProfileChangeData[] profiles, Boolean delayErrors)</p>
<p>&nbsp;&nbsp; at Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportExtension.Microsoft.MetadirectoryServices.IMAExtensibleFileImport.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String&amp; customData)</p>
<p>Forefront Identity Manager 4.0.2450.49&quot;</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="color:#000080;font-family:Calibri;font-size:medium;">As well as ULS errors like this:</span></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;">01/13/2014 15:04:50.00&nbsp; miiserver.exe (0x138C) 0x1B54&nbsp; SharePoint Foundation General&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adyrv&nbsp;&nbsp;&nbsp;&nbsp; High&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cannot find site lookup info for request Uri http://sp:8000/User Photos/Profile Pictures/user2_MThumb.jpg.&nbsp;&nbsp;&nbsp; </span></span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="color:#000080;font-family:Calibri;font-size:medium;">Solution:</span></p>
<p><span style="color:#000080;font-family:Calibri;font-size:medium;">----------------------------------------</span></p>
<p><span style="color:#000080;font-size:medium;"><span style="font-family:Calibri;">To correct this problem, you will need to re-base all of the profile picture URLs stored in the users&rsquo; profiles.&nbsp; I have seen a very compelling powershell method for this, using some good logic </span><a href="http://spandps.com/2010/11/04/updating-user-profile-properties-via-powershell-pictureurlsharepoint-2010-in-sp2010/"><span style="color:#000080;font-family:Calibri;">here</span></a><span style="font-family:Calibri;">, but there is an easier and completely out of the box way of doing this.</span></span></p>
<p><span style="font-size:medium;"><span style="color:#000080;font-family:Calibri;">We will use our handy </span><a href="http://technet.microsoft.com/en-us/library/ff607547.aspx"><span style="font-family:Calibri;">Update-SPProfilePhotoStore</span></a><span style="color:#000080;font-family:Calibri;"> command again, but this time, for a different purpose.</span></span></p>
<p><span style="color:#808080;font-family:Calibri;font-size:small;">Update-SPProfilePhotoStore -MySiteHostLocation &lt;SPSitePipeBind&gt; -OldBaseUri &lt;Uri&gt; -NewBaseUri &lt;Uri&gt;</span></p>
<p><span style="color:#000080;font-family:Calibri;font-size:medium;">In my test example, I moved my mysite host from http://sp:8000 to http://sp:8001, and this is the command that I ran:</span></p>
<p><span style="text-decoration:line-through;"><span style="color:#808080;font-family:Calibri;font-size:small;text-decoration:line-through;">Update-SPProfilePhotoStore -MySiteHostLocation &quot;http://sp:8001&quot; -OldBaseUri &quot;http://sp:8000/User Photos/Profile Pictures/&quot; -NewBaseUri &quot;http://sp:8001/User Photos/Profile Pictures/&quot;</span></span></p>
<p><span style="color:#808080;font-family:Calibri;font-size:small;"></span></p>
<p><span style="color:#000080;font-family:Calibri;font-size:medium;"><span style="background-color:#ffff00;">UPDATE!&nbsp;</span> I recently did some deeper investigation into this command and found that you don&#39;t need to specify the library or folder name here.&nbsp; PowerShell won&#39;t complain, but it also doesn&#39;t care.&nbsp; The values of the Library and Folder names (/User Photos/Profile Pictures/ for English-US language webs) are hard coded in the product and cannot be changed.&nbsp; The command should look like this:</span><span style="color:#000080;font-family:Calibri;font-size:medium;"><br /></span></p>
<p><span style="color:#808080;font-family:Calibri;font-size:small;"></span></p>
<p><span style="color:#808080;font-family:Calibri;font-size:small;">Update-SPProfilePhotoStore -MySiteHostLocation &quot;http://sp:8001&quot; -OldBaseUri &quot;http://sp:8000&quot; -NewBaseUri &quot;http://sp:8001/&quot;</span></p>
<p><span style="color:#808080;font-family:Calibri;font-size:small;">NOTE: The purpose of the command is ultimately just to update the photo URLs to your new Mysite host location, and cannot be used to place them in a different relative path - i.e., a different library or folder name.<br /></span></p>
<p><span style="color:#000080;font-family:Calibri;font-size:medium;">This will re-base all of your incorrect PictureURL properties in your user Profiles, and now&nbsp;all of the picture thumbnails which are already present in the MySite Host will show up properly.</span></p>
<p><span style="color:#000080;font-family:Calibri;font-size:medium;"><span style="color:#000080;"><span style="color:#000080;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/5Napkin.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/5Napkin.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/5Napkin.png" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/5Napkin.png" border="0" /></a></span></span></span></p>
<p><span style="color:#000080;font-family:Calibri;font-size:medium;">Enjoy!</span></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>My Quick Deploy Job is causing 4958 and 6398 errors in the application log every 15 minutes</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_me_in_the_right_direction/my-quick-deploy-job-is-causing-4958-and-6398-errors-in-the-application-log-every-15-minutes</link>
      <pubDate>Mon, 23 May 2011 18:28:00 GMT</pubDate>
      <dc:creator><![CDATA[Mikelaughs]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_me_in_the_right_direction/2011/05/23/my-quick-deploy-job-is-causing-4958-and-6398-errors-in-the-application-log-every-15-minutes/</guid>
      <description><![CDATA[&nbsp;
The SharePoint Content deployment topic has been well documented, but I recently ran into an...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p>
<p>The SharePoint Content deployment topic has been well documented, but I recently ran into an issue which, I was surprised to find, was not covered.</p>
<p>In SharePoint 2007, when you set up a new Content Deployment Path, you automatically get a new job named &ldquo;Quick Deploy job for Path &lsquo;&lt;your Path name&gt;&rsquo;</p>
<p>This job is designed to be used by content publishers of the source site, by using the <b>Quick deploy</b> option from a page that has been published (major version).&nbsp; Publishers access this option via:</p>
<p><b>Site Action</b>s -&gt; <b>Show Page Editing Toolbar</b> -&gt; <b>Tools</b> -&gt; <b>Quick Deploy</b></p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/5700.Image1.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/5700.Image1.png"><img height="225" width="486" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/5700.Image1.png" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/5700.Image1.png" border="0" /></a></p>
<p>Before your publishers can use this option, you must enable the quick deploy job.&nbsp; To do so, you would click the dropdown on the Quick Deploy job -&gt; click <b>Quick Deploy Settings</b> -&gt; Check the box [x] <b>Allow Quick Deploy jobs along this path</b> -&gt; then click on <b>Specify Quick Deploy Users</b></p>
<p>This will allow you to add users to the <b>Quick Deploy Users [Limited Access]</b> group on the site collection designated in the Deployment Path.&nbsp; Once you have done this, the <b>Tools</b> -&gt; <b>Quick Deploy</b> option on a published page will no longer be greyed out for that user.</p>
<p>However, if no contributors have clicked <b>Tools</b> -&gt; <b>Quick Deploy</b>, you will notice that the Job status in central administration shows the following for <b>Last Run</b>: <b><i>Not Yet Run</i></b></p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/3173.Image2.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/3173.Image2.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/3173.Image2.png" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/3173.Image2.png" border="0" /></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/5125.Image2.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/5125.Image2.png"></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/3771.Image2.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/3771.Image2.png"></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/7484.Image2.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/7484.Image2.png"></a></p>
<p>You will also see the following errors in the application log each time the scheduled Quick Deploy Job is scheduled to run:</p>
<p>Log Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application<br />Source:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Office SharePoint Server<br />Event ID:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4958<br />Task Category: Content Deployment<br />Level:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Error<br />Keywords:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Classic<br />User:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N/A<br />Computer:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SharePoint Server Name&gt;<br />Description:<br />Publishing: Content deployment job failed. Error: 'System.ArgumentOutOfRangeException: ContentDeploymentJobReport with ID '{00000000-0000-0000-0000-000000000000}' was not found.<br />Parameter name: jobReportId<br />&nbsp;&nbsp; at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJobReport.GetInstance(Guid jobReportId)<br />&nbsp;&nbsp; at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.get_LastReport()<br />&nbsp;&nbsp; at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.get_SQMDeploymentJobFlags()<br />&nbsp;&nbsp; at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.CollectSQMData()<br />&nbsp;&nbsp; at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.Run(Boolean runAsynchronously)<br />&nbsp;&nbsp; at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJobDefinition.Execute(Guid targetInstanceId)'</p>
<p><br />Log Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application<br />Source:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows SharePoint Services 3<br />Event ID:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6398<br />Task Category: Timer<br />Level:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Error<br />Keywords:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Classic<br />User:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N/A<br />Computer:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SharePoint Server Name&gt;<br />Description:<br />The Execute method of job definition Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJobDefinition (ID a2a9517b-f1e5-4d5e-803d-1eaae55cd84c) threw an exception. More information is included below.</p>
<p>ContentDeploymentJobReport with ID '{00000000-0000-0000-0000-000000000000}' was not found.<br />Parameter name: jobReportId</p>
<p>NOTE: the (ID &lt;GUID&gt;) in this event will be the GUID of your <b>Quick Deploy Timer Job</b>, which is different than the GUID for the actual <b>Quick Deploy Job object</b>.</p>
<p>Item of Interest:<br />===============<br />There is a list under your central administration site collection, located at <a href="http://&lt;yourCentralAdminURL&gt;/Lists/Content%20Deployment%20Jobs">http://&lt;yourCentralAdminURL&gt;/Lists/Content%20Deployment%20Jobs</a>.<br />This list contains all of your content deployment job definitions.<br />Drop down on the Quick Deploy job for Path &lsquo;your path&rsquo; -&gt; View Item<br />You can use these properties to positively match the job with the GUID reported in the error, which will be shown under TimerJobId.<br />You will notice that the value for LastReportId is empty.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/5025.Image3.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/5025.Image3.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/5025.Image3.png" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/5025.Image3.png" border="0" /></a></p>
<p>&nbsp;So, how do I fix this?&nbsp; Have a publisher quick deploy something in the affected Site collection, and voila, no more errors</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/3386.Image4.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/3386.Image4.png"></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/4530.Image4.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/4530.Image4.png"><img height="163" width="386" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/04/4530.Image4.png" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-04/4530.Image4.png" border="0" /></a></p>
<p>Once a publisher who is a member of the Quick Deploy Users group uses the &ldquo;quick deploy&rdquo; option from the source site, the Quick Deploy job will complete successfully, and you will no longer see the errors.&nbsp; The Quick Deploy job status in Central Administration will update to <b>Succeeded</b>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>