Mercurial > hg > webaudioevaluationtool
comparison docs/ProjectSpecificationDocument.tex @ 30:3653190a0926
Updated Setup and Results XML to indicate future progress RE: Davids' Email.
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Fri, 10 Apr 2015 10:16:52 +0100 |
parents | c4c7ddaec6fc |
children | 438468ff317e |
comparison
equal
deleted
inserted
replaced
26:bd361cb50735 | 30:3653190a0926 |
---|---|
31 | 31 |
32 \subsection{Attributes} | 32 \subsection{Attributes} |
33 \begin{itemize} | 33 \begin{itemize} |
34 \item \texttt{interface} - Mandatory, String. Defaults to APE, otherwise use to load any of the available interfaces. Currently only valid string is APE. | 34 \item \texttt{interface} - Mandatory, String. Defaults to APE, otherwise use to load any of the available interfaces. Currently only valid string is APE. |
35 \item \texttt{projectReturn} - Mandatory, String. Specify the URL to return the test results. If null client will generate XML locally and prompt user to return the file. | 35 \item \texttt{projectReturn} - Mandatory, String. Specify the URL to return the test results. If null client will generate XML locally and prompt user to return the file. |
36 \item \texttt{randomiseOrder} - Optional, default to false. Specify if the order of the tests can be randomised. | |
37 \item \texttt{collectMetrics} - Optional, Boolean. Default to false. Determine if the test metrics should be collected. These include how long each test session took etc. The full metrics list can be modified in the 'metrics' tag. | |
36 \end{itemize} | 38 \end{itemize} |
37 | 39 |
38 \subsection{Elements} | 40 \subsection{Elements} |
39 None | 41 None |
40 | 42 |
41 \section{AudioHolder tag} | 43 \section{AudioHolder tag} |
42 | 44 |
43 There should be one audioHolder tag, inside which each audioElement is specified as children. The audioHolder tag can help to generalise certain objects. | 45 There should be one audioHolder tag per test session, inside which each audioElement is specified as children. The audioHolder tag can help to generalise certain objects. Each audioHolder instance specifies a separate listening test to be paged, each with their own specific requirements. |
44 | 46 |
45 \subsection{Attributes} | 47 \subsection{Attributes} |
46 \begin{itemize} | 48 \begin{itemize} |
49 \item \texttt{id} - Mandatory, String. Give an ID string or number to identify the test in the result. | |
47 \item \texttt{hostURL} - Optional, String. If all tracks are hosted from the same folder on a server, you can put in the lead here. For instance, if loading http://test.com/tracks/track1.wav and http://test.com/tracks/track2.wav, this could equal http://test.com/tracks/ and the url attribute in the track tag can be track1.wav or track2.wav. Equally http://test.com/ and then using tracks/track1.wav and tracks/track2.wav is valid. | 50 \item \texttt{hostURL} - Optional, String. If all tracks are hosted from the same folder on a server, you can put in the lead here. For instance, if loading http://test.com/tracks/track1.wav and http://test.com/tracks/track2.wav, this could equal http://test.com/tracks/ and the url attribute in the track tag can be track1.wav or track2.wav. Equally http://test.com/ and then using tracks/track1.wav and tracks/track2.wav is valid. |
48 \item \texttt{sampleRate} - Optional, Number. If your test requires a specific sample rate, this should be set to the desired sample rate in Hertz. This does not set the browser to the correct sample rate, but forces the browser to check the sample rate matches. If this is undefined, no sample rate matching will occur. | 51 \item \texttt{sampleRate} - Optional, Number. If your test requires a specific sample rate, this should be set to the desired sample rate in Hertz. This does not set the browser to the correct sample rate, but forces the browser to check the sample rate matches. If this is undefined, no sample rate matching will occur. |
49 \item \texttt{sampleRateExplicit} - Optional, DEPRECATED. A true/false to determine if the sample rate given in the attribute \texttt{sampleRate} must be matched by the system. If the web audio API does not match, a browser alert is called and the rest of the interface loading is discarded. Media files are also not downloaded until this check can be corrected. | 52 \item \texttt{randomiseOrder} - Optional, Boolean String. Defaults to false. Determine if the track order should be randomised. Must be true or false. |
53 \item \texttt{repeatCount} - Optional, Number. Defaults to 0 (ie: no repeats). The number of times a test should be repeated. | |
50 \end{itemize} | 54 \end{itemize} |
51 | 55 |
52 \subsection{Elements} | 56 \subsection{Elements} |
53 Contain the audioElements tags. | 57 Contain the audioElements tags and the interfaceSetup tag. |
54 | 58 |
55 \section{audioElements tag} | 59 \section{audioElements tag} |
56 | 60 |
57 This must reside as children in the audioHolder tag. There must be one audioElement tag per sound sample to load into the test. | 61 This must reside as children in the audioHolder tag. There must be one audioElement tag per sound sample to load into the test. |
58 | 62 |
59 \subsection{Attributes} | 63 \subsection{Attributes} |
60 \begin{itemize} | 64 \begin{itemize} |
61 \item \texttt{url} - Mandatory, String. Contain the full URL to the track. If the Tracks tag hostURL is set, concatenate this tag with the hostURL attribute to obtain the full URL. | 65 \item \texttt{url} - Mandatory, String. Contain the full URL to the track. If the Tracks tag hostURL is set, concatenate this tag with the hostURL attribute to obtain the full URL. |
62 \item \texttt{ID} - Optional, Number. Give the track a specific ID for the return. This will help if using multiple projects to spread a test across multiple sessions and/or locations, where each test will not use all the samples. If one audioElement is given the ID 3, the next audioElement (assuming it does not have an ID set itself) will have the ID of 4. This continues until the next audioElement with the ID attribute set is reached. | 66 \item \texttt{ID} - Optional, Number. Give the track a specific ID for the return. This will help if using multiple projects to spread a test across multiple sessions and/or locations, where each test will not use all the samples. If one audioElement is given the ID 3, the next audioElement (assuming it does not have an ID set itself) will have the ID of 4. This continues until the next audioElement with the ID attribute set is reached. |
63 \end{itemize} | 67 \end{itemize} |
68 | |
69 \section{interfaceSetup} | |
70 | |
71 This is contained within the audioHolder tag and outlines test instance specific requirements. These include the following children tags: title - question title at the top of the page, scaleMin - minimum scale value text, scaleMax - maximum scale value text, scaleMid - halfway scale value text. There is also a preTest tag here allowing for specific questions/statements to be presented before running this specific test. | |
64 | 72 |
65 \section {CommentQuestion tag} | 73 \section {CommentQuestion tag} |
66 | 74 |
67 This is a 1st level tag (same level as AudioHolder and setup). This allows another question and comment box to be presented on the page. The results of these are passed back in the results XML with both the comment and the question. | 75 This is a 1st level tag (same level as AudioHolder and setup). This allows another question and comment box to be presented on the page. The results of these are passed back in the results XML with both the comment and the question. |
68 | 76 |
91 This allows for a question to be asked pre/post the test. This is added to the response XML in the same location as the other common/global questions. The response includes both the question asked and the response. This takes two attributes, id and mandatory. ID is a mandatory field. The same ID will be used in the results so it is important it is properly entered. Mandatory is optional. True means the field must be entered before continuing. | 99 This allows for a question to be asked pre/post the test. This is added to the response XML in the same location as the other common/global questions. The response includes both the question asked and the response. This takes two attributes, id and mandatory. ID is a mandatory field. The same ID will be used in the results so it is important it is properly entered. Mandatory is optional. True means the field must be entered before continuing. |
92 | 100 |
93 \subsubsection{Resource} | 101 \subsubsection{Resource} |
94 | 102 |
95 The resource tag is only available in the postTest tag. This allows for the linking to some external resource via the href attribute. | 103 The resource tag is only available in the postTest tag. This allows for the linking to some external resource via the href attribute. |
104 | |
105 \section{Metric tag} | |
106 A 1st level tag, metrics must be declared in the setup tag. This takes a set of children 'metricEnable' to define which metrics to collect and present. | |
107 | |
108 \subsection{metricEnable tag} | |
109 This takes a single attribute to determine which metric to enable for collection. Some of these are a global, per track or per test instance. | |
110 \begin{itemize} | |
111 \item testTimer - Return the global test timer and test instance timers. Measures the time between the first start and final submit. | |
112 \item elementTimer - Return the total time each audioElement in each test was listened too. Measures time between successive clicks on the track changer | |
113 \item elementTracker - Return the initial position of each track | |
114 \item elementTrackerFull - Return an enumerated pair of time and position. Track the entire movement of each element position. NOTE: Will override the elementTracker option above and throw an error into the browser console. | |
115 \item elementFlagListenedTo - Return a boolean per elementck to see if the element was listened to | |
116 \item elementFlagMoved - Return a boolean per element to see if the element slider was moved. | |
117 \item elementFlagComments - Return a boolean per element to see if the element has comments. | |
118 \end{itemize} | |
96 | 119 |
97 \section{Example} | 120 \section{Example} |
98 | 121 |
99 Here is an example XML structure | 122 Here is an example XML structure |
100 | 123 |