SharePoint 2016 IT Preview Now Available

SharePoint Server 2016 IT Preview Now Available

Download SharePoint Server 2016 Preview
http://www.microsoft.com/en-us/download/details.aspx?id=48712

Get up and running quickly with SharePoint Server 2016 IT Preview with the new Quick Start Guide >
http://www.microsoft.com/en-us/download/details.aspx?id=48714

Learn more about SharePoint Server 2016 IT Preview with the new Datasheet >
http://www.microsoft.com/en-us/download/details.aspx?id=48715

Learn more about SharePoint Server 2016 IT Preview with the new Reviewer’s Guide >
http://www.microsoft.com/en-us/download/details.aspx?id=48713

SharePoint Workflow Configuration Common Issues

  • Unable to connect to the remote service

PS C:\Users\mossadm> Register-SPWorkflowService  -SPSite “http://www.contoso.com” -W
orkflowHostUri http://wfm.contoso.com:12291 -AllowOAuthHttp
Register-SPWorkflowService : Unable to connect to the remote service at
http://wfm.contoso.com:12291/SharePoint/. See InnerException for more details. Client
ActivityId : e592f590-80d3-4f43-9118-39e526e3c5ff.
At line:1 char:1
+ Register-SPWorkflowService  -SPSite “http://www.contoso.com” -WorkflowHostUri
http:/ …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
+ CategoryInfo          : InvalidData: (Microsoft.Share…WorkflowService:
RegisterSPWorkflowService) [Register-SPWorkflowService], WorkflowEndpointN
otFoundException
+ FullyQualifiedErrorId : Microsoft.SharePoint.WorkflowServices.PowerShell
.RegisterSPWorkflowService

In here ; SharePoint is telling you that it cannot find the Workflow Manager service endpoint at this address
– Check for the Firewall and possible networking issues.
– Make a browser test that you can browse the workflow host uri
-Check the WFM IIS for the bindings of the Workflow Manager Site
-Check that the workflow manager  IIS to make sure that the Workflow Manager Front End is running on correct port !.

  • When you try to publish a workflow you may face following issues.

Microsoft.SharePoint.SPException: App Management Shared Service Proxy is not installed.
at Microsoft.SharePoint.AppRegistration.GetProxy(SPServiceContext serviceContext)
at Microsoft.SharePoint.AppRegistration.AddOrUpdateAppNoPermissionCheck(SPAppPrincipalInfo appInfo)
at Microsoft.SharePoint.SPAppPrincipalManager.RegisterWithInternalDirectory(SPAppPrincipalIdentityProvider identityProvider, String nameIdentifier, String displayName, List`1 appEndpointAuthorities, List`1 redirectAddr

You can face this  because App Management Service application is not provisioned or the App Management Service is not running or the App Management Service Proxy is not added to the default proxy group.
-Check the app management service from CA -> Application Management -> Manage Service Application . If it is not provisioned , provision it.

Then if you face this ;
Microsoft.SharePoint.SPEndpointAddressNotFoundException: There are no addresses available for this application.
at Microsoft.SharePoint.SPRoundRobinServiceLoadBalancer.BeginOperation()
at Microsoft.SharePoint.Administration.SPServiceApplicationProxyBase`1.ExecuteOnChannel(Boolean requireDelegation, Action`1 codeBlock)
at Microsoft.SharePoint.AppManagement.AppManagementServiceApplicationProxy.GetScaleOutDatabaseMap()
at Microsoft.SharePoint.SPScaleOutDatabaseMap.GetMapCacheEntries

-Dont forget to start App Management Service from CA-> Services on Server -> App Management Service
Make an IISReset

  • When you try to run a SP 2013 workflow, you get a ‘suspended’ error message, and the error states;
    RequestorId: <Guid>. Details: RequestorId: <Guid>. Details: An unhandled exception occurred during the execution of the workflow instance. Exception details: System.ApplicationException: HTTP 401 {“error_description”:”The server was unable to process the request due to an internal error.

The reason may the security service application is unable to identify the user id from the user claim

-Open IIS Manager, navigatred to Application Pools > Click on the app pool named “Security Token Serice Application Pool”
-Click Advanced settings
-Modified the value for the property named “Load User Profile” from FALSE to TRUE
-Perform an IISRESET /noforce

The SPListItem being updated was not retrieved with all taxonomy fields

The problem definition is simple , you have some taxonomy fields on a list or in a content type which is using manage metadata columns . When you edit an item and try to save you will facing an error like validation error

The SPListItem being updated was not retrieved with all taxonomy fields”

Ok lets start and give some information , I have recently faced this issue and make a couple research internet to find a solution .
And i found some suggestions but it is dangerous !.

For example :

To fix this go to Central Administration, Manage Web Applications, select the web application, and then choose the dropdown under General Settings select Resource Throttling.

The setting for List View Lookup Threshold and raise it from the default 8. it can go up to 1000 although you are unlikely to need this many lookups.”

!!! Please do not change or exceed SharePoint Boundaries and Limitations (unless Microsoft told do so) . There is a reason that SharePoint Product group relaese these boundaries and limitations .
As you may see many articles suggests increase the “List View Lookup Threshold” , No ! if you do that in a highly utilizated production environment , your sharepoint can be unreachable and face absolute dead-lock stiuations in SQL server .

I could not expose the source code but you can find the details if you know how to use reflector.
This error only happen we have static function TouchAllTaxonomyColumns called when saving a list item which contains Taxonomy Fields.
And  when this function called , we looping all taxonomy fields in that library (added by content type or manually) , not only the one you want to update .Thats mean any of the taxonomy field in that libary have any problem then you will see this error .

For example you have added two taxonomy field to a Pages Library , One of them comming from a content type and it is healty . and the second one was added manually and have a problem .
Then you are creating a Page and editing the page by using this Content Type, you will see only the first taxonomy field because this content type does not contains the second (problematic) taxonomy field . Even so when you try to save you’ll see this error . Because when you save an item we are touching all taxonomy fields present in library at behind .

So what can be the problem of the second taxonomy field ?

1 )This problem mostly happens when you move content types between site collections by powershell or using 3rd party tools or SharePoint Manager.
Every SharePoint Site Collection has a TaxonomyHiddenList . And if you check for the Field definition you will see there is a reference to TaxonomyHiddenList in LookupList property.
So if you move a site column or a content type have a taxonomy field from an another site collection the lookuplist id must be updated ! otherwise it will be pointing a different TaxonomyHiddenlist which is not present in target site collection .
SchemaXML looks like below:
<FieldType=“TaxonomyFieldType” List=“{<TaxonomyHiddenListGUID>}” WebId=“<GUID>“ …..

you can find the correct TaxonomyHiddenList id by running following powershell;
$site = get-spsite http://contoso.com
$web = $site.OpenWeb()
$web.Lists | sort Title | ft id,title

The verify the problem check for all taxonomy fields in the Library ( I used Pages library for a sample)
$list = $web.Lists[“Pages”]
$list.fields | ? { $_.typeasstring -like “Taxo*” } | ft InternalName

then check for every taxonomy field to see what is the LookupList
$field = $list.Fields.GetFieldbyInternalname(“<internalname of the field>”)
$field.LookupList

It will show you the GUID of bounded TaxonomyHiddenList , compare with the TaxonomyHiddenList Guid in that Site Collection . If it is different then you have the problem !.

The resolution is delete the problematic taxonomy fields and re-create it . Well it is not an easy process , you may need to clean from content type or dependent parents that using it .

2) Another issue managed metadata field type required additional Notes field type as well.If you have a missing “Note” field type some how , you will face this problem .
$field = $list.Fields.GetFieldbyInternalname(“<internalname of the field>”)
$field.TextField
Shows you the dependant Note field , if it is not present , then you have a problem of your custom creation or migration code/script.

About UserNotFoundException when SharePoint AD LDS (LDIF) sync operation

You are trying to Configure profile synchronization using a Lightweight Directory Interchange Format (LDIF) file in SharePoint 2013 Using the following article : http://technet.microsoft.com/en-us/library/ff959234.aspx. You have successfully used this method in your SharePoint 2010 farm, however when you try to configure it in SharePoint 2013 and attempt a synchronization, you an ma-extension-error.

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.AggregateException: One or more errors occurred. —> Microsoft.Office.Server.UserProfiles.UserNotFoundException: A user with the specified SID could not be found in the domain.  Check the spelling of the account name ‘johnd@contoso.com’ and try again. —> System.ComponentModel.Win32Exception: No mapping between account names and security IDs was done
at Microsoft.Office.Server.Utilities.Win32.AdvApi.LookupAccountName(String lpSystemName, String lpAccountName, IntPtr Sid, Int32& cbSid, StringBuilder ReferencedDomainName, Int32& cchReferencedDomainName, SID_NAME_USE& peUse)

Reason for this error

The objectSid attribute was not included in the LDIF file.  The objectSid is required in SharePoint 2013 to process the accounts listed in the LDIF file.

For resolution :

1. Go to the LDIF MA, right click and select properties
2. Select Configure Attributes
3. Select New
a. Name: objectSid
b. Type: Binary
c. Select Ok
4. Go to the LDIF MA, right click and select properties
5. Now Select “Define Object Type”
6. From the Object types: select user and click Edit
7. Select objectSid and put it into the May have attributes:
8. Select OK
9. Select Configure Attribute Flow
10. Expand the user object
11. From the Data source attribute, select objectSid
12. From the Metaverse attribute, select objectSid
13. Mapping Type is Direct
14. Flow Direction is Import
15. Select New
16. objectSid displays in the Configure Attribute Flow
17. Select OK
18. Right click the MOSS MA and select properties
19. Select Configure Attribute Flow
20. Verify that the SID to objectSid attribute flow exists
21. Select OK
22. Open your LDIF file for edit
23. Add the objectSid to your accounts
24. Save the file
25. Run a Full Sync

An example from my test LDIF file

dn: CN=John Doe,CN=Roles,CN=Partition,DC=Contoso,DC=COM
changetype: add
displayName: John Doe
userPrincipalName: johnd@contoso.com
sn: Doe
mail: johnd@contoso.com
givenName: John
objectClass: user
objectSid:: AQUAABTfkXMrX0BU0ChCzd4FhEeWw8XrYl1T+Q==

-How you find the correct sid ? You need to extract correct sid from AD LDS.
ldifde -f “c:\import.ldif” -s “localhost:389″ -d “CN=partition,dc=contoso,dc=com” -r “(objectClass=user)” -l “dn,changetype,displayName,userPrincipalName,mail,givenName,sn,objectSid

Technet Distributed Cache Articles are updated !

Heads up , Technet Distributed Cache Articles are updated !

Plan for feeds and the Distributed Cache service in SharePoint Server 2013
https://technet.microsoft.com/en-us/library/jj219572.aspx

Microsoft has updated the following sections:

• Capacity planning for the Distributed Cache service
• Memory allocation

The memory issues have been noted here. Now we are requiring at least 34GB of memory for 16Gb Cache Servers. If more than 16GB’s are required, we now require at least 2 cache servers

Manage the Distributed Cache service in SharePoint Server 2013
https://technet.microsoft.com/en-us/library/jj219613.aspx

Microsoft has updated the following section:

*Fine-tune the Distributed Cache service by using a Windows PowerShell script
*Changed the Graceful Shutdown procedure

In the “Fine-tune the Distributed Cache” section we called out the MaxConnectionsToServer issue and have a script to tune these settings. We are also tuning the “DistributedLogonTokenCache” and “DistributedViewStateCache” as the defaults are too small.

This should eventually eliminate many support cases that occur after customers follow bad advice from random Blogs and utilize default settings.

Do we really need a Load Balancer between Workflow Manager Farm and SharePoint ?

Well , It  depends .

If you have a Workflow Manager farm (more than one server) and one of the WFM EndPoints recieve a request without any load balancer ,it balances the load across the WFM servers .Yes thats correct . WFM farm have an internal load balancing mechanizm to do that.

WFMwithoutNLB

But if you don’t use a load balancer ,WFM only balance the load , not switch between endpoints if active endpoint dies . There is only one endpoint be active at a time . And if something happens on that EndPoint or its host machine then you may face an outage even your other servers are alive. Because SharePoint knows only one endpoint url and it is not reachable.
WFMwithNLB

So it depends that how much you want a high availability . Actually in real , load balancer is resposible not to share load , just keeps high availability if an endpoint dies  between your SharePoint farm and WFM farm .

Can we configure Exchange Autodiscover with My Site Host URL for SharePoint 2013 ?

it is only possible for Exchange 2013 and SharePoint 2013

You can find the details and scripts in below article
Configure Exchange Autodiscover with a My Site Host URL in SharePoint Server 2013
https://technet.microsoft.com/en-us/library/dn217895.aspx

What about if we use Exchange 2010 ?

No. It is not possible for Exchange 2010

It will not work for Exchange 2010 because the script tries to update the property named msExchServiceEndPointURL which is new in Exchange 2013.

[string]$propertyName = “msExchServiceEndPointURL”
Write-Host “`nProperty name: $propertyName”

Therefore, it is expected that you receive error “Error setting property” when you have Exchange 2010 server with Exchange 2010 schema. http://technet.microsoft.com/en-us/library/bb738144(v=exchg.150).aspx

https://social.msdn.microsoft.com/Forums/sharepoint/en-US/05b6192c-d4d6-40c6-a35b-44fcde179a1d/autodiscover-sharepoint-2013-error-setting-property