• Jaben
  • 100% (Exalted)
  • YAF Developer
Maybe try the latest version beta4? Sounded like the migration might have been breaking for some reason. But, you only have 80 users. I always tested YAF migration on my support database of 5000 users and it worked perfectly.

It really seems like a setting issue.

  • DJGray
  • 88.8% (Honored)
  • YAF Commander Topic Starter
Still no joy.

I'll email my configs to Bullwinkle... er, umm, Ederon here in a bit. I'm in complete agreement that there must be some sort of config issue, especially given that Jaben has done this successfully with 5,000 users and with my 80 users.

As frustrating as it is, we must beat this nemesis into submission!!


I don't know what I am missing, but I've ran through Jaben's web.config a dozen or so times...stepped through the code itself a couple of times...

here is the error I'm getting in my yaf_EventLog:

Error In MigrateUsers Task: Object reference not set to an instance of an object.

Still working through, but I figured I would post this as I didn't know about the event log until I just stepped through the code!


  • Jaben
  • 100% (Exalted)
  • YAF Developer
Going to release beta 4 here soon... might help with your issues.
Jaben wrote:

Going to release beta 4 here soon... might help with your issues.

AWESOME! :twisted:


alright, so I know what the problem is (for me at least) now:

The YafUserProfile object's properties are returning Null Exception in the MigrateUsersFromDT method. Success is returned from the MigrateCreateUser method, but something encountered during the YarUserProfile.GetProfile method is causing all the properties to be unhappy.

here is the exact code I'm looking at:

if ( isLegacyYafDB )
	// copy profile data over...
	YafUserProfile userProfile = YafUserProfile.GetProfile( name );
	if ( dt.Columns.Contains( "AIM" ) && row["AIM"] != DBNull.Value ) userProfile.AIM = row["AIM"].ToString();
	if ( dt.Columns.Contains( "YIM" ) && row["YIM"] != DBNull.Value ) userProfile.YIM = row["YIM"].ToString();
	if ( dt.Columns.Contains( "MSN" ) && row["MSN"] != DBNull.Value ) userProfile.MSN = row["MSN"].ToString();
	if ( dt.Columns.Contains( "ICQ" ) && row["ICQ"] != DBNull.Value ) userProfile.ICQ = row["ICQ"].ToString();
	if ( dt.Columns.Contains( "RealName" ) && row["RealName"] != DBNull.Value ) userProfile.RealName = row["RealName"].ToString();
	if ( dt.Columns.Contains( "Occupation" ) && row["Occupation"] != DBNull.Value ) userProfile.Occupation = row["Occupation"].ToString();
	if ( dt.Columns.Contains( "Location" ) && row["Location"] != DBNull.Value ) userProfile.Location = row["Location"].ToString();
	if ( dt.Columns.Contains( "Homepage" ) && row["Homepage"] != DBNull.Value ) userProfile.Homepage = row["Homepage"].ToString();
	if ( dt.Columns.Contains( "Interests" ) && row["Interests"] != DBNull.Value ) userProfile.Interests = row["Interests"].ToString();
	if ( dt.Columns.Contains( "Weblog" ) && row["Weblog"] != DBNull.Value ) userProfile.Blog = row["Weblog"].ToString();
	if ( dt.Columns.Contains( "Gender" ) && row["Gender"] != DBNull.Value ) userProfile.Gender = Convert.ToInt32( row["Gender"] );

I am going to continue to work this through, now it's a challenge...and I will get it done. Plus I'm too impatient to wait for Beta 4! 😝


ok so the following line is creating weird behavior:

YafUserProfile userprofile = new YafUserProfile();

It's located in the YAF.Classes.Core.RoleMembershipHelper.MigrateUsersFromDT(int pageBoardID,. bool approved, datatable dt) method.

The userprofile object contains a bucket load of properties: AIM, YIM, MSN, ICQ, RealName, Occupation, Location, Homepage, Interests, Weblog, Gender.

All of these properties have the following error:

'userprofile.[propname]' threw an exception of type 'System.Configuration.SettingsPropertyNotFoundException'

where [propname] = the property name in question (AIM, YIM, MSN, etc)

Any thoughts?

Any solutions to this issue???

I just tried to use 1.9.4 RC1

It appears to be a problem with the move from the old database Yaf_Users to Yaf_prov_Membership.

I tried to recover my password, the system told me No user by my name.

I recreated myself, it still did not work, I then did a recover and it sent the email and I was able to login.

The Yaf_prov_Membership database that was previously empty now had my name and only my name.

Any ideas??


Do I need to open a Support ticket?

I am talking to myself :wink:

If each user registers their name again, they are able to use the previous account exactly as before.

If a user selects Lost Password the message states User Not Found. So they are clearly not in the system.

Once a user re-registers again they are added to the yaf_prov_Membership table.

Is there a way to automate the process?

New discovery:

Users who were loged in previously are still able to access the system but if they logout, they have to recreate the account.

Werid eh?