Skip to content
Marisa DeMeglio edited this page Aug 11, 2015 · 3 revisions

Import

DB import starts with a config file listing categories, books, and features.

Each category may contain several books, but each book belongs to only one category. The features may be found in more than one book within that category.

The import script opens each book and builds the following:

  • a structure of categories, features, and tests.
  • a list of source EPUBs, including their descriptions
  • tests are flagged as new or changed, using the existing rules
  • existing evaluations are migrated test by test

Objects

  • Reading system: name, version, etc;
  • Testsuite: References a set of tests
  • Evaluation: references a single testsuite, a single reading system, and a set of test results

Some testsuites can have multiple evaluations per reading system (e.g. accessibility). Others are restricted to one.

Permissions

User types: admin, member, anonymous (not logged in)

Rules:

  • Reading system visibility: all logged-in members can view all reading systems and can add an evaluation if one does not exist
  • Published reading system: has at least one public evaluation
  • Private evaluation: visible only to admin and owner
  • Member-only evaluation: visible to logged-in members

Display

  • Features page
  • Organized by top-level category and feature group
  • Reading systems page
  • List of reading systems with scores for each top-level category.
  • Reading system page (individual rs)
  • Breakdown by feature and ultimately by test.
  • Scores shown as overall/category/feature.
  • Feature page
  • Show RS performance for each feature.
  • URL should be linkable.
  • Management page
  • Similar to current
  • Archive page
  • Similar to current
  • About page
  • Move current 'index' page to about
  • Evaluation form fill
  • Present as category=>book=>test
  • keep the tests in-order

Scoring

Different testsuites follow different scoring rules.

Mainstream/BISG: percentage or fraction Accessibility: all/some/none.

Need different scoring strategies, stored separately from the testsuites themselves.

Optimization

Pre-calculate as much as possible and store in the database to increase response speed.

Clone this wiki locally