- The Way We Work: Twitter del.icio.us Hack
- Video of Scalable Theming Session from Drupalcon Boston
- Google's Mapping User Experience; Where have you been?
- The Importance of Strategies, Operating Plans & Success Metrics for NGOs
- vi, Drupal Search, and Playa Del Carmen Retreat
- "Breadcrumb" Definition
- Support the Warrior, Not The War.
- Firefox Tip: Changing Default Browser URL Bar Behavior On Click
- DrupalCamp Seattle Wrap Up
- DrupalCamp Seattle Underway
Search Sprint Day One
LIVE FROM THE MINNESOTA SEARCH SPRINT...
The sprint team of Robert Douglass, Blake Lucchesi, Djun Kim, David Lesieur, Chad Fennel, Earnest Berry, and myself, began work at 8am on this uncharacteristically warm sunny May day at the University of Minnesota.
The personal aspect of the day include breakfast at Applebees, an excellent Vietnamese/Thai lunch (that CivicActions paid for, Thanks CA!!!), a loud dinner and drinks at the bar across the street, nice facilities on campus but even cozier couches in the lobby of the hotel, and Robert's fascination with his Vietenamese coffee. We are here to contribute to a project we love, and at the same time, getting to know each other. Djun and I took lots of pictures that hopefully will get posted somewhere soon.
Robert did his homework giving us some direction. We started the morning tackling the search node ranking patch. This patch removes the hard coded knowledge of node, comment, and statistics module from the search node rankings, and puts this code in a new hook_rankings for each of those modules. The immediate win here is that contrib modules can implement this hook and impact the search rankings. With this, modules such as voting API could affect a nodes position in the search results. We are "good" developers taking our lead, so half the team worked on the patch and the other half worked on the test case.
I patched devel for 7.x (thanks Moshe for letting me commit this!) so we could create some test nodes.
We did a slight refactor of the "no results" message to display search help based on type, so that the "no results" message displayed when searching for nodes is different than the help when searching for users.
I also looked at a patch from Robert to add URL alias to update index but as you can see from my comments there, I'm not sure that this gives us much until we fix the bigger problems relating to how we handle punctuation.
After lunch we spent a couple hours thinking big. We bantered around the idea of refactoring so that contrib could either use the core index but not the User Interface, or use the UI and not the index. We looked at the faceted search UI, and contemplated how this might be done with views filters and exposed filters. We talked about a search-parse-object that could be created earlier in the process. The equivalent to this today is parse_search_query() which is called from do_search() and always acts on the keys that come from the URL or the form. If we had a search-parse-object, this could be passed to do_search() rather than have do_search create it from the keys, allowing more complex search queries. But I admit, this wasn't my idea, and I don't quite get it. I'm skeptical and would like to see some code.
After a snack break we returned back to earth, some continuing the mornings work, others back to the issue queue. I tried to grasp the search-parse-object refactoring idea and stumbled upon some low hanging fruit and wrote a patch to refactor the advanced search form and search keywords. This patch is similar in concept to the node ranking refactoring. It will allow contrib modules to add search criteria to the advanced search tab, the search keywords in the URL, and the search SQL query.
And it's now 11pm and time to rest before starting again tomorrow. But before I retire, I'd like to thank everyone attending, to our hosts at the University of Minnesota, but also to all the sponsoring companies that made it possible for us to meet, including CivicActions!
- doug's blog
- Login or register to post comments
- Delicious
- Digg
- Technorati





