Originally Posted by dinowuff
Actually JP you don't have to modify existing tables. You would have to add tables; however, upgrades would not be an issue. Lets say that the current DB has a table tblRepPoints that has UserID FieldID and RepCount Now your view selects from tblRepPoints among all the other tables Add a second table called tblAORepPoints Same fields and names as the default but add any needed fields needed for calculating Rep Strength. Write a sp that syncs data between both rep tables and does what ever math needed to determine how many points should be given. say a tut forum is 10 and a GCC forum is 2 if rep added to post in forum 10 then fully approve = 10; fully disagree = -10 if rep added to post in forum 2 then fully approve = 0; fully disagree = 0 pseudocode at its worst but you get the picture. Trick is what ever value is derived THAT value is inserted into the original tblRepPoints table. So when the upgrade comes along the only thing that has to be checked is if there is any change to the tblRepPoints table. If so modify the sp_AORep to incorporate the new table changes. And if you forget. No biggie. You'll have pissed off users that say their reps are off, but that can be fixed. If you want, I'll write a prof of concept. , but you'll have to use your test/dev system to test.