diff --git a/backend/db/migrations/20250919125851-basic-configuration-expose_assessment.json b/backend/db/migrations/20250919125851-basic-configuration-expose_assessment.json index 41780f631..775e88508 100644 --- a/backend/db/migrations/20250919125851-basic-configuration-expose_assessment.json +++ b/backend/db/migrations/20250919125851-basic-configuration-expose_assessment.json @@ -1,25 +1,13 @@ { "name": "Exposé assessment configuration", - "description": "Expose Criteria by rubrics including calculation", - "version": "1.0.0", "type": "assessment", "rubrics": [ { - "name": "Language/Quality", "code": "language", - "description": "Assessment of language quality and structural coherence of the text", - "calculation": "sum", - "maxPoints": 4, - "minPoints": 0, + "name": "Language/Quality", "criteria": [ { "name": "Language quality", - "description": "Evaluation of linguistic accuracy and sentence clarity", - "minPoints": 0, - "maxPoints": 2, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -33,16 +21,16 @@ "points": 2, "description": "no linguistic errors, clear and comprehensible sentences with consistent terminology" } - ] - }, - { - "name": "Common Thread", - "description": "Assessment of structural continuity and coherence throughout the text", + ], + "function": "auto_grading", "maxPoints": 2, "minPoints": 0, - "expertLevel": 1, "subjective": true, - "function": "auto_grading", + "description": "Evaluation of linguistic accuracy and sentence clarity", + "expertLevel": 1 + }, + { + "name": "Common Thread", "scoring": [ { "points": 0, @@ -56,26 +44,26 @@ "points": 2, "description": "Text has a continuous structure that is easy to follow, common thread is clear and recognizable from beginning to end" } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Assessment of structural continuity and coherence throughout the text", + "expertLevel": 1 } - ] + ], + "maxPoints": 4, + "minPoints": 0, + "calculation": "sum", + "description": "Assessment of language quality and structural coherence of the text" }, { - "name": "Metadata", "code": "meta", - "maxPoints": 3, - "minPoints": 0, - "description": "Evaluation of title appropriateness and creativity", - "calculation": "sum", + "name": "Metadata", "criteria": [ { "name": "Preliminary title", - "description": "Assessment of how well the title matches and represents the topic", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -89,16 +77,16 @@ "points": 2, "description": "Title fits the topic; creative title changed in a novel way and/or fits into the story of the synopsis" } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Assessment of how well the title matches and represents the topic", + "expertLevel": 1 }, { "name": "Metadata available", - "description": "Assessment of proper meta information", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 0, - "subjective": false, - "function": "check_latex_metadata", "scoring": [ { "points": 0, @@ -108,26 +96,26 @@ "points": 1, "description": "Name, date, matriculation number are correct and updated" } - ] + ], + "function": "check_latex_metadata", + "maxPoints": 1, + "minPoints": 0, + "subjective": false, + "description": "Assessment of proper meta information", + "expertLevel": 0 } - ] + ], + "maxPoints": 3, + "minPoints": 0, + "calculation": "sum", + "description": "Evaluation of title appropriateness and creativity" }, { - "name": "Form/Structure", "code": "structure", - "calculation": "sum", - "maxPoints": 2, - "minPoints": 0, - "description": "Evaluation of document formatting and structural requirements", + "name": "Form/Structure", "criteria": [ { "name": "Template used", - "description": "LaTeX template used", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 0, - "subjective": false, - "function": "check_latex_template", "scoring": [ { "points": 0, @@ -137,16 +125,16 @@ "points": 1, "description": "Latex template is used" } - ] - }, - { - "name": "Number of pages", - "description": "Page limitation for more focused writing", + ], + "function": "check_latex_template", "maxPoints": 1, "minPoints": 0, - "expertLevel": 0, "subjective": false, - "function": "check_pdf_pages", + "description": "LaTeX template used", + "expertLevel": 0 + }, + { + "name": "Number of pages", "scoring": [ { "points": 0, @@ -156,26 +144,26 @@ "points": 1, "description": "<= three sides (motivation + approach only)" } - ] + ], + "function": "check_pdf_pages", + "maxPoints": 1, + "minPoints": 0, + "subjective": false, + "description": "Page limitation for more focused writing", + "expertLevel": 0 } - ] + ], + "maxPoints": 2, + "minPoints": 0, + "calculation": "sum", + "description": "Evaluation of document formatting and structural requirements" }, { - "name": "Motivation", "code": "motivation", - "description": "Assessment of problem identification, context establishment, and research question formulation", - "calculation": "sum", - "maxPoints": 9, - "minPoints": 0, + "name": "Motivation", "criteria": [ { "name": "Hook existing", - "description": "Evaluation of the presence and suitability of an engaging opening", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -185,16 +173,16 @@ "points": 1, "description": "Hook present and suitable for the topic" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Evaluation of the presence and suitability of an engaging opening", + "expertLevel": 1 }, { "name": "Anker", - "description": "Assessment of problem statement detail and comprehensiveness", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -208,16 +196,16 @@ "points": 2, "description": "The problem is described in detail. All relevant aspects of the problem are mentioned and clarify its scope and possible effects." } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Assessment of problem statement detail and comprehensiveness", + "expertLevel": 1 }, { "name": "Domain", - "description": "Evaluation of context and domain specification for the problem", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -227,16 +215,16 @@ "points": 1, "description": "The domain or the relevant expert area of the problem is mentioned. It is clear in which environment the problem exists." } - ] - }, - { - "name": "Problem relevance", - "description": "Assessment of how well the importance and impact of the problem is communicated", + ], + "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, - "function": "auto_grading", + "description": "Evaluation of context and domain specification for the problem", + "expertLevel": 1 + }, + { + "name": "Problem relevance", "scoring": [ { "points": 0, @@ -246,16 +234,16 @@ "points": 1, "description": "The importance and relevance of the problem is described. It is made clear why the problem is important and what impact or consequences it could have (e.g. for specific individuals, organisations or society as a whole)." } - ] - }, - { - "name": "Problem handling", - "description": "Evaluation of current approaches or criticisms regarding the problem", + ], + "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, - "function": "auto_grading", + "description": "Assessment of how well the importance and impact of the problem is communicated", + "expertLevel": 1 + }, + { + "name": "Problem handling", "scoring": [ { "points": 0, @@ -265,16 +253,16 @@ "points": 1, "description": "current handling of the problem or current criticism is given" } - ] - }, - { - "name": "Teaser (RQ)", - "description": "Assessment of research question clarity and alignment with problem description", + ], "function": "auto_grading", - "maxPoints": 2, + "maxPoints": 1, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Evaluation of current approaches or criticisms regarding the problem", + "expertLevel": 1 + }, + { + "name": "Teaser (RQ)", "scoring": [ { "points": 0, @@ -288,16 +276,16 @@ "points": 2, "description": "The research question is formulated clearly and precisely. It clearly conveys what is to be investigated, and fits thematically with the problem description." } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Assessment of research question clarity and alignment with problem description", + "expertLevel": 2 }, { "name": "RQ Limitation", - "description": "Evaluation of research question scope and feasibility for Bachelor's thesis context", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 2, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -307,26 +295,26 @@ "points": 1, "description": "The research question is precise and clearly defined so that it can realistically be addressed in the context of a Bachelor's thesis. The question is formulated in concrete terms and describes specifically which aspects are to be investigated without deviating from the topic." } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Evaluation of research question scope and feasibility for Bachelor's thesis context", + "expertLevel": 2 } - ] + ], + "maxPoints": 9, + "minPoints": 0, + "calculation": "sum", + "description": "Assessment of problem identification, context establishment, and research question formulation" }, { - "name": "Approach", "code": "approach", - "maxPoints": 11, - "minPoints": 0, - "calculation": "sum", - "description": "Assessment of state of the art analysis, theoretical framework", + "name": "Approach", "criteria": [ { "name": "SOTA", - "description": "Evaluation of state of the art presence and proper citation", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 1, - "subjective": false, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -336,16 +324,16 @@ "points": 1, "description": "SOTA present and correctly cited" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": false, + "description": "Evaluation of state of the art presence and proper citation", + "expertLevel": 1 }, { "name": "SOTA Relevance", - "description": "Assessment of how well the relevance of state of the art is demonstrated", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -359,16 +347,16 @@ "points": 2, "description": "It is clearly shown how SOTA is relevant to the topic of the exposé and why it is relevant to the research." } - ] - }, - { - "name": "SOTA Weaknesses", - "description": "Evaluation of identification and explanation of state of the art limitations", + ], + "function": "auto_grading", "maxPoints": 2, "minPoints": 0, - "expertLevel": 1, "subjective": true, - "function": "auto_grading", + "description": "Assessment of how well the relevance of state of the art is demonstrated", + "expertLevel": 1 + }, + { + "name": "SOTA Weaknesses", "scoring": [ { "points": 0, @@ -382,16 +370,16 @@ "points": 2, "description": "SOTA's weaknesses are clearly identified and precisely explained; it is clear which weaknesses are relevant for own research" } - ] - }, - { - "name": "SOTA Delimitation", - "description": "Assessment of differentiation between own work and existing research", + ], "function": "auto_grading", - "maxPoints": 1, + "maxPoints": 2, "minPoints": 0, - "expertLevel": 1, "subjective": true, + "description": "Evaluation of identification and explanation of state of the art limitations", + "expertLevel": 1 + }, + { + "name": "SOTA Delimitation", "scoring": [ { "points": 0, @@ -401,16 +389,16 @@ "points": 1, "description": "The own achievement is differentiated from SOTA; it is explicitly emphasized, what is new or unique about your own research" } - ] - }, - { - "name": "SOTA Combination", - "description": "Evaluation of meaningful combination and consolidation of existing material", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Assessment of differentiation between own work and existing research", + "expertLevel": 1 + }, + { + "name": "SOTA Combination", "scoring": [ { "points": 0, @@ -420,16 +408,16 @@ "points": 1, "description": "Existing material is clearly and meaningfully combined; the added value of the combination is clear." } - ] - }, - { - "name": "Theoretical Framework", - "description": "Assessment of theoretical framework structure and clarity", + ], "function": "auto_grading", - "maxPoints": 2, + "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, + "description": "Evaluation of meaningful combination and consolidation of existing material", + "expertLevel": 2 + }, + { + "name": "Theoretical Framework", "scoring": [ { "points": 0, @@ -443,16 +431,16 @@ "points": 2, "description": "The theoretical framework is clearly and logically structured. The theoretical approaches are presented in a understandable and comprehensible" } - ] - }, - { - "name": "Relevance of theoretical framework", - "description": "Evaluation of theoretical framework connection to research topic", + ], "function": "auto_grading", - "maxPoints": 1, + "maxPoints": 2, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Assessment of theoretical framework structure and clarity", + "expertLevel": 1 + }, + { + "name": "Relevance of theoretical framework", "scoring": [ { "points": 0, @@ -462,16 +450,16 @@ "points": 1, "description": "The theoretical framework clearly demonstrates how the selected theories directly relate to the research topic and support the research question" } - ] - }, - { - "name": "Methodology Availability", - "description": "Assessment of methodology presence and suitability for research questions", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, + "description": "Evaluation of theoretical framework connection to research topic", + "expertLevel": 2 + }, + { + "name": "Methodology Availability", "scoring": [ { "points": 0, @@ -481,26 +469,26 @@ "points": 1, "description": "Methodology available and suitable for answering the RQ(s)" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Assessment of methodology presence and suitability for research questions", + "expertLevel": 1 } - ] + ], + "maxPoints": 11, + "minPoints": 0, + "calculation": "sum", + "description": "Assessment of state of the art analysis, theoretical framework" }, { - "name": "Methodology", "code": "methodology", - "maxPoints": 5, - "minPoints": 0, - "calculation": "min", - "description": "Assessment of the methodology", + "name": "Methodology", "criteria": [ { "name": "Methodology Completeness", - "description": "Evaluation of methodology coverage of all research questions", - "function": "auto_grading", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 1, - "subjective": false, "scoring": [ { "points": 0, @@ -510,16 +498,16 @@ "points": 1, "description": "Methodology is available and addresses all points of the research questions" } - ] - }, - { - "name": "Methodology Relevance", - "description": "Assessment of methodology relevance and contribution to research project", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, - "subjective": true, + "subjective": false, + "description": "Evaluation of methodology coverage of all research questions", + "expertLevel": 1 + }, + { + "name": "Methodology Relevance", "scoring": [ { "points": 0, @@ -529,16 +517,16 @@ "points": 1, "description": "It is clearly and precisely demonstrated why the chosen methodology is relevant to the research project and how it contributes to the research questions" } - ] - }, - { - "name": "Methodology Target group", - "description": "Evaluation of target group specification and relevance", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, + "description": "Assessment of methodology relevance and contribution to research project", + "expertLevel": 1 + }, + { + "name": "Methodology Target group", "scoring": [ { "points": 0, @@ -548,16 +536,16 @@ "points": 1, "description": "The target group is clearly and precisely defined and it is clear why it is relevant to the methodology" } - ] - }, - { - "name": "Methodology Existing Material", - "description": "Assessment of appropriate reference to existing material in methodology", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, + "description": "Evaluation of target group specification and relevance", + "expertLevel": 1 + }, + { + "name": "Methodology Existing Material", "scoring": [ { "points": 0, @@ -567,16 +555,16 @@ "points": 1, "description": "The existing material is appropriately and accurately related to the topic; it is clear that this material is relevant to the methodology" } - ] - }, - { - "name": "Methodology Difficulties", - "description": "Evaluation of identification and solutions for potential implementation challenges", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Assessment of appropriate reference to existing material in methodology", + "expertLevel": 1 + }, + { + "name": "Methodology Difficulties", "scoring": [ { "points": 0, @@ -586,16 +574,16 @@ "points": 1, "description": "Potential difficulties in the practical implementation of the methods are described clearly and precisely. Concrete solutions or strategies to overcome these difficulties are also presented, in order to organize the research process as efficiently and target-oriented as possible." } - ] - }, - { - "name": "Methodology Possibilities/restrictions", - "description": "Assessment of methodology strengths, limitations, and critical reflection", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Evaluation of identification and solutions for potential implementation challenges", + "expertLevel": 2 + }, + { + "name": "Methodology Possibilities/restrictions", "scoring": [ { "points": 0, @@ -605,16 +593,16 @@ "points": 1, "description": "The possibilities and limitations of the methods are described clearly and precisely. It is clear what strengths the methods bring to the study and what weaknesses or limitations could possibly influence the results. limitations could possibly influence the results. The choice of methods is critically reflected upon and related to the research project." } - ] - }, - { - "name": "Methodology Details", - "description": "Evaluation of comprehensive methodology explanation and implementation details", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Assessment of methodology strengths, limitations, and critical reflection", + "expertLevel": 2 + }, + { + "name": "Methodology Details", "scoring": [ { "points": 0, @@ -624,26 +612,26 @@ "points": 1, "description": "The methodology is explained comprehensively and precisely with additional explanations (e.g. details on implementation), so that the procedure is clearly comprehensible" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Evaluation of comprehensive methodology explanation and implementation details", + "expertLevel": 2 } - ] + ], + "maxPoints": 5, + "minPoints": 0, + "calculation": "min", + "description": "Assessment of the methodology" }, { - "name": "Schedule", "code": "schedule", - "maxPoints": 5, - "minPoints": 0, - "calculation": "sum", - "description": "Assessment of project timeline structure, completeness, and realism", + "name": "Schedule", "criteria": [ { "name": "Schedule Availability", - "description": "Evaluation of tabular schedule presence and chronological organization", - "function": "auto_grading", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 0, - "subjective": false, "scoring": [ { "points": 0, @@ -653,16 +641,16 @@ "points": 1, "description": "Tabular schedule in chronological order available" } - ] - }, - { - "name": "Schedule Completeness", - "description": "Assessment of schedule coverage and logical division into work blocks", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": false, + "description": "Evaluation of tabular schedule presence and chronological organization", + "expertLevel": 0 + }, + { + "name": "Schedule Completeness", "scoring": [ { "points": 0, @@ -672,16 +660,16 @@ "points": 1, "description": "Tabular schedule available from start to finish and reasonably divided into blocks" } - ] - }, - { - "name": "Schedule Block Description", - "description": "Evaluation of detailed descriptions for individual schedule blocks", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 0, "subjective": false, + "description": "Assessment of schedule coverage and logical division into work blocks", + "expertLevel": 1 + }, + { + "name": "Schedule Block Description", "scoring": [ { "points": 0, @@ -691,16 +679,16 @@ "points": 1, "description": "individual blocks described (not only headlines)" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": false, + "description": "Evaluation of detailed descriptions for individual schedule blocks", + "expertLevel": 0 }, { "name": "Schedule Realistic Relevance", - "description": "Assessment of timeline realism and alignment with Bachelor's thesis scope", - "function": "auto_grading", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -714,25 +702,26 @@ "points": 2, "description": "The timeline is clearly structured, realistic and aligned with the scope of the Bachelor's thesis. All important work steps are included and organised in a sensible time frame. Each step contributes to answering the research questions, and the entire plan fits coherently into the exposé and the context of the thesis." } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Assessment of timeline realism and alignment with Bachelor's thesis scope", + "expertLevel": 1 } - ] + ], + "maxPoints": 5, + "minPoints": 0, + "calculation": "sum", + "description": "Assessment of project timeline structure, completeness, and realism" }, { - "name": "Bibliography", "code": "bibliography", - "maxPoints": 3, - "minPoints": 0, - "description": "Assessment of bibliography consistency and literature relevance", + "name": "Bibliography", "criteria": [ { "name": "Bibliography Consistency", - "description": "Evaluation of citation style consistency and completeness of bibliographic information", - "function": "auto_grading", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 0, - "subjective": false, "scoring": [ { "points": 0, @@ -742,16 +731,16 @@ "points": 1, "description": "Bibliography is standardized ( consistent citation style) and essentially all information on the literature is available" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": false, + "description": "Evaluation of citation style consistency and completeness of bibliographic information", + "expertLevel": 0 }, { "name": "Key literature", - "description": "Assessment of literature relevance and quality for the research topic", - "function": "auto_grading", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 2, - "subjective": true, "scoring": [ { "points": 0, @@ -765,27 +754,26 @@ "points": 2, "description": "Literature fits the topic and most of it is highly relevant" } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Assessment of literature relevance and quality for the research topic", + "expertLevel": 2 } - ] + ], + "maxPoints": 3, + "minPoints": 0, + "description": "Assessment of bibliography consistency and literature relevance" }, { - "name": "Additional points", "code": "additional", - "maxPoints": 2, - "minPoints": -2, - "calculation": "sum", + "name": "Additional points", "isBonus": true, - "description": "Allow additional points for very good submissions and major mistakes in the submission", "criteria": [ { "name": "Additional points", - "description": "Additional points for very good submissions not mentioned in other criteria", - "function": "manual_grading", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -799,16 +787,16 @@ "points": 2, "description": "" } - ] + ], + "function": "manual_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Additional points for very good submissions not mentioned in other criteria", + "expertLevel": 1 }, { "name": "Negative points", - "description": "Major mistakes in the submissions", - "function": "manual_grading", - "maxPoints": 0, - "minPoints": -2, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -822,9 +810,21 @@ "points": -2, "description": "" } - ] + ], + "function": "manual_grading", + "maxPoints": 0, + "minPoints": -2, + "subjective": true, + "description": "Major mistakes in the submissions", + "expertLevel": 1 } - ] + ], + "maxPoints": 2, + "minPoints": -2, + "calculation": "sum", + "description": "Allow additional points for very good submissions and major mistakes in the submission" } - ] + ], + "version": "1.0.0", + "description": "Expose Criteria by rubrics including calculation" } \ No newline at end of file diff --git a/backend/db/migrations/20250919125851-basic-configuration-expose_assessment_german.json b/backend/db/migrations/20250919125851-basic-configuration-expose_assessment_german.json index 82fb1c911..c2a3b7b2b 100644 --- a/backend/db/migrations/20250919125851-basic-configuration-expose_assessment_german.json +++ b/backend/db/migrations/20250919125851-basic-configuration-expose_assessment_german.json @@ -1,25 +1,13 @@ { "name": "Exposé assessment configuration (German)", - "description": "Exposé-Kriterien nach Rubriken inklusive Berechnung", - "version": "1.0.0", "type": "assessment", "rubrics": [ { - "name": "Sprache/Qualität", "code": "language", - "description": "Bewertung der sprachlichen Qualität und strukturellen Kohärenz des Textes", - "calculation": "sum", - "maxPoints": 4, - "minPoints": 0, + "name": "Sprache/Qualität", "criteria": [ { "name": "Sprachqualität", - "description": "Bewertung der sprachlichen Genauigkeit und Satzklarheit", - "minPoints": 0, - "maxPoints": 2, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -33,16 +21,16 @@ "points": 2, "description": "Keine sprachlichen Fehler, klare und verständliche Sätze mit konsistenter Terminologie" } - ] - }, - { - "name": "Roter Faden", - "description": "Bewertung der strukturellen Kontinuität und Kohärenz des Textes", + ], + "function": "auto_grading", "maxPoints": 2, "minPoints": 0, - "expertLevel": 1, "subjective": true, - "function": "auto_grading", + "description": "Bewertung der sprachlichen Genauigkeit und Satzklarheit", + "expertLevel": 1 + }, + { + "name": "Roter Faden", "scoring": [ { "points": 0, @@ -56,26 +44,26 @@ "points": 2, "description": "Der Text hat eine durchgehende, gut nachvollziehbare Struktur; der rote Faden ist klar von Anfang bis Ende erkennbar" } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Bewertung der strukturellen Kontinuität und Kohärenz des Textes", + "expertLevel": 1 } - ] + ], + "maxPoints": 4, + "minPoints": 0, + "calculation": "sum", + "description": "Bewertung der sprachlichen Qualität und strukturellen Kohärenz des Textes" }, { - "name": "Metadaten", "code": "meta", - "maxPoints": 3, - "minPoints": 0, - "description": "Bewertung der Angemessenheit und Kreativität des Titels", - "calculation": "sum", + "name": "Metadaten", "criteria": [ { "name": "Vorläufiger Titel", - "description": "Bewertung, wie gut der Titel das Thema trifft und repräsentiert", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -89,16 +77,16 @@ "points": 2, "description": "Titel passt zum Thema; kreativer Titel, der neu formuliert wurde und/oder gut zur Story des Exposés passt" } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Bewertung, wie gut der Titel das Thema trifft und repräsentiert", + "expertLevel": 1 }, { "name": "Metadaten vorhanden", - "description": "Bewertung der korrekten Angabe von Metainformationen", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 0, - "subjective": false, - "function": "check_latex_metadata", "scoring": [ { "points": 0, @@ -108,26 +96,26 @@ "points": 1, "description": "Name, Datum und Matrikelnummer sind korrekt und aktualisiert" } - ] + ], + "function": "check_latex_metadata", + "maxPoints": 1, + "minPoints": 0, + "subjective": false, + "description": "Bewertung der korrekten Angabe von Metainformationen", + "expertLevel": 0 } - ] + ], + "maxPoints": 3, + "minPoints": 0, + "calculation": "sum", + "description": "Bewertung der Angemessenheit und Kreativität des Titels" }, { - "name": "Form/Struktur", "code": "structure", - "calculation": "sum", - "maxPoints": 2, - "minPoints": 0, - "description": "Bewertung der Dokumentformatierung und strukturellen Anforderungen", + "name": "Form/Struktur", "criteria": [ { "name": "Template genutzt", - "description": "Verwendung des LaTeX-Templates", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 0, - "subjective": false, - "function": "check_latex_template", "scoring": [ { "points": 0, @@ -137,16 +125,16 @@ "points": 1, "description": "LaTeX-Template wurde genutzt" } - ] - }, - { - "name": "Seitenanzahl", - "description": "Seitenbegrenzung für fokussiertes Schreiben", + ], + "function": "check_latex_template", "maxPoints": 1, "minPoints": 0, - "expertLevel": 0, "subjective": false, - "function": "check_pdf_pages", + "description": "Verwendung des LaTeX-Templates", + "expertLevel": 0 + }, + { + "name": "Seitenanzahl", "scoring": [ { "points": 0, @@ -156,26 +144,26 @@ "points": 1, "description": "≤ drei Seiten (nur Motivation + Vorgehen)" } - ] + ], + "function": "check_pdf_pages", + "maxPoints": 1, + "minPoints": 0, + "subjective": false, + "description": "Seitenbegrenzung für fokussiertes Schreiben", + "expertLevel": 0 } - ] + ], + "maxPoints": 2, + "minPoints": 0, + "calculation": "sum", + "description": "Bewertung der Dokumentformatierung und strukturellen Anforderungen" }, { - "name": "Motivation", "code": "motivation", - "description": "Bewertung von Problemidentifikation, Kontextdarstellung und Formulierung der Forschungsfrage", - "calculation": "sum", - "maxPoints": 9, - "minPoints": 0, + "name": "Motivation", "criteria": [ { "name": "Hook vorhanden", - "description": "Bewertung der Existenz und Eignung eines einleitenden Aufhängers", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -185,16 +173,16 @@ "points": 1, "description": "Hook vorhanden und passend zum Thema" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Bewertung der Existenz und Eignung eines einleitenden Aufhängers", + "expertLevel": 1 }, { "name": "Anker", - "description": "Bewertung der Detailtiefe und Verständlichkeit der Problemstellung", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -208,16 +196,16 @@ "points": 2, "description": "Das Problem wird detailliert beschrieben; alle relevanten Aspekte werden dargestellt und verdeutlichen Umfang und mögliche Auswirkungen." } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Bewertung der Detailtiefe und Verständlichkeit der Problemstellung", + "expertLevel": 1 }, { "name": "Domäne", - "description": "Bewertung der Kontext- oder Domänenspezifikation des Problems", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -227,16 +215,16 @@ "points": 1, "description": "Die Domäne bzw. der fachliche Kontext des Problems wird genannt; es ist klar, in welchem Umfeld das Problem existiert." } - ] - }, - { - "name": "Relevanz des Problems", - "description": "Bewertung der Darstellung der Wichtigkeit und Auswirkungen des Problems", + ], + "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, - "function": "auto_grading", + "description": "Bewertung der Kontext- oder Domänenspezifikation des Problems", + "expertLevel": 1 + }, + { + "name": "Relevanz des Problems", "scoring": [ { "points": 0, @@ -246,16 +234,16 @@ "points": 1, "description": "Die Bedeutung des Problems wird klar dargestellt, inklusive möglicher Auswirkungen (z. B. für Personen, Organisationen oder Gesellschaft)." } - ] - }, - { - "name": "Umgang mit dem Problem", - "description": "Bewertung aktueller Ansätze oder Kritikpunkte zum Problem", + ], + "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, - "function": "auto_grading", + "description": "Bewertung der Darstellung der Wichtigkeit und Auswirkungen des Problems", + "expertLevel": 1 + }, + { + "name": "Umgang mit dem Problem", "scoring": [ { "points": 0, @@ -265,16 +253,16 @@ "points": 1, "description": "Aktueller Umgang oder Kritik wird dargestellt" } - ] - }, - { - "name": "Teaser (Forschungsfrage)", - "description": "Bewertung der Klarheit und Passung der Forschungsfrage zur Problemstellung", + ], "function": "auto_grading", - "maxPoints": 2, + "maxPoints": 1, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Bewertung aktueller Ansätze oder Kritikpunkte zum Problem", + "expertLevel": 1 + }, + { + "name": "Teaser (Forschungsfrage)", "scoring": [ { "points": 0, @@ -288,16 +276,16 @@ "points": 2, "description": "Die Forschungsfrage ist klar und präzise formuliert; sie vermittelt klar, was untersucht wird, und passt zur Problemstellung." } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Bewertung der Klarheit und Passung der Forschungsfrage zur Problemstellung", + "expertLevel": 2 }, { "name": "Begrenzung der Forschungsfrage", - "description": "Bewertung von Umfang und Realisierbarkeit der Forschungsfrage im BA-Kontext", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 2, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -307,26 +295,26 @@ "points": 1, "description": "Die Forschungsfrage ist klar begrenzt und präzise definiert; sie ist realistisch im Rahmen einer Bachelorarbeit zu beantworten." } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Bewertung von Umfang und Realisierbarkeit der Forschungsfrage im BA-Kontext", + "expertLevel": 2 } - ] + ], + "maxPoints": 9, + "minPoints": 0, + "calculation": "sum", + "description": "Bewertung von Problemidentifikation, Kontextdarstellung und Formulierung der Forschungsfrage" }, { - "name": "Vorgehen", "code": "approach", - "maxPoints": 11, - "minPoints": 0, - "calculation": "sum", - "description": "Bewertung der Analyse des Forschungsstands und des theoretischen Rahmens", + "name": "Vorgehen", "criteria": [ { "name": "State of the Art", - "description": "Bewertung der Darstellung des Forschungsstands und korrekter Zitierung", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 1, - "subjective": false, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -336,16 +324,16 @@ "points": 1, "description": "SOTA vorhanden und korrekt zitiert" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": false, + "description": "Bewertung der Darstellung des Forschungsstands und korrekter Zitierung", + "expertLevel": 1 }, { "name": "Relevanz des SOTA", - "description": "Bewertung, wie gut die Relevanz des Forschungsstands dargestellt wird", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, - "function": "auto_grading", "scoring": [ { "points": 0, @@ -359,16 +347,16 @@ "points": 2, "description": "Es wird klar dargestellt, warum der Forschungsstand relevant ist und wie er sich auf das Forschungsvorhaben bezieht." } - ] - }, - { - "name": "Schwachstellen des SOTA", - "description": "Bewertung der Identifikation und Erklärung der Schwächen des Forschungsstands", + ], + "function": "auto_grading", "maxPoints": 2, "minPoints": 0, - "expertLevel": 1, "subjective": true, - "function": "auto_grading", + "description": "Bewertung, wie gut die Relevanz des Forschungsstands dargestellt wird", + "expertLevel": 1 + }, + { + "name": "Schwachstellen des SOTA", "scoring": [ { "points": 0, @@ -382,16 +370,16 @@ "points": 2, "description": "Schwächen werden klar identifiziert und verständlich erklärt; es ist nachvollziehbar, welche Schwächen für die eigene Forschung relevant sind" } - ] - }, - { - "name": "Abgrenzung vom SOTA", - "description": "Bewertung, wie gut das eigene Vorgehen vom Forschungsstand abgegrenzt wird", + ], "function": "auto_grading", - "maxPoints": 1, + "maxPoints": 2, "minPoints": 0, - "expertLevel": 1, "subjective": true, + "description": "Bewertung der Identifikation und Erklärung der Schwächen des Forschungsstands", + "expertLevel": 1 + }, + { + "name": "Abgrenzung vom SOTA", "scoring": [ { "points": 0, @@ -401,16 +389,16 @@ "points": 1, "description": "Die eigene Leistung wird klar vom Forschungsstand abgegrenzt; der neue oder besondere Beitrag wird deutlich" } - ] - }, - { - "name": "Kombination von SOTA", - "description": "Bewertung der sinnvollen Kombination und Zusammenführung bestehender Literatur", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Bewertung, wie gut das eigene Vorgehen vom Forschungsstand abgegrenzt wird", + "expertLevel": 1 + }, + { + "name": "Kombination von SOTA", "scoring": [ { "points": 0, @@ -420,16 +408,16 @@ "points": 1, "description": "Bestehendes Material wird klar und sinnvoll kombiniert; der Mehrwert der Kombination ist erkennbar" } - ] - }, - { - "name": "Theoretischer Rahmen", - "description": "Bewertung der Struktur und Klarheit des theoretischen Rahmens", + ], "function": "auto_grading", - "maxPoints": 2, + "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, + "description": "Bewertung der sinnvollen Kombination und Zusammenführung bestehender Literatur", + "expertLevel": 2 + }, + { + "name": "Theoretischer Rahmen", "scoring": [ { "points": 0, @@ -443,16 +431,16 @@ "points": 2, "description": "Der theoretische Rahmen ist klar und logisch strukturiert; die theoretischen Ansätze werden verständlich dargestellt" } - ] - }, - { - "name": "Relevanz des theoretischen Rahmens", - "description": "Bewertung der Verbindung zwischen Theorie und Forschungsthema", + ], "function": "auto_grading", - "maxPoints": 1, + "maxPoints": 2, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Bewertung der Struktur und Klarheit des theoretischen Rahmens", + "expertLevel": 1 + }, + { + "name": "Relevanz des theoretischen Rahmens", "scoring": [ { "points": 0, @@ -462,16 +450,16 @@ "points": 1, "description": "Der theoretische Rahmen zeigt klar die Verbindung zum Forschungsthema und unterstützt die Forschungsfrage" } - ] - }, - { - "name": "Methodenverfügbarkeit", - "description": "Bewertung der Existenz einer geeigneten Methodik", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, + "description": "Bewertung der Verbindung zwischen Theorie und Forschungsthema", + "expertLevel": 2 + }, + { + "name": "Methodenverfügbarkeit", "scoring": [ { "points": 0, @@ -481,26 +469,26 @@ "points": 1, "description": "Methodik vorhanden und geeignet, die Forschungsfrage(n) zu beantworten" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Bewertung der Existenz einer geeigneten Methodik", + "expertLevel": 1 } - ] + ], + "maxPoints": 11, + "minPoints": 0, + "calculation": "sum", + "description": "Bewertung der Analyse des Forschungsstands und des theoretischen Rahmens" }, { - "name": "Methodik", "code": "methodology", - "maxPoints": 5, - "minPoints": 0, - "calculation": "min", - "description": "Bewertung der Methodik", + "name": "Methodik", "criteria": [ { "name": "Vollständigkeit der Methodik", - "description": "Bewertung, ob die Methodik alle Forschungsfragen abdeckt", - "function": "auto_grading", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 1, - "subjective": false, "scoring": [ { "points": 0, @@ -510,16 +498,16 @@ "points": 1, "description": "Methodik vorhanden und deckt alle Forschungsfragen ab" } - ] - }, - { - "name": "Relevanz der Methodik", - "description": "Bewertung der Relevanz und des Beitrags der Methodik zum Forschungsprojekt", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, - "subjective": true, + "subjective": false, + "description": "Bewertung, ob die Methodik alle Forschungsfragen abdeckt", + "expertLevel": 1 + }, + { + "name": "Relevanz der Methodik", "scoring": [ { "points": 0, @@ -529,16 +517,16 @@ "points": 1, "description": "Es wird klar gezeigt, wie die Methodik zum Projekt beiträgt und die Forschungsfragen unterstützt" } - ] - }, - { - "name": "Zielgruppe der Methodik", - "description": "Bewertung der Spezifikation der Zielgruppe und ihrer Relevanz", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, + "description": "Bewertung der Relevanz und des Beitrags der Methodik zum Forschungsprojekt", + "expertLevel": 1 + }, + { + "name": "Zielgruppe der Methodik", "scoring": [ { "points": 0, @@ -548,16 +536,16 @@ "points": 1, "description": "Zielgruppe klar definiert und ihre Relevanz für die Methodik ist erkennbar" } - ] - }, - { - "name": "Einbindung vorhandenen Materials", - "description": "Bewertung des angemessenen Bezugs auf vorhandenes Material", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": true, + "description": "Bewertung der Spezifikation der Zielgruppe und ihrer Relevanz", + "expertLevel": 1 + }, + { + "name": "Einbindung vorhandenen Materials", "scoring": [ { "points": 0, @@ -567,16 +555,16 @@ "points": 1, "description": "Vorhandenes Material wird angemessen und passend einbezogen" } - ] - }, - { - "name": "Methodische Schwierigkeiten", - "description": "Bewertung der Identifikation möglicher Umsetzungsschwierigkeiten und entsprechender Lösungen", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Bewertung des angemessenen Bezugs auf vorhandenes Material", + "expertLevel": 1 + }, + { + "name": "Methodische Schwierigkeiten", "scoring": [ { "points": 0, @@ -586,16 +574,16 @@ "points": 1, "description": "Mögliche Schwierigkeiten werden klar beschrieben und es werden konkrete Lösungsansätze genannt" } - ] - }, - { - "name": "Methodische Möglichkeiten/Einschränkungen", - "description": "Bewertung der Reflexion über Stärken und Schwächen der Methodik", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Bewertung der Identifikation möglicher Umsetzungsschwierigkeiten und entsprechender Lösungen", + "expertLevel": 2 + }, + { + "name": "Methodische Möglichkeiten/Einschränkungen", "scoring": [ { "points": 0, @@ -605,16 +593,16 @@ "points": 1, "description": "Möglichkeiten und Einschränkungen werden klar beschrieben; Reflexion ist nachvollziehbar" } - ] - }, - { - "name": "Methodische Details", - "description": "Bewertung zusätzlicher Erklärungen und Details zur Umsetzung", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Bewertung der Reflexion über Stärken und Schwächen der Methodik", + "expertLevel": 2 + }, + { + "name": "Methodische Details", "scoring": [ { "points": 0, @@ -624,26 +612,26 @@ "points": 1, "description": "Methodik wird umfassend und präzise erklärt, inklusive Umsetzungsdetails" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Bewertung zusätzlicher Erklärungen und Details zur Umsetzung", + "expertLevel": 2 } - ] + ], + "maxPoints": 5, + "minPoints": 0, + "calculation": "min", + "description": "Bewertung der Methodik" }, { - "name": "Zeitplan", "code": "schedule", - "maxPoints": 5, - "minPoints": 0, - "calculation": "sum", - "description": "Bewertung der Struktur, Vollständigkeit und Realisierbarkeit des Projektzeitplans", + "name": "Zeitplan", "criteria": [ { "name": "Zeitplan vorhanden", - "description": "Bewertung der Existenz eines tabellarischen und chronologischen Zeitplans", - "function": "auto_grading", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 0, - "subjective": false, "scoring": [ { "points": 0, @@ -653,16 +641,16 @@ "points": 1, "description": "Tabellarischer, chronologischer Zeitplan vorhanden" } - ] - }, - { - "name": "Vollständigkeit des Zeitplans", - "description": "Bewertung der Abdeckung und sinnvollen Einteilung des Zeitplans", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 1, "subjective": false, + "description": "Bewertung der Existenz eines tabellarischen und chronologischen Zeitplans", + "expertLevel": 0 + }, + { + "name": "Vollständigkeit des Zeitplans", "scoring": [ { "points": 0, @@ -672,16 +660,16 @@ "points": 1, "description": "Zeitplan deckt den gesamten Zeitraum ab und ist sinnvoll in Arbeitsschritte gegliedert" } - ] - }, - { - "name": "Beschreibung der Zeitblöcke", - "description": "Bewertung der Detailliertheit der einzelnen Zeitblöcke", + ], "function": "auto_grading", "maxPoints": 1, "minPoints": 0, - "expertLevel": 0, "subjective": false, + "description": "Bewertung der Abdeckung und sinnvollen Einteilung des Zeitplans", + "expertLevel": 1 + }, + { + "name": "Beschreibung der Zeitblöcke", "scoring": [ { "points": 0, @@ -691,16 +679,16 @@ "points": 1, "description": "Einzelne Blöcke sind beschrieben (mehr als nur Überschriften)" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": false, + "description": "Bewertung der Detailliertheit der einzelnen Zeitblöcke", + "expertLevel": 0 }, { "name": "Realistische Relevanz des Zeitplans", - "description": "Bewertung der Realisierbarkeit und Passung zum BA-Kontext", - "function": "auto_grading", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -714,25 +702,26 @@ "points": 2, "description": "Zeitplan ist klar strukturiert, realistisch und passend für den Umfang der Bachelorarbeit; alle wichtigen Schritte sind enthalten und sinnvoll eingeordnet" } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Bewertung der Realisierbarkeit und Passung zum BA-Kontext", + "expertLevel": 1 } - ] + ], + "maxPoints": 5, + "minPoints": 0, + "calculation": "sum", + "description": "Bewertung der Struktur, Vollständigkeit und Realisierbarkeit des Projektzeitplans" }, { - "name": "Literaturverzeichnis", "code": "bibliography", - "maxPoints": 3, - "minPoints": 0, - "description": "Bewertung der Konsistenz des Literaturverzeichnisses und der Relevanz der Literatur", + "name": "Literaturverzeichnis", "criteria": [ { "name": "Konsistenz der Literaturangaben", - "description": "Bewertung der Einheitlichkeit des Zitierstils und der Vollständigkeit bibliographischer Angaben", - "function": "auto_grading", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 0, - "subjective": false, "scoring": [ { "points": 0, @@ -742,16 +731,16 @@ "points": 1, "description": "Literaturverzeichnis ist einheitlich (konsistenter Zitierstil) und enthält im Wesentlichen alle bibliographischen Angaben" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": false, + "description": "Bewertung der Einheitlichkeit des Zitierstils und der Vollständigkeit bibliographischer Angaben", + "expertLevel": 0 }, { "name": "Schlüsselliteratur", - "description": "Bewertung der Relevanz und Qualität der Literatur für das Forschungsthema", - "function": "auto_grading", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 2, - "subjective": true, "scoring": [ { "points": 0, @@ -765,26 +754,26 @@ "points": 2, "description": "Literatur passt zum Thema und ist überwiegend hochrelevant" } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Bewertung der Relevanz und Qualität der Literatur für das Forschungsthema", + "expertLevel": 2 } - ] + ], + "maxPoints": 3, + "minPoints": 0, + "description": "Bewertung der Konsistenz des Literaturverzeichnisses und der Relevanz der Literatur" }, { - "name": "Zusatzpunkte", "code": "additional", - "maxPoints": 2, - "minPoints": -2, - "calculation": "sum", - "description": "Zusätzliche Punkte für sehr gute Arbeiten oder Abzüge bei groben Fehlern", + "name": "Zusatzpunkte", + "isBonus": true, "criteria": [ { "name": "Zusätzliche Punkte", - "description": "Zusätzliche Punkte für besonders gute Leistungen, die nicht in anderen Kriterien erwähnt sind", - "function": "manual_grading", - "maxPoints": 2, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -798,16 +787,16 @@ "points": 2, "description": "" } - ] + ], + "function": "manual_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Zusätzliche Punkte für besonders gute Leistungen, die nicht in anderen Kriterien erwähnt sind", + "expertLevel": 1 }, { "name": "Negative Punkte", - "description": "Große Fehler in der Abgabe", - "function": "manual_grading", - "maxPoints": 0, - "minPoints": -2, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -821,9 +810,21 @@ "points": -2, "description": "" } - ] + ], + "function": "manual_grading", + "maxPoints": 0, + "minPoints": -2, + "subjective": true, + "description": "Große Fehler in der Abgabe", + "expertLevel": 1 } - ] + ], + "maxPoints": 2, + "minPoints": -2, + "calculation": "sum", + "description": "Zusätzliche Punkte für sehr gute Arbeiten oder Abzüge bei groben Fehlern" } - ] -} + ], + "version": "1.0.0", + "description": "Exposé-Kriterien nach Rubriken inklusive Berechnung" +} \ No newline at end of file diff --git a/backend/db/migrations/20250919125851-basic-configuration-expose_feedback.json b/backend/db/migrations/20250919125851-basic-configuration-expose_feedback.json index bb2435582..1b3b75e71 100644 --- a/backend/db/migrations/20250919125851-basic-configuration-expose_feedback.json +++ b/backend/db/migrations/20250919125851-basic-configuration-expose_feedback.json @@ -1,25 +1,13 @@ { "name": "Exposé feedback configuration", - "description": "Review Criteria by rubrics including calculation", - "version": "1.0.0", "type": "assessment", "rubrics": [ { - "name": "Structure and Clarity", "code": "structure", - "description": "Assessment of overall structure and clarity", - "calculation": "sum", - "minPoints": 0, - "maxPoints": 4, + "name": "Structure and Clarity", "criteria": [ { "name": "Summary available", - "description": "Concise summary that reflects understanding of the performance", - "function": "auto_grading", - "minPoints": 0, - "maxPoints": 2, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -33,16 +21,16 @@ "points": 2, "description": "Concise and accurate summary that clearly reflects understanding of performance and builds confidence in feedback" } - ] - }, - { - "name": "Clarity", - "description": "Clarity with regard to the overall structure", + ], "function": "auto_grading", "maxPoints": 2, "minPoints": 0, - "expertLevel": 2, "subjective": true, + "description": "Concise summary that reflects understanding of the performance", + "expertLevel": 1 + }, + { + "name": "Clarity", "scoring": [ { "points": 0, @@ -56,26 +44,26 @@ "points": 2, "description": "Feedback is clear, well-structured and easy to understand, with coherent comments and precise references to specific points in the text" } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Clarity with regard to the overall structure", + "expertLevel": 2 } - ] + ], + "maxPoints": 4, + "minPoints": 0, + "calculation": "sum", + "description": "Assessment of overall structure and clarity" }, { - "name": "Language", "code": "language", - "description": "Assessment of language quality and tone", - "calculation": "sum", - "minPoints": 0, - "maxPoints": 3, + "name": "Language", "criteria": [ { "name": "Language", - "description": "Accuracy and correctness of language used", - "function": "auto_grading", - "minPoints": 0, - "maxPoints": 1, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -85,16 +73,16 @@ "points": 1, "description": "Almost no linguistic errors, clear and comprehensible sentences with standardised terminology" } - ] - }, - { - "name": "Tone", - "description": "Evaluates the respectfulness, clarity, and constructiveness of feedback", + ], "function": "auto_grading", + "maxPoints": 1, "minPoints": 0, - "maxPoints": 2, - "expertLevel": 1, "subjective": true, + "description": "Accuracy and correctness of language used", + "expertLevel": 1 + }, + { + "name": "Tone", "scoring": [ { "points": 0, @@ -108,26 +96,26 @@ "points": 2, "description": "The tone is consistently calm, respectful and polite; criticism is constructive, factual and only directed at the text, not the person" } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Evaluates the respectfulness, clarity, and constructiveness of feedback", + "expertLevel": 1 } - ] + ], + "maxPoints": 3, + "minPoints": 0, + "calculation": "sum", + "description": "Assessment of language quality and tone" }, { - "name": "Feed Up", "code": "feed_up", - "description": "Assessment of learning goals and success criteria", - "calculation": "sum", - "minPoints": 0, - "maxPoints": 4, + "name": "Feed Up", "criteria": [ { "name": "Learning Goals", - "description": "Measures the clarity, specificity, and guidance of learning objectives.", - "function": "auto_grading", - "minPoints": 0, - "maxPoints": 2, - "expertLevel": 2, - "subjective": true, "scoring": [ { "points": 0, @@ -141,16 +129,16 @@ "points": 2, "description": "Clear learning objectives, specific, challenging, comparable and provide clear direction" } - ] - }, - { - "name": "Success Criteria", - "description": "Measures the clarity and specificity of success criteria for achieving learning goals.", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 1, + "minPoints": 0, "subjective": true, + "description": "Measures the clarity, specificity, and guidance of learning objectives.", + "expertLevel": 2 + }, + { + "name": "Success Criteria", "scoring": [ { "points": 0, @@ -164,26 +152,26 @@ "points": 2, "description": "Clear success criteria, concrete, measurable goals and clear definition of success" } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Measures the clarity and specificity of success criteria for achieving learning goals.", + "expertLevel": 1 } - ] + ], + "maxPoints": 4, + "minPoints": 0, + "calculation": "sum", + "description": "Assessment of learning goals and success criteria" }, { - "name": "Feed Back", "code": "feed_back", - "description": "Assessment of feedback quality and knowledge transfer", - "calculation": "min", - "minPoints": 0, - "maxPoints": 4, + "name": "Feed Back", "criteria": [ { "name": "Knowledge of result", - "description": "Information on whether the task has been solved or not", - "function": "auto_grading", - "minPoints": 0, - "maxPoints": 1, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -193,16 +181,16 @@ "points": 1, "description": "Information given as to whether the task has been solved or not" } - ] - }, - { - "name": "Knowledge of correct response", - "description": "Information on the correct answer or solution", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 2, + "minPoints": 0, "subjective": true, + "description": "Information on whether the task has been solved or not", + "expertLevel": 1 + }, + { + "name": "Knowledge of correct response", "scoring": [ { "points": 0, @@ -212,16 +200,16 @@ "points": 1, "description": "Correct answer is clearly communicated" } - ] - }, - { - "name": "Knowledge about task constraints", - "description": "Information on rules, requirements or restrictions of the task", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, + "description": "Information on the correct answer or solution", + "expertLevel": 2 + }, + { + "name": "Knowledge about task constraints", "scoring": [ { "points": 0, @@ -231,16 +219,16 @@ "points": 1, "description": "Clear information on rules, requirements or restrictions of the task (e.g. specifications)" } - ] - }, - { - "name": "Knowledge about concepts", - "description": "Information on relevant concepts, principles or relationships", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, + "description": "Information on rules, requirements or restrictions of the task", + "expertLevel": 1 + }, + { + "name": "Knowledge about concepts", "scoring": [ { "points": 0, @@ -250,16 +238,16 @@ "points": 1, "description": "Basic information on relevant concepts is provided" } - ] - }, - { - "name": "Knowledge about mistakes", - "description": "Information on the number, location, source or type of errors", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, + "description": "Information on relevant concepts, principles or relationships", + "expertLevel": 1 + }, + { + "name": "Knowledge about mistakes", "scoring": [ { "points": 0, @@ -269,16 +257,16 @@ "points": 1, "description": "Information on the number, location, source or type of errors" } - ] - }, - { - "name": "Self-feedback", - "description": "Self Feedback (e.g. praise or recognition) not available or only in combination with learning strategies or self-regulation", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, + "description": "Information on the number, location, source or type of errors", + "expertLevel": 1 + }, + { + "name": "Self-feedback", "scoring": [ { "points": 0, @@ -288,26 +276,26 @@ "points": 1, "description": "No self-feedback is available or, if available, in combination with task, process or self-regulation" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Self Feedback (e.g. praise or recognition) not available or only in combination with learning strategies or self-regulation", + "expertLevel": 1 } - ] + ], + "maxPoints": 4, + "minPoints": 0, + "calculation": "min", + "description": "Assessment of feedback quality and knowledge transfer" }, { - "name": "Feed Forward", "code": "feed_forward", - "description": "Assessment of future learning guidance", - "calculation": "sum", - "minPoints": 0, - "maxPoints": 2, + "name": "Feed Forward", "criteria": [ { "name": "Self-regulation", - "description": "Knowledge about how to process the task or about self regulation", - "function": "auto_grading", - "minPoints": 0, - "maxPoints": 1, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -317,16 +305,16 @@ "points": 1, "description": "Either indications of strategies for working on the task and recognising errors (e.g. suggestions for improvement, targeted search for information) or approaches to self-monitoring and self-assessment (e.g. reflection on own understanding, strategies or willingness to seek help)" } - ] - }, - { - "name": "Learning Skills", - "description": "Information on how to develop or improve learning skills", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, + "description": "Knowledge about how to process the task or about self regulation", + "expertLevel": 1 + }, + { + "name": "Learning Skills", "scoring": [ { "points": 0, @@ -336,26 +324,26 @@ "points": 1, "description": "Information on how to improve the learning objective and how to deal with challenges" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Information on how to develop or improve learning skills", + "expertLevel": 1 } - ] + ], + "maxPoints": 2, + "minPoints": 0, + "calculation": "sum", + "description": "Assessment of future learning guidance" }, { - "name": "Content Quality", "code": "content_quality", - "description": "Assessment of content accuracy and usefulness", - "calculation": "sum", - "minPoints": 0, - "maxPoints": 6, + "name": "Content Quality", "criteria": [ { "name": "Correctness", - "description": "Evaluates the accuracy and correctness of the feedback content", - "function": "auto_grading", - "minPoints": 0, - "maxPoints": 2, - "expertLevel": 2, - "subjective": true, "scoring": [ { "points": 0, @@ -369,16 +357,16 @@ "points": 2, "description": "The content is completely correct" } - ] - }, - { - "name": "Actionability", - "description": "Assesses whether the feedback provides clear and specific instructions for improvement", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 1, + "minPoints": 0, "subjective": true, + "description": "Evaluates the accuracy and correctness of the feedback content", + "expertLevel": 2 + }, + { + "name": "Actionability", "scoring": [ { "points": 0, @@ -392,16 +380,16 @@ "points": 2, "description": "Clear, specific feedback with actionable instructions, e.g. comparisons with existing methods, application to other tasks, definitions, explanations, discussions, additional analyses or specific suggestions to remove confusion" } - ] - }, - { - "name": "Argumentation", - "description": "Evaluates the quality of argumentation and evidence provided in the feedback", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 1, + "minPoints": 0, "subjective": true, + "description": "Assesses whether the feedback provides clear and specific instructions for improvement", + "expertLevel": 1 + }, + { + "name": "Argumentation", "scoring": [ { "points": 0, @@ -411,27 +399,26 @@ "points": 1, "description": "Statements are supported by comprehensible evidence, examples or explanations. The argumentation shows a clear link between evidence and conclusions, which strengthens the quality of the content." } - ] + ], + "function": "auto_grading", + "maxPoints": 2, + "minPoints": 0, + "subjective": true, + "description": "Evaluates the quality of argumentation and evidence provided in the feedback", + "expertLevel": 1 } - ] + ], + "maxPoints": 5, + "minPoints": 0, + "calculation": "sum", + "description": "Assessment of content accuracy and usefulness" }, { - "name": "Errors", "code": "errors", - "description": "Assessment of potential errors and issues in feedback", - "calculation": "max", - "defaultPoints": 4, - "minPoints": 0, - "maxPoints": 4, + "name": "Errors", "criteria": [ { "name": "Neglect", - "description": "Assesses whether important details have been overlooked", - "function": "auto_grading", - "minPoints": -1, - "maxPoints": 0, - "expertLevel": 2, - "subjective": true, "scoring": [ { "points": 0, @@ -441,16 +428,16 @@ "points": -1, "description": "Important details have been overlooked, leading to unnecessary questions or criticism" } - ] - }, - { - "name": "Vague Critic", - "description": "Assesses the specificity and clarity of criticism provided", + ], "function": "auto_grading", - "minPoints": -1, "maxPoints": 0, - "expertLevel": 1, + "minPoints": -1, "subjective": true, + "description": "Assesses whether important details have been overlooked", + "expertLevel": 2 + }, + { + "name": "Vague Critic", "scoring": [ { "points": 0, @@ -460,16 +447,16 @@ "points": -1, "description": "Unspecific criticism, mentions missing components without clearly stating what is missing" } - ] - }, - { - "name": "Out-of-Scope", - "description": "Assesses whether suggestions remain within the intended scope", + ], "function": "auto_grading", - "minPoints": -1, "maxPoints": 0, - "expertLevel": 1, + "minPoints": -1, "subjective": true, + "description": "Assesses the specificity and clarity of criticism provided", + "expertLevel": 1 + }, + { + "name": "Out-of-Scope", "scoring": [ { "points": 0, @@ -479,16 +466,16 @@ "points": -1, "description": "Suggestions refer to methods or analyses that go beyond the intended scope" } - ] - }, - { - "name": "Missing Reference", - "description": "Assesses whether suggestions are supported by justification or references", + ], "function": "auto_grading", - "minPoints": -1, "maxPoints": 0, - "expertLevel": 1, + "minPoints": -1, "subjective": true, + "description": "Assesses whether suggestions remain within the intended scope", + "expertLevel": 1 + }, + { + "name": "Missing Reference", "scoring": [ { "points": 0, @@ -498,16 +485,16 @@ "points": -1, "description": "Alternative methods, etc. (if available) are suggested without justification or references" } - ] - }, - { - "name": "Contradiction", - "description": "Assesses whether the feedback is consistent and free of contradictions", + ], "function": "auto_grading", - "minPoints": -1, "maxPoints": 0, - "expertLevel": 1, + "minPoints": -1, "subjective": true, + "description": "Assesses whether suggestions are supported by justification or references", + "expertLevel": 1 + }, + { + "name": "Contradiction", "scoring": [ { "points": 0, @@ -517,27 +504,28 @@ "points": -1, "description": "Contradictory feedback, e.g. criticism and praise for the same methods" } - ] + ], + "function": "auto_grading", + "maxPoints": 0, + "minPoints": -1, + "subjective": true, + "description": "Assesses whether the feedback is consistent and free of contradictions", + "expertLevel": 1 } - ] + ], + "maxPoints": 4, + "minPoints": 0, + "calculation": "max", + "description": "Assessment of potential errors and issues in feedback", + "defaultPoints": 4 }, { - "name": "Additional points", "code": "additional", - "maxPoints": 1, - "minPoints": -1, - "calculation": "sum", + "name": "Additional points", "isBonus": true, - "description": "Allow additional points for very good reviews or deduct points for major mistakes", "criteria": [ { "name": "Additional points", - "description": "Additional points for very good reviews", - "function": "auto_grading", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -547,16 +535,16 @@ "points": 1, "description": "" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Additional points for very good reviews", + "expertLevel": 1 }, { "name": "Negative points", - "description": "Major mistakes in the reviews", - "function": "auto_grading", - "maxPoints": 0, - "minPoints": -1, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -566,9 +554,21 @@ "points": -1, "description": "" } - ] + ], + "function": "auto_grading", + "maxPoints": 0, + "minPoints": -1, + "subjective": true, + "description": "Major mistakes in the reviews", + "expertLevel": 1 } - ] + ], + "maxPoints": 1, + "minPoints": -1, + "calculation": "sum", + "description": "Allow additional points for very good reviews or deduct points for major mistakes" } - ] + ], + "version": "1.0.0", + "description": "Review Criteria by rubrics including calculation" } \ No newline at end of file diff --git a/backend/db/migrations/20250919125851-basic-configuration-expose_feedback_german.json b/backend/db/migrations/20250919125851-basic-configuration-expose_feedback_german.json index 01edca87d..7b6cca88e 100644 --- a/backend/db/migrations/20250919125851-basic-configuration-expose_feedback_german.json +++ b/backend/db/migrations/20250919125851-basic-configuration-expose_feedback_german.json @@ -1,164 +1,215 @@ { "name": "Exposé feedback configuration (German)", - "description": "Bewertungskriterien für Feedbackqualität", - "version": "1.0.0", "type": "assessment", "rubrics": [ { - "name": "Form und sprachliche Qualität", "code": "structure", - "description": "Form, Struktur, Sprache und Ton des Feedbacks", - "calculation": "sum", - "minPoints": 0, - "maxPoints": 4, + "name": "Form und sprachliche Qualität", "criteria": [ { "name": "Zusammenfassung vorhanden", - "description": "Die prägnante Darstellung spiegelt ein Verständnis der Leistung wider.", + "scoring": [ + { + "points": 0, + "description": "Keine Zusammenfassung vorhanden oder spiegelt das Verständnis nicht wider" + }, + { + "points": 1, + "description": "Einfache Zusammenfassung, zeigt grundlegendes Verständnis" + }, + { + "points": 2, + "description": "Prägnante und genaue Zusammenfassung, reflektiert das Verständnis klar und schafft Vertrauen" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 1, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "Keine Zusammenfassung vorhanden oder spiegelt das Verständnis nicht wider" }, - { "points": 1, "description": "Einfache Zusammenfassung, zeigt grundlegendes Verständnis" }, - { "points": 2, "description": "Prägnante und genaue Zusammenfassung, reflektiert das Verständnis klar und schafft Vertrauen" } - ] + "description": "Die prägnante Darstellung spiegelt ein Verständnis der Leistung wider.", + "expertLevel": 1 }, { "name": "Klarheit (Clarity) bezogen auf die Gesamtstruktur", - "description": "Klarheit in Bezug auf die Gesamtstruktur.", + "scoring": [ + { + "points": 0, + "description": "Das Feedback braucht erhebliche Verbesserungen in Klarheit und Verständlichkeit, Kommentare sind unzusammenhängend oder schwer nachvollziehbar" + }, + { + "points": 1, + "description": "Das Feedback ist weitgehend klar, aber teils fehlen konkrete Verweise auf bestimmte Zeilen, Seiten, Abschnitte oder Abbildungen/Tabellen" + }, + { + "points": 2, + "description": "Das Feedback ist klar, gut strukturiert und leicht verständlich, mit kohärenten Kommentaren und präzisen Verweisen auf spezifische Stellen im Text" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 2, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "Das Feedback braucht erhebliche Verbesserungen in Klarheit und Verständlichkeit, Kommentare sind unzusammenhängend oder schwer nachvollziehbar" }, - { "points": 1, "description": "Das Feedback ist weitgehend klar, aber teils fehlen konkrete Verweise auf bestimmte Zeilen, Seiten, Abschnitte oder Abbildungen/Tabellen" }, - { "points": 2, "description": "Das Feedback ist klar, gut strukturiert und leicht verständlich, mit kohärenten Kommentaren und präzisen Verweisen auf spezifische Stellen im Text" } - ] + "description": "Klarheit in Bezug auf die Gesamtstruktur.", + "expertLevel": 2 } - ] + ], + "maxPoints": 4, + "minPoints": 0, + "calculation": "sum", + "description": "Form, Struktur, Sprache und Ton des Feedbacks" }, { - "name": "Sprache", "code": "language", - "description": "Bewertung der Sprachqualität und des Tons.", - "calculation": "sum", - "minPoints": 0, - "maxPoints": 3, + "name": "Sprache", "criteria": [ { "name": "Sprache", - "description": "Accuracy and correctness of language used", + "scoring": [ + { + "points": 0, + "description": "Viele sprachliche Fehler (z. B. falsches Tempus, falsche Personalpronomen)" + }, + { + "points": 1, + "description": "Kaum sprachliche Fehler, klare Sätze mit einheitlicher Terminologie" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "Viele sprachliche Fehler (z. B. falsches Tempus, falsche Personalpronomen)" }, - { "points": 1, "description": "Kaum sprachliche Fehler, klare Sätze mit einheitlicher Terminologie" } - ] + "description": "Accuracy and correctness of language used", + "expertLevel": 1 }, { "name": "Ton", - "description": "Bewertet die Respekt, die Klarheit und die Konstruktivität des Feedbacks.", + "scoring": [ + { + "points": 0, + "description": "Der Ton ist unangemessen, klingt wertend oder vorwurfsvoll, Kritik wirkt destruktiv oder persönlich" + }, + { + "points": 1, + "description": "Der Ton ist insgesamt respektvoll, vermeidet persönliche Angriffe, bleibt aber stellenweise unklar oder weniger freundlich formuliert" + }, + { + "points": 2, + "description": "Der Ton ist durchgehend ruhig, respektvoll und höflich; Kritik ist konstruktiv, sachlich und richtet sich nur auf den Text, nicht auf die Person" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 1, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "Der Ton ist unangemessen, klingt wertend oder vorwurfsvoll, Kritik wirkt destruktiv oder persönlich" }, - { "points": 1, "description": "Der Ton ist insgesamt respektvoll, vermeidet persönliche Angriffe, bleibt aber stellenweise unklar oder weniger freundlich formuliert" }, - { "points": 2, "description": "Der Ton ist durchgehend ruhig, respektvoll und höflich; Kritik ist konstruktiv, sachlich und richtet sich nur auf den Text, nicht auf die Person" } - ] + "description": "Bewertet die Respekt, die Klarheit und die Konstruktivität des Feedbacks.", + "expertLevel": 1 } - ] + ], + "maxPoints": 3, + "minPoints": 0, + "calculation": "sum", + "description": "Bewertung der Sprachqualität und des Tons." }, { - "name": "Feed Up (Where am I going?)", "code": "feed_up", - "description": "Informationen über Lernziele und Erfolgskriterien", - "calculation": "sum", - "minPoints": 0, - "maxPoints": 4, + "name": "Feed Up (Where am I going?)", "criteria": [ { "name": "Lernziele (Learning Goals)", - "description": "Misst die Klarheit, die Spezifität und die Anleitung der Lernziele.", + "scoring": [ + { + "points": 0, + "description": "keine Lernziele, unklar was erreicht werden soll, keine Orientierung" + }, + { + "points": 1, + "description": "teils unklare Lernziele, allgemein formuliert, bieten nur begrenzte Orientierung" + }, + { + "points": 2, + "description": "klare Lernziele, spezifisch, herausfordernd, vergleichbar und geben klare Richtung" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 2, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "keine Lernziele, unklar was erreicht werden soll, keine Orientierung" }, - { "points": 1, "description": "teils unklare Lernziele, allgemein formuliert, bieten nur begrenzte Orientierung" }, - { "points": 2, "description": "klare Lernziele, spezifisch, herausfordernd, vergleichbar und geben klare Richtung" } - ] + "description": "Misst die Klarheit, die Spezifität und die Anleitung der Lernziele.", + "expertLevel": 2 }, { "name": "Erfolgskriterien (Success Criteria)", - "description": "Misst die Klarheit und Spezifität der Erfolgskriterien für das Erreichen von Lernzielen.", + "scoring": [ + { + "points": 0, + "description": "keine Erfolgskriterien, Erfolg unklar oder vage formuliert, Ziele nicht definiert" + }, + { + "points": 1, + "description": "teils unklare Erfolgskriterien, vorhanden aber unpräzise oder allgemein, Orientierung fehlt teilweise" + }, + { + "points": 2, + "description": "klare Erfolgskriterien, konkrete, messbare Ziele und klare Definition von Erfolg" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 1, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "keine Erfolgskriterien, Erfolg unklar oder vage formuliert, Ziele nicht definiert" }, - { "points": 1, "description": "teils unklare Erfolgskriterien, vorhanden aber unpräzise oder allgemein, Orientierung fehlt teilweise" }, - { "points": 2, "description": "klare Erfolgskriterien, konkrete, messbare Ziele und klare Definition von Erfolg" } - ] + "description": "Misst die Klarheit und Spezifität der Erfolgskriterien für das Erreichen von Lernzielen.", + "expertLevel": 1 } - ] + ], + "maxPoints": 4, + "minPoints": 0, + "calculation": "sum", + "description": "Informationen über Lernziele und Erfolgskriterien" }, { - "name": "Feed Back (How am I going?)", "code": "feed_back", - "description": "Informationen zum aktuellen Leistungsstand", - "calculation": "min", - "minPoints": 0, - "maxPoints": 4, + "name": "Feed Back (How am I going?)", "criteria": [ { "name": "Knowledge of result (vorhanden / nicht vorhanden)", - "description": "Informationen darüber, ob die Aufgabe gelöst wurde oder nicht.", + "scoring": [ + { + "points": 0, + "description": "keine Information, ob die Aufgabe gelöst wurde oder nicht" + }, + { + "points": 1, + "description": "Information gegeben, ob die Aufgabe gelöst wurde oder nicht" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "keine Information, ob die Aufgabe gelöst wurde oder nicht" }, - { "points": 1, "description": "Information gegeben, ob die Aufgabe gelöst wurde oder nicht" } - ] + "description": "Informationen darüber, ob die Aufgabe gelöst wurde oder nicht.", + "expertLevel": 1 }, { "name": "Knowledge of correct response", - "description": "Informationen zur richtigen Antwort oder Lösung", + "scoring": [ + { + "points": 0, + "description": "Keine Information zur richtigen Antwort" + }, + { + "points": 1, + "description": "richtige Antwort wird klar mitgeteilt" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 2, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "Keine Information zur richtigen Antwort" }, - { "points": 1, "description": "richtige Antwort wird klar mitgeteilt" } - ] + "description": "Informationen zur richtigen Antwort oder Lösung", + "expertLevel": 2 }, { "name": "Knowledge about task constraints", - "description": "Informationen zu Regeln, Anforderungen oder Einschränkungen der Aufgabe.", - "function": "auto_grading", - "minPoints": 0, - "maxPoints": 1, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -168,16 +219,16 @@ "points": 1, "description": "klare Hinweise zu Regeln, Anforderungen oder Einschränkungen der Aufgabe (z.B. Vorgaben)" } - ] - }, - { - "name": "Knowledge about concepts", - "description": "Informationen zu relevanten Konzepten, Prinzipien oder Zusammenhängen.", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, + "description": "Informationen zu Regeln, Anforderungen oder Einschränkungen der Aufgabe.", + "expertLevel": 1 + }, + { + "name": "Knowledge about concepts", "scoring": [ { "points": 0, @@ -187,16 +238,16 @@ "points": 1, "description": "grundlegende Informationen zu relevanten Konzepten werden bereitgestellt" } - ] - }, - { - "name": "Knowledge about mistakes", - "description": "Informationen zur Anzahl, Position, Quelle oder Art der Fehler.", + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, + "description": "Informationen zu relevanten Konzepten, Prinzipien oder Zusammenhängen.", + "expertLevel": 1 + }, + { + "name": "Knowledge about mistakes", "scoring": [ { "points": 0, @@ -206,202 +257,275 @@ "points": 1, "description": "Informationen über die Anzahl, den Ort, die Quelle oder den Typ der Fehler" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Informationen zur Anzahl, Position, Quelle oder Art der Fehler.", + "expertLevel": 1 }, { "name": "Self Feedback", - "description": "Selbst-Feedback (z. B. Lob oder Anerkennung) ist nicht verfügbar oder nur in Kombination mit Lernstrategien oder Selbstregulation.", + "scoring": [ + { + "points": 0, + "description": "Es ist Self-Feedback vorhanden, welches nicht mit Task, Process oder Self Regulation kombiniert wurde " + }, + { + "points": 1, + "description": "Es ist kein Self-Feedback vorhanden oder falls vorhanden in Kombination mit Task, Process oder Self Regulation" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "Es ist Self-Feedback vorhanden, welches nicht mit Task, Process oder Self Regulation kombiniert wurde " }, - { "points": 1, "description": "Es ist kein Self-Feedback vorhanden oder falls vorhanden in Kombination mit Task, Process oder Self Regulation" } - ] + "description": "Selbst-Feedback (z. B. Lob oder Anerkennung) ist nicht verfügbar oder nur in Kombination mit Lernstrategien oder Selbstregulation.", + "expertLevel": 1 } - ] + ], + "maxPoints": 4, + "minPoints": 0, + "calculation": "min", + "description": "Informationen zum aktuellen Leistungsstand" }, { - "name": "Feed Forward (Where to next?)", "code": "feed_forward", - "description": "Hinweise zur Weiterarbeit und Selbstregulation", - "calculation": "sum", - "minPoints": 0, - "maxPoints": 2, + "name": "Feed Forward (Where to next?)", "criteria": [ { "name": "Knowledge about process/self regulation", - "description": "Wissen darüber, wie die Aufgabe zu bearbeiten ist, oder über die Selbstregulation.", + "scoring": [ + { + "points": 0, + "description": "Keine Hinweise darauf, wie man an die Aufgabe herangehen könnte, keine erkennbaren Ansätze zur Selbstüberwachung oder Selbstbewertung" + }, + { + "points": 1, + "description": "Entweder Hinweise auf Strategien zur Bearbeitung der Aufgabe und Fehlererkennung oder Ansätze zur Selbstüberwachung und Selbsteinschätzung" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "Keine Hinweise darauf, wie man an die Aufgabe herangehen könnte, keine erkennbaren Ansätze zur Selbstüberwachung oder Selbstbewertung" }, - { "points": 1, "description": "Entweder Hinweise auf Strategien zur Bearbeitung der Aufgabe und Fehlererkennung oder Ansätze zur Selbstüberwachung und Selbsteinschätzung" } - ] + "description": "Wissen darüber, wie die Aufgabe zu bearbeiten ist, oder über die Selbstregulation.", + "expertLevel": 1 }, { "name": "Lernkompetenz (Learning Skills)", - "description": "Informationen darüber, wie man Lernfähigkeiten entwickelt oder verbessert.", + "scoring": [ + { + "points": 0, + "description": "keine Informationen, wie Lernfähigkeiten entwickelt oder verbessert werden können" + }, + { + "points": 1, + "description": "Hinweise zur Verbesserung des Lernziels und dem Umgang mit Herausforderungen" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 1, - "expertLevel": 1, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "keine Informationen, wie Lernfähigkeiten entwickelt oder verbessert werden können" }, - { "points": 1, "description": "Hinweise zur Verbesserung des Lernziels und dem Umgang mit Herausforderungen" } - ] + "description": "Informationen darüber, wie man Lernfähigkeiten entwickelt oder verbessert.", + "expertLevel": 1 } - ] + ], + "maxPoints": 2, + "minPoints": 0, + "calculation": "sum", + "description": "Hinweise zur Weiterarbeit und Selbstregulation" }, { - "name": "Content Quality", "code": "content_quality", - "description": "Korrektheit, Umsetzbarkeit und Argumentation", - "calculation": "sum", - "minPoints": 0, - "maxPoints": 6, + "name": "Content Quality", "criteria": [ { "name": "Korrektheit", - "description": "Bewertet die Genauigkeit und Korrektheit des Feedback-Inhalts.", + "scoring": [ + { + "points": 0, + "description": "Der Inhalt weißt erhebliche Mängel bezüglich der Richtigkeit auf" + }, + { + "points": 1, + "description": "Der Inhalt ist weitesgehend richtig" + }, + { + "points": 2, + "description": "Der Inhalt ist vollständig richtig" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 2, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "Der Inhalt weißt erhebliche Mängel bezüglich der Richtigkeit auf" }, - { "points": 1, "description": "Der Inhalt ist weitesgehend richtig" }, - { "points": 2, "description": "Der Inhalt ist vollständig richtig" } - ] + "description": "Bewertet die Genauigkeit und Korrektheit des Feedback-Inhalts.", + "expertLevel": 2 }, { "name": "Umsetzbarkeit", - "description": "Beurteilt, ob das Feedback klare und spezifische Anweisungen zur Verbesserung liefert.", + "scoring": [ + { + "points": 0, + "description": "keine konkreten Handlungsanweisungen vorhanden, Feedback ist schwer umsetzbar" + }, + { + "points": 1, + "description": "einige Handlungsanweisungen vorhanden, aber nur teilweise klar oder spezifisch" + }, + { + "points": 2, + "description": "klares, spezifisches Feedback mit umsetzbaren Anweisungen, z.B. Vergleiche mit bestehenden Methoden, Anwendung auf andere Aufgaben, Definitionen, Erklärungen, Diskussionen, zusätzliche Analysen oder gezielte Vorschläge zum Entfernen von Verwirrendem" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 1, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "keine konkreten Handlungsanweisungen vorhanden, Feedback ist schwer umsetzbar" }, - { "points": 1, "description": "einige Handlungsanweisungen vorhanden, aber nur teilweise klar oder spezifisch" }, - { "points": 2, "description": "klares, spezifisches Feedback mit umsetzbaren Anweisungen, z.B. Vergleiche mit bestehenden Methoden, Anwendung auf andere Aufgaben, Definitionen, Erklärungen, Diskussionen, zusätzliche Analysen oder gezielte Vorschläge zum Entfernen von Verwirrendem" } - ] + "description": "Beurteilt, ob das Feedback klare und spezifische Anweisungen zur Verbesserung liefert.", + "expertLevel": 1 }, { "name": "Argumentation", - "description": "Bewertet die Qualität der Argumentation und der Beweise/Belege, die im Feedback geliefert werden.", + "scoring": [ + { + "points": 0, + "description": "Aussagen oder Schlussfolgerungen werden nicht durch Belege oder nachvollziehbare Erklärungen gestützt. Die Argumentation bleibt oberflächlich oder unsystematisch, wodurch der Inhalt wenig überzeugend wirkt." + }, + { + "points": 1, + "description": "Aussagen werden durch nachvollziehbare Belege, Beispiele oder Erklärungen untermauert. Die Argumentation zeigt einen klaren Bezug zwischen Belegen und Schlussfolgerungen, wodurch die inhaltliche Qualität gestärkt wird" + } + ], "function": "auto_grading", - "minPoints": 0, "maxPoints": 2, - "expertLevel": 1, + "minPoints": 0, "subjective": true, - "scoring": [ - { "points": 0, "description": "Aussagen oder Schlussfolgerungen werden nicht durch Belege oder nachvollziehbare Erklärungen gestützt. Die Argumentation bleibt oberflächlich oder unsystematisch, wodurch der Inhalt wenig überzeugend wirkt." }, - { "points": 1, "description": "Aussagen werden durch nachvollziehbare Belege, Beispiele oder Erklärungen untermauert. Die Argumentation zeigt einen klaren Bezug zwischen Belegen und Schlussfolgerungen, wodurch die inhaltliche Qualität gestärkt wird" } - ] + "description": "Bewertet die Qualität der Argumentation und der Beweise/Belege, die im Feedback geliefert werden.", + "expertLevel": 1 } - ] + ], + "maxPoints": 5, + "minPoints": 0, + "calculation": "sum", + "description": "Korrektheit, Umsetzbarkeit und Argumentation" }, { - "name": "Fehler in Feedback", "code": "errors", - "description": "Fehlerarten im Feedback (Abzüge)", - "calculation": "max", - "defaultPoints": 4, - "minPoints": 0, - "maxPoints": 4, + "name": "Fehler in Feedback", "criteria": [ { "name": "Vernachlässigung", - "description": "Beurteilt, ob wichtige Details übersehen wurden.", + "scoring": [ + { + "points": 0, + "description": "alle wichtigen Details wurden berücksichtigt und es werden keine unnötigen Fragen gestellt" + }, + { + "points": -1, + "description": "wichtige Details wurden übersehen, führt zu unnötigen Fragen oder Kritikpunkten" + } + ], "function": "auto_grading", - "minPoints": -1, "maxPoints": 0, - "expertLevel": 2, + "minPoints": -1, "subjective": true, - "scoring": [ - { "points": 0, "description": "alle wichtigen Details wurden berücksichtigt und es werden keine unnötigen Fragen gestellt" }, - { "points": -1, "description": "wichtige Details wurden übersehen, führt zu unnötigen Fragen oder Kritikpunkten" } - ] + "description": "Beurteilt, ob wichtige Details übersehen wurden.", + "expertLevel": 2 }, { "name": "Vage Kritik", - "description": "Bewertet die Spezifität und Klarheit der vorgelegten Kritik.", + "scoring": [ + { + "points": 0, + "description": "Kritik ist spezifisch und benennt klar, was fehlt oder verbessert werden kann" + }, + { + "points": -1, + "description": "unspezifische Kritik, nennt fehlende Komponenten ohne klar zu benennen, was fehlt" + } + ], "function": "auto_grading", - "minPoints": -1, "maxPoints": 0, - "expertLevel": 1, + "minPoints": -1, "subjective": true, - "scoring": [ - { "points": 0, "description": "Kritik ist spezifisch und benennt klar, was fehlt oder verbessert werden kann" }, - { "points": -1, "description": "unspezifische Kritik, nennt fehlende Komponenten ohne klar zu benennen, was fehlt" } - ] + "description": "Bewertet die Spezifität und Klarheit der vorgelegten Kritik.", + "expertLevel": 1 }, { "name": "Außerhalb des Umfangs", - "description": "Beurteilt, ob Vorschläge im vorgesehenen Rahmen bleiben.", + "scoring": [ + { + "points": 0, + "description": "Vorschläge bleiben im Rahmen der Aufgabenstellung und sind relevant" + }, + { + "points": -1, + "description": " Vorschläge beziehen sich auf Methoden oder Analysen, die über den vorgesehenen Rahmen hinausgehen" + } + ], "function": "auto_grading", - "minPoints": -1, "maxPoints": 0, - "expertLevel": 1, + "minPoints": -1, "subjective": true, - "scoring": [ - { "points": 0, "description": "Vorschläge bleiben im Rahmen der Aufgabenstellung und sind relevant" }, - { "points": -1, "description": " Vorschläge beziehen sich auf Methoden oder Analysen, die über den vorgesehenen Rahmen hinausgehen" } - ] + "description": "Beurteilt, ob Vorschläge im vorgesehenen Rahmen bleiben.", + "expertLevel": 1 }, { "name": "Fehlende Referenz", - "description": "Beurteilt, ob Vorschläge durch eine Begründung oder Quellenangaben/Referenzen gestützt werden.", + "scoring": [ + { + "points": 0, + "description": "alternative Methoden, etc. (falls vorhanden) werden mit Begründung oder Referenzen unterstützt" + }, + { + "points": -1, + "description": "alternative Methoden, etc. (falls vorhanden) werden ohne Begründung oder Referenzen vorgeschlagen" + } + ], "function": "auto_grading", - "minPoints": -1, "maxPoints": 0, - "expertLevel": 1, + "minPoints": -1, "subjective": true, - "scoring": [ - { "points": 0, "description": "alternative Methoden, etc. (falls vorhanden) werden mit Begründung oder Referenzen unterstützt" }, - { "points": -1, "description": "alternative Methoden, etc. (falls vorhanden) werden ohne Begründung oder Referenzen vorgeschlagen" } - ] + "description": "Beurteilt, ob Vorschläge durch eine Begründung oder Quellenangaben/Referenzen gestützt werden.", + "expertLevel": 1 }, { "name": "Widerspruch", - "description": "Beurteilt, ob das Feedback konsistent und widerspruchsfrei ist.", + "scoring": [ + { + "points": 0, + "description": "Feedback ist in sich konsistent, keine widersprüchlichen Aussagen" + }, + { + "points": -1, + "description": "widersprüchliches Feedback, z.B. Kritik und Lob für dieselben Methoden" + } + ], "function": "auto_grading", - "minPoints": -1, "maxPoints": 0, - "expertLevel": 1, + "minPoints": -1, "subjective": true, - "scoring": [ - { "points": 0, "description": "Feedback ist in sich konsistent, keine widersprüchlichen Aussagen" }, - { "points": -1, "description": "widersprüchliches Feedback, z.B. Kritik und Lob für dieselben Methoden" } - ] + "description": "Beurteilt, ob das Feedback konsistent und widerspruchsfrei ist.", + "expertLevel": 1 } - ] + ], + "maxPoints": 4, + "minPoints": 0, + "calculation": "max", + "description": "Fehlerarten im Feedback (Abzüge)", + "defaultPoints": 4 }, { - "name": "Zusätzliche Punkte", "code": "additional", - "maxPoints": 1, - "minPoints": -1, - "calculation": "sum", - "description": "Für besonders gute Bewertungen können zusätzliche Punkte vergeben werden, für gravierende Fehler hingegen werden Punkte abgezogen.", + "name": "Zusätzliche Punkte", + "isBonus": true, "criteria": [ { "name": "Zusätzliche Punkte", - "description": "Zusätzliche Punkte für sehr gute Bewertungen", - "function": "auto_grading", - "maxPoints": 1, - "minPoints": 0, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -411,16 +535,16 @@ "points": 1, "description": "" } - ] + ], + "function": "auto_grading", + "maxPoints": 1, + "minPoints": 0, + "subjective": true, + "description": "Zusätzliche Punkte für sehr gute Bewertungen", + "expertLevel": 1 }, { "name": "Negative Punkte", - "description": "Grobe Fehler in den Rezensionen", - "function": "auto_grading", - "maxPoints": 0, - "minPoints": -1, - "expertLevel": 1, - "subjective": true, "scoring": [ { "points": 0, @@ -430,9 +554,21 @@ "points": -1, "description": "" } - ] + ], + "function": "auto_grading", + "maxPoints": 0, + "minPoints": -1, + "subjective": true, + "description": "Grobe Fehler in den Rezensionen", + "expertLevel": 1 } - ] + ], + "maxPoints": 1, + "minPoints": -1, + "calculation": "sum", + "description": "Für besonders gute Bewertungen können zusätzliche Punkte vergeben werden, für gravierende Fehler hingegen werden Punkte abgezogen." } - ] -} + ], + "version": "1.0.0", + "description": "Bewertungskriterien für Feedbackqualität" +} \ No newline at end of file diff --git a/backend/db/migrations/20250919125851-basic-configuration-expose_validation.json b/backend/db/migrations/20250919125851-basic-configuration-expose_validation.json index cadc47fd1..46a8acd68 100644 --- a/backend/db/migrations/20250919125851-basic-configuration-expose_validation.json +++ b/backend/db/migrations/20250919125851-basic-configuration-expose_validation.json @@ -1,47 +1,54 @@ { - "version": "0.0.1", "name": "UKP Exposé Submission Validator", - "description": "Validation schema for UKP Exposé LaTeX submissions", "type": "validation", "rules": { - "additionalFilesAreAllowed": false, "requiredFiles": [ { "name": "PDF", - "description": "Main PDF of the Exposé", "pattern": ".*\\.pdf$", - "required": true + "required": true, + "description": "Main PDF of the Exposé" }, { "name": "ZIP", - "description": "Raw Latex Files for the Exposé", "pattern": ".*\\.zip$", "required": true, - "allowAdditionalFiles": ["jpeg", "jpg", "png", "pdf", "bst", "cls"], + "description": "Raw Latex Files for the Exposé", "includeFiles": [ { "name": "expose", - "description": "Main expose LaTeX document", "pattern": "Expose\\.tex$", "required": true, - "maxMatches": 1 + "maxMatches": 1, + "description": "Main expose LaTeX document" }, { "name": "bibliography", - "description": "Bibliography file for the exposé", "pattern": "ExposeBibliography\\.bib$", "required": true, - "maxMatches": 1 + "maxMatches": 1, + "description": "Bibliography file for the exposé" }, { "name": "config", - "description": "TUDa thesis configuration file", "pattern": "tudathesis\\.cfg$", "required": true, - "maxMatches": 1 + "maxMatches": 1, + "description": "TUDa thesis configuration file" } + ], + "allowAdditionalFiles": [ + "jpeg", + "jpg", + "png", + "pdf", + "bst", + "cls" ] } - ] - } -} + ], + "additionalFilesAreAllowed": false + }, + "version": "0.0.1", + "description": "Validation schema for UKP Exposé LaTeX submissions" +} \ No newline at end of file