Running head: Lab 2 – ELDERS Prototype 1 Lab 2 – ELDERS Prototype Team Purple Tatiana Livingston CS411W Professor Janet Brunelle April 8, 2013 Version: 1 Lab 2 – ELDERS Prototype 2 Table of Contents 1 Introduction .................................................................................................................................. 4 1.1 Purpose .................................................................................................................................. 4 1.2 Scope ..................................................................................................................................... 5 1.3 Definitions, Acronyms, and Abbreviations ........................................................................... 5 1.4 References ............................................................................................................................. 6 1.5 Overview ............................................................................................................................... 7 2 General Description ..................................................................................................................... 8 2.1 Prototype Architecture Description ....................................................................................... 8 2.2 Prototype Functional Description ....................................................................................... 12 2.3 External Interfaces............................................................................................................... 13 2.3.1 Hardware Interfaces...................................................................................................... 13 2.3.2 Software Interfaces ....................................................................................................... 13 2.3.3 User Interfaces .............................................................................................................. 13 2.3.4 Communication Protocols and Interfaces ..................................................................... 14 A. Appendix ............................................................................................................................... 15 Lab 2 – ELDERS Prototype 3 List of Figures Figure 1 - Prototype Major Functional Component Diagram ......................................................... 9 Figure 2 – Word Proposal and Voting Processes.......................................................................... 12 Figure 3 - Sitemap ......................................................................................................................... 14 Figure 4 - Entity Relationship Diagram Of The Prototype Database ........................................... 15 List of Tables Table 1 – Side-By-Side Comparison Of The Final Product And The Prototype.......................... 11 Lab 2 – ELDERS Prototype 4 1 Introduction There are approximately seven thousand languages worldwide, half of which are expected to die within the next century ("Endangered Languages"). Losing a language results in the loss a large part of a community’s cultural heritage. Language is what ties a community together. Documents, stories, and songs may all be lost when the language is lost. Many communities will benefit immensely from regaining their dead language. It is also imperative to protect the languages in danger of dying out. There are some languages, both endangered and extinct, that have been successfully revitalized (e.g. the endangered Navajo language and the extinct Hebrew language). However, the process used to revitalize such languages required resources and conditions not available to all languages suffering a similar fate. It currently consists of a devoted linguist going through countless obscure documents to recreate the closest approximation to the dead language. This is clearly impossible for languages with minimal documentation and with no access to a professional linguist. 1.1 Purpose ELDERS is a product that gives communities the ability to revitalize endangered and extinct languages. It focuses mainly on documenting the existing language, expanding it, and then teaching it. The original language will be documented in an online database. It will then be made accessible by providing a website interface. The community itself will decide what words are added through a word suggestion and approval process, and thus they will be the ones who Lab 2 – ELDERS Prototype 5 create the new language. ELDERS will also provide access to the history of the community and various language teaching tools. 1.2 Scope The prototype will be tailored to the Nottoway language and community. It will attempt to provide the most functionality in the time allotted and given the current limitations of the Nottoway language. The prototype will focus on documenting and archiving the language as it currently exists and on the features necessary to enable language expansion. It will also provide cultural information and features to encourage and facilitate communal participation. The prototype will be built with user access and restrictions in place so as to allow the community to protect their privacy and ensure that only permitted members have the ability to make changes and decisions about the Nottoway language. The dictionary feature will have the basic functionalities required for recording and displaying the Nottoway language, as well as minimal implementation of the Nottoway’s grammar and idiomatic phrases. 1.3 Definitions, Acronyms, and Abbreviations ELDERS: Endangered Languages Documentation Extension and Revival System Historical Dictionary: Only contains the original Nottoway words New Dictionary: Contains all of the new words approved by the Nottoway LAMP: Linux, Apache, MySQL, PHP Registered User: Lowest access level; a user with this access level is either not a member of the community or a user whose Community Member status has not yet been approved. Community Member: Second lowest access level; a user with this access level is a member of the community that the language belongs to. Lab 2 – ELDERS Prototype 6 Language Committee Member: Second highest access level; a user with this access level has been selected by the community to be responsible for voting and suggesting new words. Graphical User Interface (GUI): How the end user will interact with the application Linux: A free, widely-available open-source operating system MySQL: the world’s most used RDBMS Structured Query Language (SQL): Used to make queries to a database server Tables: Logical collections of data stored on a database server RDBMS: Relational Database Management System 1.4 References Lewis, J. D. (2007). Carolana Explorers – Edward Bland. Carolana. Retrieved on November 13, 2012, from http://www.carolana.com/Carolina/Explorers/edwardbland.html Nottoway Indian Tribe of Virginia (2011). History. Nottoway Indians. Retrieved October 8, 2012, from www.nottowayindians.org. Parramore, T.C. (1978). In Southampton County, Virginia (pp. 1-5). Charlottesville, VA: UP of Virginia. Peterson, M.D. (1986). In Thomas Jefferson: A Reference Biography (pp. 69, 168). United States: Charles Scribner’s Sons. The Week Staff (2012, June 22). Google’s next mission: Save dying languages – The Week. The Week Magazine: Political News and Cartoons, Current Events and Entertainment Online. Retrieved October 8, 2012, from http://theweek.com/article/index/229695/googles-next-mission-save-dying-languages Lab 1 -- ELDERS Product Description. Version 2. (2013, March). Endangered Languages Documentation Extension and Revival System. Purple Team. CS411W: Tatiana Livingston Lab 2 – ELDERS Prototype 7 1.5 Overview This product specification provides the hardware and software configuration, external interfaces, capabilities and features of the ELDERS prototype. The information provided in the remaining sections of this document includes a detailed description of the hardware, software, and external interface architecture of the ELDERS prototype. It also includes the key features of the prototype. The parameters that will be used to control, manage, or establish these features and their performance characteristics in terms of outputs, displays, and user interaction will also be described. (This space intentionally left blank.) Lab 2 – ELDERS Prototype 8 2 General Description The ELDERS prototype will focus on the innovative design of a centralized storage of the Nottoway language in a website. This will allow larger access to the language and will give the Nottoway community the ability to rebuild their language. The aspects that would make the prototype usable for other languages, such as customizable grammar rules and editable Historic Dictionary, will not be included due to time and budget constraints. 2.1 Prototype Architecture Description The ELDERS prototype will be comprised of multiple open source software components: Linux, Apache, MySQL, and PHP. These components are collectively referred to as a LAMP stack. The Linux operating system, Ubuntu, will be used to access the server. Apache will be used as the web server, MySQL will be the database management system, and PHP will be the scripting language used to develop the prototype website. (This space intentionally left blank.) Lab 2 – ELDERS Prototype 9 Figure 1 - Prototype Major Functional Component Diagram As illustrated in Figure 1, the prototype will consist of two major functional hardware components: a client and a server. The client will be accessible by any device with a web browser, including mobile devices. The server will be hosted by a third party. The server’s minimal recommended specifications are four gigabytes of RAM and at least 20 gigabytes of hard drive space. Access control is a key part of ELDERS. It is vital to protect the original language and to make sure only the community is making additions to the language. There will be a tiered account system that limits the access of different users depending on their rank. Besides the website administrators (who will have full back-end access), the access levels, in order from least amount of access to highest amount of access, are: Registered Users, Community Members, and Language Committee Members. Lab 2 – ELDERS Prototype 10 There will be a database containing separate tables for the Historic Dictionary and the New Dictionary. The website will allow users to view the information stored in each of these tables. Users will also be able to view the grammatical rules of the Nottoway language. It will also allow members of the Language Committee to add to the New Dictionary through the word proposal and voting processes. There will be educational aspects of the website which will consist of a section for educational games (the games themselves will not be included in the prototype) and the community’s history. Users with the appropriate access level will be notified of any changes made to the New Dictionary. Table 1 summarizes the differences between the ELDERS final product and the prototype discussed above. Functionality: Final Product: Prototype: Dictionaries Store and view the words in the Historic Dictionary and the New Dictionary Implemented View the written alphabet Not Implemented: There is no current Nottoway Alphabet; once created it will be easily implemented Hear the words pronounced Partially Implemented: Will allow admins to add audio pronunciations Lessons to teach the language Not Implemented System to suggest new words Implemented Alphabet Audio Pronunciation Language Lessons Word Proposal Lab 2 – ELDERS Prototype 11 Certain users can vote for proposed words, words with enough votes automatically get added to the New Dictionary Implemented User login system with different access levels Implemented Notifications System to notify users when changes are made to the New Dictionary Implemented Games Section containing educational games Not Implemented: Future groups will design them, the prototype will make it easy to implement the games when they do History Section for the community’s history Implemented Able to view the website from mobile devices Implemented Separate mobile application Not Implemented Word Voting Access Control Mobile View Mobile Application Table 1 – Side-By-Side Comparison Of The Final Product And The Prototype Lab 2 – ELDERS Prototype 12 2.2 Prototype Functional Description The major functional components are shown in Figure 1 above. Any user will be able to browse and search the both dictionaries simultaneously (their dictionary of origin will be noted). Figure 2 illustrates the combined word proposal and voting processes. If a suggested word already exists in either dictionary, then there will be a note and a link to the already existing word. Thus, words will be capable of having multiple meanings, but the Language Committee Members will be aware of it before voting. Figure 2 – Word Proposal and Voting Processes Lab 2 – ELDERS Prototype 13 2.3 External Interfaces The external interfaces will be limited to standard PC hardware and software. The website will be the only customized interface. 2.3.1 Hardware Interfaces There will be no hardware interfaces used for this prototype. An ODU virtual machine running Ubuntu 12.04 will be used to host the databases and web-based content. 2.3.2 Software Interfaces The prototype will use PHP to interface with the MySQL databases. 2.3.3 User Interfaces Users will be able to interface using any of the current web-browser, such as Mozilla Firefox or Google Chrome. There will be a tiered account system that limits the access of different users depending on which rank they are. The access levels, in order from least amount of access to highest amount of access, are Registered Users, Community Members, Language Committee Members, and website administrators. The structure of the user interface is shown in Figure 3. Lab 2 – ELDERS Prototype 14 Figure 3 - Sitemap 2.3.4 Communication Protocols and Interfaces An Ethernet cable or wireless connection will be required to connect to the internet. The graphic display will be rendered through HTTP. The rest of ELDERS will use PHP to communicate. Lab 2 – ELDERS Prototype 15 A. Appendix Figure 4 - Entity Relationship Diagram Of The Prototype Database