I thought I would have some trouble getting back into the project after the little break I took for the camp I was helping with.
I actually worked literally all through the weekend/week after and got a lot accomplished. The code portion of the project is basically done. I will be getting a small site up soon with the source code and a download so people can start giving feedback and comments.
I coded all the form controls for reordering results and filters on the search page.
Advanced Search Page
All the form controls for the “Advanced Search” page work. You can now filter and search by category, author and all the other settings. The advanced search page also uses the virtual page setup
You can easily disable API features depending on what your search plugin will need. For example the MySQL plugin needs the index table, pagination, and advanced search options while the Google plugin can disable all of these and save resources.
I also wrote the installer code to set up the index table, etc.
Search Settings / ACP
You can also have your plugin store settings which the Google plugin does for the client settings. The Search API generates a settings control panel and you can add settings very easily without much code.
Cleaning up code and commenting, etc
I did a mass clean up of all the code. I made sure all the functions that should be in the core search api were there. I also went through and made sure all my comment blocks and comments described what the plugins are doing so it’ll be easier
for other developers to develop new search plugins. In addition I made sure any string was wrapped in the i18n function (something I forgot to do from the get go)
Finished the MySQL Search Plugin
The MySQL fulltext search plugin is now complete.
Started and Finished the Google Search Plugin
The Google plugin has been fully writen and showcases the settings part of the search plugin. That makes two example plugins that showcase all the features. A sphinx plugin will be released before the end of the summer of code program.
Like I mentioned, I am going to get a small site setup (trac) so I can start getting this tested. I am also going to probably write the Sphinx plugin as a third example.