Last night I had the chance to discuss my proposal with Pete Mall, my mentor. He realized that I put an unnecessary step for basic migration option which was installing WordPress first and then replacing the database. So we decided that the script should download & extract WP to the new server, create the config file, replace the database and copy .htaccess files to the new server (which is also another point I never thought of). I also decided to copy the wp-content folder as well by default in the basic migration option. The user will be able to choose not to copy wp-content folder by unchecking the related checkbox as he/she may either not have any or prefer not to copy themes, plugins or uploaded files.
At our previous conversation, Pete suggested me to have a look at WP_Filesystem and various migration plugins written for WordPress. Those migration scripts he suggested does have nice features I should consider adding so I will keep them in my mind during the development process. Also, we decided using WP_Filesystem would be more beneficial as the WordPress is already using it for upgrades. Therefore it will not only save me from writing a complete library for FTP connections, but also provide a more secure way to transfer the files. So, WP_Filesystem will make WordPress Move a more native plugin for WordPress.
Along with these, I am currently trying to get familiar with the core of the WordPress to see which functions I can make use of. I will also try to prepare a flowchart of the plugin in the upcoming weeks. Next week, I will post the details of my project to various WordPress discussion boards to learn other users’ needs and suggestions. After the next week, I will be more active as I will not have any classes after May 13th.