Skip to main content

When you design a Sharepoint Workflow Integration process, and attach it to a Content Type (on creation event, for example), it works. OK.


If in Sharepoint you create another Content Type, and associate the previous workflow, it works too (even if in the designer we created it for the first CT). That's cool.


 


Now if you move to another site collection, and create a content type, and try to attach the workflow, you get this ugly error:


 

There has been a problem retrieving the K2 process data. Please ensure that the account has rights to the K2 BlackPearl Workflow Item and that you are connecting to the BlackPearl server.

Of course, I activated the workflow feature. Using Windows Workflow Fundation (and Sharepoint Designer I think) you can design workflows that you can use everywhere in your farm, I'm sure it's possible with Blackpearl but how??


Did you figure this out at all? I'm having the same problem.

 

Thanks, Daniel. 


You can check if there are some hidden list permissions on SharePoint. Use the SharePoint Manager tool to make the hidden list visible if there are any...then assign the user’s right explicitly to the list.


This is of course if there are lists involved.


Vernon


Thanks Vernon. Turns out it was not permissions at all.

The reason was due to the fact that a list item corresponding to my workflow didn't exist in the hidden _<GUID> list on the second site collection. This hidden list item only existed in the first site collection, which kind of makes sense since I deployed it to the first site collection.

This is a little dissapointing though, as I thought blackpoint would be a bit more flexible in allowing a workflow to be reused easily on different site collections. By the looks of things the workflow will need to be redeployed to each site collection through k2 studio? I hope someone can clarify this for me and even better explain a way around this? :)

Okay, now this doesn't really solve my problem, and only explains it. Since I have a workflow that I need to deploy across a decent number of site collections I'd rather not have to redeploy it that many times. I tested simply manually adding this list item in to the second site collection and after that I was able to use the workflow on the second site colleciton without any problems (well, with the minimal testing I've done so far).

I am thinking of writing a powershell script to programmatically add these workflow list items to all of my site collections. Does anyone see any problems with this? I imagine that updating the workflow would update the process definition in K2, which would mean that all site collections would use the latest version of that workflow automatically (i.e. without having to update each site collection again)?

Feedback appreciated,
Regards,
Daniel. 



Some cases we need to associate the workflow to a list programatically.The below example show how we can attach a workflow to a list programatically.The workflow can be standard or designed with visual studio or sharepoint designer.


 


SPWorkflowTemplate workflowTemplate = null;                // Workflow template


SPWorkflowAssociation workflowAssociation = null;         //Workflow association


SPList historyList = null;                                                     // Workflow history list


SPList taskList = null;                                                        // Workflow tasks list


SPList list = null;                                                               //Sharepoint List       


 


using (SPSite oSPsite = new SPSite("http://website_url/"))


{


    oSPsite.AllowUnsafeUpdates = true;


 


    using (SPWeb oSPWeb = oSPsite.OpenWeb())


    {



 


Thanks,


Bijayani


Learn about SharePoint 2010 Migration.


Reply