Contents

Avahi Integration for Beagle Network Search

This project was merged with beagle and is available since 0.3.0. Checkout the details at Network Backend.

What is this project about?

Avahi Integration is Kyle Ambroff's Summer of Code project. Networked search is being implemented as two projects. Alexis Christoforides will be implementing the protocol, while Kyle will be focusing on broadcasting and automatic service discovery, in addition to updating the user applications to support network searches.

This project has several specific goals:

  • Integrate Avahi into beagle to allow the broadcast its availability and automatically discover other remote beagle indexes.
  • Allow the user to easily enable index advertizement, and set up secure search relationships between known hosts.
  • Update the beagle user programs such as beagle-search to allow users to search indexes on multiple computers over the network.

The origional proposal is here.

Summer of Code Program Results

Google Summer of Code projects were due by 08:00 PST on August 21, 2006. I am not entirely satisfied with the work that I have produced, especially in the user interface components. But parts of it are working. The Beagle daemon will advertise its availability if you choose to share your search index, and will also advertise its authentication requirements if you choose to protect your index with a password.

 Avahi Discover showing multiple beagle nodes are available.
Avahi Discover showing multiple beagle nodes are available.


The search preferences utility now has a simplified networking tab, that lets the user share his/her index with a custom name, and optionally protect it with a password. The user can also add and remove hosts that will be searched when available. The user can enter static hosts, or select any number of hosts from the dynamically populated icon_view. If the user tries to add a host without the avahi-daemon running, everything on the AddHostDialog is hidden except the area to enter static host information.

 Configuration is found in the Networking tab of your search preferences.
Configuration is found in the Networking tab of your search preferences.


 Beagle finds computers to search automatically.
Beagle finds computers to search automatically.


 You can statically search computers too.
You can statically search computers too.


The BeagleClient library will now discover new hosts on the network every time you create a query. If the host matches an entry in the network configuration, then it will added to the query. Otherwise, it is ignored.

In the beagle graphical search tool, a message area can be shown to let the user know if there are new hosts on the network that are not registered in the configuration file. Users will also be able to search other computers at any time by performing a search of "All Computers" from the Search menu.

 The search utility can notify you if there are computers available to search.
The search utility can notify you if there are computers available to search.


 Choose to search other computers at any time.
Choose to search other computers at any time.

Getting the code

A tarball of the code that was submitted on the SoC deadline is available here, which contains a patch agains CVS, and some additional required files. I am still working on my development branch of beagle in the form of a bzr branch, which you can get by issuing the following command:

$ bzr branch http://icculus.org/beagle-avahi beagle-avahi

In addition to the normal dependencies, this branch also depends on Avahi, and the avahi-sharp bindings for Mono. To enable networking support, run the configure script with the '--enable-networking' option.

You can subscribe to my weblog, which is also syndicated on Planet Beagle, or see the Beagle Summer of Code mailing list for updates.

What now?

We are working to merge the code from Alexis Christoforides' Summer of Code project, and finishing up any loose ends. What is currently lacking is mature integration of networked searches into the beagle-search user interface. This is soon to come.

--Kwa 18:17, 27 May 2006 (EDT)


This page was last modified 07:26, 9 November 2009. This page has been accessed 15,939 times.

  
MediaWiki

Copyright © 2004-2007