This project is read-only.

support for SLAMs on multiple sites?

Aug 13, 2009 at 10:48 PM

Hi and thanks for a great project :-)

When I look in the config file it seems like I will need a mapping for each and every site where I plan to use SLAM to replicate the listdata to the SQL server. My scenario is that I have a site template which includes the same four list hierarchy and for each instance of that site template I would like SLAM to replicate the list data to the database.

As far as I can tell that scenario is not currently supported, as the database table for the lists does not contain the webid nor url where the list "lives", only the ListID. In order to locate the web where the list exists I would have to query against the SharePoint database, which is a big no-no.

Have I missed a clue or will I have to think out of the box in order to handle SLAM on multiple sites?


Thanks again for a great project, including the best documentation for a CodePlex project that I have ever seen.


Aug 14, 2009 at 12:24 AM

In such situations, where you are using a Site template which you will be using many times in a site collection, we would use content types.  So for your four lists you have 4 content types (or whatever is appropriate for those lists) in the site collection.  Configure the content types then to be managed by SLAM.  For every list that is created then by your site template the items will already be slamming due to the shared content type.

You can fairly easily get a reference to any one of the lists then in the site collection by iterating through AllWebs and then all Lists trying to match a List ID from the SLAM table.  Ideally you are not doing this often of course, so for example if you are reporting something you are probably get the data itself from the SLAM database and maybe you only care about checking the first item for a ListID instead of doing this process for every item.


Thanks for feedback as well, feel free to rate/review the project.