Welcome to the Student Report Processor Project!
The Student Report Processor is a JAR which generates student XML reports and submit to TIS (Test Integration System). It should be set up to run as a background process. It processes records in its queue one by one. The XML reports associated with the test opportunities for those records are sent to TIS and then deleted.
This project is licensed under the AIR Open Source License v1.0.
We would be happy to receive feedback on its capabilities, problems, or future enhancements:
- For general questions or discussions, please use the Forum.
- Feel free to Fork this project and develop your changes!
Essentially, this is a standalone Java application.
For each record in qareportqueue table that has a datesent value of null, send the XML report associated with the test opportunity for that record and then delete that record.
In general, build the code and deploy the JAR file. Run the JAR file as background process. Create a startup script to run the application on machine reboot and another script to monitor the application and start it up if it is not running.
/usr/bin/java \ -DreportingDLL.tisUrl="<TIS BASE URL>/api/testresult" \ -DreportingDLL.tisStatusCallbackUrl="<TDS STUDENT BASE URL>/tisReply" \ -Doauth.tis.client.id="<Oauth Client ID>" \ -Doauth.tis.client.secret="<Oauth Client Secret>" \ -Doauth.tis.username="<Oauth Username>" \ -Doauth.tis.password="<Oauth Password>" \ -Doauth.access.url="<Oauth Access URL>" \ -Dlogfilename="/path/to/log/file/maintenance" \ -Djdbc.driver="com.mysql.jdbc.Driver" \ -Djdbc.url="jdbc:mysql://name.of.mysql.server:3306/session" \ -Djdbc.userName="<mysql_username>" \ -Djdbc.password="<mysql_password>" \ -DDBDialect="MYSQL" \ -classpath ".:/jar/file/path/to/tdsMaintenance.jar:/mysql/connector/path/mysql-connector-java-5.1.22-bin.jar" org.opentestsystem.delivery.studentreportprocessor.StudentReportProcessor
For populating academicYear inside the XML Report, configure schoolyear column according to current year inside
This column needs to be updated every year.
Example: UPDATE `itembank`.`tbltestadmin` SET `schoolyear`='2015' WHERE `_key`='SBAC'; UPDATE `itembank`.`tbltestadmin` SET `schoolyear`='2015' WHERE `_key`='SBAC_PT';
If building all components from scratch the following build order is needed:
StudentReportProcessor has a number of direct dependencies that are necessary for it to function. These dependencies are already built into the Maven POM files.
Compile Time Dependencies