New User Experience - Ability to Send DisplayName?

New User Experience - Ability to Send DisplayName?

This question has suggested answer(s)

When a new user signs up a conversation message is sent.  An admin can customize the message in the control panel and use {0} to show the UserName in the conversation message.

Is there any way to make this send the DisplayName instead?

Related Documentation:

http://telligent.com/support/telligent_evolution_platform/w/documentation/new-user-experience-page.aspx

 

Verified Answer
  • The issue is that when a user is created, they don't yet have a display name.  It is not until after the user is created that they can go to their profile and chose a Display Name.

  • Alex,

    This is generally true.  However, it can be customized with Chameleon controls where you can ask for the user's display name during sign up and thus it is assigned during that period... which have implemented.

  • Mark, If I remember correctly we had this problem one one of our clients sites and I think that the display name is not acutually set until after this email is sent; I have just checked the code and the process is:

    1) user is created (Users.Create())

    2) welcome email sent in the Create() method

    3) profile data set and user updated (SaveAdditionalProfileData() called) - displayname set here

    I would say that the best solution here would be to:

    1) disable "deliver welcome message" in the control panel

    2) create a csmodule which monitors the user update event

    3) send a custom email from this module with the same info in as the standard one (but at this point the users display name should be set) - you need to use the new mime templates to create an email.

    Hope this helps. Let me know if you need any help with this.

    Alex - If I am wrong then please point Mark in the right direction instead.

    Thanks

    Adam

  • Thanks Adam!  

    I'll follow these instructions and let you know if I can't resolve it.

  • Only thing I'd say with that solution is be careful that it doesn't send additional "welcome" messages each time a user saves their profile or settings again.

    One way you could do this is when a user is created, store an object in HttpContext.Current.Items , and then check for this object when a user is being updated.  Objects stored in HttpContext.Current.Items only exist for the duration of the request, and so that object won't be present for subsequent updates.

    An alternative might be to set an extended attribute on the user once the welcome message has been sent, and then only send the welcome message if that attribute has not been set.

All Replies
  • The issue is that when a user is created, they don't yet have a display name.  It is not until after the user is created that they can go to their profile and chose a Display Name.

  • Alex,

    This is generally true.  However, it can be customized with Chameleon controls where you can ask for the user's display name during sign up and thus it is assigned during that period... which have implemented.

  • Mark, If I remember correctly we had this problem one one of our clients sites and I think that the display name is not acutually set until after this email is sent; I have just checked the code and the process is:

    1) user is created (Users.Create())

    2) welcome email sent in the Create() method

    3) profile data set and user updated (SaveAdditionalProfileData() called) - displayname set here

    I would say that the best solution here would be to:

    1) disable "deliver welcome message" in the control panel

    2) create a csmodule which monitors the user update event

    3) send a custom email from this module with the same info in as the standard one (but at this point the users display name should be set) - you need to use the new mime templates to create an email.

    Hope this helps. Let me know if you need any help with this.

    Alex - If I am wrong then please point Mark in the right direction instead.

    Thanks

    Adam

  • Thanks Adam!  

    I'll follow these instructions and let you know if I can't resolve it.

  • Only thing I'd say with that solution is be careful that it doesn't send additional "welcome" messages each time a user saves their profile or settings again.

    One way you could do this is when a user is created, store an object in HttpContext.Current.Items , and then check for this object when a user is being updated.  Objects stored in HttpContext.Current.Items only exist for the duration of the request, and so that object won't be present for subsequent updates.

    An alternative might be to set an extended attribute on the user once the welcome message has been sent, and then only send the welcome message if that attribute has not been set.