annotate docs/ProjectSpecificationDocument.tex @ 1690:1e88d042624f

Added specification documents. Need formalising and updating!
author Nicholas Jillings <nickjillings@users.noreply.github.com>
date Wed, 25 Mar 2015 13:11:58 +0000
parents
children 59c7ed077dd3
rev   line source
nickjillings@1690 1 \documentclass{article}
nickjillings@1690 2
nickjillings@1690 3 \usepackage[margin=2cm]{geometry}
nickjillings@1690 4
nickjillings@1690 5 \begin{document}
nickjillings@1690 6
nickjillings@1690 7 \large APE Browser Tool - Project Specification Document
nickjillings@1690 8
nickjillings@1690 9 \section{Document}
nickjillings@1690 10
nickjillings@1690 11 An XML file containing all project information to load and execute the project on the client. Certain interfaces are optional, however others are mandatory. This guide should reflect the changes in the XML project and keep track of the versions. Hopwfully this can remain simple!
nickjillings@1690 12
nickjillings@1690 13 \section{Root}
nickjillings@1690 14
nickjillings@1690 15 The XML root must be \texttt{<BrowserEvalProjectDocument>}. This should be sufficiently identifiable in both itself and in the JavaScript decoding as it will create an object called the root name.
nickjillings@1690 16
nickjillings@1690 17 There must also be a \texttt{<version>} tag which has the attribute \texttt{id} containing a numerical representation of the version. Currently everything in this document can be assumed to be version 1. If future updates or corrections are made post delivery this should give the flexibility to ensure past projects still work.
nickjillings@1690 18
nickjillings@1690 19 The root will also contain the following tags: setup and tracks.
nickjillings@1690 20
nickjillings@1690 21 \section{Setup tag}
nickjillings@1690 22
nickjillings@1690 23 The setup tag specifies certain global test settings including: the interface type to use, the project return location and any other setup instructions.
nickjillings@1690 24
nickjillings@1690 25 An example of this tag could be:
nickjillings@1690 26
nickjillings@1690 27 \texttt{<setup interface="APE" projectReturn="http://project.return.url/goes/here" />}
nickjillings@1690 28
nickjillings@1690 29 The setup should not require an element or any children to run.
nickjillings@1690 30
nickjillings@1690 31 \subsection{Attributes}
nickjillings@1690 32 \begin{itemize}
nickjillings@1690 33 \item \texttt{interface} - Mandatory. Defaults to APE, otherwise use to load any of the available interfaces
nickjillings@1690 34 \item \texttt{projectReturn} - Mandatory. Specify the URL to return the test results. If null client will generate XML locally and prompt user to return the file.
nickjillings@1690 35 \end{itemize}
nickjillings@1690 36
nickjillings@1690 37 \subsection{Elements}
nickjillings@1690 38 None
nickjillings@1690 39
nickjillings@1690 40 \section{Tracks tag}
nickjillings@1690 41
nickjillings@1690 42 There should be one tracks tag, inside which each track is specified as children. The track tag can help to generalise certain objects.
nickjillings@1690 43
nickjillings@1690 44 \subsection{Attributes}
nickjillings@1690 45 \begin{itemize}
nickjillings@1690 46 \item \texttt{hostURL} - Optional. 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.
nickjillings@1690 47 \end{itemize}
nickjillings@1690 48
nickjillings@1690 49 \subsection{Elements}
nickjillings@1690 50 Contain the track tags.
nickjillings@1690 51
nickjillings@1690 52 \section{Track tag}
nickjillings@1690 53
nickjillings@1690 54 This must reside as children in the tracks tag. There must be one track tag per track to load. The track tag must contain the URL to load.
nickjillings@1690 55
nickjillings@1690 56 \subsection{Attributes}
nickjillings@1690 57 \begin{itemize}
nickjillings@1690 58 \item \texttt{url} - Mandatory. 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.
nickjillings@1690 59 \end{itemize}
nickjillings@1690 60
nickjillings@1690 61 \section{Example}
nickjillings@1690 62
nickjillings@1690 63 Here is an example XML structure. Apologies for LATEX formatting!
nickjillings@1690 64
nickjillings@1690 65 \texttt{
nickjillings@1690 66 <?xml version="1.0" encoding="UTF-8"?> \\
nickjillings@1690 67 <BrowserEvalProjectDocument> \\
nickjillings@1690 68 <setup interface="APE" projectReturn="http://project.return.url/goes/here" />\\
nickjillings@1690 69 <tracks hostURL="http://apeTest.qmul.ac.uk/tracks/"> \\
nickjillings@1690 70 <track url = "track1.wav"/> \\
nickjillings@1690 71 <track url = "track2.wav"/> \\
nickjillings@1690 72 <track url = "track3.wav"/> \\
nickjillings@1690 73 </tracks> \\
nickjillings@1690 74 </BrowserEvalProjectDocument>
nickjillings@1690 75 }
nickjillings@1690 76
nickjillings@1690 77
nickjillings@1690 78 \end{document}