Haaron Gonzalez Rotating Header Image

Workflow

How to copy the body of your email action in Workflow Designer using SharePoint Designer

This is for my friends and customers that still support SharePoint 2010 workflows and solutions using SharePoint Designer 2010. Have you been in the situation to re-create a SharePoint Designer 2010 workflow and notice that you cannot copy or paste the body of your Email actions forcing you to re-create your action from scratch? What a hassle.

Well, today I found a way that copy the content of your action attributes and with that simplify a little bit the experience of recreating Workflow Designer actions.

Step 1: Locate the Send Email action in your workflow and open the Properties window

SPD1

Step 2: Select the content of the Body attribute in the property window, right click and copy

SPD2

Step 3: in your new Send Email action open the Properties window

SPD3

Step 4: Click the “…” button

SPD4

Step 5: Paste the content of your clipboard

SPD5

Step 6: Click OK and just re-assign you lookup properties

SPD6

SharePoint Workflows with Vlad Catrinescu

All you need to know about Workflows in SharePoint 2010 and 2013 as a Power User is covered in Vlad Catrinescu Pluralsight course. Very well done and nice examples.

Check it Out here https://www.pluralsight.com/courses/sharepoint-work-creating-workflow-sharepoint-designer

Welcome February!

Speaking at Nintex Inspire 2016 in Las Vegas

I am so happy to announce that I’ll be speaking at Nintex InspireX Conference co-presenting with Tom Castiglia. We will share how to use Nintex Workflow & Forms and DocuSign fornintexinspire automating some of the most typical Human Resources process in a company. Nintex Workflow and Docusign can work together to request and retrieve digital signed PDF files for archiving the paperwork that needs HR by law need to retain. We automated some process for our customers and we want to share our overall solution approach.

Nintex InspireX will be on take place in Las Vegas, Nevada between February 22-24. In encourage you to review the agenda and awesome sessions/speaker line up.

Here the session details:
Using Nintex and DocuSign for Open Enrollment and Employee Onboarding, with Konica Minolta Business Solutions
When organizations hire a new employee, the onboarding process always requires the new hire to fill out, sign and submit numerous legally binding forms. These forms are typically provided by benefit providers and government agencies in paper and/or PDF format, and require a “wet” signature to be submitted. This session will show how to architect a re-usable solution based on Nintex Forms, Nintex Workflow and DocuSign, that can support any number of different third party forms, converted into DocuSign templates in order to capture a legally binding digital signature. We’ll also show dashboards for the HR Manager to monitor the progress/status of forms pending for each employee.

 

I’ll speak at SharePoint Saturday Mexico City 2016

spsmexico

 

On February 6, 2016 I am going to participate as speaker at SharePoint Saturday Mexico City. I am thrill to participate as speaker and be able to share experiences around some of my favorite topics like Nintex Workflows, ECM and Office 365 groups with the community.

I will present three sessions in Spanish, so here are the titles:

  • The modern office and the rise of dynamic teams
  • Beyond InfoPath: Forms-Driven Workflow Solutions with Nintex
  • Leverage SharePoint Online and Office 365 for Records Management

So, if you live and Mexico City and work as a SharePoint Administrator, SharePoint Consultant or Solution Architect please come by and join me, my plan is to share applicable and real world experiences around Nintex, ECM and Office 365 groups in Spanish “including demos”, so se you there.

Please register at: http://www.spsevents.org/city/mexicocity/mexicocity2016

A quick tale from the SharePoint support trenches

Basically, the customer had a workflow, build in SharePoint Designer 2010 that will use some of the out of the box Actions like the Pause for Duration and Send Email. The issue was that once the workflow paused for a minute it wasn’t able to resume the work, leaving the workflow always running “In Progress”. Doing some research found KB2674684 SharePoint 2010: Workflow failed to run after pause and according to the description made me remember my good old ASP.NET developer days.

The bottom line is that SharePoint on premise is ultimately a Microsoft ASP.NET solution that works with multiple windows services and related Microsoft technologies/servers. From the web perspective Web Server Controls, Web User Controls, HTTP Handlers, Web Services, AJAX, ASPX pages, assemblies, web.config, page directives and so on are just pieces that work together to deliver a page that end users to consume.

Turns out that if you have the Workflow Timer Service started on a server that is running as an Application Server role “App” and you don’t have the SharePoint Foundation Web Application service started “basically the WFE role”, workflows will fail rehydrating the workflow when resume from a pause action, the reason why?, is because in order to rehydrate a paused workflow SharePoint needs to read some settings from the running web application web.config file, but because we have only the “App” role and not the “App/WFE” role running, it fails loading from the required Web Application the web.config file, because THERE IS NO web.config to load for that particular web application in the App server. The App Server without the SharePoint Foundation Web Application Service started only has available the Central Administration web application, not those additional web applications that WFE have available in IIS as a web site.

According to the article there are three methods for solving this issue:

  • Method 1: Locate one Web Front End server, which has Web Application service running, run the following PowerShell command to copy workflow-related configuration from the web.config to the configuration database so it will be available from every server in the Farm.

$webapp = Get-SPWebApplication -identity http://<web app name>

$webapp.UpdateWorkflowConfigurationSetttings()

  • Method 2: Start the Web Application Service on all servers that have the Workflow Timer Service is running.
  • Method 3: Disable the Workflow Timer Service on servers that are not running the Web Application service.

I decided to use Method 3 because we have dedicated App server and dedicated WFE server.

By the way, if you have Nintex Workflow installed in your farm, what just explain also apply. Nintex Workflow should run only n WFE servers, so make sure you Workflow Timer Service is stopped on all app servers in your farm.

Thanks for reading!

How to create hyperlink that open InfoPath client software a.k.a InfoPath Filler

Today was my second on site visit of the year and during my visit I was requested to fix one of the most frequent issues you will find when building workflow based solutions using SharePoint Designer and InfoPath client forms.

So an email activity in the Workflow Designer has a Hyperlink that it supposed to load a InfoPath form instance when the user clicks, in this scenario, the InfoPath solution runs in InfoPath Form Filler so when the users clicks the hyperlink it should load InfoPath Filler client application.

Turns out that using Encoded Absolute URL field that has the actual URL address of the form instance inside of the <a href=””> tag is not enough and will cause user to open Internet Explorer and try to load the form with InfoPath Form Services but because the form was designed to run in InfoPath Filler an exception will happen and users will be NOT so happy.

The solution is pretty simple; we just need to change the URL we will use to invoke InfoPath Filler to load inside of the anchor tag. Also I recommend using the Hyperlink button available in the email body of the message.

Hyperlink control in Send Email

 

The URL should have the following Workflow and Current Item variables:

  • %Workflow Context:Current Site URL% will get the URL of the current site where the workflow is running
  • /layouts/FormServer.aspx is a system web page that is used by InfoPath Form Services to render the form in the browser
  • XmlLocation is a query string variable that will tell to FormServer.aspx where the form data is located and it will use to load the form in the browser. We use the Workflow variable % Workflow Context:Current Item URL% to get the XML file
  • ClientInstalled = true is another QueryString variable that will thell the FormServer.aspx page that the form should be loaded in the client software, in this case our beloved InfoPath Form Filler
  • Source query string variable is used by the FormServer.aspx page to redirect the browser to the URL we want to load when we close the form, this work on InfoPath Form Services, nothing to do to InfoPath Filler
  • DefaultOpen is another query string variable that tells formserver.aspx how to load the form

Here you can see official information about the InfoPath parameters

So the definition of the hyperlink data is:

 

String concatenation to generate URL

The result will be something like this:

http://intranet.mycompany.com/sites/IT/finance/_layouts/FormServer.aspx?XmlLocation=http://intranet.mycompany.com/sites/IT/finance/IT Project/ITP20151030200643.xml&ClientInstalled=true&Source=http://intranet.mycompany.com/sites/IT/finance&DefaultOpen=0

So remember, red text is going to be generated by SharePoint Designer Workflow Variables, Bold text is going to be hard coded in the concatenating string.

Good luck!