The follow blog will relate the steps I took to implement this new DotNetNuke Version 4.8.0 site.
Some Background would be helpful. The Old site was on DNN V3.3.5 and had been there for quite some time. I was rather embarassed that site had been unchanged for over 6 months, especially after being at Open Force '07 in Vegas.
So once the new year had come, I began working on the how I would upgrade the site. I choose to start fresh with a new DNN 4.8.0 site base on several factors:
a) I want a clean up so old stuff I had in the site b) I wanted to move to SQL 2005 c) I believed I would spend more time upgrading and fixing then starting with a new copy d) I had time - it's cold and snowing.
Here are the steps I took. Please note that my site is hosted by DotNetPark and any reference to actions taken on their site my differ depending on your hosting provider. By the way, I highly recommend DotNetPark.
1) Backup the database - Using DotNEtPark's Database backup functionality I copied the database and downloaded the backup file to my local development PC.
2) Save a copy of site files - Using WS-FTP, I downloaded all the files from my site to my local development PC.
3) Created a duplicate site - On my local PC, I re-created the site. I needed to alter the PortalAlias table to add localhost values.
4) Create a new DNN V4.8.0 site - again on my Local PC, I created a new DNN V4.8.0 site using SQL 2005 database.
5) Recreate the pages on New Site - During one snowy January afternoon, I recreated the pages on my new site from the pages on my old site. I used the export cabability of most to recreate the modules on the new site. There were some changes and overall tweaks done to the pages to improve the flow - well I believe so.
6) Move the Users over - This was the most difficult step and I choose to do this manually. There are several modules available that will allow you to move the users from one site to another, but I want to learn the underlying design of the users and aspnet membership provider so I could handle any issue with the site. I created a module that allowed my to import or export users from a DNN 4.8.0 site. I created the required data via a series of queries into the database. The only road block I encountered was getting the passwords. To solve this I created a simple module to extract the UserID and PAssword from the DNN V3.3.5 site. USing the extracted data, I created a table of data that I could use as part of the query. I also limited the data extracted to anyone who had be active since 2007. This took the users from 4800+ to 500 or so. Once locaded I verified that I could log in via the same password on both system.
7) Prepare the site for Upload - I copied the working site files to a "upload" directory and revised the web.config file. I needed to point the database at the new SQL 2005 database at DotNetPark. I also removed some unwanted files from the install (some gifs etc) that were not needed. I aslo backed up the new database and zipped the backup file. I placed the zip file into a new Backup directory in the upload directory.
8) Prepare the target site - I created a app_offline.htm file to let people know that I was working on the site - this is a feature of ASP.NET V2.0. I copied the file up to the site on DotNetPark. First Bump: When I checked by browsing to the site, I site got the site - no app_offline.htm. Well since the DNN 3.3.5 site was ASP.NET V1.1 based, this feature is not available. I used DotNetPark's control panel to change the site from ASP.NET V1.1 to ASP.NET V2.0 and then started to get the app_offline.htm page when I browsed. Lastly I deleted all the DNN files from the target FTP directory on DotNetPark.
9) Copy the files - Using WS-FTP (Home edition) I copied all the files in my Upload directory to DotNetPark. I copied about 30mb and it took about 25 minutes or so.
10) Restore the database - I restored the database using DotNetPark's restore feature that will take zipped files. I pointed the tool at the backup directory and the zip file created in step 7.
11) Removed the app_offline.htm file - this opened the door to the site
12) Browsed to the Site and the new site came to life. Tada.
13) FInal cleanup 1- I used the respository for a download tool ... HOwever the tool as a expicit reference to the file located on your site. Well I built the site on my PC and once on the host site, the file locations are different. Using the file location defined in the Host settings, I revised the respository path accordingly. That helped, as the page would not render any modules until that issue was corrected.
14) Final Cleanup 2 - SMTP settings --- ooops I had completely forgotten as I did reconnect the SMTP setting on my Development PC. After a quick E-mail to DotNetPark, all was working ...
Well that's about it ... in total about 12 hours work, but for various reasons (called Life), I took several weeks to complete all the steps. However from step 7 on, were all done this pass weekend.
Hope this helps
Paul.