ferret graphic Net Ferret - The Developer Corner
(c)1999 Dave Fletcher

Predigested, Regurgitated News

Rpmfind for NetFerret6/28/99
We have developed a web based search engine for rpmfind.net (aka rufus.w3.org). This is actually the first web based search for rpmfind.net. Those who already use the rpmfind tool will find the same results as "rpmfind --apropos [query]" with nice ftp links instead of a long numbered list. Hopefully everyone will find this search as useful as Michael and myself have.

Opened shop!6/23/99
If you build it, they will come. This page is a dumping ground for ideas about the development and enhancement of NetFerret. For now, this page will simply contain e-mail ideas which we've been passing back and forth, edited and annotated by myself. If anyone knows of a good (and free) threaded messaging service where we could move this forum, please let me (Dave) know. I would also like to use this part of the site as a focal point for developer coordination as more people get involved. More on this, later.

From the Front Lines
Be sure to contribute. Your opinion does count!

Michael B. Weiner - hUnTeR (hunter@userfriendly.net) has a neat idea:

I think a GOOD addition to your netferret would be the distributions on
RPMFIND (formerly rufus.w3.org).

> alchemy@pcc.net wrote:
> 
> > NetFerret relies upon search capabilities on the server side. Does  your
> > web server support perl scripts? If so, maybe we could hook up rpmfinder's
> > output to NetFerret.

Yes my server, though i am not sure about rufus, supports cgi and perl.
If you havent already taken a look, please do, and you will see what the
site is all about. Its indexed on many different levels (i.e. by distro,
by name, by date, etc). And the metadata information provides the
visitors with all the critical data needed as to which libraries and
other files may be required in order to install any given package based
on dependencies.

Take a looksee. But yes, i can do perl and/or cgi.
-- 
Michael B. Weiner
Systems Administrator/Partner
The UserFriendly Network (UFN)
--
Can it be true? A search engine just for NetFerret! and rufus.w3.org no less!

Torben Fjerdingstad (tfj@fjerdingstad.dk) brings up some good points:

> > I use a vertical gnome panel. Your tool makes the panel
> > 5 times wider that it was, so it occupies a big part of
> > the screen when it is not hidden. Also, it makes the
> > vertical panel look ugly. Is the width hard-coded?
> 
> The width is simply the preferred (default) sizes of the contained
> components...

I now see the same problem with other wide gnome applets,
and got the idea to add a drawer for it. Then I can open
a horizontal panel from the vertical panel and put your
applet there. That's fine.
This is a cool way to do it if you use a vertical panel. Bonus! Mine lines up perfectly with the URL location box, floating just over the top of the page. Controls for applet dimensions probably belong in a "general" preference panel which has yet to be written.
> > When searching, it should open a new netscape window
> > instead of destroying the content of a random, existing
> > one. I tried to open a blank window first and click it
> > to make it current, but one of my other netscape windows
> > got it's content replaced with the result of the search.
> 
> You can change this now... cd to your home directory. Edit
> ".netferretrc" with your favorite text editor. Change the "browser"
> value to read "gnome-moz-remote --newwin". Restart NetFerret, and you're
> good to go...
There really should be a simple check box control for this. Another item for the "general" preference panel.

Bryon Roche and myself have been discussing a more user friendly means of organizing the ever-growing list of engines in the properties->engines panel.

> ...I have been thinking of using a tree rather than a list
> and building it so users can make their own categories
> (sub-menus) and arrange the engines any way they want...

Not a problem.  ...The tree coding itself shouldn't be hard, but
implementing DnD will be interesting...

Bryon
Anyone out there know of a gtk tree extension which already supports dnd? This would help a great deal. We continue:
> I picture an hbox with two sections... the DnD tree on the left,
> and a swappable configuration panel on the right. When one clicks on a
> tree item, the right hand panel is filled in with controls for the
> highlighted engine.  The controls could consist of:
 >     1) Use this engine or not check button
 >     2) Make this item the "default" engine... the one displayed when
 >        netferret first starts up.

> This is good.. It may also be good to allow an option for 'sticky' engine
> selection where the prev. one used is just the one used on
> startup.

Yeah! I love the sticky engine idea.

>     3) (possibly) The ability to modify the magic string which describes
>        the engine. If this is done, a uniqid would be wanted so that the
>        list doesn't get cluttered with web-updates.

>     4) (possibly, eventually) HTML form-like section which allows user to
>         modify site specific search parameters.

As for this last one, I could see XML being used to store the complete
configuration and configuration interface for each engine in a single
dataunit/file, similar to the way that libglade works.  I don't know if
we'd be able to actually use libglade, but it would be a convenient way
to store varying search parameters for engines..

Bryon


These last two are tough, but they bring about an interesting point. Part of
what is cool about netferret is the fact that it is very simple to use and
configure. If we had to make a choice right this second, I'd opt for #4 rather
than #3.

An interesting thing to note here... I was recently approached by Todd Larason,
author of a similar tool called wwwatson. This tool offers very neat meta search
capabilities. It uses Apple computers' Sherlock system for its' search mechanism.
In case you are unfamilliar with Sherlock, it is a utility which it built into
the "find" feature of MacOS 8.5 which searches multiple sites
(via a plug-in architecture) and brings the results back into a single list
window. Each Sherlock plug-in contains an XML description of the search engine.
Plugins are widely available for many search engine sites.
I feel I must point out here that it was Pete Giovagnoli who first introduced the idea. It sounded daunting at the time, but Todds' work makes the path to meta searching much more clear.
Todd has written the UI of his application in perl....  He has, however, written
a major core component of the system in c... code to read existing Sherlock
plugins, and code to read the icon graphic which represents the site. The
upshot of a code-merge will be user choice of doing a mini-search (using the
scheme currently in place, search directly launches netscape) or a meta-search
(ala Sherlock, meta list returned, double click on list item launches netscape)

What I'm trying to get to here is that a lightweight XML parser is already
something I've had in mind for NetFerret. This system could easily be leveraged
to extend the capabilites of the mini-search. I plan to continue to enhance and
extend the mini-search capabilities as I integrate meta-search. I still think it
is useful to be able to search a single site (like SlashDot or DejaNews) once in
a while.

--dave

I would appreciate everyones' thoughts and comments on brining meta-search capability to NetFerret using Apples' Sherlock. Bryon continues:
Cool ideas.  I'd be happy to help code them.  There goes Metacrawler's profit 
stream down the tubes, however. There's another package I use, called
browser-history (http://www.inria.fr/koala/colas/browser-history) that keeps a
running global history of pages visited. (Something Netscape & Mozilla currently
lack)  It may be useful to integrate this into NetFerret... Based on pages the
user visits often, it may be useful to pre-sort search results, or to do a history
search, or just to have a nice history pane that could be used similar to the one 
in IE 4.

I'll probably have a big gob of spare time to program with shortly, and I might be
able to whack up a categorized tree & XML properties page.. (No DnD at first though)

Bryon
That's all for now, folks. Tune in again later for more updates on "As The Ferret Turns"

--d