0
votes

Is it possible to create some kind of workflow in SPS 2007 that would mirror contents of one list to another one on another site.

For example.

Our portal locates in http://portal and it has "Tasks" list.

There are some subsites: http://portal/group1 with "Tasks" list http://portal/group2 with "Tasks" list http://portal/group3 with "Tasks" list

And sub-sites: http://portal/group1/proj1 with "Tasks" list http://portal/group1/proj2 with "Tasks" list

etc

I need "Tasks" list to contain all tasks from http://portal/group1, http://portal/group2, http://portal/group3.

In turn http://portal/group1 "Tasks" list must contain all tasks from http://portal/group1/proj1, http://portal/group1/proj2 etc.

So we have hierarchically structure. All sites must collect all tasks from its descendants.

Is it possible?

2

2 Answers

1
votes

You can create List Item Event Receivers that push down changes to parent site.

But same promblem can be solved with Sontent Query Web Part or SPSiteDataQuery class without copying list items.

1
votes

Yes, this is possible. No such OOB (Out Of the Box) functionality is available. You need to write an event handler and attach/bind with "Tasks" Lists on http://portal/group1/proj1 and http://portal/group1/proj2 sites. Whenever an item is added into "Tasks" List on http://portal/group1/proj1 and http://portal/group1/proj2 the event handler will add the same item to "Tasks" List on http://portal/group1 and "Tasks" List on http://portal

You should attach/bind same event handler with "Tasks" Lists on http://portal/group2/proj1 and http://portal/group2/proj2.

Similarly you should attach.bind the same event handler with "Tasks" List on http://portal/group3/proj1 and http://portal/group3/proj2.

a. The most convenient way is to create http://portal/group1/proj1 site, write event handler deploy/bind/attach it with "Tasks" List on http://portal/group1/proj1 site and then save that site as template. Now create all project sites under Group1 from this template project site and you shall not need to attach/bind event handler with each "Tasks" List separately.

b. You can even make the event handler more generic and the same event handler can be used for as many group sites and project sites as you want. While adding item to the Group site do not specifically use the name of the group site. Rather access the parent site and then get its "Tasks" List and add item to that list. Similarly access the parent site of group site and then access its "Tasks" list and add item into it.

Combine this approach a and b and you shall have to do the labor once.

I hope this helps!!!