From f5cb23bd4cd5467203e6cb594dfd6ed5d84f925e Mon Sep 17 00:00:00 2001
From: Gero Lueckemeyer <gero.lueckemeyer@hft-stuttgart.de>
Date: Wed, 20 Dec 2023 21:15:24 +0100
Subject: [PATCH] added privacy strings a& changed directified plugin
 inheritance

---
 dta.zip                              | Bin 23623 -> 23934 bytes
 dta/lang/en/assignsubmission_dta.php |  22 ++++++++++++++++++++++
 dta/privacy/provider.php             |  10 +++++-----
 3 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/dta.zip b/dta.zip
index 41b9486a4a1b1c9127705ea7ff31518a55a338eb..2c18e73b680665cd974b2cebbf98b5e9e0af6b87 100644
GIT binary patch
delta 5032
zcmV;Z6IblVxB>pU0k9ti4ttW6SIRfGhD!<n06Z#_Ee0%qXV23x5dO}uun->rLCfB&
zY$TT677zkdxrx&n96Pd|mh$Vlvz^g839BF^Bx>izbHnFx@2$JVsyH?tli7+Jl5xQZ
z{9jOQiOR?erBawVOIFqvH^$@KjYmo^$G`*sDhlM)j1i+UyP=xhAX`<Egi4}W%8k{0
zQCc9ggvxY(tTf40%Cjv<z`0VUOcT3e#4?>5(Ch|JUcMnum}Hs?^156Io{;A}VbU-{
z0VB?s6-&ti<v5PVh+*n6z(|2$YPphU2;=ZwlQq)@#^hqqQ3*Ulltv*ZsYT?Pr~>&;
z0o*MS)HbZ6$ne@efWoDdx>5y$A0P~@+i)Ssf|1gHu&fkkkQs={yJxefuinha<mG$v
zZgO-qc{zK36Nv3f!B@6sUKGy@!9g-uq^Y!90PfU3I(qOFSSI(MJ%2WP5Aez3XS0`&
zrc?6x)e)JH*OQ~!vj=aUPmajzH%G5uO&^U2nKFh#LBNo6GZ!ClV9G4z!c-=|hmaaT
zCsMM1qH6}BO&DJTHcApzY=0a!6heiPOJ`<qA;5Z;5vlAMVgTN)kZPOFX0(*0%QfNI
z&G^pf*s<~H)5pkZG6kQ@r9rTuJuj4G(vsuU7`~LIT;$wfxaO&)$In0r<+7wpMvgOi
z9N1C9y@DoRaE_2JE=S@uBS{A=G+MCCj+cdh7_DqByy>r>ll4Uih|e1*1}QaPt}Hl4
zEAqT#$rqNhEz`Ijh_Pjg=nJhrv&6zGpt%9YF<3jUd^tLH!Z@2h94|z<<Wka{9sfjb
zlj9E+h|~NVgkr{w1sXD0qQH|6XOmOMZ`Pb(JzWTvI<`)6H=W9d9Ky7Oa==6iW-OS0
zFfH{hKe=xn1gIj-7l?_>__EY){h>F$@!~9coTZhW4X{||e8oiJ1wZmjw=9IBm}>?Y
z1eS`g7V8yif;5$AH6#H+9B+=EkwS6lTw#?<OU(*pxK(=Vvd=H`pf*56cy7Lq1T}~o
zgH-9~78bmQZ(=(lZx9PeZ_w0rkESVqN7JbgTO6RM9IHtwIrud_YdQD=0XnoN5qbe;
z3NG0xAa;T_P~cpKXN;u_L<cr0XJ)lVy%@7KmgQ#D<5I&cYBKxrvXCvik@_hCt>CnR
z;dT%2TT%%}+dA^EB>>ibm^>3q7Q&YotLm6{1si79RPglI0`5RTZu7(iHDy_UB`kG|
z2<k1C1SP|GRW7h_WB44eE+wqS5!OOoty{ATn(gE({N`ApQihuY_35OO6?X;HuzVq^
z9AaM!$Scs*LXH{}TWS|@3Yr*hCR<F<HBW&vIEQD!_rL5G53q@~_s(%&2p)jD!NS(!
zM<<xMDU*a5la(QvNHft6cLv*kM+sI2qA+YzVCm+<rQV!rt#n1(`as-=HdiUXNVS2q
zv`}I_gEuC8Anrq(BjB5(SOz8~yh1gtk&7*c7z0pKIY+z1+ZC4QRBr>nAGE()WvQ5R
zT#=q;h7-h1bb->|iUthPd+@_f99FI$w7<t@J!ocjD8r^VZ+4H@VH<pZ2{XG+=C(!l
z28InylMQVe*nMIej73>F+y9PJWNx=b5c1g1kQvN$QEEnwlDo7=ZmvxYs|t)%p6odc
z$jdTcFum(FQIkASqReFn5v-QrCs;O7iL~H6t7%fj565JN6ZHzpSrOte+6|ab-yGIg
zV6KNZ_XrmPijgO}k3S=Sf=sAQ@Cf{ZlbBn%T8W5KC>1L25rYJA7DYr*WlaF}0DsaB
zOlzt=#apU57VwCo2`Pj!{tQQRT9>zw*)T<>VJ_z2P>gg|JNsD}#)O!<P1bsMq%j$+
z?POjWx~x_Lj9H5L^adt-=<%euPd<e?+6h_kg|17*b3f>j4pn@AP759mJzv2#2}NV_
z`dJUX!K*=)ckY^yaJ!Aj=)z!vVw^qgq?xF4w5b*TK+WMo_7#pXA}M_d-pkx`PEv0&
z??E{4spE`}C@(n5IJG0fi;ghP?1=D^CycW@qP*-Vqa2Uut~k0l(<8#Gj<7%HV~%Sz
zN1XF9^>s%bCw}aIe;=;C+>hyfz<P2&Ca<Fw=Y33EM=s9%n7E2woc1xTkKaJ<@8$Xy
z&s%UWbot$1n&(L67Y?k99M=QGOUPDQ6r8y8eWJ9+>q5=tFaMBe;bp*7r!NEB3@WTH
z%S(<IeQ+)m(0tTg_*)R_+^J5KAhrie4ntD9Yh6k(FU&rFsNckd3$n{A9>`b1fXkhV
zm!&(QI+=;zjtDa2VR03nM-Jg6T=*?OrHP?v*y|{sf}0STL&I=orG<mz-2fiB@S@Qj
zB>3enAmARq%l5{|KanAc^C<lHtLUJV{U)|`*xwJ8KUgeVP`sAvT`*ZGWnfeQdjWbu
z3)V~mOnz^F@<S%}V~Co!e-5r)pnn}@#raR5Ry#vCOoGdxA_;f|)k~&*F#sj5h8%ho
zpzuyW|3rJUtL+s8_LcjGF<%dxI_fH{30G$j%+7kqDLmQ2jh?IUL>EqYe+My2kDT`3
zK@EF)k7uj+!lg<ux8-7#|2reXS!2%#S6Qh}@eQ?qv5193`2TK`KN7V}N;LDw6!+zq
z<+YAYokGhj<8W7yxJgvBwGON_T}p<IU-7M@`&5Q3gLjVr_htuQ?=572r|&*8z|wa!
z8DQzXqYUu$+*SrS`tB_QEI+)#4Db%!Wrq0rZZ!ieKe*ova1P&e1{jC#JOgY)x1RyF
zfqT$@0N0OhM1j?>%Xd`cJ9vA=Ni~O(<euH<8~-^xHZ*U=kU*{n`mwhM_3^mtc1pF^
z5kj%yjhv;SI6TrC+ZxPZ*xFDQ*f)~tQ-!aM%3?brJS;(->Fs_6E_elhju?Tl#(*k!
zEN$Mu|E9gF{m@>w0U9qfkg(l2PXrcO|1Lg%&rN_cA%5OJixZV3Xb(C0bT)fUE`9xa
zDw1QEhVFGN$Io}lx!ffuysk%rWc}`rynFJLtOEg=Cr!q52=^q-p(RqamYQ(m`G=Mw
zg!qx~4q?-yn!g#5?lhE8<Qdq4xM_PkXV6(s>ux-Y#JW8QFU^u|LPyvg-2MI-XJUAN
zj}5j>oiD+rR73uDv$SCb!ZEy-`{VIz<^Sd)kh|d2uEK}W1vSjKWC5{BG%uR16D}cZ
znr!j4u;s@vdjm|TShsH^3TifFV$~!Ff5d>(E<w@O0rsvo`8+g3ZZsa_X^6zb>b%i>
z`+fP%bS%I5_WSZJ&tV<Yyr`d|eOz#V{(ySgeFCh+mF#xI3-$U=CC{K~{8{Ph7-jsj
z`fcqunm%1eE9^O(dmB^Zwpg3v_aS&;!|D&Jai>oQ3ifx5_8&`NPZnyyZz%JOH~RZ)
zI0M@8n9HGeTT+2m{>F+3ni2tDTY4Vg_~2R^`7aMF*&W)O&euU@_jeUx=C5d7>gr1R
zxkGAe`i-4+1i`R$r<5ptFy)DBk<O)Sk?wR&{ZxaXrE(9<pCQ1eZqVN}cK@07A~b+^
z+rfWbZ`kZ=*?(NVP;@wDc-cb&10i(Sr!)BLlZ88%aMyGF4zp(u^cfNWsgzd^%i{^|
z3IG83EdT%*0Fyyk8ncHfumXQ_?xQwofxQ;YwHjA$+7*rTDskD5j>gtuO@DXUORB;U
z&Ns1*(5{eetdK1S7JjII;WDY%`1pA8>freO(>D`by*==rpNzeill>RtqZebZdd?oQ
zn-x(>0e5rH2$GqUmC9H6nHGtTEH>lHbC&K_5yx&-*S!&|E&Omsse^yqd*p|q2hMUK
z6_340BwxD#tp4t3m(fNf@AMlhpFTJ5?^pwmoLHk8Y6;of>#P@qu+DtRJ^Vy`NszXz
zgy?bX=Zj_0++BrT`ALL#*uzIH;%;IvYT)-*=~rmG(XSr2(^n$qh=DlUg?NeFMtK&c
zXMW^iJ@~3})W2OgtPp=`w^0yqDY5H%K^kXV@gxvj?!s>ksaDHDbsk=uqam}2+ok!i
ziT)qUketgRQvZK~*#5%9Hh!fDHuf3S(c8%D9duXX8hI`09f__ZM?1wX^a!t&;1o?~
zkt5_5*)DWz=o`sngGHZl4F-ll8;jj)n<c-wrXfL#IPsDqKI4D+4%8d?Z49s_^WDkU
zuv?QRl|qS~tnN^MOA$0Qx2%EuJ9_2>yA3sv^w_j5cZkp#e8m$Ki2t#~RqJ#hfEdJN
zL*I4v9ja!+c4y>V6?vn}+|z46m%C<jn!vvx#YtUH1!|`jdlWHeGJQ(LAs}C{vZ3~B
z-LPw{^^ZA9=6-+7n7}da7B%l81UGKZCzI#qpnsuTc1%!`P~d=TPf(It_`x!v>Uaf$
z^_#I<V)|C44DrY0w@8bvu_c}o(UL=X47jX&w+J4PJ)?z3$8b^Cy<5|<zgEs3`>}G4
z!#_VlMGO~g%2hyfnQ5NJH6IMtIIcpMY0Z1&rL`UuN@{-(3cki$?ME@An9-+pJx*A9
zMyGQ!EG{wiNZ>^0U>Zo-bNm&|Z4u0APlU3&y+FU$zLP19w9LpxcX3ijEP0m{WrnXL
zyOvYCnV#QZVh0V#$cTMC7qbM)F;xJG6ifwV%T8k~>>zA4xeNhXgGVE5pp-IEq~S@;
zn1gV*#;1Q;RAVf6r4!NJSTAntA*;AYc68a%-83>-V!!ICgH$mB76{>W?s)M%OLGNh
z)&?9p?o>4nS*QQ{nG3tcHC=uE9RCsVkZMK9X{d^AnO)39Fn38!?$!bjjK(#OQks+6
zS*2qy637?pt&gDRJj!$g7(DX-R#{=7z2!-Wo+y88r`eLZKVXPe<T)ZPTCfnUfui~3
zMQvO{)sjYT0hB`2BI+ucDG0^#fa#Vq&%-+3dyi@bwA<S&!Nrtym*KQl-5$H~kR?SF
zIhmU~nqI2t{Hz4fJ^?DfV5d@r&#0BJv%F<Y)h3`>X#kg|XhX2(Hd)g^)0;Uk2uNRd
zYm|TbM#u`D!k28!x)#xwhQyNYuEt$1%DqPha<7SwcENORwu1qo=TF}&%&12r5NWJY
zR=d+{*Bb5KBihy~RrCX=M-^Acw618LPf83L%VvT)8d3b05wSj0pov~HW?Th?C?#y)
z8f{q|%<z~|ttm=LI_ETw4oxPl7zz3<Q#^l+{F(4`A>(@ZS1C~BlGhT!UK)wb>T)tH
zO<YU*<xc0e@6pH#UBT4KfNMQUp19g<vQI5Xq}aB@mEa;lF-igs(yQ=BBZFbCx5G2C
z8a%pg1tO0c5V~4wk88&Jxn{c<;{{Yen}tg2JEVIN6Y>c4y>&O?uG9kvZE5*-%HV%c
z`3-a|3xAjG#@^|hNwq)Nor6TMe3Dru*;d<xQK`O7fLIxCTgp_gJZ4tNZasgBOt?az
zT0tt9h9D)k)ueBnCa3i}>d`9>jD4ELR^EGLdC}D06x>bpbs1|PzuoC?{SKfZW&NlL
zc^&iBy~W(QyfCt8LRGmkA(?YnIFx^;OKlU?_L61sAqSO)u-M(rGe-7l<&51_1sS#j
zd0RNIK))q#x5(NmW4mZg=+#&5BL{%k!<ubTY=5qsvr^8TIz+?Obcp87F7waO#g|+(
z4;y9Xm>CqZQ8KQPz($Skb^`vn^wrIo<<xB1Twb}w)x6t~F%E0nglTEemdSst_C*Hy
zw-gui=#SNwYM*OWw0FIV!NxQy$Wkoe-W)}IJu(3rKDCI_i|bXDhV++|fPQD=Os=l@
zGVryl(_fZzrOH{)N$Nl9r>?RCsU1IP#4s#}4JJ)ZPvX0p<EqPsD(0pZa^zs|IqdR*
zLANuV>hZELT|*w1y%I*tN2`B3*3~hiS1-*0i>aVFfX?v&PyH}m&I-t0*Q~MfpQx-Y
zmBo6z+uOFX(wUmanOdyUs?^mKd+lfIT2p<6N=fAdr`&H5<TR7k9xz}VSHL~!2&4MZ
zrE>Mz@w<HwUto>j9D4`jH!q%FT9G};X}-NfVJ7sJ%B-t$S(;btaZ`WO%KYw;?R=;@
zd|to3VME_o!<=51Rot6PyXnZ0$LDd+S>3!^@SCON*Wqpp>2F}aS{M)WG%Nycw<Q`N
zYd3?I(3_afcyqEf#Uke!tN{T`zc}SQq!%Ofty#stz3FpPqQ<o6q)~m>Vo-KgFEfnU
zs0=2!4@)dNv!YKB7g&FFxAsY;9bSI$?|OQ#AJ7}))nZmvvD$d4O^5!Hob_zKWkLtO
z`t*5ki!5ImZ4s=F<VITr+v8~!4Q)BtVcYzzNz^T|cki>>{^~}(iVE}@kN!{>AE0h4
z`4q2lI1GN}*&y|SDPE)5=+c`eCJ8i3i0HLX=Bqhn!<Rzp6N^sySeZiXv87XOA5fL6
z`pD9a%7`El>ap9m*@kuY@S)bEA>~r+ebQ=}2yxNg?df7kx6QfOPsTxQdtxL+w>P*F
zi`8w<+R`y8i`CE0FSB_xP9hF_l9X4<H@1dL3IG5+DwEY#L<WCU-@a%wlkim>lRH-+
z0-_L;T~}KIV-=ISS6~8$B9k0gTLP~llaL`Alap9Z0%9tY<5)f*0I8H$4$I>S?g{_^
z_$>ec7yu*y00000001BW004|ClR;S~2EX6^Ie;^h@Kqd>iCG{5ur-sbSzrQyIFk)p
yUIN8BlWkgB0_{4J$y#LsbU~9aTV?|LN0Z=26qBr5P6GT=ll)sn2EtVU00006x2OgH

delta 4711
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

diff --git a/dta/lang/en/assignsubmission_dta.php b/dta/lang/en/assignsubmission_dta.php
index 54cffa3..4f3cf89 100644
--- a/dta/lang/en/assignsubmission_dta.php
+++ b/dta/lang/en/assignsubmission_dta.php
@@ -142,3 +142,25 @@ $string["default"] = "Enabled by default";
 $string["default_help"] = "If set, this submission method will be enabled by default for all new assignments.";
 $string["backendHost"] = "Backend Server Address";
 $string["backendHost_help"] = "Address/Name and Port of backend server";
+
+// Database field descriptions for privacy API.
+$string["privacy:metadata:core_files"] = "Moodle core files.";
+$string["privacy:metadata:assignsubmission_dta_summary:assignmentid"] = "ID of the assignment";
+$string["privacy:metadata:assignsubmission_dta_summary:submissionid"] = "ID of the submission";
+$string["privacy:metadata:assignsubmission_dta_summary:timestamp"] = "Date and time of the submission";
+$string["privacy:metadata:assignsubmission_dta_summary"] = "Stack trace of the compilation and test if major problems occur";
+$string["privacy:metadata:assignsubmission_dta_summary:successful_competencies"] = "List of the successfully tested competencies";
+$string["privacy:metadata:assignsubmission_dta_summary:tested_competencies"] = "List of the tested competencies";
+$string["privacy:metadata:assignsubmission_dta_summary"] = "Summary of Dockerized Test Agent (DTA) results";
+$string["privacy:metadata:assignsubmission_dta_result:package_name"] = "Package name of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:class_name"] = "Class name of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:name"] = "Name of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:state"] = "State of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:failure_type"] = "Failure type of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:failure_reason"] = "Failure reason of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:stacktrace"] = "Stack trace of failed compilation or individual test";
+$string["privacy:metadata:assignsubmission_dta_result:column_number"] = "Column number of failed individual compilation or test";
+$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:dta_backend"] = "Dockerized Test Agent (DTA) backend ReST web service";
diff --git a/dta/privacy/provider.php b/dta/privacy/provider.php
index 4a32e5a..46e9957 100644
--- a/dta/privacy/provider.php
+++ b/dta/privacy/provider.php
@@ -31,7 +31,7 @@ use mod_assign\privacy\assign_plugin_request_data;
 class provider implements
         // This plugin does store personal user data.
         \core_privacy\local\metadata\provider,
-        \core_privacy\local\request\data_provider,
+        \core_privacy\local\request\shared_data_provider,
         \mod_assign\privacy\assignsubmission_provider,
         \mod_assign\privacy\assignsubmission_user_provider {
 
@@ -63,8 +63,8 @@ class provider implements
         $collection->add_database_table(
             'assignsubmission_dta_result',
             [
-                'assignmentid' => 'privacy:metadata:assignsubmission_dta_result:assignmentid',
-                'submissionid' => 'privacy:metadata:assignsubmission_dta_result:submissionid',
+                'assignmentid' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
+                'submissionid' => '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',
@@ -80,8 +80,8 @@ class provider implements
         );
 
         $collection->add_external_location_link('dta_backend', [
-                'assignmentid' => 'privacy:metadata:assignsubmission_dta_result:assignmentid',
-                'submissionid' => 'privacy:metadata:assignsubmission_dta_result:submissionid',
+                'assignmentid' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
+                'submissionid' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
                 'submissioncontent' => 'privacy:metadata:core_files',
             ],
             'privacy:metadata:dta_backend'
-- 
GitLab