Archive

Archive for the ‘Nintex Workflow 2010’ Category

This task is currently locked by a running workflow and cannot be edited. Limitation to both Nintex and SPD workflow

August 15, 2013 Leave a comment

Note, this post is from Nintex Forum here. These limitations apply to both SharePoint designer Workflow and Nintex Workflow as Nintex using the SharePoint workflow engine.

The common cause that I experience is that ‘parent’ workflow is generating more than one task at once. This is common as you can have multiple approvers for certain approval process. You could also have workflow running when the task is created, one of the common scenario is you would like to set a custom column value in your approval task. For me this is huge limitation, as Nintex lover I really hope Nintex could solve this problem with Microsoft going forward.

Introduction

“This task is currently locked by a running workflow and cannot be edited” is a common message that is seen when an error occurs while the SharePoint workflow engine is processing a task item associated with a workflow.

When a workflow processes a task normally, the following sequence of events is expected to occur:

1.       The process begins.

2.       The workflow places a ‘lock’ on the task so nothing else can change the values while the workflow is processing.

3.       The workflow processes the task.

4.       The lock is released when the task processing is finished.

When the message is encountered, it usually indicates that an error occurred between step 2 and 4. As a result, the lock is never released.

Therefore, the ‘task locked’ message is not an error itself, rather a symptom of another error – the ‘task locked’ message does not indicate what went wrong. In most cases, once this message is encountered, the workflow cannot be made to continue and must be terminated and started again.

The following is a guide that can help troubleshoot the cause of these messages.  Some initial observations to narrow down the potential causes are:

Is the error consistent or intermittent?

When the error is consistent, it will happen every time the workflow is run. When it is intermittent, it may happen regularly, but not every time.

Does the error occur the first time the user tries to respond to a task, or do they respond and notice the workflow does not continue, and when they respond again the error occurs?

If the message is present when the user first responds to the task, the issue would have occurred when the task was created. Otherwise, it would have occurred when the user attempted to respond to the task.

Causes

Modifying the task list

A cause of this error appearing consistently the first time a user tries to respond to a task is a modification to the default task list schema. For example, changing the ‘Assigned to’ field in a task list to be a multiple selection will cause the behaviour.

Deleting the workflow task then restoring it from the Recycle bin

If you start a workflow, delete the workflow task then restore it from the Recycle Bin in SharePoint, the workflow will fail with the ‘task locked’ error.  This is confirmed behaviour whether using a SharePoint Designer or a Nintex workflow.  You will need to terminate the workflow and start it again.

Parallel simultaneous responses

A cause of this error appearing inconsistently is multiple users responding to tasks in parallel at the same time. In this scenario, one task will complete correctly and the other will not process. When the user tries again, the ‘task locked’ message will display. Nintex included a workaround for this issue in build 11000. In build 11000 and later, one of the users will receive a message on the task form when they attempt to respond, stating that they need to try again in a few moments.

Additional processing on the task

A cause of this error appearing consistently and inconsistently is having an additional system running on the items in the task list. Some examples include: a workflow running on the task list, an event receiver running on the task list or another automated process querying and updating workflow tasks.

Note: This Microsoft help article (http://office.microsoft.com/en-us/sharepointdesigner/HA102376561033.aspx#5) explains creating a workflow that runs on the task list to update a field on the task. Our experience shows that this causes the ‘Task Locked’ issues when the ‘parent’ workflow is generating more than one task at once.

Isolated system error

If the error is a rare event, or a ‘one off’ event, then an isolated system error may have occurred.

For example, if there is a database connectivity issue while the workflow is processing the task response, the task will lock. In this case, the user will respond to a task but the workflow will not continue. When they respond again, the ‘task locked’ message will display. In this case, there will be an error in the SharePoint ULS Logs at the time that the user originally responded.

Temporary delay while workflow processes

If the workflow is taking a long time to process after a user submits a task, they may notice and try to respond to the task again. They will see the task locked error, but after a number of attempts (or after waiting some time) the task response page eventually indicates the task has been responded to. In this case, nothing actually went wrong, and the error message gives an accurate indication of what is happening – the workflow temporarily locked the task while it was processing. This scenario may occur in a very large workflow, or after the SharePoint application pool has just started.

Modifying the task via a web service with an invalid url

If the Nintex Workflow web service is used to respond to or delegate a task, the site context part of the url must be a valid alternative access mapping url. For example, if you access the web service via the IP address of the SharePoint server, and the IP address is not a valid AAM, the task can become locked.

The workflow has become stuck without any apparent errors

This behaviour can occur as a result of a bug in the SharePoint 2010 workflow engine.  If you do not have the August 2010 Cumulative Update (or later) for SharePoint, and your workflow uses delays, “Flexi-task”, State machine”, “Task Reminder” actions or variables, you could be affected. Check the SharePoint 2010 Updates site here: http://technet.microsoft.com/en-us/sharepoint/ff800847.  The October CU is recommended http://support.microsoft.com/kb/2553031.   The fix is described as “Consider the following scenario. You add a Delay activity to a workflow. Then, you set the duration for the Delay activity. You deploy the workflow in SharePoint Foundation 2010. In this scenario, the workflow is not resumed after the duration of the Delay activity”.

If you find this is occurring in your environment, install the October CU, terminate all the running workflows affected and run them afresh.

Investigative steps

The first step to isolate the issue is to create a new task list on the site and configure the workflow to use it.  Any customizations that were made to the original task list should not be made to the new task list. If the new task list eliminates the issue, then the cause can be attributed to the original task list or a change that was made to it.

To change the task list that the workflow uses:

In Workflow Designer select Settings -> Startup Options


Then configure the task list as required


If any of the scenarios above do not help, check the SharePoint logs for any messages with a category of ‘Workflow Infrastructure’.

Conclusion

The information in this article has been gathered from observations and investigations by Nintex. The sources of these issues are the underlying SharePoint workflow engine. This article will be updated if further causes are discovered.

From <http://connect.nintex.com/forums/thread/6503.aspx>

Advertisements

How to create a link to Nintex Start Workflow Page in the document set home page

January 19, 2013 3 comments

In this blog post, I’d like to show you how to create a link to start Nintex Workflow Page in the document set home page.

1. Firstly, you need to upload the latest version of jQuery to the style library of your team site.


2. Then, upload a text file to the style library for writing your own html and JavaScript

3. In the document set home page, insert a new content editor web part and link the text file you just upload.

4. Update the text file with the following content, you can download this file here.

<script type="text/javascript" src="/Style%20Library/jquery-1.9.0.min.js"></script>
<script type="text/javascript" src="/_layouts/sp.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    listItemId=getParameterByName("ID");
	setTheWorkflowLink("YBBESTDocumentLibrary");
});
function buildWorkflowLink(webRelativeUrl,listId,itemId) 
{ 	
	var workflowLink =webRelativeUrl+"_layouts/NintexWorkflow/StartWorkflow.aspx?list="+listId+"&ID="+itemId+"&WorkflowName=Start Approval";
	return workflowLink;
}
function getParameterByName(name)
{
	name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
	var regexS = "[\\?&]" + name + "=([^&#]*)";
	var regex = new RegExp(regexS);
	var results = regex.exec(window.location.search);
	if(results == null){
		return "";
	}
	else{
		return decodeURIComponent(results[1].replace(/\+/g, " "));
	}
}

function setTheWorkflowLink(listName) 
{ 	
	var SPContext = new SP.ClientContext.get_current(); 
	web = SPContext.get_web(); 
	list = web.get_lists().getByTitle(listName); 
	SPContext.load(web,"ServerRelativeUrl"); 
	SPContext.load(list, 'Title', 'Id');	
	SPContext.executeQueryAsync(setTheWorkflowLink_Success, setTheWorkflowLink_Fail); 
}
function setTheWorkflowLink_Success(sender, args) 
{ 
	var listId = list.get_id(); 
	var listTitle = list.get_title(); 
	var webRelativeUrl = web.get_serverRelativeUrl();
	var startWorkflowLink=buildWorkflowLink(webRelativeUrl,listId,listItemId)
	$("a#submitLink").attr('href',startWorkflowLink);
}
function setTheWorkflowLink_Fail(sender, args) 
{
	alert("There is a problem setting up the submit exam approval link");
}
</script>
<a href="" target="_blank" id="submitLink"><span style="font-size:14pt">Start the approval process.</span></a> 

5. Save your changes and go to the document set Item, you will see the link is on the home page now.

Notes:

1. You can create a link to start the workflow using the following build dynamic string configuration:

{Common:WebUrl}/_layouts/NintexWorkflow/StartWorkflow.aspx?list={Common:ListID}&ID={ItemProperty:ID}&WorkflowName=workflowname.
With this link you will still need to click the start button, this is standard SharePoint behaviour and cannot be altered.

References:

http://connect.nintex.com/forums/27143/ShowThread.aspx

How to use html and JavaScript in Content Editor web part in SharePoint2010

Nintex workflow tips and tricks

January 18, 2013 Leave a comment

Here are some Nintex 2010 workflow related tips and tricks and I will keep updating them.

1. How to add a link in email using Nintex.

a. Go to the insert tab and select Link


b. Select the url you’d like to set for the link


c. After you have done this , you will see the Link is inserted into the email.

2. How to make the Flexi task reject option called “Decline” and make the comments mandatory.

a. Open the  Flexi task action config prompt as shown below

FlexitaskReconfigure1

b.Click on the edit icon and change the settings from

FlexitaskReconfigure2

TO

FlexitaskReconfigure3

3. When saving or publishing Nintex workflow and receiving the following errors:

Server was unable to process request. —> The file hxtp://../NintexWorkflows/Workflowname/Workflowname.xoml is checked out for editing by Domain/Username.

To Fix it , you can perform the following steps:

a.In the publish dialogue, uncheck “Overwrite existing version” and rename the workflow.
b.Delete the old workflow which was checked out
c.Publish the new workflow again with the old name
d.Delete the “temporary” workflow again

How to use Nintex Reusable Workflow Template

January 17, 2013 Leave a comment

If you like to re-use your workflow logic over more than one list or library, you can create reusable workflow template. Here are the steps

1. Go to site settings and create reusable workflow template.

2. Select the content type you like the template to bound to and give a workflow a title.

3.Create your workflow the same way as you did for a list workflow and publish your workfow.


4. Finally, you need add your workflow to the list you like to run your workflow.

5. Go to workflow settings and add a Workflow.

6. Select the content type and configure the workflow as below


7. After you done this, your workflow will run as usual.

Note:

1. You cannot conditionally start your workflow.

2. Your workflow is not automatically bound to the list when you add the content type to the list, you need to configure it manually as shown in step 4-6.

How to Use User-defined function using Nintex workflow

January 13, 2013 Leave a comment

In Nintex workflow, you can create re-usable workflow logic by creating user defined function. The user-defined function is very similar to a method defined using c# or java. You can have input parameter and output-parameter. You then call the user defined function by passing in the parameter and return the output parameter. Here are the steps:

1. Create your user defined action

2. Define your output and input parameters


3. Create your workflow logic as normal and publish your user defined action.

4. You can call the user defined action from your main workflow.

Note:

1. One of the limitation for the user defined action is that you cannot create Person or Group variable.

How to set the item level permission using Nintex2010 in SharePoint

January 7, 2013 Leave a comment

Recently, I need to use Nintex workflow to configure the item level permission. The requirement is that a SharePoint group “member group” have contribute permission to the item before manager approved the item and “member group” have read only permission to the item after the manager approved the item. This can be done quite easily using Nintex workflow as shown below.

Drag and Set item permissions and configure the item as shown below. (Note: you need to first remove the “member group” permission and then re-assign a different permission.)

ItemLevelPermissionNintex

Publish your workflow and run your workflow it will set the unique item level permission. You can download the workflow here.

How to combine several files into one PDF using Nintex and Muhimbi PDF Converter

December 24, 2012 Leave a comment

Recently I am using Nintex workflow and Muhimbi to build a solution for a client. One of the requirement is to combine several files within the document set into one , this is really simple to do with Muhibmi PDF Converter and Nintex.

1. You need to activate the Muhimbi PDF Converter – Nintex Workflow Integration feature at the Web Application level.

2. Then, we need to retrieve the sever relative URL path for the document set as shown below.(You can use URL Path or Server Relative url property when you query the list)

3. Then, we need to build the combined PDF path.

4. Next, we need to build the paths for all documents we need to combine.

5. Finally, we need to perform the conversion using the Muhimbi Nintex action below


You can download the Nintex Workflow here.

*****************Update 07/01/2013****************

@muhimbi PDF converter Merge files to PDF action does not work inside a IF or LOOP action when used in @Nintex workflow.Have to change all my @Nintex IF action to Set A CONDITION action to make @muhimbi PDF converter Merge files to PDF action works.I also checked with Muhimbi PDF converter support ,I was told that upgrade to the latest version of the product will solve the problem , I have not tried yet and will update here once I have tried it.

The error I am getting is An error has occurred in [Workflow Name].

*****************Update 13/01/2013****************

Another problem I am having is to invoke the workflow using the document set item rather than a document inside the document set.You will get the error message “An error has occurred in [Workflow Name]”. To resolve the problem you need to configure the Source List and Source List Item properties for the conversion as shown below.

CombinedPDFGeneration

References:

Convert and Merge PDFs using Nintex Workflow and the PDF Converter for SharePoint