views:

48

answers:

2

I have a website that needs to store two sets of user data into separate data stores. The first set of data is used by the SiteCore CMS and holds information about the user. The second set of data is used by a personalisation application that stores its own user data. The reason they aren't stored together in the same profile object is because the personalisation application is used across multiple websites that do not all use SiteCore.

I am able to create multiple Profile Providers - I currently have one from SiteCore and a custom provider that I have written and these both work in isolation. The problem exists when you try to configure both in the same web.config file. It seems you can only specify a single Profile object in the web.config file, rather than one for each provider. This means that regardless of which provider is being used the .Net framework sends through the profile object that is specified in the "inherits" parameter in the profile section of the web.config file.

My questions are - Is it possible to specify a different Profile object for each Profile Provider? If so, how and where is this specified?

-edit-

I should point out that there is no duplication of data in the two data sets, they are mutually exclusive (excluding email address). The SiteCore data is used solely for this website, but we have company wide profile data that spans across all of our applications, hence the need for a separate second profile object.

-/edit-

Thanks, Nick

A: 

This approach rings alarm bells with me. You have already hinted that you have considered storing two sets of data in one place. I would recommend re-visiting this approach. Have you looked at creating two views over the top of a single data store, one with the extra personalisation data and one without? You are obviously competent enough to do this if you can write your own providers.

Otherwise, you risk getting into trouble with out-of-sync profile data.

Daniel Dyson
Good point, I should have mentioned that the data sets are mutually exclusive so there is no duplication occurring. I need to keep the personalisation data outside of SiteCore as other applications rely on that data.In essence, SiteCore already uses the "inherits" parameter in the profile config to specify the Profile object it uses, and I don't know how to specify a second Profile object that my personalisation code expects.I have updated the original question to include this info.Thanks,Nick
NickGPS
Ok. Thanks for clearing this up.
Daniel Dyson