A week ago version 2.6 of BlogEngine.net was released. This has plenty of new features such as a new file manager and image tools, but for us the most important was site aggregation.
As I posted about previously, we moved to BlogEngine from Community Server because we need multi blog hosting, but with BlogEngine 2.5 we had to write our own basic site aggregation by creating a custom theme that managed some RSS feed merging behind the scenes. Now with BlogEngine 2.6 this type of feature available out the box.
The upgrade process was OK, replace the contents of the IIS site folder with the new bits, set the SQL connection string, copy in our App_data and custom Themes and run an upgrade SQL script.
The only issue I had was that in this process it seemed I lost all our user accounts. A quick check showed the issue was our 2.5 setup was using the blogs\[blogname]\users.xml file to hold the user IDs for each blog, 2.6 was using the be_users SQL table. Now I think this was a by-product of our import process from Community Server.
The fix was not too bad
- Complete the BlogEngine 2.5-2.6 upgrade
- I now had a be_users table with a row for each blogs admin user, but no password set
- Selecting a blog I opened the [IISroot]\App_data\blogs\[blogname]\users.xml file to find a couple of entries, one for the admin account and one for the blog’s owner
- Firstly you need to login to the blogs using the default admin account (password admin). It is of course a good idea to reset your admin password and contact email at this point.
- Next go to the blog’s control panel users section and add a user matching the missing account, in my case an admin user called Richard , you can also set the email address and the password if you know what you want, and the job is done.
However in my case, though I knew what to set the admin user’s password to for the blog, I don’t know the blog owners old passwords. However setting these back is easy as all I had to do was copy the password hash block from the XML file and pasted it into the be_users password column newly created user account.
Once this was done we could all login with our existing accounts.