View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007


Milestone 5 of our project was based on implementing a search algorithm to match people in a search pool against criteria. After a crushing blow in M4, we decided it was time to get serious. Not only did we correct M4 errors, but we also created a well devised Web and Local Searching feature based upon the searching algorithm.

Searching Algorithm

This was one of the greatest features of our project devised during one of our many productive meetings. It can best be described by one of the single greatest commenting efforts ever(or at least it seemed that way to us):

Calculates a value between 0 and 100(100 being a perfect match) depending on how closely searchable instance variable values match up against those of aPerson.

The rating is calculated in the following way:

Local Search

We implemented two different forms of Local Search. One form is based upon the user specifying a person to search for and the other searches for a person given user specified criteria.

Both searches can search any or all of the genealogies within the system based on the specified criteria. They also both display the results in sorted order by rank and you can view a result by either double-clicking it or selecting it and clicking the view result button. The only other difference between the two is the ability to merge when the user specifies a person as the criteria.

Web Search

Our Web Search capability searched two different websites: Rootsweb and MyGED, since they both provided free use of their systems and had relatively standardized formats for their results. As in the Local Search you have the ability to view the results, however you also have the ability to add the selected person to a particular genealogy.

Pitfalls and Updates

This was by far our best Milestone, we had relatively few errors and did not change it much during the rest of the project. The only change that we pondered was the use of processes to allow for the searching to take place in the background. The MyGED website was extremely slow and it would have been nice to be able to use the program while the search was executing.

Code Reuse

We found an extremely cool radio button Morph on the internet, which saved alot of time on the GUI. You can download the change set here.

Link to this Page