Sync MOPS 2007 Tasks with WSS list Items

D

DG

Hi. I need a workflow process 4 every task of project.
We decided to sync MOPS 2007 Tasks with WSS list Items, and use WSS WF.
So is threre any comlete solutions of such problem.
Thx, DG.
 
D

DG

thx, intresting article.
But:
1. It works only 4 Proposal
2. MOSS req.
Main task is: that 4 any task at any project on Prj. server we could set a
sync with WSS list Item, and use WSS WF.
We use WSS, not MOSS.

Ex.:
-Proj1
|-tsk1 %compl
|-tsk2 %compl

-WSS List1
|-tsk1 %compl
|-tsk2 %compl
So, when we change %compl in WSS List1, this data automaticaly transfer to
Proj1.

Thx.
 
C

CTA

Okay, now I understand. I have done something similiar. One way to
approach this is to create a server-side event handler that updates
the project's associated WSS lists.

Here is a link to an overview of server-side events in Project 2007:

http://msdn2.microsoft.com/en-us/library/ms481079.aspx

You will need some meta-data to relate the projects to their
respective lists and list items. This could be as simple as an config
file or as elaborate as a database. You could either clear the list
each time you update it or include columns in the list (hidden in the
normal view) to store the task GUID for which the list item
represents.

Updating a list item in WSS is done with something like the code
below, which is part of a framework I wrote for another project (an
SDK sample can be found here :http://msdn2.microsoft.com/en-us/library/
ms954028.aspx)

-------------------------------------------------------------------------------------------------------------------------------------------------
public void UpdateListItem(string list, string view, string ID,
string field, string value)
{
XmlDocument request = new XmlDocument();
XmlElement operation = request.CreateElement("Batch");

operation.SetAttribute("OnError", "Return");
operation.SetAttribute("ListVersion", "1");

operation.InnerXml = "<Method ID='SPSUpdateListItem'
Cmd='Update'><Field Name='ID'>" + ID + "</Field><Field Name='" + field
+ "'>" + value + "</Field></Method>";

try
{
XmlNode response =
_rsspListsWebService.UpdateListItems(list, operation);

if (response.InnerText != "0x00000000")
{
throw new SPS20Exception("Update list failed: " +
response.InnerText);
}
}
catch (Exception exception)
{
Debug.WriteLine(exception.Message);
Debug.WriteLine(exception.StackTrace);

throw;
}
}

-------------------------------------------------------------------------------------------------------------------------------------------------

There is a lot of code to be written to make this work, but it is
doable. Somebody else might now of existing products or solutions to
do something like this for you but I am not aware of anything.

Colby
http://colbyafrica.blogspot.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top