No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

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.

Getting Involved

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!

Module Overview


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" \"<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"

Database Configuration

For populating academicYear inside the XML Report, configure schoolyear column according to current year inside itembank.tbltestadmin table. This column needs to be updated every year.

UPDATE `itembank`.`tbltestadmin` SET `schoolyear`='2015' WHERE `_key`='SBAC';
UPDATE `itembank`.`tbltestadmin` SET `schoolyear`='2015' WHERE `_key`='SBAC_PT';

Build Order

If building all components from scratch the following build order is needed:

  • shared-db
  • shared-tr-api
  • tdsdlldev


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

  • shared-db
  • shared-tr-api
  • tds-dll-api
  • tds-dll-mysql
  • c3p0
  • mysql-connector-java
  • log4j
  • slf4j-log4j12
  • servlet-api