ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Register member without email

May 31, 2012 6:12am

Subscribe [3]
  • #1 / May 31, 2012 6:12am

    atle

    29 posts

    Got a client with around 15000 members, handled by a CRM. We want to give these members access to content on the new site I’m building for them now.

    I’m able to get a CSV-file with all the member data, and have successfully converted it to XML with the Member Import Utility. BUT they haven’t got email-adresses for most of their members. Any way I can register the members without email-adresses? Could I hack the CSV-file and add a fake email-adress to each member (.(JavaScript must be enabled to view this email address)), and then ask them to update their adress the first time they log in?

  • #2 / May 31, 2012 6:43am

    mark186282

    290 posts

    Indeed.  We’ve run into similar scenarios.  Here’s my recommendations, and things to look out for:

    1.  The normal path to “I forgot my password and would like to log in” is to use their email to reset.  For your site, you’ll want to give some clear instructions on how to request a lost password prior to them logging into your site for the first time.

    2.  you’ll want to make your default email address unique… not all the same.  Example:  [email protected]   - Use a unique number for each imported member, and keep that in your spreadsheet for your records.  You could automate this excel pretty easily by having an ID column, and then an email column that uses the ID column with a quick little calculation: (if your A1 field contains your ID, then you could make B1 column contain =(CONCAT(“default+”, A1, “@mysite.com”)) - then drag that equation down all 15,000 members to make their unique email addresses.

    3.  In expression engine (and a column in your spreadsheet), create a custom variable called “email is updated” with the options of “Yes” and “No”.  When someone logs in, send them through a little routing page that looks at that custom variable and if it’s not “Yes”, then send them to an email update page that also updates that flagged variable.  (alternatively - and cleaner, you could create an extension that hooks on the login, and routes them accordingly).  If you make the “Yes” the first option, it will be the default - so future enrollments won’t be subjected to having to update their email after they enroll with their real email address… only those that you have imported will be forced into this.

    4.  of course, make sure you backup everything before you try the import… as it may take a couple of attempts to get everything to go smoothly.

  • #3 / May 31, 2012 6:44am

    jcowen

    66 posts

    EDIT: looks like Mark got in just before me. His solution looks pretty comprehensive 😊

    On occasion I’ve had to do a similar thing to create ad-hoc logins with @test email addresses. Never done it as part of a mass upload, but imagine it would still work. Although I think the email address would need to be unique each time.

    I guess one thing to be aware of is that no-one can get a password reminder going this route until they have updated their email address. Which may or may not be an issue for you. Though how you ensure they do update their email address once logged in is probably another challenge!

  • #4 / May 31, 2012 7:04am

    atle

    29 posts

    John and Mark, thanks both for quick and understandable replies!

    I’m almost tempted to tell my client to maintain their members in two places, and start the website fresh, without any members imported. But I’d like to at least make a fair attempt at simplifying the process for them.

    Why is this still such a hassle? There really should be an easier way to import/export/sync data like this, without being a database wizard…

    Mark: have you done any automatic syncing as well? If so, any pointers? Had a quick look at Datagrab, but it doesn’t seem to be able to create new members…

  • #5 / May 31, 2012 7:25am

    mark186282

    290 posts

    ...have you done any automatic syncing as well? If so, any pointers? Had a quick look at Datagrab, but it doesn’t seem to be able to create new members…

    correct - for EE2, you’ve just got the “admin utility -> member importer” to work with.

    We’ve home-brewed a series of scripts for our own unique situation to bring members in from another db, so I don’t have a lot of experience with the member importer utility.

    There is a brief wiki article on the “minimum data required to import a member”
    http://expressionengine.com/wiki/Import_Members/

    ...

    For syncing data between systems… not exactly.  We do some stuff to preload photos and data about new members from a third party data aggregation service, but we don’t sync member data between EE and another system.

     

  • #6 / Jun 01, 2012 11:02am

    Dan Decker

    7338 posts

    Hi atle,

    As you have by now discovered, ExpressionEngine requires a unique email address for each member.

    The Member Import Utility is really useful for converting .csv to EE’s XML member format and can help you map custom fields and everything. However, it does take some prep work and planing, especially with 15,000 records.

    Mark’s reply looks like a really solid workaround, but without valid email addresses for each member, there is no easy answer.

    Cheers,

  • #7 / Jun 04, 2012 3:59am

    atle

    29 posts

    Thanks all for clarifying the import issues for me, I’ve learned a lot! I’ll try to import the members with fake email adresses, just to get them into the system, it might help with the initial sign-up process to be able to check member numbers or something before allowing the member to be fully registered. Consider this issue resolved, Dan!

  • #8 / Jun 08, 2012 5:27pm

    Dan Decker

    7338 posts

    Hi atle,

    Fantastic!

    If I can assist along the way, please let me know!

    Cheers,

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases