URL Parameters
If it were me I would use the following URL convention to administer the tests system:
Verbs:
- action={ create | test | report | query }
Verb Parameters & Returns:
- create
- SubjectID={string for user}
- Gender={m | f}
- Hand={r | l}
- BY={19xx — 20xx}
- BM=(1–12}
- BD=(1–31}
- Return: Success or fail
- test
- SubjectID={ Subject }
- PackageID={Test package definition}
- Return: Link to test
- report
- SubjectID
- type={graph | single}
- if type=single
- TestID={test ID}
- Return: URL to Report
- query
- SubjectID
- Return: Subject Details, array of test IDs
Example URL Strings:
- Create a Subject: https://sync.cnsvs.com/api?action=create&SubjectID=ralph&Gender=m&Hand=r&BY=1972&BM=3&BD=28
- Create a Test: https://sync.cnsvs.com/api?action=test&SubjectID=ralph
- Retrieve a Graph Report: https://sync.cnsvs.com/api?action=report&SubjectID=ralph&type=graph
- Retrieve a Test: https://sync.cnsvs.com/api?action=report&SubjectID=ralph&type=single&TestID={xyzzab}
- Retrieve info for a Subject: https://sync.cnsvs.com/api?action=query&SubjectID=ralph
Client Jobs:
- Retain Subject ID relative to id strings
- Setup the tests
- Manage taking of tests.
Test Framing:
- Ideally we would administer the test within an iframe to minimize disorientation of the client while taking the test. Same page
- Ideally flow from test sign up to taking the test without ever passing an email.
Test Automation
As our process continues we will call your test interface with the SubjectID. A call should return the URL to a test administration page as with the remote link.
The simple goal is to enable us to configure the subject once, and then automate test administration thereafter.
We will send a regular email to the parent inviting them to setup their child for the test.