Wednesday, December 12, 2007

DBera Is My Beagle Hero

We use Beagle extensively at Largo for searching historical documents. We have hundreds of thousands of documents going back 20 years. Each night I build a static index of each department, a static index of the city-wide shared directory and then the users personal directories. One of the requirements we have is to block users from searching departments of which they are not a member. We also had the requirement that we wanted users to be able to search individual static sources as well, to reduce the number of hits. The only way previously to do this was to have a zenity front end run before Beagle, and display all available indexes available to each user and then allow them to toggle the desired sources. It then passed this list to the beagle daemon and started the UI. Ok, it worked. But if you wanted to change your criteria you had to close Beagle and relaunch. Not very friendly.

So DBera cooked up a small fix that allows you to select from the sources via the UI itself. When a user runs Beagle now it figures out which sources they have access to search. It then starts the daemon with all of these sources and displays a dialog as below:

The UI then comes up and you are able to alter your search criteria on the fly. While all sources appear in the pulldown, only those connected with the beagle daemon will return results.

It's working perfectly for us. There is an ongoing conversation about how to integrate something like this into the main build. The patch right now is hard coded for our needs, but it sure seems like this would be helpful for other people. If you have comments or suggestions, add them to the feature request.

DBera, thanks for this step forward.

No comments: