w3c/wai-axsdb-services

Name: wai-axsdb-services

Owner: World Wide Web Consortium

Description: Accessibility Support Database

Created: 2014-03-21 12:57:17.0

Updated: 2017-12-27 19:55:34.0

Pushed: 2017-02-14 15:48:07.0

Homepage: null

Size: 708

Language: Java

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Accessibility Support Database Services

This is the server side of the Accessibility Support Database offering CRUD REST Services to the front end. Project page: http://www.w3.org/WAI/ACT/

Table of Contents
REST API

See Javascript implemention of the REST API: https://github.com/w3c/wai-axsdb-web/blob/master/js/API.js

Response Status: http://docs.oracle.com/javaee/6/api/javax/ws/rs/core/Response.Status.html In addition there is also a developer workbench for allowing developers to experiment with the data and the API functionality.

AxsdbQL –> HQL like .. explain

TestingSession

Provides functionality for managing a user session like login, logout etc. The session is saved client side by combining sessionStorage and cookies but also server side.

TestingSession#save

Add a session to the server side session pool. If there is no session id an id is being generated

TestingSession#getSession

Gets a session object by session id or create a new of not exists.

TestingSession#login

Authentication / Authorization of the session

TestingSession#logout

Session log out

TestingSession#persist

Given a session, this persists the content (test results, [TODO: search filters]) in the database.

Profile

Provides functionality for managing Testing Profiles

Profile#insertUserProfile

Inserts in database a testing profile for the specific user

Profile#updateUserProfile

Updates in database a testing profile for the specific user

Profile#deleteUserProfile

Deletes in database a testing profile for the specific user

Profile#findByUserId

Get Profiles By UserId

Profile#getAssistiveTechnologies

Retrieve unique AssistiveTechnologies in existing testing profiles by term

Profile#getPlatforms

Retrieve unique Platforms (OSs) in existing testing profiles by term

Profile#getUserAgents

Retrieve unique User Agents (browsers) in existing testing profiles by term

Profile#getPlugins

Retrieve unique Plugins in existing testing profiles by term

Profile#findByProfileId

Retrieve testing profile by id

Test

Provides functionality for managing the tests like saving new, editing etc.

Test#findAll

Finds all Tests

Test#findById

Finds an existing Test by testUnitId

Test#findByTechnique

Finds Tests by Technique Id

Test#getTestsTreeData

Get TreeNodeData with Tests based on Filter

Test#getTestAsXml

Get Test as XML by testUnitId

Test#updateTestFromXml

Update Test from XML

Test#deleteTest

Deletes Test by id

Test#updateTest

Updates a test

Test#deleteResourceFile

Deletes a resource file of a Test

Test#testPersist

Saves a test posted by a form. See config file (FORM_TESTUNIT_FORMFIELD_TESTUNITDESCRIPTION, FORM_TESTUNIT_FORMFIELD_CODE,FORM_TESTUNIT_FORMFIELD_TESTFILE). See more in config section

Query

Provides a way of read only querying the database. Here AxsDB select only HQL queries can be executed

Query#findByQuery

This is the general Query method.

WCAG2

Provides functionality for getting information about testing requirements including WCAG Principles Guidelines, Success Criteria, HTML techniques, CSS techniques etc.

WCAG2#getWCAG2TreeData

Get the WCAG2 Principles/geuidelines/SuccessCriteria TreeNodeData given the conformance level (A | AA | AAA)

WCAG2#getWebtechsTreeData

Get the Web Technologies (Technologies Techniques) TreeNodeData

WCAG2#getWebTechnologiesWithTechniquesTreeData

Get the Web Technologies (Technologies Techniques) TreeNodeData

WCAG2#findTechniquesByWebTechNameId

Get the Techniques by web technology name id (e.g WCAG20-ARIA-TECHS)

WCAG2#getAllTechniques

Get the Techniques by web technology name id (e.g WCAG20-ARIA-TECHS)

WCAG2#getTechniqueById

Get Technique by DB id

WCAG2#getTechniqueByTerm

Get Technique by term

WCAG2#getAllPrinciples

Get All Principles

WCAG2#getAllGuidelines

Get All Guidelines

WCAG2#getAllSuccessCriteria

Get All Principles

Testresult

Provides functionality for managing the Test Results

Testresult#findById

Find a testresult by DB id

Testresult#filter

Find test results based on filter

Testresult#saveBunch

Save a bunch of test results

Testresult#getATTree

Get unique Assistive Technologies as TreeDataNode that appear in test results in DB based on the given filter

Testresult#getUATree

Get unique User Agents (Browsers) as TreeDataNode that appear in test results in DB based on the given filter

Testresult#getOSTree

Get unique Platforms (Operating Systems) as TreeDataNode that appear in test results in DB based on the given filter

Testresult#findByFilterTestResultTechniqueOveview

Top level results view: by technique overall pass and fail

Testresult#findByFilterTestResultTestOveview

Second level results view: by Test of specific technique overall pass and fail

Admin
AdminTechniques
Rating

Provides functionality for managing any rating (test case or test result)

Data Types
stingSession : {
  sessionName: null,
  sessionId: null, 
  testProfileId: "-1",
  testUnitIdList: [],
  testResultList: [],
  ratings: [],
  currentTestUnitId: "-1",
  userTestingProfiles: [],
  userId: null,
  userRoles: [],
  lastTestUnit: null,       
  pCounter: -10


lter : {
    page : "",
    userName : null,
    lastModified: "",
    criteriosLevel : "AAA",
    criterios : [],
    technologies : [],
    ats : [],
    uas : [],
    oss : []
};

reeNodeData : {
    label:"ROOT",
    children:[TreeData],
    value:null,
    selected:false,
    disabled:false,
    subselector:true,
    selectable:true,
    collapsed:true,
    type:"type of data",
    description:null,
    noOfChildren:0


t: {
"testUnitId":"ARIA1_0000001",
"title":"ertert",
"description":"ertert",
"status":"unconfirmed",
"creator":"evlachog",
"version":"0.1",
"date":"2014-04-23 11:45:40",
"technique":{
   "id":1,
   "nameId":"ARIA1",
   "specRef":"https://raw.github.com/w3c/wcag/Working-Branch-for-Fall-2014/wcag20/sources/techniques/aria/ARIA1.xml",
   "title":"Using the aria-describedby property to provide a descriptive label for user interface controls",
   "webTechnology":"WCAG20-ARIA-TECHS",
   "status":1,
   "lastModified":"2014-03-28T17:18:24.000+0000",
   "sha":"90d1c1c3fdf2a793a0c93cc5408c53b913ddd1a7"
},
"subject":{
   "testFile":{
      "id":2,
      "mediatype":null,
      "src":"ARIA1_0000001.html"
   },
   "resources":[]
},
"testProcedure":{
   "yesNoQuestion":"ertret",
   "expectedResult":true,
   "steps":[
      {
         "step":"ertert",
         "orderId":0,
         "id":1
      }
   ]
},
"comment":"ertre",
"id":1,
"language":"en"


tResultDataOverview : {
technique:"", 
techiqueTitle:"", 
noOfPass:"", 
noOfFail:""


tResultTestOveview: {
testUnitId:"", 
testTitle:"", 
noOfPass:"", 
noOfFail:""

Key Technologies
Config

TODO

Build
Prerequisites
Process
Deploy
Prerequisites
Process
TODO

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.