开发者

Sharepoint Designer 2007 - Workflows and secondary workflow relationships

A little background: I work for a company that produces a product that has a workflow for projects with many "concurrently" running tasks. For this discussion, lets say that Project A creates 4 Sub-projects.

Both the main project and the 4 subproject workflows will create tasks in the main task list. The main issue that I am having is how to associate the tasks created by the subproject workflows back to the main project.

For instance:

Project A is created in the Projects list. This list has ONE workflow associated with it called "project start". This workflow is a manual start workflow which when started then creates the four subprojects in a subprojects list - these subprojects need to run concurrently hence why I have created them in a secondary list with their own workflows. The subprojects list has 4 workflows associated with it to manage the 4 subprojects - each of these "auto-start" when the subprojects are created in the subproject list.

So anyway, to save some typing I will refer to the subprojects as UNITS 1 - 4.

I create Project A and manually start it's workflow. The project start workflow creates the Unit 1, Unit 2, Unit 3 and Unit 4 items in the subproject list (at the same time because, as I said earlier, these items need to run concurrently). Each of the unit manager workflows start and begin creating their to-do tasks in the tasks list. I am using the "assign a to-do item" task activity because all I need to know for the workflow to progress through it's steps is whether or not the work is completed.

Once all 4 Unit workflows have completed, the Project Start workflow will now begin to manage the final portions of the project prior to completion with additional task items (manager approvals and so on).


Now the issue I am having is that the view I have set up for the task list shows the "title, start date, end date, completion status and link" columns. The link column shows a link that refers back to the creating list item. For this example, the Unit 1 manager workflow operates on the UNIT 1 item that was created by Project A. So for "example task 1" that was created by the unit manager workflow, the link is "Unit 1". This is not entirely helpful because when someone looks at their task list they could have multiple "example task 1"'s from multiple projects. Displaying UNIT 1 as the referencing master item means nothing to the user. What I want displayed is the Master Project title so that they can sort their tasks by project. Sorting by "Unit x" means nothing.

Now my initial solution was to create a "project" column on the task list. In this column, I could create another subworkflow that all it would do would be to look up the initially created project by looking up and referencing workflow and item id's and set this new "project" variable to the initiating master project (project a - for this example). That workflow WORKS!

However, and this seems to be an issue that is "not uncommon"in MOSS 2007, having this subworkflow running on the task list can (and has) created multiple lock errors which show - "this item cannot be modified as it is locked by an already running workflow". This error grinds the workflow to a halt and is not an error that is recoverable. I have researched this error and it is an unavoidable error that has no single and easily deployable solution. It has something to do with the backend databasing and how/when it stores the update task item variables and so on. Once the workflow locks, you're done.

So, what I really need is a clever solution to associate the main project with any and all subtasks. If the task is created by the "project start" workflow, that is done automatically because the "link" column auto-associates this task with the creating item...which in this case is "project a" - easy enough. However, because of my NEED for the additional subitems on a separate list with their own workflows.....I lose that reference.

Is there a way to associate the tasks created from the subproject list workflows to the main project without having to call another subworkflow to set that variable. (ie: a way to avoid the "this item is locked by a running workflow" problem).

I think I 开发者_如何学编程am thinking too hard on this solution and can no longer see the forest for the trees.


Unfortunately I think your solution is to stop using SharePoint Designer for this workflow. Either look into purchasing a 3rd-party workflow product for SP2007 or build a workflow feature in code using Visual Studio.

You want to get to a position where 1 workflow can do everything you're talking about: run on a project and create 4 parallel branches, each which create tasks exactly how you'd like (with a Project column) rather than the very limited options you have from SPD.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜