Skip to content

Commit

Permalink
Merge branch 'develop' into bugfix/fix-lti-quiz-exercise-grade
Browse files Browse the repository at this point in the history
  • Loading branch information
basak-akan authored Nov 7, 2023
2 parents 978feaf + acd3b05 commit 85704ee
Show file tree
Hide file tree
Showing 251 changed files with 4,774 additions and 2,887 deletions.
52 changes: 27 additions & 25 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,20 @@ plugins {
id "jacoco"
id "org.springframework.boot" version "${spring_boot_version}"
id "io.spring.dependency-management" version "1.1.3"
id "com.google.cloud.tools.jib" version "3.3.2"
id "com.google.cloud.tools.jib" version "3.4.0"
id "com.github.node-gradle.node" version "${gradle_node_plugin_version}"
id "com.diffplug.spotless" version "6.21.0"
id "com.diffplug.spotless" version "6.22.0"
// this allows us to find outdated dependencies via ./gradlew dependencyUpdates
id "com.github.ben-manes.versions" version "0.48.0"
id "com.github.ben-manes.versions" version "0.49.0"
id "com.github.andygoossens.modernizer" version "${modernizer_plugin_version}"
id "com.gorylenko.gradle-git-properties" version "2.4.1"
id "info.solidsoft.pitest" version "1.9.11"
id "org.owasp.dependencycheck" version "8.4.0"
id "com.adarshr.test-logger" version "3.2.0"
id "info.solidsoft.pitest" version "1.15.0"
id "org.owasp.dependencycheck" version "8.4.2"
id "com.adarshr.test-logger" version "4.0.0"
}

group = "de.tum.in.www1.artemis"
version = "6.6.4"
version = "6.6.5"
description = "Interactive Learning with Individual Feedback"

sourceCompatibility=17
Expand Down Expand Up @@ -233,7 +233,7 @@ dependencies {
}
}

implementation "org.apache.logging.log4j:log4j-to-slf4j:2.20.0"
implementation "org.apache.logging.log4j:log4j-to-slf4j:2.21.1"

implementation "uk.ac.ox.ctl:spring-security-lti13:0.0.4"

Expand All @@ -242,7 +242,7 @@ dependencies {
implementation "org.eclipse.jgit:org.eclipse.jgit.ssh.apache:${jgit_version}"
implementation "org.eclipse.jgit:org.eclipse.jgit.http.server:${jgit_version}"
// https://mvnrepository.com/artifact/net.sourceforge.plantuml/plantuml
implementation "net.sourceforge.plantuml:plantuml:1.2023.10"
implementation "net.sourceforge.plantuml:plantuml:1.2023.12"
implementation "org.imsglobal:basiclti-util:1.2.0"
implementation "org.jasypt:jasypt:1.9.3"
implementation "me.xdrop:fuzzywuzzy:1.4.0"
Expand All @@ -257,7 +257,7 @@ dependencies {
implementation "com.thoughtworks.qdox:qdox:2.0.3"
implementation "io.sentry:sentry-logback:${sentry_version}"
implementation "io.sentry:sentry-spring-boot-starter:${sentry_version}"
implementation "org.jsoup:jsoup:1.16.1"
implementation "org.jsoup:jsoup:1.16.2"
implementation "commons-codec:commons-codec:1.16.0" // needed for spring security saml2

implementation "org.springdoc:springdoc-openapi-ui:1.7.0"
Expand All @@ -271,7 +271,7 @@ dependencies {

implementation "tech.jhipster:jhipster-framework:${jhipster_dependencies_version}"
implementation "org.springframework.boot:spring-boot-starter-cache:${spring_boot_version}"
implementation "io.micrometer:micrometer-registry-prometheus:1.11.4"
implementation "io.micrometer:micrometer-registry-prometheus:1.11.5"
implementation "net.logstash.logback:logstash-logback-encoder:7.4"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-hppc:${fasterxml_version}"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${fasterxml_version}"
Expand All @@ -284,10 +284,12 @@ dependencies {
implementation "javax.cache:cache-api:1.1.1"
implementation "org.hibernate:hibernate-core:${hibernate_version}"
implementation "com.zaxxer:HikariCP:5.0.1"
// TODO: for some reason 1.11.0 breaks some tests (e.g. shouldSaveBuildLogsOnStudentParticipationWithoutSubmissionNorResult)
implementation "org.apache.commons:commons-text:1.10.0"
implementation "org.apache.commons:commons-math3:3.6.1"
implementation "javax.transaction:javax.transaction-api:1.3"
implementation "org.hibernate:hibernate-entitymanager:${hibernate_version}"
// TODO: we cannot upgrade because 4.24.0 would not work with H2 in the tests due to the reserved keyword 'groups', see https://github.com/liquibase/liquibase/pull/4052
implementation "org.liquibase:liquibase-core:4.23.2"
implementation "org.springframework.boot:spring-boot-starter-validation:${spring_boot_version}"
implementation "org.springframework.boot:spring-boot-loader-tools:${spring_boot_version}"
Expand All @@ -305,16 +307,16 @@ dependencies {
implementation "org.springframework.boot:spring-boot-starter-thymeleaf:${spring_boot_version}"

implementation "org.springframework.ldap:spring-ldap-core:2.4.1"
implementation "org.springframework.data:spring-data-ldap:2.7.15"
implementation "org.springframework.data:spring-data-ldap:2.7.17"

implementation "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:3.1.7"
implementation "org.springframework.cloud:spring-cloud-starter-config:3.1.8"
implementation "org.springframework.boot:spring-boot-starter-cloud-connectors:2.2.13.RELEASE"

implementation "io.netty:netty-all:4.1.98.Final"
implementation "io.projectreactor.netty:reactor-netty:1.1.11"
implementation "org.springframework:spring-messaging:5.3.29"
implementation "org.springframework.retry:spring-retry:2.0.3"
implementation "io.netty:netty-all:4.1.100.Final"
implementation "io.projectreactor.netty:reactor-netty:1.1.12"
implementation "org.springframework:spring-messaging:5.3.30"
implementation "org.springframework.retry:spring-retry:2.0.4"

implementation "org.springframework.security:spring-security-config:${spring_security_version}"
implementation "org.springframework.security:spring-security-data:${spring_security_version}"
Expand All @@ -323,10 +325,10 @@ dependencies {
implementation "org.springframework.security:spring-security-ldap:${spring_security_version}"
implementation "org.springframework.security:spring-security-saml2-service-provider:${spring_security_version}"
implementation "org.xmlbeam:xmlprojector:1.4.24"
implementation "io.jsonwebtoken:jjwt-api:0.11.5"
implementation "io.jsonwebtoken:jjwt-api:0.12.3"
implementation "org.bouncycastle:bcprov-jdk15on:1.70"
runtimeOnly "io.jsonwebtoken:jjwt-impl:0.11.5"
runtimeOnly "io.jsonwebtoken:jjwt-jackson:0.11.5"
runtimeOnly "io.jsonwebtoken:jjwt-impl:0.12.3"
runtimeOnly "io.jsonwebtoken:jjwt-jackson:0.12.3"
implementation ("io.springfox:springfox-swagger2:3.0.0") {
exclude module: "mapstruct"
}
Expand All @@ -339,9 +341,9 @@ dependencies {
implementation "org.zalando:problem-spring-web:0.27.0"
implementation "com.ibm.icu:icu4j:73.2"
implementation "com.github.seancfoley:ipaddress:5.4.0"
implementation "org.apache.maven:maven-model:3.9.4"
implementation "org.apache.maven:maven-model:3.9.5"
implementation "org.apache.pdfbox:pdfbox:3.0.0"
implementation "com.google.protobuf:protobuf-java:3.24.3"
implementation "com.google.protobuf:protobuf-java:3.24.4"
implementation "org.apache.commons:commons-csv:1.10.0"
implementation "org.commonmark:commonmark:0.21.0"
implementation "commons-fileupload:commons-fileupload:1.5"
Expand All @@ -368,18 +370,18 @@ dependencies {
testImplementation "org.junit.jupiter:junit-jupiter:${junit_version}"
testImplementation "org.mockito:mockito-core:${mockito_version}"
testImplementation "org.mockito:mockito-junit-jupiter:${mockito_version}"
testImplementation "io.github.classgraph:classgraph:4.8.162"
testImplementation "io.github.classgraph:classgraph:4.8.163"
testImplementation "org.awaitility:awaitility:4.2.0"
testImplementation "org.apache.maven.shared:maven-invoker:3.2.0"
testImplementation "org.gradle:gradle-tooling-api:8.3"
testImplementation "org.apache.maven.surefire:surefire-report-parser:3.1.2"
testImplementation "org.gradle:gradle-tooling-api:8.4"
testImplementation "org.apache.maven.surefire:surefire-report-parser:3.2.1"
testImplementation "com.opencsv:opencsv:5.8"
testImplementation "io.zonky.test:embedded-database-spring-test:2.3.0"
testImplementation "com.tngtech.archunit:archunit:1.1.0"
testImplementation "org.skyscreamer:jsonassert:1.5.1"

// Lightweight JSON library needed for the internals of the MockRestServiceServer
testImplementation "org.json:json:20230618"
testImplementation "org.json:json:20231013"
}

dependencyManagement {
Expand Down
14 changes: 14 additions & 0 deletions docs/user/communication.rst
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,14 @@ located on the right-hand side of the Messages Page when displayed.

|messages|

This video shows how link previews work in Artemis:

.. raw:: html

<iframe src="https://live.rbg.tum.de/w/artemisintro/40580?video_only=1&t=0" allowfullscreen="1" frameborder="0" width="600" height="350">
Watch this video on TUM-Live.
</iframe>

If the message content contains links, a preview of the link will be shown under the message. This way, users will have a good understanding
of what that link is about. If they prefer not to have a preview, they can hover over the preview and click the appearing `X` button.
The preview will be removed.
Expand Down Expand Up @@ -202,6 +210,12 @@ editor, see image below. Here, lecture attachment units can be found when users
Reference Lecture Unit Slides
"""""""""""""""""""""""""""""

.. raw:: html

<iframe src="https://live.rbg.tum.de/w/artemisintro/40579?video_only=1&t=0" allowfullscreen="1" frameborder="0" width="600" height="350">
Watch this video on TUM-Live.
</iframe>

Users can refer to lecture unit slides of the current course, via the dropdown menu ``Lecture``. Here, slides can be found when users
hover over a specific unit, see image below.

Expand Down
17 changes: 17 additions & 0 deletions docs/user/exams/instructors_guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,15 @@ If you want you can also enable the :ref:`second correction <Before the exam's a
You can check for specific suspicious behavior in the suspicious behavior dashboard. You find the suspicious behavior as the first step in the exam correction on the exam checklist page.
To open the suspicious behavior dashboard click on the |suspicious_behavior| button.

To get a better understanding of the feature, you can watch the following video:

.. raw:: html

<iframe src="https://tum.live/w/artemisintro/40566?video_only=1&t=0" allowfullscreen="1" frameborder="0" width="600" height="350">
Watch this video on TUM-Live.
</iframe>


.. figure:: instructor/suspicious_behavior_exam_checklist.png
:alt: Suspicious Behavior Exam Checklist
:align: center
Expand Down Expand Up @@ -511,6 +520,14 @@ Once the instructor has confirmed at least one case, the |view_cases| button is
- The exam timeline shows all submissions of the student in chronological order. You can navigate between the different timestamps on the slider or navigate between different exercises using the navigation bar below the timeline
- For programming exercises, you can view a git diff between the currently selected submission and the previous submission or the template of this exercise.

To get a better understanding of the feature, you can watch the following video:

.. raw:: html

<iframe src="https://tum.live/w/artemisintro/40565?video_only=1&t=0" allowfullscreen="1" frameborder="0" width="600" height="350">
Watch this video on TUM-Live.
</iframe>

.. figure:: instructor/exam_timeline_example.png
:alt: Exam timeline
:align: center
Expand Down
12 changes: 10 additions & 2 deletions docs/user/lectures.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,22 @@ Instructors have three options for creating a lecture.
If instructors decide to process units automatically by clicking on the |process-units-checkbox| checkbox, additional information will be displayed
and they can click on |process-units-btn| to process the lecture PDF into multiple units.

|create-lecture-automatic-unit-processing|
|automatic-unit-processing|

Once the units are processed, instructors can view how the units are split, beginning from a start page to an end page. A name is automatically generated for each lecture unit.
Instructors can also customize the table entries by removing or adding new units. Additionally, they can enter keywords if they want particular slides
to be removed. Slides containing one of the comma-separated keywords will be removed.

|processed-lecture-units|

The following video shows how to split a lecture PDF into multiple units.

.. raw:: html

<iframe src="https://live.rbg.tum.de/w/artemisintro/40577?video_only=1&t=0" allowfullscreen="1" frameborder="0" width="600" height="350">
Watch this video on TUM-Live.
</iframe>

2. In addition to creating a new lecture from the default mode, instructors can switch to the guided lecture creation by clicking on |switch-to-guided-mode-btn|.
This guided mode helps creating a new lecture and adding its contents through a multi-step process. The following video shows an exemplary use of the guided mode.

Expand Down Expand Up @@ -185,5 +193,5 @@ See :ref:`Adaptive Learning <adaptive-learning>` for more information.
:width: 120
.. |processed-lecture-units| image:: lectures/processed-lecture-units.png
:width: 800
.. |create-lecture-automatic-unit-processing| image:: lectures/create-lecture-automatic-unit-processing.png
.. |automatic-unit-processing| image:: lectures/automatic-unit-processing.png
:width: 800
11 changes: 11 additions & 0 deletions docs/user/notifications.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,17 @@ A red indicator shows the number of new messages.

|notification-side-bar|

Notifications About Incoming Messages and Replies
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This video shows how web notifications works for incoming messages and replies:

.. raw:: html

<iframe src="https://live.rbg.tum.de/w/artemisintro/40578?video_only=1&t=0" allowfullscreen="1" frameborder="0" width="600" height="350">
Watch this video on TUM-Live.
</iframe>

Email Notifications
^^^^^^^^^^^^^^^^^^^

Expand Down
18 changes: 9 additions & 9 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,25 @@ npm_version=9.6.0

# Dependency versions
jhipster_dependencies_version=7.9.3
spring_boot_version=2.7.16
spring_boot_version=2.7.17
spring_security_version=5.7.11
hibernate_version=5.6.15.Final
jaxb_runtime_version=4.0.3
hazelcast_version=5.3.2
jaxb_runtime_version=4.0.4
hazelcast_version=5.3.5
junit_version=5.10.0
mockito_version=5.5.0
fasterxml_version=2.15.2
mockito_version=5.6.0
fasterxml_version=2.15.3
jgit_version=6.7.0.202309050840-r
checkstyle_version=10.12.3
checkstyle_version=10.12.4
jplag_version=4.3.0
slf4j_version=1.7.36
sentry_version=6.29.0
sentry_version=6.32.0

# gradle plugin version
gradle_node_plugin_version=7.0.0
gradle_node_plugin_version=7.0.1
apt_plugin_version=0.21
liquibase_plugin_version=2.1.1
modernizer_plugin_version=1.8.0
modernizer_plugin_version=1.9.0

org.gradle.jvmargs=-Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en \
--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
Expand Down
2 changes: 1 addition & 1 deletion gradle/liquibase.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ configurations {
}

dependencies {
liquibase "org.liquibase.ext:liquibase-hibernate5:4.22.0"
liquibase "org.liquibase.ext:liquibase-hibernate5:4.24.0"
}

if (OperatingSystem.current().isWindows()) {
Expand Down
Loading

0 comments on commit 85704ee

Please sign in to comment.