[Pangloss] Functional spec

Steve Purkis spurkis at mkdoc.com
Fri Mar 28 15:09:05 GMT 2003


Hi guys,

Here's the first stab at a functional spec - It's meant to build
on the Weblex Spec that Jean-Michel put together last month.

I've even included a text-only version for those of you who are
afraid of MS Word :-)

Comments appreciated,
-Steve

-------------- next part --------------
Skipped content of type multipart/appledouble-------------- next part --------------
===================================
 Pangloss Functional Specification
===================================

Author:	Steve Purkis
Date:	27/03/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.


   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 Navigation
   --------------

	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


   1.4 Glossary
   ------------

	A glossary will be generated based on the userÕs navigation or
	search through the site.  Users may also generate glossaries by
	submitting URLÕs of web pages.


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 deletes the selected user (and all dependencies?)
	      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 user (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