I have some results of my project… you can see two charts with the percent of acceleration, comparing the previous method for hierarchical data and the new with MPTT (:
Updates from June, 2009 Toggle Comment Threads | Keyboard Shortcuts
Sorry for the late update—I’ve been working nonstop for the past few days on ironing out a particularly nasty problem (which I’m happy to say is fixed). The basic UI for the editor is complete, and I’ve begun structuring the HTML output of the UI. When that’s done, I’m going to implement the editor as a plugin in the admin panel, and work on developing the output into a full WP theme. Hopefully I’ll have a demo of the editor up sometime soon (and maybe once people see it, they can help me think of a name!).
Hello to everybody,
During the past week no changes on the code so far, we (my mentors and I) are about to test the Friends recommendations in the Buddypress demo site (http://testbp.org). I’m also researching a bit about find similar texts, probably this week I will start coding this part of the code.
Also on my ToDo list for this week is gathered information about what users read in order to improved the recommendation of possible interested post (that will be done by text similarity and tags).
Happy coding to all.
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.
Hello, for all :). I’m currently working on a test for MPTT, the test is not ready yet. I’m importing the data from http://www.geonames.org/ . Maybe the next weekend I will get some results.
I work too in a special pages of the plugin (in the admin section) for rebuild the tree, and show the tree data.
Thats all… this week wasn’t very productive (I’m in exams period again, maybe my last exams period in the uni xD).
The project is going ahead at maximum speed. I have finished implementing front end features, and have been meddling with the backend interface for a while now. I am currently working on allowing the flash uploader to distinguish between normal uploads and photo uploads. Apart from that, the HTML uploader works fine – it will add uploads as photos or as attachments according to the user input.
After I finish with the Flash uploader I will work on the .zip upload function.
So it turns out that this project is more or less valid after all. I did a few simple tests displaying the front page with the default theme, using trunk and using my MPTT modifications. In each case, there was essentially just the default “Hello world!” post with a varied number of categories applied to it. Each installation had the same categories of course, and on any given test each one had the same categories selected. The MPTT installation was the clear speed winner every time. The margin depended rather significantly on both the number of categories selected and the depth at which those categories resided. I saw average page generation margins ranging from 5-40%, with the latter coming on a test using about five categories, one of which was at depth 7. It certainly wasn’t a comprehensive testing, nor was it necessarily realistic, but it shows that it is indeed worth the work.
Other than that testing, I got around to writing in some comments that I’ve been neglecting and I started writing the code for new installations and database upgrades for MPTT. Actually I should say I almost finished it. I got partway through testing when I realized that what I was doing to find top-level categories (parent == 0) would not work. It seems to me that there is no way to select top-level categories other than to select all and check each individually in a loop. This is because get_terms checks “if ($parent)” instead of “if (false !== $parent)”. I feel like it’d be a better idea to do the latter. Does anyone know if changing this will break anything or i it was designed this way for a reason? If not, I feel it would be better to change it to allow for top-level selection.
I’m a wee bit behind with exams and such (and updating everyone to my status) 🙂 but this is what we’ve basically decided to do with my project after a conversation between Andy, Myself, and Jake.
We are assuming here that users are already registered and the site is already set up similar to wordcamp.org. The scope of the project is going to be to allow users to create/RSVP to events and within those events, either watch or attend events. We’ll add more on if there’s time.
I’ve started coding the basic framework of the project and I’ve got a chunk of the core classes done.
I’m trying to get something to show as soon as possible for everyone, because I know there’s heaps of people excited to see it and I’m anxious to see how the final product looks as well, so I’m just going to keep on coding the night away in the cold somwhat snow-filled winter we’re currently experiencing here (roads/school closed, quite fun).
Progress is going awesome everyone. I’ll have a lot to show Wednesday