Skip to content

v0.9.8

Choose a tag to compare

@palves-ulht palves-ulht released this 29 Jul 18:14
· 261 commits to master since this release

New features

  • Integration with Moodle using LTI (with the help of this lib). It is now possible to configure Drop Project as an external tool in Moodle. When students/teachers click the link in Moodle, this will open Drop Project in another window, already authenticated with the same credentials they used in Moodle. Instructions on Moodle configuration can be found on the wiki.
  • Plagiarism checking, using the JPlag library, available both for Java and Kotlin assignments. Accessible through a button on the assignment submissions page. It shows pairs of submissions with a similarity above a certain threshold (default: 50%). You can click on each pair, to see a side-by-side comparison of the code.
  • Intellij plugin now available in the Jetbrains marketplace. This plugins lets students submit their solutions directly from Intellij (by @bernardovlbaltazar)
  • Initial API for teachers, with webservices for getting all the submissions of a given assignment, download submissions, etc... (by @joao-marques-a22108693)
  • Supports JUnit 5 tests

Enhancements

  • Students build report now includes the submission count for that assignment
  • Improved validations on AUTHORS.txt
  • Students are now warned when they create test classes that don't follow the naming convention - #67
  • Drop Project is now able to get meta-information about teacher test classes written in Kotlin (previously, it could only get this information for Java classes). This allows several features such as validating that the test methods have a timeout or providing a test matrix for Kotlin assignments
  • For submissions through git, their corresponding commit hash is now stored in the database. This allows teachers to easily retrieve the exact snapshot of the code that was used on each submission, even if there were subsequent submissions
  • Delete an assignment along with all its submissions, build reports, etc. This is a dangerous operation, therefore only accessible to administrators. It should be used only after exporting the assignment.
  • Centralized docker image. There is now a single docker image (before, there were the drop-project-demo and drop-project-mysql images), which is configurable through spring profiles. The docker-compose.yml makes use of this feature, using the spring profile "mysql"
  • There is a new webservice for getting the instructions of a given assignment by @bernardovlbaltazar in #45
  • Optimization of the submissions report page, which shows all the submissions of a given assignment. For assignments with a large number of submissions, it was taking a long time to present the results. It should now be much faster.

Bug fixes

  • Assignment creation without setting up access key was throwing an exception - #65
  • Certain errors during the maven build should result in an execution failure, instead of presenting partial results
  • Deleting assignments was not clearing the access list, by @bernardovlbaltazar in #52
  • The webservice for getting the assignments for a given student was not excluding inactive assignments, by @bernardovlbaltazar in #44
  • Deleting assignments with a large number of submissions was failing with a stackoverflow error.

Dependency upgrades

  • Requires Java 17+
  • Upgrade to zip4j 2.11.0
  • Upgrade to maven-model 3.8.6
  • Upgrade to maven-invoker 3.2.0