KDEEdu/Language/KVocDocumentPlanningJuly2014Temporary

From KDE Community Wiki
Revision as of 10:05, 10 July 2014 by Andreas2 (talk | contribs) (Made distinction between current and future Parley requirements of KVTML2 clearer)
 
Under Construction
This is a new page, currently under construction!


Individual Requirements

The following section is for planning the requirements of a replacement for KVTML2. It is divided by application.

Each application is divided into File Format, API and Editor requirements. For current File Format requirements I listed the tags from the http://edu.kde.org/kvtml/kvtml2.dtd http://edu.kde.org/kvtml/kvtml2.dtd] I knew to be used. Editor requirements are to explore the possibility of a common editor widget.

Each of those is divided into current and future requirements. The current requirements are to determine what portions of KVTML2, KEduVocDocument and its associated API are not in use. Future requirements are each application's wishes for the future.

Kanagram

File Format

Current
Future

API

Current
Future

Editor

Current
Future

Artikulate

Artikulate currently uses its own XML based file format, but the mid-term plan is to switch to a common format. The specification for the currently used file format is here:

File Format Requirements

Requirements
  • association of file with one language (the language for that the pronunciation should be trained)
  • string filed for text in training language
  • (optional) string field for text in learner's language/English + i18n integration
  • pronunciation symbols
  • one sound file per string
  • EITHER internal editing states OR special editing file format (like: a phrase is translated into the course' language, but a recording is missing)
  • association to blueprint/skeleton file
Key Differences to KVTML
  • the file format provides a skeleton specification: skeletons are blueprint like files that can be used to create and later synchronize changes for courses of different languages
  • learning statistics are not saved within the file format: there is a learner-library that encapsulates learner, learning goals, and the corresponding statistics data
  • downloaded course files are not meant to be changed/edited, but to be updated (in particular, system wide installation is provided)

Editor

Current
Future

Parley

File Format Requirements

Current Requirements of KVTML2
  1. Header Information (generator, title, author comment)
  2. Two or more languages
  3. Per language identifier information to setup locale, articles (definite and indefinite hardcoded) and pronouns (first, second and third person, single, dual and plural hardcoded)
  4. A list of tenses
  5. Two nesting containers: word type and lessons
  6. A marker for special hardcoded wordtypes, identifying parts of speech tied to methods/games
  7. Entries with up to 1 translation per language identifier
  8. Each translation can have an image, a sound and several types of text attachments
  9. Each translation can have up to 5 special sets (synonym, antonym, false friends, multiple choice, comparison) attached
  10. Each translation can be a verb with an attached conjugation
  11. Each translation can have a grade consisting of (currentgrade, count, errorcount, date)
Currently Parley uses almost every feature and tag provided by KVTML2. Here is a complete list of the tags used by Parley.
Future Requirements Different from KVTML2
  1. ids are alphanumeric so they can be a) human meaningful b) stable if words/lessons/grades are in different locations.

API

Current
Future

Editor

Current
  1. supports 2 or more languages
  2. supports 1 root lesson
  3. supports nested lessons
Future

Currently Unused

These features of the current format appear to be unused

File Format

  1. information.category
  2. identifier.identifiertype - never parsed in kvocdoc
  3. identifier.sizehint - never parsed in kvocdoc
  4. entry.sizehint - never parsed in kvocdoc
  5. leitnerboxes - never used in Parley
  6. deactivated - never parsed in kvocdoc

API

Cumulative Requirements

File Format

API

Editor

Further Reading

The following projects can be interesting for designing a container file format for language learning files: