stephanos wrote
Hi there,
I try to figure this out for a week now, maybe someone can help me. The thing is that I try to extend the user profile class of the core (because it should save and show historic data and compute input from multiselects as well).
Anyway, what I try to figure out is, how to extend it with the least changes to the code. I had some ideas which all didn't work out:
a) Extend the core directly -> not good, problems when upgrading
b) Build a seperate project which inherits most of core -> ascx/vb files all have to be corrected in order to point to new 'XProfileController'
Is there a proper/elegant way?
I appreciate any help, thank you!
If all you want is history - you might add some database triggers on the table you want history for that updates an audit table on any change.
otherwise, you'll be creating two different things: A profile provider, and a User page.
For the profile provider, you can do anything you want, then change out the line in the web.config to point to your new provider. it needs to conform to the expected signatures - not too difficult to do.
For the user page, it's a bit tricky because it needs to be one single module that handles: new user registration, profile updates, password changing, subscription changing, admin edits of user accounts.... you can pick apart the one thats there to figure out how. If you email me privately and are not in a competing industry; i'll send you the code that I've written to create the user registration seen at http://www.skydivechicago.com.
Beware - it's not a two day job. It took me about a month of work to really get everything down (granted, the project included a lot - cross application login took a lot of the time.) My code might save you a week of time; but the down side to how i do things is that it isn't 'configurable' after the fact - changing registration would require code changes.
If you decide you want to hire the work out, look me up; i've got a bunch of experience in that area of the code and so my time estimates are likely to be shorter than most. Or if you just want a boost; we can spend an hour or two on a netmeeting and I can give you a 'tour' of what I had to do and why.
Cheers