[Pangloss] Functional spec

Steve Purkis spurkis at mkdoc.com
Tue Apr 8 13:51:54 BST 2003


See attached for an updated spec (text only - I'm assuming people 
prefer this and don't want to maintain 2 versions).

-Steve

-------------- next part --------------
===================================
 Pangloss Functional Specification
===================================

Author:	Steve Purkis
Date:	08/04/2003


1 Project Overview
==================

	This document outlines the functional requirements of Pangloss, 	an open source multilingual terminology management system.


   1.1 System Roles
   ----------------

	Pangloss will have 4 different types of users:

	   ¥ Generic User
		These users have limited access to the site in that
		they cannot modify any content.

	   ¥ Translator
		These users may submit & modify keyword translations.

	   ¥ Proofreader
		These users may accept/reject keyword translations.

	   ¥ Administrator
		These users may create, remove, or modify user
		accounts, languages and keywords.

	General access may be restricted to a predefined list of users.

   1.2 Translations
   ----------------

	For each keyword, there may be an unlimited number of 
	translations in any given target language.

	Keyword translations will have a status associated with them:
	   o Approved
	   o Rejected
	   o Pending


   1.3 Generating Glossaries
   -------------------------

	The primary function of Pangloss is to allow users to generate
	and edit glossaries.  There are 3 ways of generating a glossary:
	   o Navigation (described below)
	   o Searching the keywords
	   o Submitting a URL

	Navigation of the keywords will be multi-faceted.  This means 
	that the user will be able to browse by selecting any 
	combination of:

	   o source language 
	   o target language
	   o date range
	   o translator name
	   o status


2 Use Cases
===========

	For any given request, Pangloss will first check if the user 
	has sufficient privileges before performing any actions.  If 
	the user does not have permission and error screen will be
	displayed.

	As such, it makes sense to break down PanglossÕ use cases by 
	user type:


   2.1 All Users
   -------------

	The following use cases are available to all Pangloss users:

	2.1.1 Browse keywords & translations

	Primary scenario.
	   1. User selects Ôbrowse keywordsÕ option on a Pangloss page
	   2. Pangloss displays available browsing options
	   3. User selects one or more filters of the style:
		a. source language 
		b. target language
		c. translator name(s)
		d. date range
		e. keyword status
	   4. Pangloss displays resulting glossary, and allows user
	      to refine their selected options as in (3)


	2.1.2 Search keywords & translations

	Primary scenario.
	   1. User selects Ôsearch keywordsÕ option on a Pangloss page
	   2. User enters text to search by
	   3. Pangloss displays resulting glossary and allows user
	      to refine their selected options as in Browse keywords
	      and translations.


	2.1.3 Generate glossary for a webpage

	Primary scenario.
	   4. User selects Ôgenerate glossaryÕ option on a Pangloss page
	   5. User enters the URL of a web page
	   6. Pangloss displays a glossary containing keywords found
	      on the web page.


	2.1.4 Login

	Primary scenario:
	   1. User selects ÕloginÕ, or tries to perform an action that
	      requires privileges they do not have.
	   2. Pangloss a login screen
	   3. User enters:
		a. username
		b. password
	   4. Pangloss verifies login and allows the user to continue.

	Variations:
	A. Invalid login
	   4.  Pangloss displays an error screen.


   2.2 Translator
   --------------

	The following use cases are only available to Translators.

	2.2.1 Submit keyword translation

	Primary scenario:
	   1. Translator browses keywords and selects a specific keyword.
	   2. Translator enters a translation for the keyword in a
	      target language, and selects Ôsubmit translationÕ.
	   3. Pangloss updates its list of translations for the keyword.


   2.3 Proofreader
   ---------------

	The following use cases are only available to Proofreaders.

	2.3.1 Modify keyword translation status

	Primary scenario:
	1. Proofreader browses keywords and selects 'Update status'
	   of a specific keyword translation.
	2. Pangloss displays a list of status options.
	3. Proofreader selects new status (and optional comment).
	4. Pangloss updates status.


   2.4 Administrator
   -----------------

	The following use cases are only available to Administrator users.

	2.4.1 Administer users

	Primary scenario:
	   1. Administrator selects Ôadminister usersÕ
	   2. Pangloss displays list of users and administration
	      options available:
	   3. Administrator selects an option
	   4. Pangloss displays the result of the action

	Variations:
	A. Add new user
	   3. Administrator selects ÔAdd new userÕ and enters user
	      details, including:
		a. type of user (translator / proofreader / administrator)
		b. target languages allowed
	   4. Pangloss adds user (if possible) and returns to (2)

	B. Delete user
	   3. Administrator selects ÔDelete userÕ
	   4. Pangloss marks the selected user as ÔdeletedÕ (preserving
	      the account and associated data) and returns to (2)

	C. Edit user
	   3. Administrator selects a user and modifies their details
	   4. Pangloss updates the user and returns to (2)


	2.4.2 Administer languages

	Primary scenario:
	   1. Administrator selects ÔAdminister languagesÕ
	   2. Pangloss displays list of languages available.
	   3. Administrator selects an option
	   4. Pangloss displays the result of the action

	Variations:
	A. Add new language
	   3. Administrator selects ÔAdd new languageÕ and enters:
		a. language full name
		b. ISO code
	   4. Pangloss adds language (if possible) and returns to (2)

	B. Delete language
	   3. Administrator selects ÔDelete languageÕ
	   4. Pangloss deletes the selected language (and all
	      dependencies?) and returns to (2)

	C. Edit language
	   3. Administrator selects a language and modifies its details
	   4. Pangloss updates the language and returns to (2)


	2.4.3 Administer keywords

	Primary scenario:
	   1. Administrator selects ÔAdminister keywordsÕ
	   2. Pangloss displays list of keywords available.
	   3. Administrator selects an option
	   4. Pangloss displays the result of the action

	Variations:
	A. Add new keyword
	   3. Administrator selects ÔAdd new keywordÕ and enters:
		a. keyword description
		b. keyword
		c. language 
	   4. Pangloss adds user (if possible) and returns to (2)

	B. Delete keyword
	   3. Administrator selects ÔDelete keywordÕ
	   4. Pangloss deletes the selected keyword (and all
	      dependencies?) and returns to (2)

	C. Edit keyword
	   3. Administrator selects a keyword and modifies its details
	   4. Pangloss updates the keyword and returns to (2)


	2.4.4 Delete keyword translation

	Primary scenario:
	   5. Administrator browses to a specific keyword translation
	      and selects ÔDeleteÕ.
	   6. Pangloss deletes the keyword.

__
EOF


More information about the Pangloss mailing list