Wordpress DB to Flat Files
This is an easy project for someone with a good understanding of how wordpress uses its database.
We have a wordpress installation that will have several hundred thousand posts. With that many posts, the database becomes very slow and unmanageable. For this reason, instead of storing all the posts in the database itself, we want to store them in plain text files. The only thing that will be stored in text files is the text of the post itself, plus the text of the excerpt. Since wordpress also stores the text of updates and revisions to the original post, these too will be stored in text files. Everything else, including the title of the post, will still be stored in the normal wordpress database.
Note, in order to streamline file retrieval, we want to limit the number of files per directory to 100,000, so your solution will also need a system for spreading the files across a number of sub-directories.
You can, if you wish, store some meta data - eg the name of the file - in the database in place of the actual text, although I would expect that you would simply use the wp_posts record id as the name, or part of the name, of the files.
We need a system that will enable us to convert our existing wordpress installation (version 2.8.4) so as to be able to use text files as described above. Importantly, we also need to be able to easily upgrade our system to future versions of wordpress.
We see two possible ways to accomplish the above (though you may have other suggestions):
Either
1. Create a plugin that intercepts ALL attempts to read, write or search a post, and replace that with a read/write/search of the text files.
or
2. Create a conversion script that, when run, will modify the appropriate functions in the core wordpress files so as to achieve the above. Then, each time a wordpress upgrade is done, we would re-run this conversion utility so as to make the necessary changes again.
You should build and test your solution on your own server until you have got it fully functional. It needs to work seamlessly across all Wordpress functionality so as to totally replace the need to store text in the database.
BEFORE YOU BID
Please take note of the following:
1. We will place 100% of your bid in escrow. However, it will be released ONLY when the project is completed.
2. At our sole discretion, we will pay up to 100% bonus if the project is completed on time without a lot of hassle. Any delays beyond the agreed delivery date, or any hassles (such as having to spend a lot of time testing code that doesn't work) will decrease any bonus we might give you.
3. If the project takes more than 150% of the time we agreed upon, we reserve the right to cancel the project or negotiate with you a revised bid. NOTE that completion of the project means that the code is WORKING.
4. It is your job to test the code you produce BEFORE you send it to us. Do not just write it and then say "here, that should work" without properly testing it. If we have to keep sending it back to you because it doesn't work in this or that circumstance, it will seriously cut into any bonus we might be inclined to give you.
5. In view of all of the above, please bid carefully - bid with an accurate amount of time that you believe you need to properly complete, and fully test, the project.
6. This project is 'work for hire'. On completion of payment we will own all copyrights. Please ensure that all the code is either your own work, or you have the rights to use and modify it in a commercial environment (eg if you are modifying some existing plugin)
7. Finally, to show you have read and agreed to the above, please quote the code word 'wizard' in your bid.
I look forward to working with a highly skilled an professional programmer on this.
Happy bidding!
Noel