You are a team of code warriors and would-be code warriors seeking
a new project. A genealogy project, Family GEM (Genealogy Extensible
Markup), is available. The object of the project is to create an environment
to display XML genealogy data and navigate family relationships.
If your team successfully creates a non-proprietary, cross-platform
foundation and solves the display problems, the developer will spin
off a new product line and your team will have a substantial development
contract and get shares in the proposed startup company, Family GEM,
a software and genealogy-focused Web hosting venture.
Several individuals previously worked on parts of this project and
presented ideas. The project developer assembled their reports for
your team. Your team has decided to examine the previous GEM work.
First, you will need to be critical about the feasibility of implementing
the concept. Your team is more knowledgable about XML and Web authoring
languages than the concept team, and several of you are programmers.
And your team possesses a variety of skills, education, and experience.
One of the previous developers assembled a Proposed
GEM Data Structure Model in a Word file. The original concept
envisions being able to navigate genealogy records somewhat like the
World Wide Web is navigated. Given this goal, the author of the data
structrure model decided to create terse element names. She envisioned
often-overlapping, inter-referenced family trees and many millions
of persoanl records. Therefore, the team decided to keep files as
small as possible using terse code. The end product is intended for
world-wide use, so terminology in a particular language is not necessary.
The developer has already specified that data and styling remain
separate. The application will be widely distributed, and each end
user should be allowed as wide a range of creativity as possible in
styling their own displays, incorporating data into their display
documents, or creating different displays.
A GEM Display Concept was
created by another member of the previous development team. Your team
is being asked to implement this concept. You will decide how to display
and navigate records. However, a solution for data navigation was
not clearly elucidated.
Your team will research previous genealogy XML projects and make
recommendations with reference to the previous GEM proposal. Then
you will create standardized XML documents to store data about an
individual and a family tree. Your team will also create schema to
validate the two documents. You must keep your application as widely
accessible (interoperable) as possible while attempting to implement
the GEM features previously conceptualized by less experienced programmers.
Each team member will then test the documents using their own data
(real or fictitious persons) and style their own display document.
DUE DATES: The Final Project collaborative phase must
be completed on May 6. Each student must submit their own version
on or before May 9.
Final Project Links: