This milestone required that online genealogical databases were queried and searched for missing information. Any missing information found was to be displayed to the user and allowed them to have that information filled in. The biggest challenge in this milestone came in two parts. First, learning how to use Squeak to connect to a web server, supply it with information, and accept the information that the server loaded for us. Second, a big challenge was to parse the web page without generating errors and have the parse be successful.
We added a new class called MissingInfo that gathered information from an online site to help complete an person's information. You can see how it relates to the other classes in the UML diagram shown below.
Because we added new functionality to the program, we added new selections under Operations. Auto Completion will ask you which person to gather information on. It will then ask you what current information to search by. Once it finds some matches, it will list these matches in the information area (bottom right Text Area). From here you can select a match to use to auto fill information on a person. The new selections are shown below.
These operations are pretty self explanatory. If you need more information, feel free to check out the scenarios for this milestone.
Initially, the networking aspect of this milestone seemed daunting. However, a look at the wwwHack information on the Swiki allowed us to take care of the networking in more or less ten lines of code. Very easy. Additionally, hooking up this querying websites method to the GUI was an easy task, as GUIs were now well understood.
I would have liked the parsing to go a little better for this milestone. Parsing was also required for M6, which turned out really well. However, for M5, the parsing was more or less a hack that did the job.