diff --git a/dta.zip b/dta.zip
index d2ca93579bd26b8e47b045881839bf8014b4497b..d9c7af2f75c52e55875a2b92e92fd81d3cdcb509 100644
Binary files a/dta.zip and b/dta.zip differ
diff --git a/dta/classes/privacy/provider.php b/dta/classes/privacy/provider.php
index acadff83f57dd0689c6a403f55f7067b2092516a..33de332520f247605df4aab1ee1b1d589dc7eac2 100644
--- a/dta/classes/privacy/provider.php
+++ b/dta/classes/privacy/provider.php
@@ -53,8 +53,8 @@ class provider implements \core_privacy\local\metadata\provider,
         $collection->add_database_table(
             'assignsubmission_dta_summary',
             [
-                'assignmentid' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
-                'submissionid' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
+                'assignment_id' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
+                'submission_id' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
                 'timestamp' => 'privacy:metadata:assignsubmission_dta_summary:timestamp',
                 'global_stacktrace' => 'privacy:metadata:assignsubmission_dta_summary:global_stacktrace',
                 'successful_competencies' => 'privacy:metadata:assignsubmission_dta_summary:successful_competencies',
@@ -67,8 +67,8 @@ class provider implements \core_privacy\local\metadata\provider,
         $collection->add_database_table(
             'assignsubmission_dta_result',
             [
-                'assignmentid' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
-                'submissionid' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
+                'assignment_id' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
+                'submission_id' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
                 'package_name' => 'privacy:metadata:assignsubmission_dta_result:package_name',
                 'class_name' => 'privacy:metadata:assignsubmission_dta_result:class_name',
                 'name' => 'privacy:metadata:assignsubmission_dta_result:name',
@@ -86,8 +86,8 @@ class provider implements \core_privacy\local\metadata\provider,
         $collection->add_database_table(
             'assignsubmission_dta_recommendations',
             [
-                'assignmentid' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
-                'submissionid' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
+                'assignment_id' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
+                'submission_id' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
                 'topic' => 'privacy:metadata:assignsubmission_dta_recommendations:topic',
                 'exercise_name' => 'privacy:metadata:assignsubmission_dta_recommendations:exercise_name',
                 'url' => 'privacy:metadata:assignsubmission_dta_recommendations:url',
@@ -98,8 +98,8 @@ class provider implements \core_privacy\local\metadata\provider,
         );
 
         $collection->add_external_location_link('dta_backend', [
-                'assignmentid' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
-                'submissionid' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
+                'assignment_id' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
+                'submission_id' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
                 'submissioncontent' => 'privacy:metadata:core_files',
             ],
             'privacy:metadata:dta_backend'
@@ -151,8 +151,9 @@ class provider implements \core_privacy\local\metadata\provider,
         }
         $user = new \stdClass();
         $assign = $exportdata->get_assign();
+        $plugin = $assign->get_plugin_by_type('assignsubmission', 'file');
         $submission = $exportdata->get_pluginobject();
-        $files = get_files($submission, $user);
+        $files = $plugin->get_files($exportdata->get_pluginobject(), $user);
         foreach ($files as $file) {
             $userid = $exportdata->get_pluginobject()->userid;
             $dtaresultsummary = dta_db_utils::dta_get_result_summary_from_database($assign->id, $submission->id);
@@ -160,15 +161,6 @@ class provider implements \core_privacy\local\metadata\provider,
             writer::with_context($exportdata->get_context())->export_file($exportdata->get_subcontext(), $file)
             // DTA result.
             ->export_related_data($dtaresultsummary);
-
-            // Plagiarism data.
-            $coursecontext = $context->get_course_context();
-            \core_plagiarism\privacy\provider::export_plagiarism_user_data($userid, $context, $exportdata->get_subcontext(), [
-                'cmid' => $context->instanceid,
-                'course' => $coursecontext->instanceid,
-                'userid' => $userid,
-                'file' => $file,
-            ]);
         }
     }
 
@@ -180,18 +172,16 @@ class provider implements \core_privacy\local\metadata\provider,
     public static function delete_submission_for_context(assign_plugin_request_data $requestdata) {
         global $DB;
 
-        \core_plagiarism\privacy\provider::delete_plagiarism_for_context($requestdata->get_context());
-
         $fs = get_file_storage();
-        $fs->delete_area_files($requestdata->get_context()->id, 'assignsubmission_dta', ASSIGNSUBMISSION_DTA_FILEAREA_SUBMISSION);
+        $fs->delete_area_files($requestdata->get_context()->id, 'assignsubmission_dta', \assignsubmission_dta\privacy\provider::ASSIGNSUBMISSION_DTA_FILEAREA_SUBMISSION);
 
         $assignmentid = $requestdata->get_assign()->get_instance()->id;
 
         // Delete records from assignsubmission_dta tables.
-        $DB->delete_records('assignsubmission_dta_result', ['assignmentid' => $assignmentid]);
-        $DB->delete_records('assignsubmission_dta_summary', ['assignmentid' => $assignmentid]);
-        $DB->delete_records('assignsubmission_dta_recommendations', ['assignmentid' => $assignmentid]);
-
+        $DB->delete_records('assignsubmission_dta_result', ['assignment_id' => $assignmentid]);
+        $DB->delete_records('assignsubmission_dta_summary', ['assignment_id' => $assignmentid]);
+        $DB->delete_records('assignsubmission_dta_recommendations', ['assignment_id' => $assignmentid]);
+        
     }
 
     /**
@@ -202,27 +192,25 @@ class provider implements \core_privacy\local\metadata\provider,
     public static function delete_submission_for_userid(assign_plugin_request_data $deletedata) {
         global $DB;
 
-        \core_plagiarism\privacy\provider::delete_plagiarism_for_user($deletedata->get_user()->id, $deletedata->get_context());
-
         $assignmentid = $deletedata->get_assign()->get_instance()->id;
         $submissionid = $deletedata->get_pluginobject()->id;
 
         $fs = get_file_storage();
-        $fs->delete_area_files($deletedata->get_context()->id, 'assignsubmission_dta', ASSIGNSUBMISSION_DTA_FILEAREA_SUBMISSION,
+        $fs->delete_area_files($deletedata->get_context()->id, 'assignsubmission_dta', \assignsubmission_dta\privacy\provider::ASSIGNSUBMISSION_DTA_FILEAREA_SUBMISSION,
                 $submissionid);
 
         // Delete records from assignsubmission_dta tables. Also possible with a list as below.
         $DB->delete_records('assignsubmission_dta_result', [
-            'assignmentid' => $assignmentid,
-            'submissionid' => $submissionid,
+            'assignment_id' => $assignmentid,
+            'submission_id' => $submissionid,
             ]);
         $DB->delete_records('assignsubmission_dta_summary', [
-            'assignmentid' => $assignmentid,
-            'submissionid' => $submissionid,
+            'assignment_id' => $assignmentid,
+            'submission_id' => $submissionid,
             ]);
-            $DB->delete_records('assignsubmission_dta_recommendations', [
-                'assignmentid' => $assignmentid,
-                'submissionid' => $submissionid,
+        $DB->delete_records('assignsubmission_dta_recommendations', [
+            'assignment_id' => $assignmentid,
+            'submission_id' => $submissionid,
             ]);
     }
 
@@ -238,49 +226,17 @@ class provider implements \core_privacy\local\metadata\provider,
     public static function delete_submissions(assign_plugin_request_data $deletedata) {
         global $DB;
 
-        \core_plagiarism\privacy\provider::delete_plagiarism_for_users($deletedata->get_userids(), $deletedata->get_context());
-
         if (empty($deletedata->get_submissionids())) {
             return;
         }
         $fs = get_file_storage();
         list($sql, $params) = $DB->get_in_or_equal($deletedata->get_submissionids(), SQL_PARAMS_NAMED);
-        $fs->delete_area_files_select($deletedata->get_context()->id, 'assignsubmission_file', ASSIGNSUBMISSION_FILE_FILEAREA,
+        $fs->delete_area_files_select($deletedata->get_context()->id, 'assignsubmission_file', \assignsubmission_dta\privacy\provider::ASSIGNSUBMISSION_DTA_FILEAREA_SUBMISSION_SUBMISSION,
                 $sql, $params);
 
         $params['assignid'] = $deletedata->get_assignid();
-        $DB->delete_records_select('assignsubmission_dta_result', "assignmentid = :assignid AND submissionid $sql", $params);
-        $DB->delete_records_select('assignsubmission_dta_summary', "assignmentid = :assignid AND submissionid $sql", $params);
-        $DB->delete_records_select('assignsubmission_dta_recommendations', "assignmentid = :assignid AND submissionid $sql", $params);
+        $DB->delete_records_select('assignsubmission_dta_result', "assignment_id = :assignid AND submissionid $sql", $params);
+        $DB->delete_records_select('assignsubmission_dta_summary', "assignment_id = :assignid AND submissionid $sql", $params);
+        $DB->delete_records_select('assignsubmission_dta_recommendations', "assignment_id = :assignid AND submissionid $sql", $params);
     }
-
-    /**
-     * Produce a list of files suitable for export that represent this feedback or submission
-     *
-     * @param stdClass $submission The submission
-     * @param stdClass $user The user record - unused
-     * @return array - return an array of files indexed by filename
-     */
-    public function get_files(stdClass $submission, stdClass $user) {
-        $result = [];
-        $fs = get_file_storage();
-
-        $files = $fs->get_area_files($this->assignment->get_context()->id,
-                                     'assignsubmission_file',
-                                     ASSIGNSUBMISSION_DTA_FILEAREA_SUBMISSION,
-                                     $submission->id,
-                                     'timemodified',
-                                     false);
-
-        foreach ($files as $file) {
-            // Do we return the full folder path or just the file name?
-            if (isset($submission->exportfullpath) && $submission->exportfullpath == false) {
-                $result[$file->get_filename()] = $file;
-            } else {
-                $result[$file->get_filepath().$file->get_filename()] = $file;
-            }
-        }
-        return $result;
-    }
-
 }
diff --git a/dta/lang/en/assignsubmission_dta.php b/dta/lang/en/assignsubmission_dta.php
index fbeffaeb3e865b5a90c7c6e90ee72f0bcd58e18a..758d3301fba0189f8d90f47e949d915304d78fec 100644
--- a/dta/lang/en/assignsubmission_dta.php
+++ b/dta/lang/en/assignsubmission_dta.php
@@ -163,6 +163,12 @@ $string["privacy:metadata:assignsubmission_dta_result:column_number"] = "Column
 $string["privacy:metadata:assignsubmission_dta_result:line_number"] = "Line number of failed individual compilation or test";
 $string["privacy:metadata:assignsubmission_dta_result:position"] = "Position of failed individual compilation or test";
 $string["privacy:metadata:assignsubmission_dta_result"] = "Individual Dockerized Test Agent (DTA) results";
+$string["privacy:metadata:assignsubmission_dta_recommendations:topic"] = "Topic of recommendation";
+$string["privacy:metadata:assignsubmission_dta_recommendations:exercise_name"] = "Name of exercise";
+$string["privacy:metadata:assignsubmission_dta_recommendations:url"] = "Url of recommended exercise";
+$string["privacy:metadata:assignsubmission_dta_recommendations:difficulty"] = "Difficulty level of exercise";
+$string["privacy:metadata:assignsubmission_dta_recommendations:score"] = "Score achieved in exercise";
+$string["privacy:metadata:assignsubmission_dta_recommendations"] = "Individual Dockerized Test Agent (DTA) recommendations";
 $string["privacy:metadata:dta_backend"] = "Dockerized Test Agent (DTA) backend ReST web service";
 
 //PLUGIN