L.RNI 02D0911
Project Number: RGF-NJA2 -63
NEW ENGLAND JAZZ ALLIANCE HISTORICAL DATABASE
An Interactive Qualifying Project Report
submitted to the Faculty
of the
WORCESTER POLYTECHNIC INSTITUTE
in partial fulfillment of the requirements for the
Degree of Bachelor of Science
by
Anthony H. Towne
Stephen E. Le
Eric McDonough
Date: April 25, 2002
Approved:
Professor Richard Falco, Advisor Abstract
This project involved the creation of a highly successful first-time New England Jazz historical database for the New England Jazz Alliance (NEJA). Professionals in the field and NEJA personnel closely monitored our progress and provided feedback. Members of NEJA, music faculty of WPI, Harvard, and Northeastern, as well as the general public are expected to utilize the database.
ii Table of Figures
Figure 1 Creation of NEJA1 database 38 Figure 2 Command Line Interface 41 Figure 3 NEJA'S Home Page with Horizontal Menu 43 Figure 4 Page from our project with vertical menu bar 43 Figure 5 The new author's table 44 Figure 6 The Login Screen 46 Figure 7 Submission System main menu 49 Figure 8 Submission Form 53 Figure 9 The Register Button 55 Figure 10 The Title Bar 56 Figure 11 The menu 60 Figure 12 The Audio Submission Screen 62 Figure 13 Photo Submission Page 67 Figure 14 Discography Submission Form 71 Figure 15 Completion of Discography Entry 73 Figure 16 Articles and Interviews Submission Page 75 Figure 17 View of the Articles Data Entry Screen 76 Figure 18 Confirmation of added articles/interviews 80 Figure 19 Update Records Screen 82 Figure 20 Vital statistics update form 85 Figure 21 Update complete 86 Figure 22 Main search window 87 Figure 23 Search Criteria 88 Figure 24 Search results 90 Figure 25 Main artist information screen 93 Figure 26 Link to the artist's full biography 94 Figure 27 Extended biography 95 Figure 28 Images Gallery 97 Figure 29 Audio clips selection screen 99 Figure 30 Discography entries 101 Figure 31 Articles and interviews display screen 102
iii Table of Tables
Table 1 Format for vital statistics 15 Table 2 International Cyclopedia of Music and Musicians vital statistics setup 19 Table 3 New College Encyclopedia of Music vital statistics setup 20 Table 4 Grove Concise Encyclopedia of Music vital statistics setup 21 Table 5 NEJA database vital statistics setup 22 Table 6 Database fields and descriptions 39 Table 7 Fields in the Vital Stats Table 52 Table 8 Fields in the Discography Table 70 Table 9 Fields in the Artist Entry Table 74 Table 10 Form Buttons and their actions for the articles/interviews form 77 Table 11 Search Criteria 88
iv Table of Contents
ABSTRACT II TABLE OF FIGURES III TABLE OF TABLES IV INTRODUCTION 1 ABOUT THE NEW ENGLAND JAZZ ALLIANCE 1 PROJECT GOALS 2 AREAS OF RESEARCH 3 IMPLEMENTING THE ARCHIVE 4 OTHER CONCERNS 5 BACKGROUND RESEARCH 7 INTERNET RESOURCES 8 ENCYCLOPEDIAS 18 INTERVIEWS 25 MATERIAL REVIEW 31 WEB SITE DESIGN AND IMPLEMENTATION 37 DATABASE CREATION METHODS 37 DATABASE ACCESS METHODS 41 VISUALIZATION 42 SECURITY 44 THE SUBMISSION PROCESS 46 DATA RETRIEVAL 87 ANALYSIS AND RESULTS 106 RECOMMENDATIONS 107 APPENDICES 110 APPENDIX A: INTERNET REFERENCES 111 APPENDIX B: ENCYCLOPEDIA REFERENCES 118 APPENDIX C: COMPARISON STUDY SPREADSHEET 122 APPENDIX D: ABBREVIATIONS 124 APPENDIX E: INTERVIEW QUESTIONS 126 APPENDIX F: E-MAIL RESPONSES 130 APPENDIX G: WEB PAGE TEMPLATES 136 BIBLIOGRAPHY 139 Introduction
Currently there are no existing Internet Web sites that focus on providing information about New England's Jazz musicians from the past and present. Several organizations exist in the New England area that are dedicated to Jazz music and musicians, however none of these organizations currently have an archive containing information on New England's rich Jazz history. There are Web sites on the Internet that contain information on Jazz musicians, but these sites tend to focus on such Jazz geographic centers as New York and New Orleans or on different Jazz styles, such as
Swing and Bebop.
About the New England Jazz Alliance
There is an organization based in Boston, Massachusetts called the New England
Jazz Alliance (NEJA). This newly created volunteer organization, founded during the summer of 2001, is dedicated to Jazz in New England. NEJA's mission is to establish a
New England Jazz Hall of Fame, promote New England's Jazz Musicians, bring Jazz music to more people, especially the young, celebrate and perpetuate the [Jazz] tradition, and to call attention to today's outstanding New England Artists.' The President of this organization, Mr. Brent Banulis, wanted to create an online archive that would document and store as much information as possible on New England's Jazz musicians. In conjunction with Professor Richard Falco, Director of Jazz Studies at Worcester
Polytechnic Institute (WPI), they aimed to create an Interactive Qualifying Project (IQP)
http://www.neJazz.org/About/
1 which would construct an archive that would serve as a massive historical library about
Jazz musicians in New England.
Project Goals
The goals of this project were easy to establish. The archive would have to be
publicly available, easy to use, and store historical information on Jazz musicians in New
England. This would allow the system to be useful to both researchers and fans alike. In
addition to the archive itself, a submission system would need to be created to allow
researchers to continually contribute to the archive. The submission process would also
have to be easy to use because many different musicologists, historical researchers, and
professors with different computer related skill levels would be adding to this database.
The final requirement for the submission system design was that it had to allow the
contributors to receive credit for their own work, and prevent others from altering it.
This system would result in the archive being similar to an Internet based article
publication system for the contributors.
The project also had to be integrated with the existing NEJA Web site,
http://www.neJazz.org/. The IQP team had to work with members involved with the
organization such as NEJA President Brent Banulis, NEJA Webmaster Jeremy Hitchcock,
and NEJA's graphics artist, Keith Webb. In order to properly integrate the new archive
with the existing Web site, the IQP team had to base the layout of the new Web site on
the layout of the existing Web site. This would also provide continuity to the entire
NEJA Web site.
2 Areas of Research
The IQP team separated the project into two major areas. The first of these was the content of the archive and the second was how to build the archive. The team researched the type of content that needed to be included in the history pages by conducting interviews with historians, librarians, musicologists, newspaper writers, Jazz writers, and music faculty from different institutions. This research aided the team in establishing a format for the biography to be included for each artist, in addition to a detailed discography format and in establishing other search options.
During this time, the IQP team also conducted research in order to determine the best construction techniques for the Web site and to determine the best data storage formats for the archived material. After consulting several technical manuals and various computer programming related Web sites, the team determined that the Web site would need to be based on a database system. The team found that this implementation would result in a more organized storage system with more security and ease of use than a series of web pages.
We decided to use the MySQL database software as the basis of the system due to recommendations by members of the WPI Web Development Team in addition to research conducted by visiting other Web sites based on MySQL. The team also decided to use the PI-IP script language to program the Web site, allowing the database to be accessed and easily searched by the Web site's users. This decision was based on the choice of database software and recommendations of members of the WPI Web
Development Team. The data formats decided on were standard text files, or .txt, for the articles, interviews and discographies, the MP3 format for sound clips and the JPG
3 format for pictures. This would allow the fastest download times for visitors to the Web site, since all of these formats have relatively small file sizes.
The last portion of the technical research the team conducted was an examination of the existing NEJA Web site. This was to familiarize ourselves with the layout of the
Web site and code used to program the Web site. As a result, we would be able to easily create an archive with the same look and feel as the existing NEJA site, and at the same time make it easier to maintain and update both Web sites.
Implementing the Archive
Once the initial technical research was completed, the team began working to create the database, the storage system used for the data, and the Web site that would be viewed by both the visiting public and contributors. Over a three month period of time, experimentation occurred with database design, Web site security, web page design, search and retrieval methods, and submission methods.
The first area of the Web site completed was the database itself, allowing the team to properly test all of the PI-IP scripts written for various forms of database access, such as searches, submitting and retrieval. The remainder of the software was written in PHP.
This software consists of several small modules, also referred to as scripts, designed to perform specific tasks such as the previously mentioned search and retrieval scripts. This modular design of the software also aids in debugging or adding functionality, due to the small size of the programs. The security scripts were the last area of the site to be designed. These are quite useful, as they prevent unauthorized access to the submission system, preventing people from altering information found in the archive or adding
4 extraneous information. The security scripts allow the NEJA board of directors to grant
access to researchers of their choosing.
During the design and programming of the submission system, the team decided that a series of on screen instructions would be the most help for the users if any
questions arose about data formats or data submission requirements.
Additionally, the IQP team received approval from the NEJA Webmaster for the
data formats the team had decided on using during the development of the database and
supporting PHP scripts. Upon completion of the database, Web site and submission
system, both the IQP team's project advisor and the NEJA Webmaster reviewed the
project and approved it. The NEJA President and board of directors reviewed layouts of
the web pages and of the submission pages and approved these as well. The next step
was to upload the project and integrate it into the NEJA Web site, which occurred on
April 21, 2002 with help from NEJA Webmaster, Jeremy Hitchcock.
Other Concerns
During the same period of time that the database was being created, NEJA
President Banulis had been given a large amount of hard copy historical material
pertaining to various New England Jazz artists. There was no organization to this
information, as it was found in various storage formats. These formats consist of vinyl
LP records, newspapers and magazines, audiotapes and, in some cases, reel-to-reel
recordings of interviews. The NEJA Board of Directors had concerns about the vast
amounts of hard copy material being offered to the organization. The NEJA directors
5 wanted to know if the information could be incorporated into the current project or if they
should stop accepting the materials.
Professor Richard Falco and Professor Frederick Bianchi, WPI music faculty
members, both felt that it would be best to advise the organization to accept the materials
in whatever format the materials were being offered. The team worked with Mr. Banulis
to determine the best course of action. It was decided that the current database project
would remain autonomous, and a second database would need to be established. This
decision was made based on the original idea of this historical database project, which is
intended to provide information about Jazz musicians in the form of a multimedia
biography created by individual authors. The second database would be a more general
electronic library. The materials being collected would also need to be converted into the
proper digital formats for storage in the system. Mr. Banulis brought this suggestion to
the NEJA Board of Directors, who felt it was an acceptable solution.
The IQP team recommended that another project be created to organize the
second database. This system would not be attached to the individual submission pages.
The team added the ability to create another Web site link from the current project to this
more generally stored data upon its compilation. The link could be activated simply by
providing the correct address of the second general storage database, allowing the Web
site's users access to this large repository of general Jazz information.
The IQP team feels confident that the project achieved all of the goals set forth by
NEJA and has found the extensive literature review, subsequent experimentation and the
professional evaluation and input invaluable. The newly established NEJA historical
database Web site, www.nejazz.org/history, has met with extremely favorable reviews
from NEJA officials and professional researchers alike.
6 Background Research
During the first seven weeks of the project, the team conducted the majority of the research necessary for its completion. The project research was divided into two areas,
Web site content and technical research. For each of these two areas of the project, the team utilized Internet resources and printed resources and conducted interviews in order to obtain the required materials.
The purpose of the Web site content research was to determine the types of
information to be included for each artist in the archive, in addition to the best layout for
this information. The team used web resources such as other Jazz related Web sites,
printed materials such as music encyclopedias and Jazz dictionaries, and conducted
interviews with several historians, librarians and musicologists. Each of these resources
were quite valuable to the team, as many of the findings overlapped between different
sources, providing validation for the decisions the team made regarding the content of the
artist pages found in the completed archive.
The technical research was to help the team find the best way to program the Web
site and store the information in specific digital formats. Using sources similar to those
used in the web content research, the team consulted Web sites relating to web
programming and database development, and obtained technical manuals relating to
programming and database development. Specifically, the team was looking for
information about database design in MySQL and programming in PI-11 3 . The team was
also looking for technical manuals which pertained to creating a database driven Web site
with user access restricted by log in screens. The team also conducted interviews with
members of the WPI Web Development Team and a member of the Computer Science
7 faculty at WPI. These interviews dealt with software package choices and code optimizations.
Internet Resources
In November of 2001, the IQP team began researching Internet web pages because, since the New England Jazz Alliance (NEJA) historical database would be an online service, the team wanted to examine other successful and popular Web sites. The team hoped to add "user-friendly" characteristics found on those pages to the team's own
NEJA database web page design. Among other features, the team wanted any visitors to the online New England Jazz history site to have minimal problems navigating through the Web site. Information on both content and design were evaluated in these web pages.
The team needed to study the ease-of-use of existing web pages because a primary goal of NEJA Administration was that the database would need to be as easy and straightforward to use as possible by the general public visiting the site and those who were given permission to submit articles to the site.
In addition to the research the team needed to conduct to determine the content of the database, the team also needed to research the software to be used in building the
Web site. The team was specifically searching for information regarding PUP, MySQL,
Perl and Microsoft Access, as it was thought that these would be the most viable software options for use in building the Web site.
8 Web site Content
The Web site topics researched included Jazz music, Jazz musicians, history, and encyclopedias. The Web sites analyzed included: Encyclopedia.com2 , Encarta on-line 3 ,
All Music Guide', Club Kaycee: Kansas City Jazz History5 , New Orleans Online 6 ,
African Genesis Presents: Jazz: You'll Like It , A Passion for Jazz 8 , Smithsonian's
American Jazz Heritage 9 , Grove Music m , and the Red Hot Jazz Archive" . The team chose these Web sites because they represented a wide variety of Jazz music, musicians, history, and encyclopedias.
The team first researched the Encyclopedia.com Web site which yielded valuable information on what a well-used encyclopedic web page looked like and how one was set up. This Web site was a good starting place for background research for the NEJA database. Although Encyclopedia.com is not a music-specific Web site, it still held information useful to the IQP team. The Web site was very easy to use, presenting no confusion while searching and navigating. The overall setup of the Web site was very aesthetically pleasing, something the IQP team wanted for the NEJA database.
Encyclopedia.com incorporated the use of a general search engine on the main page. It also had options for using a dictionary, thesaurus, almanac, and other encyclopedias. Located on the middle of the page was a listing of famous historical
http://www.encyclopedia.com/ 3 http://encarta.msn.com/ 4 http://www.allmusic.com/ 5 http://www.umkc.edu/orgs/kcJazz/mainpage.htm 6 http://www.neworleansonline.com/neworleans/music/ http://afgen.com/jazlinks.html 8 http://www.apassion4Jazz.net/ 9 http://www.si.edu/aJazzh/ 10 http://www.grovereference.com/GroveMusic/TNGJ2.htm 11 http://www.redhotJazz.com/
9 events that happened on the current date. On the right-hand side of the page was a listing of the most popular searches on the Web site to date.
For encyclopedic entries, this Web site incorporated the vital statistics and biography into one lengthy paragraph. The entries found here began with the birth and death years, then continued on with birthplace and went straight into a biographical entry.
The biographical information was presented in chronological order and not by subject headings.
From Encyclopedia.com , the team decided to use the musician's birth year, death year, and place of birth and decided to use chronological order in the NEJA database biographical entries as well. One detail the team decided not to use was the lengthy biographical entry. We wanted to present a concise biographical entry for each musician.
An example of an Encyclopedia.com encyclopedic entry is shown on page 1 of Appendix
A and items used for the NEJA site are highlighted in yellow.
The Encarta On-Line Web site was researched by the team because it is a widely used on-line encyclopedic database. Although Encarta On-Line is a more general on-line encyclopedia than the IQP team and NEJA were interested in creating, this Web site was a good resource because it gave valuable general information that helped lead the team in the right direction for setting up vital statistics and biographical entries. One drawback the team noticed, however, was that the Web site was not specifically geared towards being an encyclopedia. It was more directed towards learning and research as a whole, including up-to-the-minute newscasts, books, magazines, and many more resources. The
IQP team was looking to create a more encyclopedia-specific Web site.
Some features on the Encarta On-Line main web page included: a general search engine, links to references, homework, college, shopping, news highlights, and other
10 miscellaneous items. For Encarta On-Line' s encyclopedic entries, it was found that the
setup was similar to that of the Encyclopedia.com encyclopedia entries, but shorter in
length. Included were a photo gallery, artist name, birth year, death year, nationality,
music style, instrument, a biographical entry, and compositions.
From these encyclopedic entries, we decided to add to the NEJA database the
instrument the musician played, along with similar details used in the before-mentioned
Encyclopedia.com . The team also decided to include a picture for each artist's main web
page. An example of an Encarta On-Line encyclopedic entry is shown on page 2 of
Appendix A and newly used items are highlighted in yellow. Items already adopted
previously are highlighted in green.
The All Music Guide Web site was researched because it is an on-line
encyclopedic database that is music-specific. This Web site was a valuable tool in that it
presented a great deal of information to the reader. The IQP team wanted Internet users
to gain as much information about each Jazz musician included in the site, but with the
least amount of confusion. We decided that the All Music Guide Web site was an
excellent model. After this Web site was reviewed, the team had a much better idea of
how the NEJA database should be designed and how the information should be presented
to Internet users.
Each of the Web sites we researched included a general search engine on the main
web page. The user could select to search the following fields: artist by name; album
title; song title; Jazz historical style; and record labels. Links were located on the left-
hand side of the page and included: music styles; articles; glossary; books; and CDs. For
the encyclopedia entries these characteristics were found in the vital statistics portion:
birthplace; birth year; death year; and instrument. A photo was also used for each of the
11 biographical entries. The team also noticed the inclusion of the musician's real name and their nickname. Items located in the entries on All Music Guide that were not included in the other Web sites were leader, composer, director, and educator. Other items included death date, birth date, and place of death. All Music Guide also used an extensive amount of cross-referencing 12 .
From All Music Guide, the team decided to include the nicknames of the musicians in the database following the musician's real name, when applicable. Other characteristics that were used had already been observed in previous Internet Web sites.
One concept that was not incorporated into the NEJA database was the use of cross- referencing. Cross-referencing would have been acceptable to use, but would have required more time to implement in the design than there was available for the project.
An example of an encyclopedic entry from All Music Guide is located on page 3 of Appendix A. Highlighted in yellow are the newly-presented ideas that were taken into consideration for inclusion into the NEJA database and highlighted in green are adopted ideas that were already planned for inclusion into the NEJA site.
The Club Kaycee: Kansas City Jazz History Web site was something the IQP team found interesting. Kansas City is a large center for Jazz music, which made this
Web site a very useful tool. The layout used for this Web site resulted in the links being located down the left side of the individual artist pages, a design which was under consideration for the NEJA Web site. Navigation through the Web site was intuitive and similar to the feel that the team wanted for the navigation through the NEJA history web pages.
12 Cross-referencing, as defined by http://www.dictionary.com , is referencing from one part of a book, index, catalog, or file to another part containing related information.
12 On the Club Kaycee main page, there were links down the left side of the Web site that pointed to Artist Index, Audio Clips, Venues and Articles. The encyclopedic entries began with the birth date and death date. It then continued with a lengthy biographical entry of approximately one page. A picture of the musician was included within the biographical entry. Another useful item was the addition of cited sources at the end of each biographical entry.
The links down the left side of the page help visitors navigate through the many items located in the database, so we decided to use them in the NEJA database. The team also decided to add sources, or bibliographies, at the end of the musician's main page, following their biography. Items found on the Club Kaycee web pages, but not used, were the use of cross-referencing to audio files (shown as green notes within the entry) and links to other musicians. As with the All Music Guide, the IQP team felt these features were not necessary. Shown on page 4 of Appendix A is a sample encyclopedic entry taken from the Club Kaycee: Kansas City Jazz History Web site. Once again, highlighted in yellow are new items adopted into our design and highlighted in green are items previously seen.
The last Internet site the IQP team researched was the Red Hot Jazz Archive. This
Web site had a setup similarly to that which the IQP team wanted for the NEJA database.
It was also very helpful in that it reinforced many of the design ideas the IQP team had already considered like the use of the links down the left side of the page, an option for an extended biographical entry, and the ordering of the vital statistics entry.
One item this Web site did not include that most encyclopedic Web sites did was the brief biographical entry at the beginning of the article. This Web site only incorporated a more in-depth biography of each artist. The team also noticed the
13 inclusion of more than one photo for most entries. Found within the extended biography, however, was a large amount of cross-referencing. At the bottom of each biographical entry was a listing of the musician's discography, bands the musician played in, and suggested readings.
Seeing the extra pictures, the team decided to add a separate page in the NEJA
Web site that would serve as a "photo gallery" for each individual musician. A link for this would be added to the left side of the artist's web page. The IQP team decided not to include a separate list of the bands the musician was involved with. This information would already be included in the brief biographical entry. The team also thought it redundant to include a list of suggested reading because a bibliography would already be included with each entry and could also serve as a short list of suggested readings.
However, the team felt it necessary to include discographies as a link on the left side of the web page. Found on page 5 of Appendix A is a shortened sample entry from the Red
Hot Jazz Web site. Highlighted in yellow are items that the team decided to use for their own Web site.
There were several Web sites the team did not find incredibly useful after careful evaluation. These Web sites included: New Orleans Online, African Genesis Presents:
Jazz: You'll Like It, the Passion for Jazz Web site, the Smithsonian's American Jazz
Heritage, and the Grove Music Web site.
New Orleans Online was not useful to us because it did not contain information in the style of encyclopedic entries for Jazz musicians. The African Genesis Presents: Jazz:
You'll Like It web page lacked biographical entries for individual Jazz musicians. The
Passion for Jazz was not a historical Web site. The Smithsonian's American Jazz
Heritage Web site was not directed towards archiving historical information on Jazz
14 musicians. The Grove Music Web site required paying to a subscription fee to gain access to their database. The IQP team did not entertain this because the NEJA history site was intended to be a free service to not only NEJA members, but to the general public as well.
Based on Internet research, the team decided to use the format shown below in
Table 1 for the setup of vital statistics.
Last Name First Name Middle Name/Initial Birth Date Death Date Birth Place Death Place Instrument(s)
Table 1 Format for vital statistics
A brief biography is located after the vital statistics paragraph. A sources cited area is located at the bottom of the artist's main page. We decided to have one picture on the
Jazz musician's main page, and have a link to a separate page that has more pictures of that musician, if available. A separate page for discographies was included, along with a page for an extended biography.
Technical Web sites
In addition to the Internet research conducted to determine the content of the
NEJA database, the team researched the available software options. This research consisted of searching for information pertaining to the functionality of the available
15 software packages, but also for information on how to use the software. Several Web sites were used by the team for the development of the NEJA database Web site. These
Web sites are for MySQL 13 , PERL' 5 , Microsoft Access' 6 and O'Reilly &
Associates''. The MySQL and PHP Web sites were found to be especially useful, due to the vast amount of information found at each site.
The MySQL Web site provided the IQP team with valuable information about the database software. Since this Web site is the official site for information regarding
MySQL, it was utilized by the team during the early design phases of the project. The
Web site aided the team in solving several problems with the installation of MySQL and learning the key features of the software.
The site contains information on all aspects of the database software. There are listings of the documentation found on the Web site, articles relating to or about
MySQL's use, book recommendations, and links to third party Web sites which contain various tutorials or articles about the software, yet have no official affiliation with
MySQL AB. MySQL AB is the parent company producing the MySQL software package.
The team found the documentation provided on the Web site to be highly detailed and extremely helpful in learning the workings of the software. The documentation aided the team in the installation of the software and establishing a series of tables to store details of the material to be located in the database.
13 www.mysql.com 14 www.php.net 15 www.perl.com 16 www.microsoft.com/office/accessidefaultasp 17 www.oreilly.com and www.onlamp.com
16 The PHP 18 Web site is maintained by The PHP Group, which also works to update the language itself. This site contains all the documentation necessary to install support for PHP, learn the syntax of the language and learn the use of each of the functions. In addition, the documentation also contains detailed information about debugging code written in PHP and implementing some of the advanced functionality of
PHP. The IQP team mainly focused on the areas of documentation regarding installing
PHP and adding support for MySQL.
Similar to the MySQL Web site, the PHP Web site also contained a links section with information about PHP syntax, design examples and books relating to the language.
There is also a listing of Web sites that contain various utilities and scripts written using
PHP.
The Perl Web site was utilized by the IQP team during the beginning of the project, while the team was still deciding on a scripting language. Just as in the two previous Web sites, the Perl Web site contained a links section to information pertaining to all aspects of the language. The documentation on the Web site is quite extensive, considering that the Web site is maintained by O'Reilly & Associates, a company which publishes numerous books about programming in many different computer languages, including Perl. This Web site was only used to allow the team to compare Perl and PHP.
This Web site turned out to be of little help to the IQP team, since the decision was made to use the PHP language instead.
The Microsoft Access Web site was examined during the first stages of research conducted by the team in November. This Web site was useful in helping the team determine the feasibility of creating the database using the Access software package.
18 PHP: a recursive acronym that stands for PHP: Hypertext Preprocessor
17 The information found on the Web site aided the team in making it's final choice to use
MySQL for the database. This decision resulted from seeing the documentation about the software, which describes its main use as being an easy way to establish a database on internal corporate network to pass data between employees. The software does support web access, however it was not the type of solution the team was looking for.
The remaining information sources regarding programming languages are both
Web sites run by O'Reilly & Associates. These Web sites, www.oreilly.com and www.onlamp.com each have vast amounts of information available. The latter is a subset of the main O'Reilly site, www.oreilly.com . While the main Web site contains information regarding all of the technical manuals published by the company, the actual information listed on the Web site is limited in scope to only samples from the published texts. However, the Onlamp Web site is set up in a different manner. It is devoted to web development software, including PHP and MySQL. This Web site contains tutorials
and introductions to the different software packages, including how to install or update them. In addition, there are help files to aid the user in learning the syntax required to
program using the languages or operate the software listed.
Encyclopedias
The printed encyclopedias used for this research included: The International
Cyclopedia of Music and Musicians (Vol. 1), The New College Encyclopedia of Music,
Grove Concise Encyclopedia of Music, the New Edition of the Encyclopedia of Jazz, and
The Encyclopedia of Jazz in the Seventies. As with the "on-line" encyclopedias, the vital
statistics presentation of chronology and the biographical content were evaluated. These
18 encyclopedias were chosen because they gave valuable information about setting up the
Jazz musician's vital statistics information typically found in encyclopedias. Some of these encyclopedias aided the team in other aspects, like the actual arrangement of information for brief biographies.
Between ten and fifteen random encyclopedic entries were selected and reviewed to gain a general idea of the ordering of the vital statistics, such as birth place and death
place. A spreadsheet for comparison study of the encyclopedic entries was created and is
located in Appendix C.
We chose to research the International Cyclopedia of Music and Musicians
because it contained valuable information about the setup of vital statistics and short
biographical entries for musicians. Found in this encyclopedia were three paragraphs.
These paragraphs included an initial vital statistics paragraph, a brief biographical
paragraph, and an extended biographical paragraph. After researching this encyclopedia,
a list was created and is shown in of the ordering of vital statistics for each entry.
Last Name First Name Middle Name/Initial Birth Place Birth Date Death Place Death Date Nationality Instrument
Table 2 International Cyclopedia of Music and Musicians vital statistics setup
As stated previously, an additional link option was planned for the NEJA site to
bring the visitor from the musician's main page, which contained a photo, the vital
19 statistics, a brief biography, and navigation links down the left side, to an extended biography. Seeing this characteristic in this encyclopedic entry supported our design plan.
One item we did not desire to include in the encyclopedic entries for the NEJA database was the nationality of the Jazz musician. The team felt it would be more appropriate to leave these items for inclusion in the optional extended biography at the discretion of the author. An example of a vital statistic entry found in this encyclopedia is found on page
1 of Appendix B.
The New College Encyclopedia of Music was selected to be researched because it seemed an ideal model for setting up the vital statistics information for Jazz musicians.
Found in these encyclopedic entries, similar to those found in the International
Cyclopedia of Music and Musicians, was an additional biographical paragraph. Although the biographical entries found in this encyclopedia are shorter than those found in the
International Cyclopedia of Music and Musicians, the basic structure of the entries was
still reviewed. Again, the IQP team studied several different entries and created a list
shown in Table 3 relating to the order of the vital statistics found within each entry.
Last Name First Name Birth Date Death Date Nationality Instrument
Table 3 New College Encyclopedia of Music vital statistics setup
The inclusion of the extra biographical paragraph yet again reinforced our concept
of adding a link for an additional biographical page to each Jazz artist's main page. An
20 example of a vital statistic entry found in this encyclopedia can be found on page 2 of
Appendix B.
Another music encyclopedia researched was the Grove Concise Encyclopedia of
Music. This encyclopedia contained very similar information to the previous two encyclopedias. Similar formatting was also used pertaining to the order of the vital statistics and each biographical entry. Again, it was found that an extra paragraph was used after the initial vital statistics paragraph that contained additional biographical information. Shown in Table 4 is a list detailing the order of the vital statistics in each encyclopedic entry.
Last Name First Name Birth Place Death Place Death Date Nationality Instrument
Table 4 Grove Concise Encyclopedia of Music vital statistics setup
Seeing the extra biographical paragraph yet again reinforced our decision to include in our design a link to an additional web page that would contain an extended biography. The team debated on whether or not to include nationality because it was found in all printed encyclopedias thus far, but the team decided to stay with its decision to leave this item for inclusion in the extended biography option for each artist. Shown on page 3 of Appendix B is an example of an encyclopedic entry found in the Grove
Concise Encyclopedia of Music.
21 After careful research and study, the IQP team agreed on a specific format for the presentation of the vital statistics for the artist main web pages. The format is shown below in Table 5.
Last Name First Name Middle Name/Initial Nickname Arranger: Yes/No Composer: Yes/No Bandleader: Yes/No Instruments Birth Place Birth Date Death Place Death Date
Table 5 NEJA database vital statistics setup
Shown in Appendix C is the spreadsheet for the comparison study, mentioned earlier,
which outlines the order in which the biographical information was presented for each of
the listed encyclopedias.
Another element the IQP team needed to consider was the use of abbreviations.
Abbreviations were found in many of the encyclopedia entries. The team discussed the
possibility of using abbreviations in the NEJA database. Although not necessary, the IQP
team decided to include abbreviations in the NEJA database because it seemed to be a
standard for many encyclopedias. Found in The New Edition of the Encyclopedia of Jazz
on pages 94-95 was a listing of all standard abbreviations used when writing about music.
This list is included in Appendix D. The abbreviations in this list will be referred to and
used when future contributors submit an entry to the database.
22 Technical Manuals
After searching for printed software manuals relating to MySQL, PHP and Web site development, the team found four manuals which seemed to provide the most relevant information combined with well thought out explanations and examples. These manuals were chosen do to the particular format the information was presented in. One manual in particular proved to be extremely useful to the team, as it contained several example projects that were closely related to portions of the IQP project.
The first of these manuals is titled PHP and MySQL Web Development" . This reference turned out to be the most useful technical reference for the team. The team found this book in the recommended list on the MySQL Web site. Upon further research, we discovered that the book contained the exact type of information we were looking for.
The reference had several detailed examples implementing different types of database driven Web sites using PHP and MySQL. Two of these examples were of particular importance, as they explained in detail how PHP and MySQL could be used to create user authentication scripts and to create a web based content management system. Both of these items were needed for the NEJA database. These examples provided an excellent background, and the team was able to proceed with fewer problems in implementing their design. In addition to the detailed example projects, the book contained excellent information on integrating PHP and MySQL into a Web site. The chapters included detailed explanations of how to write search and retrieval scripts in
PHP that are capable of adding to or retrieving data from a MySQL database.
19 PHP and MySQL Web Development, by Luke Welling and Laura Thomson; Sam's Publishing, 2001.
23 The next book the team used was entitled PHP: Your visual source for creating 20 open source server-side content . This book turned out to be only somewhat helpful. It served as a good back up reference, however most of the material in it was a little too basic for the teams needs. The book only provided an overview of a few types of PHP scripts, such as processing form data and reading and writing to a file. Additionally, it covered the basics of using PHP to interact with database software. It did help the team gain a good understanding of the basics of the PHP programming language.
Another software reference the team used was PHP: Fast and Easy Web 21 Development . This reference, like the previous book, was not as helpful to the team as the first book, PHP and MySQL Web Development. This was once again due to the more basic level of the code examples in the book. The team was able to use it as a quick reference for getting started with establishing interaction between the PHP scripts and the
MySQL database software.
The fourth book the team chose to focus on Professional PHP Programming— .
This particular book, like PHP and MySQL Web Development, contained several detailed
examples using PHP. In addition, it had very detailed and in depth information regarding the PHP language as whole. The team found that this book was quite helpful as this book
tended discuss PHP's integration with several different software packages, including
MySQL. However, the team chose not to focus on it as much as the aforementioned PHP
and MySQL Web Development, since we didn't feel it would be as helpful to the
completion of the project.
20 PHP: Your visual source for creating open source, server-side content, by Joel Desamero and Paul Whitehead. Hungry Minds, Inc., 2001 21 PHP: Fast and Easy Web Development, by Julie Meloni. Prima Communications, Inc., 2000 22 Professional PHP Programming, by Sascha Schumann, Harish Rawat, Jesus M. Castagnetto, Deepak T. Veliath. Wrox Press, Inc., 1999
24 Interviews
The team felt conducting interviews was necessary, as it would provide ideas from professionals in the fields of library archiving, history, musicology, and computer science. We interviewed librarians due to their experience with the archiving of historical information. They were able to help us with the organization of the content of the NEJA database. Historians were helpful because of their experience with creating biographical entries for encyclopedias and other similar reference materials.
Musicologists informed us as to appropriate levels of detail for items like the discography and audio file descriptions, among other items. Computer Science faculty were interviewed because they had experience with the design and optimization of databases and could help us with setting up the NEJA database.
The IQP team conducted its first interview on November 9, 2001 with various members of Worcester Polytechnic Institute's Gordon Library personnel. Individuals attending included: Helen Shuster, Director of Library Services; Lora Brueck, Collections
Management Librarian; Chris Cox, a Reference/Instruction Librarian; and Martha
Gunnarson, a Serials Librarian.
From this interview, the team received information about cross-referencing from
Ms. Shuster and the suggestion to interview WPI History Professor Peter Hansen. The
team was told that cross-referencing tended to be a time consuming task. In this case, it
would be made more difficult by not knowing what type of information would be found
within the submitted articles, as they would be continually added rather than placed into
the database all at once. A list of questions asked during this interview is located on page
1 of Appendix E.
25 During the November 9, 2001 interview at the Gordon Library, both Amy Marr,
Manager of Web Development at WPI, and Tim Wilde, student staff member of the web development office, were present to answer questions as well. The IQP team obtained valuable information that aided in their decisions for software packages to be used on the
NEJA database project from each of these individuals.
The first item covered during the interview was in relation to a question the team had about the design of the Web site. The team had two ideas for the design of the Web site. One was to create a large number of HTML 23 based web pages to store material while the other was to create a database to store the material. Ms. Marr and Mr. Wilde both agreed that the best course of action was to base the Web site's design on a database rather than a series of individual web pages. They agreed that this would allow the Web site to be maintained easier, as Webmasters often like to update the look or layout of a
Web site. By using a database, only a few web page templates would be needed, since the actual information could be placed into these templates as the user requests.
Additionally, this type of design makes the use of an automated update system possible, allowing for content changes on a regular basis.
Based on this information, the team's next questions related to database software.
The team asked Ms. Marr for her opinions on Microsoft's Access database software and
on MySQL. She was also asked if the Web Development Office used either of these
software packages, or if another software package was in use. Ms. Marr explained that,
in her opinion, Microsoft's Access software is insecure and not a particularly robust
database system. The latter was due mainly to the limited options for integrating the
software into a Web site environment. She said that it was her experience that Access
23 HTML: Hyperext Markup Language
26 was designed more for use in a small business environment to track materials, rather than being used for web development. In addition, she stated that Access tended to have higher overall system costs due to the need for a Microsoft operating system such as
Windows 2000 and higher hardware requirements, also due to the operating system requirements. She informed the team that her recommendation would be to use MySQL, a freeware24 program, as it is currently in use for portions of WPI's own Web site and therefore she has had experience with it. The overall system cost for running MySQL is
much lower, as the software is available for no cost, or a nominal license fee, and it can
run very stably on a system running the Linux operating system, which is also very stable
and free of cost. She felt that the software package is very stable and robust, making it an
excellent candidate for the basis of a Web site. Ms. Marr explained that this is due to its
wide availability for several different operating systems, its high level of built in security,
and the availability of programming languages such as PERL and PHP which are
designed to interact with the software and Internet web pages.
The team was told that the WPI web developers currently use the PERL
programming language to interact with the MySQL database. However, they both felt
that PHP would be an excellent substitution in their opinions, due to its higher level of
intuitiveness and wide availability. Ms. Marr also added that PI-IP tends to result in faster
program development times compared to PERL, since it is easier to learn.
In addition, Ms. Marr suggested that the team look into using XML 25 tags for the
web pages themselves, as this language is gaining acceptance for use in conjunction with
or as a replacement for the Internet standard HTML language.
24 Freeware: software available at no cost to the user. 25 XML: Extensible Markup Language
27 Finally, they spoke briefly about document formats for archiving material, mentioning that the team should decide on a single format for each of the file types that will ultimately be included in the system. Ms. Marr suggested using the standard ASCII text format, indicated by the .txt suffix found at the end of a file's name, or using a proprietary format like Adobe's .pdf file format. She cautioned against using proprietary formats though, as the format could potentially be drastically altered or become obsolete, thus rendering much of the material useless.
WPI History Professor Peter Hansen was interviewed on November 20, 2001.
We thought Professor Hansen would be a valuable source of information due to his extensive involvement with historical databases. The first item he mentioned was the necessity for an in-depth search engine. He thought topic searches should include places each musician played and musical involvement and then continued to talk about the inclusion of vital statistics, bibliographies, articles and discographies. He agreed that the vital statistics should be included for each of the Jazz musician's main web pages and that a bibliography be located on the main page after the vital statistics and brief biographical entries. Professor Hansen also agreed with the use of a brief biographical entry located underneath the vital statistics entry with the option for an extended biography on a separate web page for each of the artists. He gave us a copy of the New
Dictionary of National Biographies as a reference. This was a pamphlet containing
information required by researchers when creating encyclopedic entries. The last item he
mentioned was the concern that reliable sources are needed for the gathering of
information.
The IQP team had already planned on including a search engine in the NEJA
database, so the design idea was reinforced. Vital statistics, bibliographies, articles and
28 discographies had been considered and were being included in the design of the NEJA database. Professor Hansen's comments reinforced the team's decision to include all of these items in the database. Additionally, the team had already considered including a bibliography with cited sources for each of the artists to insure that the sources used were reliable. A list of questions the team asked Professor Hansen is included on page 2 of
Appendix E.
The IQP team decided to interview Professor Joel Brattin after learning of his continuous research on musician Jimi Hendrix. The team felt that Professor Brattin, based on his previous experience in researching musicians, would be able to contribute to the team's research on the types and level of detail of information that should be included in the NEJA database.
We first discussed the need for a discography associated with each Jazz artist in the archive. The traditional information included in a discography consists of the album title, a song listing, a personnel listing, the release date, the recording label, and the producers. Professor Brattin recommended that the discography should also include the recording engineers, location of the recording, and the names of the arrangers. He
stressed that the discography should be as detailed as possible, thus making the
information a more useful source to researchers. Professor Brattin also recommended
that, in addition to a brief text description, any audio or video file included in the system
should also have a similar level of detail in a discography entry. Researchers will find
that the audio and video files would be much more useful with a detailed listing of the
musicians present in the recording.
Professor Brattin also briefly spoke about the inclusion of a biography for each
Jazz artist. He felt that our idea of having a concise, encyclopedic type biography for
29 each of the artists would be very beneficial. He suggested that we also include a link to a more extended biography for each of the Jazz artists. This would give the user the option of reading the extended biography, similar to what Professor Hansen mentioned.
During the interview, Professor Brattin continuously stressed the need for a highly detailed search engine in the Web site. The user should be able to enter a term in the search field and then select the type of information to search. This would display a listing of all the musicians who can be associated with that term. Also, Professor Brattin stressed the need to explicitly state if any of the information is currently unknown. This would allow researchers to see exactly what information is currently not available in the archive, and to contribute to the archive upon finding the information.
From the interview with Professor Brattin, the team got an idea of what to include for the discographies for each Jazz musician. These items included album title, song listing, personnel listing, release date, recording label, producers, recording engineers, location, and arranger names. Professor Brattin reinforced the team's ideas to include a brief biographical paragraph, and then a link to a page with a more in-depth biography.
He also reinforced the use of a search engine, with search options such as search by artist or by article. A list of questions asked during the interview is located on page 3 of
Appendix E.
The interviews conducted helped the IQP team incredibly because they reinforced many of the design ideas the team already had. The team felt much more confident with continuing on to the design and programming of the database and Web site.
30 Material Review
Once the team had created a prototype design for the database, review of the material was necessary. This required sending hard copies and e-mails to many musicologists and music professors to get feedback on how to improve the project.
Musicologists contacted included: WPI Music Professors Frederick Bianchi, Richard
Falco, Douglas Weeks, John Delorey, and Louis Curran; University of Rhode Island
(URI) Music Professor Joseph Parillo, Algonquit Regional High School Teacher Dennis
Wrenn; Westfield State College Professor Donald Bastarache; NEJA President Brent
Banulis; and International Association of Jazz Educators (IAJE) staff Professor Mark
Gridley and Dr. Leonard Brown. These individuals were selected because they are not
only professional musicians, but are also very knowledgeable in the field of music
education. Feedback from all of these individuals greatly helped the IQP team in the
design of the NEJA database. Hard copies of our research material and a design proposal
were sent to: Professor Falco, Professor Curran, Mr. Banulis, and Professor Gridley. E-
mails were also sent to: Professor Bianchi, Professor Weeks, Professor Delorey,
Professor Parillo, Professor Wrenn, Professor Bastarache, Professor Gridley, and
Professor Brown.
WPI Associate Professor Frederick Bianchi stated that he thought our prototype
looked quite good. He mentioned using a dynamic biography, one that can be changed
over time if others wanted to contribute to the site. He also mentioned the inclusion of an
"other" link, located below the available links in the toolbar on the left side of the page.
He said that this link could be used to assist the user in finding more information than
that included in the artist's page about that particular artist. He also thought the term
"style"should be included in the encyclopedic entries as well. After reviewing our
31 material, Professor Bianchi contacted two other professors he thought would be beneficial to the IQP team. These professors are David Smith at the New York City
Technical College and Paul Kozel from the City University of New York.
The team thought that allowing the change of the biography by other researchers would be unwise, as it may cause researchers to shy away from contributing to the Web
site knowing that others have free access to their work and could alter it at anytime. We wanted each Jazz musician researched by one individual. The suggestion of the "others"
link was incorporated into the design of web pages. The link will remain inactive until
the time when the second general storage database, recommended to the NEJA board by
the IQP team, has been created and is in use. The "others" link would then connect to
this other database and search for any other materials related to the artist. The team felt
that the inclusion of the artist's style would best be left to the biographical entries, where
it could be explained in some detail. The team felt more comfortable with what it had
accomplished thus far after this review. The e-mail reply by Professor Bianchi is located
on page 1 of Appendix F.
Professor Richard Falco, Director of Jazz Studies at WPI, thought we had a good
level of detail incorporated into the discographies and artist biographies. He agreed with
the team's methods and felt confident about our overall progress. No changes were made
to the project because Professor Falco felt that none were necessary.
Professor Louis Curran, Associate Professor of Music at WPI, reviewed our
material in hard copy format. Overall, he thought our material looked quite good. He did,
however, mention a few items he thought could be added. He thought musical
associations, "places," and "managers" should be added to the biographical entries.
32 The team had already incorporated "groups" into the database via the discography section. The team felt that adding "places" might not be particularly beneficial and decided to leave it up to the author's discretion to include notable places of performances in the extended biography entry. "Managers" would already be included in the discography, so the team did not include it as a separate entity.
The next individual who reviewed our material was Professor Donald
Bastarache, Director of Jazz Studies at Westfield State College and IAJE National
Festival Chairman. Overall, Professor Bastarache thought our material was thorough and
well thought out. He approved our methods and included items and did not want us to
change anything. The e-mail reply from Professor Bastarache is located on page 2 of
Appendix F.
Mr. Banulis, President of NEJA was sent printed versions of the layout for both
the artist web pages and the submission system pages in addition to the materials about
submission content. These materials were also presented to the NEJA Board of
Directors. Mr. Banulis, speaking on behalf of the Board of Directors, stated that the
organization was pleased with the material sent to them for review. He suggested only
minor changes to the materials, including the background color of the web pages being
changed from blue to gray and altering the text used on the main archive web page for an
introduction to the Web site. He told us not to change anything else and to proceed with
the next portion of the project, the construction of the web pages and database. His
approval and the approval of the NEJA Board of Directors, made us feel much more
confident about the progress of the project so far.
On February 10, 2002 Professor Gridley, an Associate Professor of Psychology at
Heidelberg College and an IAJE National Historian, responded to the team's e-mail
33 requesting his opinion about the materials being used as the basis for the content of the artist pages in the Web site. He requested a phone conversation with one of the team members in order to discuss the project and sources of material for the project.
On February 14, 2002, one member of the IQP team contacted Professor Gridley by phone as requested. He expressed his concern over copyright issues pertaining to his work. The team member he spoke with explained the purpose of the project was to
establish a system for authors to submit work to the database and that it was not part of
the IQP team's goals to inhabit this system with materials, this would be left to
researchers and other members of academia. After this explanation, Professor Gridley
felt better about the scope of the project and made several suggestions pertaining to
resources that could be included in the database or linked to externally. A full listing of
his suggested resources is located on page 3 of Appendix F.
A few of the more prominent resources he suggested the team look into acquiring
permission to use include articles written for the Boston Herald by Harvey Pekar,
Michael Erlewine's materials used in the All Music Guide to Jazz, the interviews from
Cadence Magazine and Barry Kernfeld's materials in the Grove Dictionary of Jazz. He
said he felt it would benefit the project if permission were obtained for the use of these
materials, as it would allow the inclusion of a large amount of information in the system
while preventing a large amount of repetitive research. His only suggestion for the
database itself was to include a listing of the composers of each song in the discography.
He said that the database appeared to be well thought out and very comprehensive.
In addition to the advice on research areas, Professor Gridley also cautioned the
team about the use of audio and video files in the Web site. He suggested contacting the
IAJE legal advisor about finding the proper channels to obtain permission for the use of
34 these types of files. The e-mail responses from Professor Gridley are located on page 4 of Appendix F.
We presented the options given to us by Professor Gridley to NEJA President
Brent Banulis during our February meeting about the progress of the Web site and database design. The team appreciated Professor Gridley's suggestions, but felt that these resources would be better to include in an alternate database. This is due to the format that was decided on for the project, this being a system based on articles submitted to NEJA.
Dr. Leonard Brown, Associate Vice Provost of Academic Opportunity at
Northeastern University and an IAJE Historian, responded to the IQP team through e-
mail on February 17, 2002. He had several suggestions relating to the brief biography being included for each artist in the database. He suggested including the ethnicity of the
artist in the biography. He was also curious how we would be defining the term educator.
He made the point that many Jazz musicians, both past and present, are great teachers yet
they do not possess a teaching certificate or degree. In addition to this, he mentioned that
the terms "leader" and "director" are redundant when applied to Jazz musicians, as both
are used interchangeably when referring to a musician leading a band. He also suggested
that the team consider creating a set of formal boundaries for the biographical
submissions.
The team took these suggestions into consideration and decided to eliminate the
terms "director" and "educator" from the submission forms. The term "director" was
removed because the team felt that "leader" would be a better descriptive term. The
educator field was removed since the team agreed with Dr. Brown's comment that most
35 Jazz musicians are also educators. The e-mail from Dr. Brown is located on page 5 of
Appendix F.
The last individual the IQP team received a response from was Dr. David Smith, a professor at New York City Technical College. After carefully looking over our material, he thought the team had created a good basis for information to be included in the Web site. His recommendations for additions included listing the bands or organizations belonged to by the musician, Jazz styles and influences.
We had already planned on incorporating a "bands" listing that the Jazz musicians were involved with. This information is included in either the brief biographical entry or the optional extended biography. As for influences, the team also intended to leave this
for inclusion in the extended biography at the discretion of the author. This decision was
based on the team's opinion that influence's on artists go hand in hand with the artist's
particular style of playing, thus making an explanation of the two more beneficial than a
descriptive word.
Musicologists and professors that the team received no response from included:
Professors Weeks, Delorey, Parillo, Wrenn, and Kozel. This was due to their incredibly
busy schedules, resulting in their not being able to give a review of the material the time
they thought it deserved. Despite Professor Bianchi's reference to Mr. Kozel, he could
not lend any time towards reviewing our material.
Although not all of the suggested items were incorporated into the design, the
team felt confident with the decisions made in regards to the content of the Web site. The
team also felt confident that the project was progressing in the right direction after
receiving such positive feedback from those asked to review the materials.
36 Web site Design and Implementation
Implementation of the project was divided into two phases, database creation and
PHP database access script creation. The latter took the longest time because of the amount of code that had to be written. All initial software development was done off line on a stand alone Windows 2000 system.
Database Creation Methods
In the database creation phase of the project, MySQL is operated as a command line based database creation utility. Therefore, many of the commands used to create the
initial database will be given throughout the course of this section, as well as a written
explanation of what each does.
The first step in implementing the database backend of the project was to install
the MySQL database software on the development platform, which in this case was the
team's Windows 2000 system. After installation a master account, or root account, was
created that was used to allow team members to log in, create and update the database.
Once the team had MySQL installed and running with the proper root user
authorization, a new database was created called NEJA1, shown in Figure 1.
37 Hicrosoft(R) Windows DOS (C)Copyright Microsoft Corp 1990-1999.
C: \>cd mysql \bin
C:\MYSQL\BIN >mysql -uroot -p Enter password: **** We to the MySQL monitor. Commands end with ; or \g. Your MySOL connection id is 5 to server version: 3.23.33
Type 'help;' or '\h' for help. Type \c ' to clear the buffer
mysql) create database nejal;
Figure 1 Creation of NEJA1 database
The name NEJA1 was used in case it became necessary to create more databases related to the project in the future, this way each database could be numbered sequentially making it easier to edit and keep track of them.
With the database created, the team then created tables. A table is a structure within a database that contains individual fields (for example name, address and zip code).
Usually, the fields somehow relate to the table name, so that by looking at the table name, one could guess at the contents of the table. For example, a customer_ information table could contain the fields first_name, last_name, and address.
The team initially created 3 different tables that were determined by organizing the required fields the team gathered during their research phase into relevant categories.
Table one was called vital_stats, which would hold all basic biographical information for each artist. Table two was titled discography and would contain information on albums recorded by the artist. Table three was called multimedia and would store the location of any pictures or audio related to the artists. The individual fields for each table and a brief description, as determined by previous research, are given in Table 6 below:
38 VITAL STATS DISCOGRAPHY MULTIMEDIA Entry_num — auto increments, Fullname — artists full name Mulid — auto increment, record record number (used to key discography to number specific artist) Author — Name(s) of Rec_date — date of recording Pictures — picture related to people/persons who wrote artist submission Username — username of author Album_title — title of album Audio — audio related to artist who wrote submission (used for security) Last name — artists last name Band name — name of ensemble Audiodesc — description of audio clip First name — artists first name Release date — album release Picdesc — description of picture Middle name — artists middle Song_list — listing of songs on Fullname — artists full name, name an album keys multimedia to artist Nickname — artists nick name Per_list — personnel list Username — username, keys authors name to multimedia Arranger — was the artist an Producers — album producers Pictures — path to picture on arranger (yes/no) server hard disk Composer — was the artist a Arrangers — music arrangers Audio — path to audio on server composer (yes/no) for the album hard disk Bandleader — was the artist a Recording_eng — prmary Username — authors username bandleader (yes/no) recording engineer Director — was the artist a Rec_label — album label (eg. director (yes/no) Decca, Columbia, etc) Instrument) — artists primary Rec_location — location of instrument recording Instrument2 — other instrument Entry_nurn — auto increments, record number Instrument3 — other instrument Birthplace — artists birthplace Birthdate — date of artists birth Death_place — artists place of death Death daze — date of artists Brief bio — brief (200) word bio on artist Extended bio — detailed biography of artist (1000+) Front_pic — picture of artist Make live — determines whether the submission will be visible to the public
Table 6 Database fields and descriptions
39 Since MySQL is a command line interface, typing the code for creating each field line by line would be a tedious task. To simplify the process, MySQL contains a file- loading feature in which all tables and fields can be written in a file. That file is run at the MySQL command prompt and all tables and fields are created automatically. This is called an SQL file, and the code to produce the tables described above is given below.
DROP DATABASE IF EXISTS nejal; create database nejal; use nejal; create table VITAL STATS ( entry num int unsigned not null auto increment primary key, author char(40) not null, username varchar(16) not null, password varchar(16) not null, last_name char(35) not null, first_name char(20) not null, middle_name char(20) not null, nickname char(15) not null, arranger char(4) not null, composer char(4) not null, bandleader char(4) not null, director char(4) not null, educator char(4) not null, instrument) char(15) not null, instrument2 char(15) not null, instrument3 char(15) not null, birthplace char(15) not null, birthdate date not null, death_place char(15) not null, death_date date not null, brief bio tinytext not null, extended bio text not null, front_pic varchar(30) not null, make live varchar(4) not null
) ;
create table discography ( entry num int unsigned not null auto increment primary key, artist_firstname char(35), artist_lastname char(30), album title char(80) not null, band name char(90) not null, release date date not null, song list tinytext not null, per list tinytext not null, producers tinytext not null,
40 arrangers tinytext not null, recording eng tinytext not null, rec label char(30) not null, rec location char(30) not null, rec date date not null
) ; create table multimedia ( mulid int primary key auto_increment, first_name varchar(40) not null, last_name varchar(40) not null, pictures char(45) not null, audio char(45) not null, fullname char(45) not null, username char(15) not null create table authors
( username varchar(16) primary key, password varchar(16) not null, full_name text not null );
The above code is then loaded into MySQL via the command line interface, shown below in Figure 2.
C:\MYSQL\BIN >mvs 1 < ne a.sL
Figure 2 Command Line Interface
Database Access Methods
With the database structure complete and ready to accept data, the team had to construct a method for users to submit data into the database. While it was possible to enter data into the individual tables directly from the MySQL command line, this is a tedious and frustrating process as the command line interface is a primitive, difficult way to enter data. For instance, if someone wished to simply enter in the artist's name, it would require the following code.
41 Insert into vital slats (first name, middle name, nickname, last name) values
(Edward, Kennedy, Duke, Ellington);
That much code only covers the name! Given this issue, the team made the decision that a better, less tedious way was needed for users to submit information.
The solution was to now make use of the PHP programming language to make access scripts to allow historians and other professionals to enter data.
Visualization
Before any code was written for the front end 26 , it was determined that a color scheme and design layout needed to be established. Initial concept drawings for our front end were created in Microsoft FrontPage, these can be found in Appendix G. However,
Brent Banulis, President of NEJA, decided that he wanted the front end for the project to look exactly like the current NEJA Web site. The team scrapped the initial drawings and decided that in the current situation, the option that made the most sense was to use the existing color scheme and layout which was already in place in NEJA's current Web site27 . Only one change was made to the existing design; the menu buttons would be placed along a bar on the left side of the screen, rather than along the top as shown below:
26 The front end refers to the code (PUP and HTML) for web pages that the user would see when interacting with the historical site. 27 www.neJazz.org
42 tlEJA Mc* t melool.Jarz Alliance fAictosoit lateen. Euakvor piwded by Waco El Polyeadenic limeiredt ► Fie Edit Yew Facades jade hole Ei . . 1 A Bad Fu.ud ste, Reim, Home Seal, Mcd kE Hrtw Rey E.
Ajdress L J
Figure 3 NEJA'S Home Page with Horizontal Menu
Inielested in Saboottrea • blicioraft Internet Eoplorer plorlded bq Wo,erIre Pdysecfape loetiteila •- n Eir Edit _Yet lode halo W Bock RefmA Home 8;2. A,:iress , NEL AV*
Submitting to the Database
Drank you for your mterrsI in submitting to INTJAIs Artist Database. Pleases contact 11,rent.Veranolls for metro ululation au suktnisstarc If you already have a user name and passaal d you may c-t'i bens AD Wend Figure 4 Page from our project with vertical menu bar Now that the web page layout and color scheme were in place the team began to implement the project. 43 Security The team began this portion of the project in January with experimentation in security and user authorization. Since NEJA would have many different people submitting data to the database, it was necessary to make sure that one person could not modify or delete another person's data. It was also necessary to limit access to the submission process to only those whom NEJA authorized. It was during this phase that the team realized that another table would need to be added to the database. An author's table, shown in Figure 5, would need to be added which would contain the field's username, password and the author's full name. mysql> describe authors: + + + + + + + I Field I Type I Null I Key I Default I Extra I + + + + + + + 1username I varchar(16) I I PRI I I I password I \archar(16) I I I I I I full_name I text I I I I I + + + + + + + 3 rows in set (010 sec) Figure 5 The new author's table This table would contain a listing of users that have been granted access to the submission pages. Users would be added or removed by NEJA's Webmaster, Jeremy Hitchcock. According to the technical manual, PHP and MySQL, Web Development, the easiest way to handle the security issue was to use something called session control (Thomson and Welling, p. 304). Session control is a very simple and elegant way in which PHP can limit the access of people to certain areas of a Web site. Session control 44 operates in the following manner. A user wishing to access an area of the Web site, in this case our submission pages, must first log in. During login, the user's name and password are checked against information in a database table on the server. If the user's name and password are contained in the table, the login in is completed successfully. Once the user is validated and has logged in, a variable called a session variable is set for that user. Now, the browser checks to make sure that the session variable has been set for that user on every page for which access has been restricted. If the variable is set, it allows the user access to the page. If the variable is not set, it does not allow the user to access the page. A basic experiment was conducted on January 21, 2002, to test if session control would work as expected. A simple web page was constructed and used as the "secure" page to which access would be limited. Another web page was constructed which would be used as a login page. Finally a temporary database with a users table was created to hold users who would be allowed access to the "secure" page. The experiment was successful. If a user attempted to access the secure web page without logging in, an error message appeared on screen informing the user that the page was restricted and that it was necessary to login. If the user tried to login with a name and password that was not in the database, the user received a message that the login was invalid and would be unable to access the page. However, if the user logged in with a valid name and password, the session variable was set and access to the page was granted. With the security issue resolved, the team then began to focus on the actual submission process. 45 The Submission Process Login and Main Menu The team's first step was to create a login page. The purpose of the login page was to simply query the newly created users table of the database to verify that the user logging in did indeed have access to the submission portion of the site. Again, access to submission pages would be approved by Brent Banulis and granted by Jeremy Hitchcock. =7: Ilk Eck View Favorites Took F10110 -4, Back Search "; j Favorites Mocks j Address http./AocalhostAoiktphp Go Links , ttEw ErtaLAAr JAZZ ALL n A1.16Z Prstre,ing Net. Engle- A. Submission Login ain M eon Figure 6 The Login Screen As in the example, once the user is validated, the login script sets a session variable for that user which remains set until the user either logs out or closes their browser. Here is a breakdown of the code required for the login access shown above in Figure 6. 46 "; echo " When the user enters his or her password, and clicks login, the login script that actually queries the database to determine if the user is an authorized user runs. That script is called authmain.php and is shown below. if (@$userid && @$password) //if the user has entered a name and //password // if the user has just tried to log in $db conn = mysql connect("localhost", "webuser", "webuser"); mysqLselect db("nejal", $db conn); $query = "select * from authors " ."where username='$userid' " //connect to the database to 47 //authorize user ." and password='$password' "; $result = mysqlquery($query, $db conn); if (mysqlnum rows($result) >0 ) // if they are in the database register the user id $valid user = $userid; sessionregister("valid user"); ) if (sessionis_registered("valid user") ) //if the ID is registered they are logged in echo "You are logged in as: $valid user else if (isset($userid)) // if they've tried and failed to log in - if they are not in the // database echo " else [ // they have not tried to log in yet or have logged out echo "You are not logged in. ] ?> If the authmain.php script is successful, the user is presented with the main menu shown below in Figure 7. 48 PrOrnoting 1,1ev.t England's Jazz Musicians. Submission Login Jaki Byard, originally from Worcester, is one of the NE JA Hall of Fame inductees Main Menu Figure 7 Submission System main menu From this main menu, users can update the information on artists already entered or they can create a brand new submission from scratch. The team chose to next implement the artist vital statistics form. The Vital Statistics Page The first step of the submission process was to create the vital statistics form that, once logged in, a user would see on screen. The team had two options to use for implementing this feature. One was write the submission form in standard HTML (e.g. submissionform.html), the other was to write a PHP script with HTML embedded (e.g. submissionfrom.php). Using only HTML in this situation is unadvisable, due to the ease of obtaining the code required to perform the function. The HTML code of a web page is visible to all users simply by using one of the standard menu items in the Internet 49 Explorer web browser. Since it was necessary to secure this form with the afore mentioned session control, and since session control is a function of the PHP language, the team had no choice but to create the form using a PHP script with embedded HTML being used to generate the layout of the web page. The team began by creating a file called newartist.php and protecting it with session control as shown below: session start(); if (session is registered ("valid user")) { //SUBMISSION FORM CODE } else { echo " You are not logged in. Please Log in to access this section. The session start() command informs the web browser that session control will be used on this particular web page. The if statement checks to see if the session is registered. As indicated in the previous section, a session is registered if a user successfully logs in. If the variable valid user exists, the submission form is displayed. The code for this would be located between the first set of curly brackets. Otherwise, if the variable valid user does not exist, it informs the user that the he or she is not logged in and must log in to access this section. With session control for the submission form implemented, all that was necessary was to insert the HTML code for the form itself into the PHP script. During the creation of the HTML code for the submission form, the team had its first encounter with file system manipulation. The field titled Front_Pic in Table 3.1 calls for a picture of the artist, which will be displayed on the first page the user will see when he or she looks at 50 an artist's record in the database. The person submitting the material must acquire an electronic version of the picture on his or her own by either scanning it or finding it online. Either way, the picture must be on the submitter's computer and must be uploaded to the server so that it can be displayed on screen with the rest of the data. According to chapter 16 in PHP and MySQL Web Programming, the easiest method to upload files was to use the HTML file transfer protocol. (Thomson and Welling, p 352) There is a two-step process to setting up the form for file transfers. The first step is to change the encoding of the form so that it knows it will be handling files as well as data: echo "
"; echo ""; echo "
"; echo "Administrative Options
"; echo "Update Records "; echo "Create another Submission "; else //otherwise require the user to log in { echo ""; Logout
";
";
Could not log you in! Try Again..
"; if (@!$valid user)
"; echo "