This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
stats:schema:exam [2011/09/29 11:10] Patrick Michel [Schema] |
stats:schema:exam [2013/07/10 12:48] (current) |
||
|---|---|---|---|
| Line 6: | Line 6: | ||
| <code xcend> | <code xcend> | ||
| - | element exams { | + | element exam * id { |
| - | element exam * id { # 2.13 | + | attribute title { string } |
| - | attribute title { string } | + | attribute date { string } |
| - | attribute date { string } | + | attribute time { string } |
| - | attribute time { string } | + | attribute location { string } |
| - | attribute location { string } | + | attribute free { boolean } |
| - | + | attribute published { boolean } | |
| - | element examiner * account {[ //accounts/account[./account]/examiner[..exam/id] ]} # 1.9, 2.14 | + | |
| - | } | + | attribute exercise { ident [ exists /exercise[.] ]} |
| - | element tasks { | + | |
| - | element task * id { # 2.15 | + | element examiner * account {[ /account[./account]/examiner[..exam/id] ]} |
| - | attribute maxPoints { double [ . >= 0 ]} # 3.4 | + | |
| - | } | + | element task * id { |
| - | } | + | attribute maxPoints { double [ . >= 0 ]} |
| - | element grades { | + | } |
| - | element grade * { | + | element grade * id { |
| - | attribute value { double } | + | attribute name { string } [count(./name, ../grade/name) = 1] |
| - | attribute minPoints { double } | + | attribute value { double } |
| - | } [ {x != y} ./grade[x]/value != ./grade[y]/value ] # 2.16 | + | attribute minPoints { double } |
| - | [ {x != y} ./grade[x]/minPoints != ./grade[y]/minPoints ] # 2.19 | + | } [ {exists ./grade[x], exists ./grade[y], x != y} ./grade[x]/value != ./grade[y]/value ] |
| - | [ ./grade[x]/value < ./grade[y]/value -> ./grade[x]/minPoints > ./grade[y]/minPoints ] # 3.5 | + | [ {exists ./grade[x], exists ./grade[y], x != y} ./grade[x]/minPoints != ./grade[y]/minPoints ] |
| - | } | + | [ {exists ./grade[x], exists ./grade[y], ./grade[x]/value < ./grade[y]/value} |
| - | element results { | + | ./grade[x]/minPoints > ./grade[y]/minPoints ] |
| - | element participant * id { [ exists //accounts/account/student[./id] ] # 2.17 | + | element participant * id { [ count (./id, /account/student/id) = 1 ] |
| - | element result * task { [ exists ..exam/tasks/task[./task] ] # 1.10, 2.18 | + | element result * task { [ exists ..exam/task[./task] ] |
| - | attribute points { double [ . >= 0 && . <= ..exam/tasks/task[../task]/maxPoints ]} | + | attribute points { double [ . >= 0 && . <= ..exam/task[../task]/maxPoints ]} |
| - | } | + | |
| - | } | + | |
| } | } | ||
| } | } | ||
| Line 45: | Line 43: | ||
| {{page>stats:proc:changeAttributes (Exam)&noheader&nofooter}} | {{page>stats:proc:changeAttributes (Exam)&noheader&nofooter}} | ||
| + | |||
| + | ==== Examiner Management ==== | ||
| + | |||
| + | {{page>stats:proc:grantExaminerRights&noheader&nofooter}} | ||
| + | |||
| + | {{page>stats:proc:revokeExaminerRights&noheader&nofooter}} | ||
| ==== Task Management ==== | ==== Task Management ==== | ||
| Line 69: | Line 73: | ||
| Currently, the participants are not hardwired to an account, I just changed that fact for the schema. Besides that, participants stand for themselves, so deleting one does not affect anything. | Currently, the participants are not hardwired to an account, I just changed that fact for the schema. Besides that, participants stand for themselves, so deleting one does not affect anything. | ||
| - | {{page>stats:proc:addParticipant&noheader&nofooter}} | + | {{page>stats:proc:openRegistration&noheader&nofooter}} |
| + | {{page>stats:proc:closeRegistration&noheader&nofooter}} | ||
| + | {{page>stats:proc:addParticipant&noheader&nofooter}} | ||
| {{page>stats:proc:removeParticipant&noheader&nofooter}} | {{page>stats:proc:removeParticipant&noheader&nofooter}} | ||
| Line 81: | Line 87: | ||
| {{page>stats:proc:addResult (Task)&noheader&nofooter}} | {{page>stats:proc:addResult (Task)&noheader&nofooter}} | ||
| + | {{page>stats:proc:changeResult (Task)&noheader&nofooter}} | ||
| {{page>stats:proc:removeResult (Task)&noheader&nofooter}} | {{page>stats:proc:removeResult (Task)&noheader&nofooter}} | ||
| + | |||
| + | {{page>stats:proc:publishResults&noheader&nofooter}} | ||
| + | {{page>stats:proc:hideResults&noheader&nofooter}} | ||
| + | |||