I just recently encountered a use case where I needed to perform ranged searches in Drupal against a Solr back-end. This ended up being far easier than I ever anticipated. Here's a quick walkthrough of the steps involved to expose a CCK field to Solr and then explicitly use it when conducting searches. This was done using a Solr 1.4 engine and http://drupal.org/project/apachesolr 6.x-1.0-rc5
This took me a while to figure out and ended up being quite simple once complete ... I hope it saves someone the headache I got from trying to figure it out! So here we go ... in 3 simple steps.
Komodo provides a solid IDE for Drupal work that constantly surprises me with hidden tidbits of usefulness. One of the latest tricks I've been using provides the ability to perform quick lookups against http://api.drupal.org/ with a simple keyboard command. By default, this functionality is set to lookup functions against php, but because php help presents itself in tooltips I find it useful to redirect searches for Drupal.
I've been using ActiveState's Komodo for a few weeks now in response to my frustrations with Eclipse. As with any IDE there was a short relearning of my ways that was necessary, but I am happy to report that I really like this IDE. The last bit of functionality I've been wanting to tie together is directly related to debugging Drupal in Komodo. Here's the steps that I took to get a Drupal development environment with debugging in Komodo on a clean installation of a 64bit Ubuntu 8.04.
A good deal of this may be redundant if you already have your environment established, but it is recorded here nonetheless to help others become proficient at what we do. While I prefer command line interfaces I am going to lean towards providing gui tools to allow newer devs options. If you don't need or want all of the minute details skip to step 6 and get straight into configuring for debugging.
I like to develop against local virtual hosts when I work with Drupal. Here is the apache httpd.conf configuration that has served me the best so far. The first VirtualHost is the default .. .simply replicate the second VirtualHost entry and edit accordingly. A simple edit of /etc/hosts to enter the virtual host name that matches the virtual host entries in the httpd.conf and a quick reload by apache and you are good to go. I particularly enjoy the independent logging for each site.
It's official! The next Drupal Camp Colorado is happening the weekend of July 26th and 27th in Denver. Come join us in the mountains for two full days of Drupal wisdom and knowledge. We are going to host a mix of sessions and BOF's geared towards both the new Drupalers out there as well as the experienced veterans. Come join companies such as pingVision, Growing Venture Solutions, Aten Design Group, Blue Tent Marketing, Deproduction, and Civic Pixel among others.
All great Drupal Camps leave participants thinking "what a great value" and "why not more" so to that end we have begun organizing a DBUG Camp in Denver/Boulder area of Colorado towards the last weekend in July. Many details will be forthcoming in the upcoming weeks, but for now I'd like to direct your attention to our Open Call for Logos ... yep, that's right ... we need help getting that killer logo put together so now is the time for you graphical types to shine!
Today was an amazing day in Paris. It's hard to imagine without the pictures, but we all gathered on the first floor of the facility that hosted yesterday's Drupal Camp. A good portion of yesterday was planning and thinking leaving today for massive amounts of hacking and coding. Charlie Gordon, Jimmy Berry, Roel De Meester, Erik Stielstra, Rok Žlender, Károly Négyesi, Miglius Alaburda, Dries Buytaert, Douglas Hubler, myself and our gracious host Ori Pekelman of AF83 gathered for more than 10 hours to solidify the framework that will help lead Drupal to it's next Killer Release.
Primary amongst todays developments was http://drupal.org/cvs?commit=111813 which brought a framework for functional tests to core. This is the culmination of "Three years, one month and twenty four days" according to Károly who also had this to say before he started dancing in his seat:
(12:24:52 PM) chx: YES YES YES YES YES YES YES
(12:24:54 PM) chx: YES YES YES YES YES YES YES
(12:24:54 PM) chx: YES YES YES YES YES YES YES
(12:24:55 PM) chx: YES YES YES YES YES YES YES

During recent presentations at FOSDEM 2008 and DrupalCon 2008 Boston, founder Dries Buytaert presented the idea of bringing full testing of Drupal Core ( here and here ) to the Drupal community. When a system changes as rapidly as Drupal does, it becomes increasingly important to provide quantifiable reporting on the health of the system so that growth may continue. Without such reporting, Drupal 7 will realize a substantially shorter development cycle before a 7 month code freeze is enacted around July 15th, 2008. This will allow testers and developers a 7 month period to guarantee the quality of Drupal's next major release.
Today was the first official day of the Paris Code Sprint. Approximately 50-60 Drupalers from around the world gathered on the first floor to learn about and discuss Drupal while the sprinters gathered upstairs to solidify and unify our testing efforts. Ori Pekelman of AF83 has been a gracious and entertaining host providing the foundation for a good amount of discussion and coding.
pingVision has generously covered my airfare and hotel accomodations to ensure I am able to contribute to the Automated Testing Code Sprint happening in Paris this upcoming weekend. This is an important event that will help lay the foundation for Drupal's continued growth and evolution. It is a great responsibility and honor to be able to contribute and I look forward to helping make this effort a success. It is the continued effort of progressive companies like pingVision that help prove the Drupal Community is simply the best out there.
In addition, a special thanks goes to Greg Knaddison for his donation and support in this project ... there would simply be no Drupal without people like Greggles in the community.