views:

169

answers:

2

What would be the best approach or strategy for configuring, customizing or developing in SharePoint a solution that allows me to keep one or more SharePoint lists in sync with a SharePoint list I have designated as a master or parent list.

I would like to be able to create a master/parent list of some information that can be extended or used by different parts of the organization without them being able to CRUD any items on the actual columns of the master list. (I have seen some commercial web parts that offer column security on SharePoint lists and although that’s one way of potentially meeting my needs I would like to explore other options.)


Scenario:

I have a list called FOO:

FOO

Title

Description

I would like to create a new list BAR based off of FOO (BAR is managed by sub-organization that doesn't have access to FOO List):

BAR

FOO.Title (Read-Only)

FOO.Description (Read-Only)

NewColumn1

NewColumn2


Actions:

Create- If a new item is entered in FOO I would like the new item added to BAR.

Read - N/A

Update - If the title or description is changed in FOO I would like it changed in BAR.

Delete- No Deletes in the scenario. (Deletes are handled by the business with status column.)

Templates with content extraction offer me this but it’s a one time shot at list creation.

Just not sure what the best approach or strategy would be for this in MOSS 2007.

Thanks!

+2  A: 

Have you considered just creating a view from the existing foo list? And assigning permissions accordingly?

JL
Do you mean to create a FOO list with all the attributes I would need and then create logical views on top which would give me my BAR, BAR2 and BARn lists and then add in custom edit and new pages using Sharepoint designer to support those views...that might just work...I need to POC it.Maybe I am overengineering here or trying to use a sledgehammer for the wrong job...maybe its as simple as just kicking off a workflow to the owner of the other list to notify them that an addition or change has been made in the master list...do as you will.
plattnum
A: 

Well, looks like you will need a column that references to items to be synchronised.

You could make a structure with ListID's and ItemID's and ToString() function that parses it to text (,) and a class that has an array of these objects and toString function that would make it something like that: (;,...). And then a constructor that can construct back object from this string. You would then store this string in somekind of text column.

In this case, you can refer not only to 1 other item but many others.

Now, on itemadded, updated, deleted events you just do what you have to - retrieve list/array of these objects, refer to them and do what you have to.

Janis Veinbergs