SharePoint 2013 Workflows – High Availability (MSMQ)

Workflow Manager only supports a farm with 1 computer or a farm with 3 computers.
http://msdn.microsoft.com/en-us/library/jj193434(v=azure.10).aspx

There is a very good article by harbar.net  that you can read details .
“However this isn’t high availability, its horizontal scalability. It’s pretty sweet. The trouble is the perception that “Service Bus takes care of everything”. Which is not the Case…

When we create a connection to a Workflow Manager farm from a SharePoint farm with the Register-SPWorkflowService cmdlet we pass in a WorkflowHostUri parameter. This typically is the host name of a Workflow Manager host. If we have three Workflow Manager hosts, which host name should we use? Well we can use anyone we like, as long as it’s valid. This will work. But it’s not highly available. If that particular host is down for whatever reason, our Workflow Connection – which is a Service Application Proxy – will be broken and we cannot configure or execute any SharePoint 2013 workflows.”

http://www.harbar.net/articles/wfm1.aspx

The servers should be configured with a software or hardware load balancer for proper load balancing, or can be accessed directly”
Load Balancing is a solution for this issue but it is not enough .
As again

“A load balancer generally does load balancing. Whether it’s NLB or ARR or an “intelligent”, “hardware” device from the usual suspects, it doesn’t make any difference. They all require configuration and scripting to truly function for HA. If all you need is a solution for when you reboot a host due to Windows Updates or similar scenarios you are good. But for everything else you need to tell the load balancer how to be “intelligent”, it will not happen out of the box.”
http://www.harbar.net/articles/wfm1.aspx

there is also one more resolution for high availability : MSMQ.
MSMQ is a Windows Server feature that you can enable on your SharePoint Server computer to allow asynchronous event messaging in SharePoint workflows. To support asynchronous event messaging, you must enable MSMQ on your SharePoint Server computer.
http://msdn.microsoft.com/en-us/library/office/dn467936(v=office.15).aspx

After MSMQ installed it can be easily activate by powershell:

$proxy = Get-SPWorkflowServiceApplicationProxy
$proxy.AllowQueue = $true;
$proxy.Update();

MSMQ provides Queue functionality  for SharePoint side , like Service Bus does  for Workflow Manager side. If we summarize
For High Availability:

1) Scale up your Workflow Manager Farm by 3 server.
2) Configure Workflow Manager host uri for your LB and DNS as correctly
3) And Use MSMQ !!! which is not OOB enabled for SharePoint 2013 servers.

 

 

 

 

Advertisements

How to debug SharePoint 2013 workflows by Visual Studio

Normally you can debug SharePoint 2013 workflows that developed by Visual Studio  via using F5 and putting breakpoints . In this scenario actually the debugging happens with a Service Host emulator not actual Workflow Manager host instance. In some cases the actual activities or components are not same as registered by SharePoint to Workflow Manager according to Service Host emulator. As a consequence of this , the breakpoints can not hit when execution .
http://msdn.microsoft.com/en-us/library/ee358745(v=vs.110).aspx .To fix that issue you have to be sure that your dev tools and components are same the host environment.

Workflow debugging also supports using Visual Studio’s infrastructure to attach to a process. This enables the workflow author to debug a workflow running in a different host environment such as Internet Information Services or actual Workflow Service’s Host. If your workflow manager is already setup in same box with your Visual Studio , here you can find how can you do it.

1) Open your workflow Project in Visual Studio .

2) Set the breakpoint for related activity .

AddBreakPoint

 

3) Click Visual Studio -> Tools -> Attach to Process

AttachTheProcess

4) Find and select “Microsoft.Workflow.ServiceHost.exe” in process list .

5) Click the “Select…” button for code type

SelectCodeType

6) Select “Debug these code types” as Workflow and click OK .

7) Click “Attach” Button and Attach one more time for the confirmation window.

8) After that you have to lunch/run related workflow from SharePoint Site.

9) If everything is correct , the breakpoint will get hit.

BreakPointHits

As you can see the callstack and local parameters are shown and can be debugable.

 

 

 

April CU 2014 for SharePoint 2013 has been released.

April CU 2014 for SharePoint 2013 has been released.

For more information:

http://blogs.technet.com/b/stefan_gossner/archive/2014/05/08/april-2014-cu-for-sharepoint-2013-has-finally-been-released.aspx

Sharepoint Online – Unable to send new comment for Noteboard by programmatically.

You can get more information about handling comments for good old NoteBoard webpart as below
http://social.technet.microsoft.com/Forums/sharepoint/en-US/8023e4e5-ef21-40f4-b1ad-4c7b659598c6/retrieve-and-add-comments-to-a-noteboard-webpart?forum=sharepointdevelopmentprevious

http://msdn.microsoft.com/en-us/library/ff407953.aspx

Or you can use directly conntecting SocialComment web services by consuming “SocialDataService.asmx”.

But if you are working with SharePoint Online (SPO) , there is no more Server Object Model .And if you try to reach “SocialDataService.asmx” you will face
“Admin has disabled some SocialComment web services” error in your SOAP response message.

Noteboard web part is one of compatible feature from SharePoint 2010 can be used in SharePoint 2013 via UI but it is not supports newly added SharePoint 2013 programming models and APIs .You can get more information about new API model below.
http://msdn.microsoft.com/en-us/library/office/jj164060(v=office.15).aspx

+Server Object Model and exposed web service implementation (asmx) has been disabled as by design for SharePoint Online.

+NewsFeed feature and webparts can be suggested for replacement which is fully supported for new SharePoint 2013 programming model and APIs

“SharePoint 2013 includes new client APIs that you can use to work with social feeds, follow people and content, and retrieve user properties in online, on-premises, and mobile development. When possible, you should use client APIs for SharePoint 2013 development instead of using the server object model or web services. Client APIs include managed client object models, a JavaScript object model, and a Representational State Transfer (REST) service. If you are developing an app for SharePoint, you must use a client API.”
http://msdn.microsoft.com/en-us/library/office/jj163783(v=office.15).aspx

 

Supportability for SharePoint 2010 SP2 and Windows Server 2012 R2

Before the release of Service Pack 2 (SP2) for Microsoft SharePoint Server 2010, Microsoft did not support SharePoint Server 2010 in a Windows Server 2012 or Windows Server 2012 R2 environment.
However, SharePoint Server 2010 with SP2 has now been released, and this configuration is supported in Windows Server 2012 and Windows Server 2012 R2.

For more information:
http://support.microsoft.com/kb/2724471

As of May 1st, 2014, deployments from the slipstream media available on VLSC and MSDN we only support Setup of SharePoint 2010 SP2 slipstream media (not RTM + SP2) on Windows Server 2012 R2. For this to work, the 2014 Feb CU (or newer) is required.

Please note that only fresh installing of SP2 slipstream + Feb CU (or newer) on Windows Server 2012 R2 is supported.

We don’t support OS in-place upgrade.