Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Custom Registration questionsCustom Registration questions
Previous
 
Next
New Post
6/12/2010 3:48 PM
 
Hello Friends,

I have a custom table in my DNN 5.4.2 application named People.  I am already heavily committed to that table so I need to keep it.  It contains names adddresses, phone numbers and plenty of other data, about 40 fields in total.

I want to now open up the system to allow the public to register, but I am debating the best way to handle the registration process.  I seem to think that I need to map the DNN user registration fields firstname, lastname, and email address to my People table.  I will also have to take care that when the user updates the People table, that we write the updates back to the DNN tables.  

My question to the group is 
a) will I buy and install something like Data Springs product?  If so, is that the best choice?
b) Can I safely and in Best Practice modify anything that will fire the sproc after registration is complete (I looked at user.ascx.cs).
c) I hate storing the same data in two places, have you any other suggestions how to keep them in sync?
d) If I did modify the admin/users file, is that modifying core?  I want to preserve my upgrade path.


Any other thoughts you have would be valued.

thanks

Mark







Mark Breen Ireland 1987 BMW R80 g/s
 
New Post
6/18/2010 8:32 PM
 
Hello All,

Should I re-word the questions above?  If it is confusing, or unclear, would you like to push me to re-word it?

thanks for any input,

Mark

Mark Breen Ireland 1987 BMW R80 g/s
 
New Post
6/19/2010 9:16 AM
 
Mark, this is not an easy task. if you want to keep your people table and sync with DNN user profiles, you will need to write a number of triggers (into both directions) and due to redundancy you are still exposed to the risk of inconsistency on any upgrade. In general, DNN user data is implemented using a membership provider, but AFAIK user profiles are part of the core framework, which would requires core modifications to be replaced. Another option might be replacing your peoples table with a view on core data - but any changes will only be able using the core business objects.

Cheers from Germany,
Sebastian Leupold

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
New Post
6/21/2010 4:15 AM
 
Hello Sebastian,

Thanks for the update, you confirmed what I thought.

Here are current thoughts.  

In my people table, I have approx 40 fields and as mentioned, I am pretty heavily committed to this table.  In the DNN profile, I only need to maintain the following publicly visible fields

UserName
Password
FirstName
Surname
Display Name

In fact, if FirstName, Surname, or Display Name went out of sync, it would not be a disaster, it would be more a case of untidiness.  

So as a solution, I am considering the following steps, would you comment on these and see if you think that it is satisfactory?

Maintenance of Existing Members
------------------------------------------
1) Make the mental decision, that People overrides DNN users FirstName, Surname and DisplayName
2) Create a trigger or scheduled job to sync from People to DNN Users, keeping just firstname, surname and display name in sync



Creation of New Members
------------------------------------------
1) Make the mental decision, that People overrides DNN users FirstName, Surname and DisplayName
2) Acquire DataSprings Registration Module and Insert a new record in People table when a new user registers

Done, nothing else.

Downside of this is that if a person find their DNN profile, and makes changes, they will loose those changes, but all they loose is a change to FirstName or Surname.  Hopefully it will be apparent that the people section is the primary data maintenance, and perhaps it might even appear to make common sense.


What do you think?  I know it is not ideal, but this simplistic one way direction looks easy to maintain and fault find if I have problems with it down the line.  Two way data exchange would be much more difficult.  

To be honest, I would prefer scheduled jobs rather than triggers.  Do you agree with that ?

thanks

Mark



Mark Breen Ireland 1987 BMW R80 g/s
 
New Post
6/21/2010 6:31 AM
 
Mark,
UserName, FirstName, LastName, Email Address and Displayname are stored in users table not in user profile, which makes it easier for you to create a trigger between both tables (triggers are usually more efficient and accurate than scheduled jobs). Passwords are maintained in MS membership component, for security reasons I would stand away from duplicating it in my own table.
If you want to create users based on your people table, you should use DNN business API instead of SQL server tables (ASPNET tables will be affected as well).

Cheers from Germany,
Sebastian Leupold

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Custom Registration questionsCustom Registration questions


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out